Tuesday, 23 March 2010
Project Update (23/03/2010)
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)
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
______________________________________________________________________
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
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
___________________________________________________
'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.
Reference:
http://www.robots.com/blog.php?tag=112
Posted by Daljinder Sandhu
Robots in Industry
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)
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
· 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.
· 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.
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.
Wednesday, 17 March 2010
Circuit Design (17/03/2010)
Posted by Anand Bhana
Motor Test (17/03/2010)
Tuesday, 16 March 2010
Meeting 3 (16/03/2010)
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)
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)
- Transferral of contact details between group members
- Setting up of blog
- Job allocations
- Minutes of meeting