Tuesday 23 March 2010

Project Update (23/03/2010)

The project is ahead of schedule thus far. The Gantt chart below shows the course of the project and that as long as we continue to work effectively, the five day project buffer will not be required.



All research is complete, as well as the designs and program. The prototypes were successfully tested today and plans for the final build of the circuit and buggy were finalised. The circuit components have been sourced and tested, however several buggy components still require sourcing.

In summary, we are ahead of schedule and the tasks remaining involve sourcing the last buggy components, soldering the circuit, and assembling the buggy.

Posted by Mark Hawkins

Meeting 5 (23/03/2010)

This meeting was held in the lab and during this time the PICAXE program was finalised and tested. The circuit was built and tested utilising a breadboard.

Members discussed the construction of the buggy and the build team completed the final design.

For the next meeting members are required to source remaining materials and solder the strip board. Members will also post all relevant material to the blog, including design research, final designs, component lists, and explanation of the rational behind these choices.

Program

Based on work in the lab the group has opted to use and modify the second program to obtain the following:
______________________________________________________________________

high 0
high 1
high 2 'switchon LEDs

Main: 'switchstatement
If pin7 =0 then
'if pin7 (switch) =0 then carry out linefollowing program
Goto linefollowing
Else 'if pin7 (switch) =1 then carry out roadsymbol program
Goto roadsymbols
Endif
Goto main

linefollowing:

readadc 0, b1 'Sensor LEFT
readadc 1, b2 'Sensor MIDDLE
readadc 2, b3 'Sensor RIGHT
'keep checking the state of each of the analogue sensors before carrying on with the program to avoid unwanted loops

if b2 <= 20 then 'if b2 is above the magnetic strip then carry out the program
high 4
low 5
high 6
low 7
'time delay?

if b1 <= 20 and b2 <= 20 and b3 > 20 then
' Calibrate - if b1 and b2 are above the magnetic strip and b3 is not then turn left
high 4
low 5
low 6
high 7
pause 1000 'turn delay
goto linefollowing 'goto linefollowing and move forwards
elseif b1 > 20 and b2 <= 20 and b3 <= 20 then
' Calibrate - if b2 and b3 are above the magnetic strip and b1 is not then turn right
low 4
high 5
high 6
low 7
pause 1000 'turn delay -low to avoid missing the turn
goto linefollowing 'goto linefollowing and move forwards
endif
else 'if b2 is not on the magnetic strip motors don't run forwards and goes back to switchstatement (main)
low 4
low 5
low 6
low 7
goto main
endif
goto linefollowing


roadsymbols:
readadc 0, b1 'Sensor LEFT
readadc 1, b2 'Sensor MIDDLE
readadc 2, b3 'Sensor RIGHT
debug
'keep checking the state of each of the analogue sensors before carrying on with the program to avoid unwanted loops

if b2 <= 20 then ' middle sensor must be placed over magnetic strip line for the program to be executed or it returns to switchstatement
high 4
low 5
high 6
low 7
pause 500 'moves forward to read symbol
if b1 <= 20 and b2 <= 20 and b3 > 20 then ' Calibrate - if b1 and b2 are above the magnetic strip and b3 is not then carry out the following
high 4
low 5
high 6
low 7
pause 3000 'forward

low 4
high 5
high 6
low 7
pause 2000 ' 90deg left

high 4
low 5
high 6
low 7
pause 3000 'forward
goto stationary 'end symbolread and go back to switchstatement

elseif b1 <= 20 and b2 <= 20 and b3 <= 20 then ' Calibrate - if b1 and b2 and b3 are all above the magnetic strip then carry out the following
high 4
low 5
high 6
low 7
pause 3000 'forward
low 4
low 5
low 6
low 7
pause 2000 'stop

low 4
high 5
low 6
high 7
pause 3000 'reverse back to start
goto stationary 'end symbolread and go back to switchstatement

elseif b1 > 20 and b2 <= 20 and b3 <= 20 then ' Calibrate - if b2 and b3 are above the magnetic strip and b1 is not then carry out the following
high 4
low 5
high 6
low 7
pause 3000'forward

high 4
low 5
low 6
high 7
pause 2000 '90deg right

high 4
low 5
high 6
low 7
pause 3000 'forward
goto stationary 'end symbolread and go back to switchstatement

endif
else
goto stationary

endif
goto roadsymbols



stationary:
low 4
low 5
low 6
low 7
goto main

Program ideas

Along with being assigned the role of Lead Programmer I was asked by the Project Manager to create an initial program design in order to begin testing as soon as the circuit board had been built.

The following is the experimental program which will be tested for the buggy project

_____________________________________________________________

Main: 'switchstatement
If pin7 =0 then 'if pin7 (switch) =0 then carry out linefollowing program
Goto linefollowing
Else 'if pin7 (switch) =1 then carry out roadsymbol program
Goto roadsymbols
Endif
Goto main


linefollowing:

readadc 0, b1 'Sensor LEFT
readadc 1, b2 'Sensor MIDDLE
readadc 2, b3 'Sensor RIGHT
'keep checking the state of each of the analogue sensors before carrying on with the program to avoid unwanted loops

if b2 > 50 then 'if b2 is above the magnetic strip then carry out the program
high 1
low 2
high 3
low 4
'time delay?
goto sideresleft 'first check to see if left sesor has become activated

else
low 1
low 2
low 3
low 4
goto main
'if b2 is not on the magnetic strip motors don't run forwards and goes back to switchstatement (main)

endif
goto linefollowing 'repeat

sideresleft:

if b1 > 50 and b2 > 50 and b3 < 50 then
' Calibrate - if b1 and b2 are above the magnetic strip and b3 is not then turn left
high 1
low 2
low 3
high 4
pause 1000 'turn delay
goto linefollowing 'goto linefollowing and move forwards

else
goto sideresright

' if conditions are not met left sensor is not above the magnetic strip therefore move to check if the right sensor has moved above the magnetic strip before returning to the linefollowing program

endif


sideresright:

if b1 < 50 and b2 > 50 and b3 > 50 then
' Calibrate - if b2 and b3 are above the magnetic strip and b1 is not then turn right

low 1
high 2
high 3
low 4
pause 1000 'turn delay -low to avoid missing the turn

goto linefollowing 'goto linefollowing and move forwards

else
goto linefollowing
'if conditions are not met return to linefollowing program and carry on forwards

endif


roadsymbols:
readadc 0, b1 'Sensor LEFT
readadc 1, b2 'Sensor MIDDLE
readadc 2, b3 'Sensor RIGHT
'keep checking the state of each of the analogue sensors before carrying on with the program to avoid unwanted loops

if b2 >= 50 then
' middle sensor must be placed over magnetic strip line for the program to be executed or it returns to switchstatement
high 1
low 2
high 3
low 4
pause 500 'moves forward to read symbol

if b1 >= 50 and b2 >= 50 and b3 < 50 then

' Calibrate - if b1 and b2 are above the magnetic strip and b3 is not then carry out the following
high 1
low 2
high 3
low 4
pause 1000 'forward

low 1
high 2
high 3
low 4
pause 300 ' 90deg left

high 1
low 2
high 3
low 4
pause 1000 'forward
goto stationary 'end symbolread and go back to switchstatement

elseif b1 >= 50 and b2 >= 50 and b3 >= 50 then
' Calibrate - if b1 and b2 and b3 are all above the magnetic strip then carry out the following

high 1
low 2
high 3
low 4
pause 1000 'forward
low 1
low 2
low 3
low 4
pause 1000 'stop

low 1
high 2
low 3
high 4
pause 1000 'reverse back to start
goto stationary 'end symbolread and go back to switchstatement

elseif b1 < 50 and b2 >= 50 and b3 >= 50 then
' Calibrate - if b2 and b3 are above the magnetic strip and b1 is not then carry out the following

high 1
low 2
high 3
low 4
pause 1000'forward

high 1
low 2
low 3
high 4
pause 300 '90deg right

high 1
low 2
high 3
low 4
pause 1000 'forward
goto stationary 'end symbolread and go back to switchstatement

endif
else
goto stationary

endif
goto roadsymbols


stationary:
low 1
low 2
low 3
low 4
goto main
___________________________________________________________

Posted by Sandra Donohoe

Program Ideas

Here is the first experimental code written for this project
___________________________________________________

'For the mode toggle switch
main:

if pin7 = 1 then 'when pin7 is high
if b0 = 0 then 'if bo is low then...
b0 = 1 'make it high

else
b0 = 0 'otherwise make it low

endif
endif

pause 100 'pause to account for human reactions when pressing the switch

'Sensor Encoding
main1:
readadc 1, b1 'Sensor LEFT to b1
readadc 2, b2 'Sensor MIDDLE to b2
readadc 3, b3 'Sensor RIGHT to b3

'Line follow mode

if b0 = 0 then 'Move forward initially
high 1
low 2
high 3
low 4

do while b1 > 20 'Calibrate - turn RIGHT when right sensor activated
high 1
low 2
low 3
high 4
goto main1
loop

do while b3 > 20 'Calibrate - turn LEFT when right sensor activated
low 1
high 2
high 3
low 4
goto main1
loop

endif

'Symbol read mode

if b0 = 1 then 'Move forward initially
high 1
low 2
high 3
low 4

'Move Forward RIGHT Forward
if b1 > 20 then 'Calibrate
high 1
low 2
high 3
low 4
pause 1000

low 1
high 2
high 3
low 4
pause 300 'Calibrate

high 1
low 2
high 3
low 4
pause 1000

endif

'Move Forward STOP Backwards
if b2 > 20 then 'Calibrate
high 1
low 2
high 3
low 4
pause 1000

low 1
low 2
low 3
low 4
pause 1000

low 1
high 2
low 3
high 4
pause 1000

endif

'Move Forward LEFT Forward
if b3 > 20 then 'Calibrate

high 1
low 2
high 3
low 4
pause 1000

high 1
low 2
low 3
high 4
pause 300 'Calibrate

low 2
high 3
low 4
pause 1000

endif
endif

goto main
___________________________________________________

Posted by Mark Hawkins

Monday 22 March 2010

Robotics


Background


Robots are programmable machines that can perform tasks autonomously (self-controlling) through interaction with their surroundings by means of sensors (sense external effects) and effectuators (allow the manipulation of the surroundings e.g. motors).

Some types of sensors include:
• Light sensors e.g. photo resistances;
• IR distance detectors;
• Pyrometers and cameras;
• Sound sensors, e.g. sonar, microphones and speak recognition circuits;
• Position and orientation sensors, e.g. revolution counters, compasses, gyro compasses and gradient sensors.

Uses in industry

Robots are used in many different industrial areas, they are applied particularly in sectors that are considered hazardous to humans, work which requires more precision, quality and repeatability than can be provided by a human. They can also provide a continuous process (don’t create errors associated with employees due to fatigue as well as the requirement for shift changes) this can increase yield productivity and in the long-run reduce manufacturing costs and product prices.

Some applications include:

Industry(e.g. manufacturing)
• Welding applications (e.g. automotive industry)


• Spray painting (robots are reliable and consistent in their motion which provides quality and can uniformly distribute the paint to minimise losses and cut costs)
• Polishing applications
• Drilling
• Packaging
• Assembly operations (e.g. electronic)
• Food processing e.g. meat factory, in order to improve work conditions/safety and maintain hygiene regulations

Medical Applications
• Surgical robots (e.g. heart bypass surgery, have been known to significantly reduce the pain and trauma of patients leading them to require shorter hospital stays and recovery periods)
• Development of robots to assist the elderly and the disabled as robot guides for the blind and as autonomous robot wheelchairs e.g. ASIMO (Advanced Step in Innovative Mobility).

Entertainment

• Some are used in movies/film production.
• Can process light sensitive photographic films that require near darkness
• Toy robots are used as construction toys and electronic pets.

Military and law enforcement
• Unmanned vehicles to sense targets or as surveillance devices (e.g. areal UAVs, robotic unmanned tanks, mini-submarines or ocean-bed explorers)
• Buildings structure analysis (e.g. the remote controlled Pioneer robot for analysis of the Chornobyl Unit 4 reactor building)
• Extinguish fires
• Disarm bombs
• Load and unloading of explosives and toxic chemicals.



Research
• Exploration of unknown or very inaccessible areas (e.g. mining areas, the core of nuclear reactors, submarine areas).
• Exploration of hazardous environments on the planet (e.g. volcanoes, seabed…).
An example of an 8 legged robot named Dante II was used to explore the crater of the active Alaskan volcano Mt Spurr. This robot operated by a remote control, travelled across rough terrain to collected sample readings without putting vulcanologist's in harm’s way.
Robotic underwater rovers are also used explore and gather information about marine environment e.g. Project Jeremy which gathered data, video images about a whaling fleet lost in the Arctic waters.
• NASA uses in: Space exploration, science payload maintenance and on-orbit servicing



Advantages
• Can replace human labour.
• Can move materials and manipulate objects faster, cheaper than humans.
• They increase workspace safety and decrease floor space. Humans can supervise production but are not directly involved in potentially hazardous roles and settings (saving lives and expenses on health care or insurance).
• Can drastically improve product quality as they can be reproduced more precisely with higher repeatability and consistency than by human workers (accuracy ranges from millimetres to micrometers).
• Due to their speed robots can produce a higher yield per given cycle than human employees (stabilising production and increasing profit). They can work at a consistent speed throughout the day without pausing for lunch, breaks, sleep or require holidays.
• Increase Manufacturing Flexibility as well as reducing costs associated with wastage
• They can be re-programmed for different tasks
• Cluster Machining in One Cell



Disadvantages
• Initial investment in robots and robotic systems is significant as well as maintenance and automation costs
• Investment in extra workspace or technologies for these robotic systems
• Action planning needs to be properly implemented as robots alone do not guarantee effective yield production
• Employees will require training (programming and interfacing) which effects time scale but are required to avoid future problems
• Robots are limited to the select tasks they have been programmed to do, they may not respond properly in times of emergency or when unexpected variation occurs (human presence would be required)
• Workers need to be aware of new dangers/hazards when working with robots (mechanical, electrical...)

Sources:
http://www.robotics.utexas.edu/rrg/learn_more/low_ed/types/industrial.html
http://www.robodays.com/site/robots/robotics.aspx
http://www.allbusiness.com/public-administration/justice-public-order/477155-1.html
http://robotechno.us/advantages-of-robotics.html
http://www.learnaboutrobots.com/aboutthissite.htm
http://prime.jsc.nasa.gov/ROV/types.html

posted by Sandra Donohoe

Sunday 21 March 2010

Robots used in industry

A robot is a device that can execute a wide range of maneuvers under the direction of a computer. By reacting to feedback from sensors or programming, a robot can alter its maneuvers to fit a changed task or situation.


Robots have become heavily relied upon in the industry. The main industries in which robots are being used include foundry & forging, metal fabrication, oil and gas and the automotive industry. These industries find the use of robots useful due to their ability to improve product quality, increase production and in some aspects save money. They also have their disadvantages such as high initial costs, limited functions and the need of skilled technical engineers.


As technology becomes more advanced more ideal robots can be built. This will lead to direct job losses within the industry but also create jobs for those manufacturing, supplying and maintaining the robots.

Reference:

http://www.robots.com/blog.php?tag=112


Posted by Daljinder Sandhu

Robots in Industry

Industrial Applications of Robots

Robots may be used for many tasks in industry. The most common types of robot that resemble this project are robotic arms, with tools attached which are designed to preform specific tasks with great precision. these could be soldering, welding, painting, assembly, or one of many other such applications. They use software similar to the line following buggy from this project to maintain track of their position in relation to their environment.

Robots can be made much faster, stronger, and more precise than humans could ever be, though they also have several key drawbacks which will be discussed in the next section.


http://www.robots.com/faq.php?question=robot+industrial

Morality of Entirely Autonomous Robots

Entirely autonomous robots present a series of advantages and disadvantages. The main advantages are that robots are cheaper, faster, stronger, and more precise than their human equivalents. They can greatly increase a factory's output with a single large initial cost, and then relatively little cost in maintenance compared to human wages until they eventually require upgrading or replacing.

The greatest problem in the immediacy is simply that increased automation in the industrial environment decreases the need for human employees, leading to jobs being lost and leaving skilled manual labourers with no choice but to retrain and their trade skills to be lost in time.

The next problem is that robots lack intuition and human common sense. If a robot detects a problem that it has never encountered before, or if its timing or position is lost by its memory, then the robots actions may become unpredictable. Robots are much stronger than humans and as a result can cause comparatively massive amounts of damage when malfunctioning.

The last of the significant problems with autonomous robots is the issue of emergence. When any system grows to sufficient complexity, emergent behaviours begin to form. As repetitive tasks are preformed, and complex codes are iterated through the robots memory, seemingly random segments of code can eventually begin to interact and interfere with one another resulting in the formation of behavioral patterns which resemble consciousness and personality. In reality most of these emergent behaviours are too unstable to be call either, and simply cause the robot to malfunction, however as systems become more powerful the debate over the problems of emergence will undoubtedly grow far louder.

http://www.sciencedaily.com/releases/2007/02/070222155713.htm
http://gral.ip.rm.cnr.it/rcalabretta/calabretta.modul2.pdf

Posted by Mark Hawkins

Thursday 18 March 2010

Robots - Good or Bad?
















Using automated techniques in industry such as using robots can prove to be a great benefit as they can work for 24 hours and not get tired or need break unlike human workers. Production is increased the quality is much more constant also having an efficient processes can help reduce the amount of waste.

Also if the production of a particular product has a hazardous process using a robot in place of a human worker would put the human out of harm’s way and therefore increasing the safety of the worker. But on the other hand this would either put the worker out of a job or they will need to be trained to maintain the robot.

One of the main disadvantages of using a robot is its initial cost as well as regular maintenance. Also as said before the unemployment levels would rise as where many workers were used on a production line if replaced by robots their jobs would become redundant.

Posted By Anand Bhana

Meeting 4 (18/03/2010)

Progress made on programme and requires testing. An initial prototype will need to be built during the lab of the 23rd March, where the programme can be tested and the sensor placement can be arranged.
Buggy build design discussed -
  • Wheel set-up needs further research. We have two wheels to connect to the motors but are missing a third to balance the buggy. We have decided to use a wheel on a pivot but this will depend on availability. Alternatives have been discussed in case a pivot wheel can not be sourced.
  • We have sourced some acrylic that could be used for the buggy chassis.
  • Sandra has sourced some electronic components for soldering to a stripboard circuit on the final build.

Stripboard will need to be sourced.

Robots

Robot types


This is a SCARA (Selective Compliance Articulated Robot Arm) robot and is the most common industrial robot used, it is manufactured by America’s biggest robotics manufacturer, Adept. It is has three joints which allow for three axial planes of movement. It’s best used for a ‘Pick-up and place’ function, where you are simply moving something from location A to location B
REF (Photo and information sourced from) - http://www.learnaboutrobots.com/industrial.htm


This particular robot is called a Fanuc robot, is has six pivot joints and thus six degrees of freedom. It can move in the x, y and z whilst also using the remaining three to orientate the object it has picked up. These three axis are called roll, pitch and yaw. The most common utilisation of these robots is to exploit their freedom of movement by doing such work as painting or welding; hazardous processes that need a human range of movement but without the worry about risking a human employee.
Ref (Photo and information sourced from)- http://www.learnaboutrobots.com/industrial.htm
Advantages of robotics
· You can use robotics where you wouldn’t want to place a human, such as in welding processes or painting.
· Robots can work hours on end with no break or stop, this increases productivity.
· Robots can be faster than humans and make less errors as they don’t lose their concentration.
Disadvantages of robotics
· If an error occurs, such as the paint being applied is the wrong colour for example, the robot will not know and so will carry on as it is. Unless a safety switch is pressed, or a specific sensor is set and used to prevent and warn the robot, it will not stop it’s workings until a human notices and stops the production line.
· Robots need regular calibration, maintenance and repair. This can only be done by a trained human specialist and can be expensive.
· Robots in themselves are expensive to purchase in the first place.
· When being set up with a new process they need to be set by a trained specialist. This involves writing the programme and setting up all the axial offsets, this takes time and again the expense of a specialist.
· Quality Engineering will need to focus on batch testing the output from the robots to ensure that the offsets haven’t moved and all work output is up to specification.
Automatic functioning of a robot - The safety aspect
Having fully automatic robots can be very advantageous but it also has its drawbacks. The robot will work for long lengths of time without needing to be checked but when robots go wrong, they can sometimes become dangerous.
For safety reasons robots are generally setup with dozens of sensors to alert the user and the robot that is has either moved out of its range or done something, it shouldn’t have. If the robot has just been programmed or a robot component fails, there is a high risk it will damage something, be it a component or another robot, before anyone can do anything to stop it. In cases where the robot is completing a process such as welding, if the robot were to get out of control, it could be very dangerous to anyone or anything in the general vicinity.
With adequate sensor and safety switch technology along with the use of guarding, the robot will be as safe as it can be, but it would still need to be monitored at timely intervals, be it by viewing it directly, monitoring it through the output results in quality engineering or from a control panel, where one human can monitor various robots at the same time.
Posted by Sophie Latham

Wednesday 17 March 2010

Circuit Design (17/03/2010)

First circuit design with 3 LDR's combined with 3 LED's to sense the changes in the light reflected back from a black line on a white background. Also 2 motors connected to the motor driver board.



















Posted by Anand Bhana

Motor Test (17/03/2010)


During the 2 hour lecture we recived 2 motors, motor driver board and 4 wheels. This first circuit was assembled to test the motors and to familiarize ourselves with the programming.


Posted by Anand Bhana

Tuesday 16 March 2010

Meeting 3 (16/03/2010)

Basic control program was created and the motor side of the circuit was built. Tasks for the next meeting were set, which included research into industry applications and whether or not too much automation was a good thing.

In the meeting it was decided to use LDR sensors combined with LED backing light. This was because the form A reed switches were dicovered as not being sensitive enough to detect the small field created by the magnetic path.

Next meeting thursday

Monday 15 March 2010

Meeting 2 (15/03/2010)

Basics designs and program possibilities were discussed and roles were formally assigned.

Assignment of roles
- Project Manager (Programming team): Mark Hawkins
- Assistant Project Manager (Build Team): Sophie Latham
- Lead Programmer: Sandra Donohoe
- Electronics Specialist: Anand Bhana
- Chief Designer: Daljinder Sandhu

By the next meeting member will have completed their individual research and will bring it to the meeting tomorrow.

Meeting 1 (09/03/2010)

In the first meeting the following actions were carried out:

- Transferral of contact details between group members
- Setting up of blog
- Job allocations
- Minutes of meeting