Tuesday, 23 March 2010

Case Statements

The following flowchart code is being considered; utilising case statements to direct the robot:

Let b0 = pins
let b1 = 000111 & pins
select b1
case = 000000; both motors off and return to select
case = 000001; Right hand motor on and return to select
case = 000010; both motors on and return to select
case = 000011; Right hand motor on and return to select
case = 000100; Left hand motor on and return to select
case = 000101; Error
case = 000110; Left hand motor on and return to select
case = 000111; both motors on and return to select


The individual case (ie how to drive both motors will be developed in a later blog).

Programming limitations

As the PICAXE only has 5 inputs , and one input must be used to switch the mode of the LFR from line following to symbol recognition, the amount of sensors we planned must be reduced. We are now reducing the sensors to 3 . This is beacuse when we read pins (all the input pins) these are neatly together at the end of the byte (bit 0, bit 1 , bit2) relating to (pin 0 , 1 ,2) so will be easy to program, and there will only have to be 8 different cases. Pin 6 or 7 will have to be tied down and one used for the switch. The only down side to this is that the buggy wont be able to adjust so precisely as it could with more sensors.

IF/ELSE Case Statements

As part of the development of the programming we investigated using the following If/Else flowchart. Eventually we decided against it as it is better programming etiquette to use Case Statements to achieve the same aim.

Let b0 = pins
Debug Pins; This command would indicate what the device 'thinks' to the observer
let b1 = 000111 & pins
If b1 = % 00000000; No Action
Else b1 = 000001; Hard right turn
Else b1 = 000010; Continue straight
Else b1 = 000011; Gentle right turn
Else b1 = 000100; Hard left turn
Else b1 = 000101; Error.
Else b1 = 000110; gentle left trun
Else b1 = 000111; Continue straight

Monday, 22 March 2010

Autonomous Vehicles




Autonomous Vehicles
This is just a quick look at the uses of smart systems applied to vehicles; the term autonomous here refers to the either the system being programmed to do a set task upon something happening, or being able to “think” what to do; either way it is defined as a smart system being able to perform a task without a “human in the loop” or without being told to.
Obviously vehicles can travel in three main mediums so we will look at theses first;
(to the above left is a picture of "Goliath" a WWII german remote controlled tank; not only was one of the first recored uses of remote control, but also of autonomity in robots. For a refernce, see end of post)

Land Vehicles
The term land here being used to describe any robot that moves over ground. These range from simple vaccum cleaners (see the video elsewhere on this blog) that can clean around a room to quadbikes that can navigate and steer themselves to a set location to deliver equipment as used by military forces and aid agencies and charities.
One of the greatest uses of autonomous robots is in jobs that are deemed to hazardous or risky for a human to perform and as such they have found a niche market as “ bomb disposal bots” or EOD robots.
For completely autonomous vehicles, several considerations are important;
1. Firstly the robot needs to know where it is heading to;
2. Secondly it needs to able to recognise obstacles and then either be able to avoid them or overcome them;
3. For a vehicle to be truly autonomous it needs to be able to figure out where it is in relation to where it needs to get to; In very simple autonomous robots this can be as simple as just set of directions to follow.
4. The vehicle needs to have an idea of how it moves (i.e how long it takes to turn so that it can correct its path)
Air Vehicles

Autonomous air vehicles(excluding satellites which aren’t covered here) are actually the most common type of autonomous robot around, with even toy remote controlled planes having a degree of autonomity in that if instructions cease to be send to it , it will either continue to fly itself or attempt to land in an area that it may know is safe.
Further more just to keep the aircraft in the sky a small amount of autonomity is needed for it to correct itself in mid flight and to keep itself stabilised. While this may not be considered true autnomity it certainly does not require, or even keep a human in the loop to perform these operations.
Due to the relative cheapness of UAVs compared to the manned piloted planes, they are increasingly popular with security ,police and military forces . Robotic helicopters equipped with cameras and infra-red vision are being used by the fire service to try and detect bodies in danger zones : and the same are used by the police to try and track down criminals in the open.
As stated in the considerations above, a UAV must be able to know where it is heading, where it is presently in relation to where it is headed and be able to recognise any obstacles in the way. Furthermore in top of this, it must be able to continually adjust and balance itself to stay in flight.
Sea Vehicles
While they exist and are in use, autonomous sea robots or boats are surprisingly rare, however they are finding use as remote controlled submarines. Indeed most Robotic sea vehicles are underwater submarines and while the use of auton is small as they need to receive human interaction to be told what to look at , there are certain in-built protocols that kick in for the robot to monitor and control itself. ( For example, when running out of power the robot will automatically surface.) Famous examples of uses of autonomous sea robots include the robot that was used to find the ship “Titanic” and the “Bismark”(see picture below)
Due to the lack of knowledge about the underwater world, theses autonomous vehicles require both an internal system to stablise them selves, but the majority of their steering is down via remote control and then guided to where they are needed or/wanted.



Militrary Autonomous Vehicles
As can be seen from the preceding paragraphs, one of the biggest users of autonomous robots is the military and more than any other the US Military, hence a discussion purely on military uses of Autonomous robotics.
Unmanned Aerial Vehicles(UAVS) and Tactical Combat Aerial Vehicles(TCAVs)
Have been in use for many years; in fact the first uses of autonomous vehicles was as aerial spy planes; the premier spy robot in the world, “Global hawk” has now been in the service with the US military since 1998.




Unmanned Ground Vehicles
For every military, body backs are the worst public image they could have; for that reason robotic systems are being used in any situation with a possiblite of danger. “Spy bots” are now used to scout out buildings or potentially dangerous locations; Self steering buggies are now being used as “Pack buggies” to carry equipment and reduce the soliders load. It was only a matter of time before weapons were added to such bots and now weapons placement are not common on military UGVs but for the US certainly all systems sent into an active warzone are equipped with weapon systems. However due to fears raised in popular Sci-fi films and the media ( The films “Stealth” and “Terminator” for example) weapons systems have not been completely autominised for fear of them turning on the controllers or “Accidents”. In fact a US Navy study conducted in 2002 suggests that a autonomous weapons system must always keep a human in the loop for override capability, and that in the future, robotic warriors while probable must be programmed with a “moral compass”.
For where the US Military is heading with UGV technology, watch the video http://www.youtube.com/watch?v=tbtCweucgUg or
Explosive Ordanance Disposal (EOD) Vehicles
Autonomous robotics have really kicked off in the field of bomb disposal: by removing the need the for a human operator to be next to the bomb, they enable dangerous devices to be dismantled or disposed of from a safe distance. As can be seen from the media, the type of warfare being fought in modern conflicts requires large amounts of bomb disposal. Although unconfirmed one model of EOD robot, the “Sword” is said to have disarmed over 20,000 IED devices over its combat career since deployment to Iraq and Afghanistan in 2000.

Unmaned Surface Vehicle (USV)
Despite the interest in autonomous vehicles in other aspects of military operations, the limits of above surface autonomous vehicles have not yet over taken the capabilities of traditional RIBs and manned speedboats . Only one Autonomous vehicles has been confirmed to have entered service with any Navy .
(The protector USV, in service with the Singaporean and Israeli navies, see footage at http://www.youtube.com/watch?v=URyAhMdkWA4.)
Due to its short range, it is simply not practical to have them used for any other duty than harbour patrol.
The Future;
Smart systems are the future, and as they advance more and more they will become more integrated to make tasks both easier and safer making the potential market for autonomous robotics huge.
As stated in speeches by the Minister of state for strategic defence acquisition (Rt.Hon Lord Drayson) “the UK in the lead, globally on autonomous systems. It is a lead which we must fully exploit." Furthermore predicting that the economy for UAV`s let alone autonomous robotics as a whole will rise from £5bn to £40bn within 10 years, smart system design and autonomous robotics is an area emerging that Britain needs to invest in to maintain its lead in the world.

References
BAE Systems “ UK in lead on autonomous systems”
Times Warns “Military Robots must learn warrior code and ethics”
US Navy report states “Fears of Robots uprising, suggesting the need for a moral compass”
Future Weapons; Global Hawk
Future Weapons Robots
Future Weapons Crusher
Micro Spy Bots
Goliath Remote Control Tank;
“Sword” Image taken from

Global Hawk Image taken from;
Image of Autonomous Robot over the Bismarck


Autonomous Vehicles and Robots

Introduction


Autonomous Vehicles and Robots are machines that interact with its environment. They use various types of sensors to determine the area around them. Based upon the received signal a microcontroller that has been pre-programmed to decides what should happen next. Because of the initial programming complete by humans they need little contact to perform the required jobs that they are designed to undertake.


Example of Autonomous Vehicles and Robots


There are many examples of Autonomous Vehicles. They range from UAV (unmanned aerial vehicle) to UGV (unmanned ground vehicle) and UUV (unmanned underwater vehicle) . All of these are normally used within the military. However they are not restricted to military use.


UAV (unmanned aerial vehicle)


UGV (unmanned ground vehicle)


UUV (unmanned underwater vehicle)

Oil and Gas industry's use UUV to construct detail maps of the seafloor before they start building pipework and rigs. They can also be used to survey pipes once the have been laid. In Particular UUV can allow research to be undertaken in areas that would not initial be possible by humans. Many different sensors can be attached to the UUV. For example they can determine the concentration of various elements or compounds. The absorption or reflection of light and the possibility of microscopic life.


As well as Autonomous Vehicles, robots are available and are used commonly in industry. In industry the robots are designed and used to perform repetitive task. These task would have normally ben complete by humans. By reducing the need from humans to perform the task it has reduced the amount of work a company offers but this in turn reduced the overall cost of the products they sell, however a line of robots will have a couple of operators. This is were the human interaction needs to be. If any errors occur the system can be shut and re-programmed. Even though the robots take over a high amount of labour work they provided jobs to the specialist skilled workers (i.e. the ones who can program the machine). From the industrial point of view robots are invaluable to a company that needs to turn out a high volume of products consistently.


Autonomous Robots are highly used within the car industry. Each robot will have six-axis and be mounted with several tools. A few examples of the jobs that they would undertake are:

  • Drilling Holes
  • Welding Panels
  • Screwing
  • Painting
  • Cutting

The benefit of using automatic robots are they work to a much higher degree of accuracy then a human can. Not only do they have high accuracy they will complete the jobs at speed reducing the amount of time speed on the convenor belt in construction. They will have an a high initial start-up cost but this can easily be overturn with a quick turn around time with reduced number of rejects. Also if a company wish's to produce a new product they can easily be re-programmed where as a human would need to be retrained with time taken to familiarise them with the process of construction, hence increasing the value of having robots.


Autonomous Robots Working on Cars

Conclusion


Autonomous Vehicles and Robots are extremely cleaver machines that have been pre-programmed by humans to do repetitive or dangerous tasks. They have been invaluable to all types of industries and occupations. Without them a large amount of what we have now would not be available - for example oil rigs that are build more than 500m under water. Using robots has increased the quality of products that can be produced which should to more reliability and confidence in company to produce quality made as well as designed products.


Programming

The following is how i want my programming of the LFR to pan out. The 1's are when my sensor has sensed the line and my O's for when it hasn't. In effect with 5 sensors there are only 32 combinations (binary) that need to be accounted for in my program.

00000- No line stand still.
00001- Hard right
00010-Gentle right
00011-Gentle right
00100-On track keep forward
00101- Error keep on current trajectory
00110-Keep on trajectory
00111-Hard right (corner)
01000-Gentle left
01001-Error
01010-error
01011-error
01100-keep on trajectory
01101-error
01110-hard left (corner)
01111-hard left (corner)
10000-hard left
10001-error
10010-error
10011-error
10100-error
10101-error
10110-error
10111-error
11000-Gentle left
11001-error
11010-error
11011-error
11100-Hard Left.
11101-error
11110-hard left
11111-Stop

I now need to decide weather it is best to use interrupts or not. They would be faster , however, and would allow code to continue uniterrupted untill a corner or deviation from the line would be detected. However my lack of knowledge on programming interrupts in PICAXE Basic will need to be enlarged as it has not been covered in great detail.

Autonomous Robots- Industrial andDomestic


Autonomous robots (Picture courtesy of KUKA Robotics) and vehicles are machines that are capable of interacting with the enviroment through use of sensors and programming. In effect they are "Intelligent" in the way they need little human contact, to carry put they're desired tasks.
The different sensors can sense many different things, some ,like humans, sense heat, light,sound, touch but as sensors are so varied , robots can sense atititude , latitude and longitude, UV, Infra red and react accordingly with what they find. Some intelligent robots , using cameras can sense depth of vision and objects that may come in its path. In industry Autonomous robots can be used in factories for producing goods, the classical use for industrial robots was to just work on a cordinate system, e.g. Place screw A at 10cm Screw B at 5 cm, but new developments mean that robots can sense the object they are working on. This can allow for less errors and smarter robotics that can adapt if the object it it working on is not entirely perfect, or it can handle different objects at different times without having to be reprogrammed completely. This ultimately reduces cost. One example is for using robots to pick up parts from conveyor systems, which can be an expensive task with "unintelligent robots" by use of "2-D vision" cameras can locate different parts and are able to control an arm to pick up said parts.

As ever ,after industry , domestic autonomous robots have come into use. Irobot has been developed to deal with domestic vacuuming. Its sensors detect when objects are in its way, what floor conditions it is travelling onto, and it can even detect its base station , so can recharge itself when its batteries are low. The way in which it can negotiate obstacles is interesting, in this case it is randomness , the cleaner robot will try many different approaches until it finds one which can work "randomness", whilst some more expensive military robots can create a map of the future surroundings by use of its sensors , building up a picture through which it can navigate easily through. The Vacuum cleaning robot can even find its base station to automatically charge from, with the base station emitting an infra red signal with which the robot can follow, which is a way of "foraging" just like humans do for resources. (Video courtesy of Irobot corporation)

Group Research - Human Factors and concerns with UAV's.

The following link from S. McCarley & C.D. Wickens(1), et al,highlights the main issues identified in this area. To summarise they are:
1. Displays and Controls.
2. Automation and System Failures.
3. Crew Composition, Selection and Training.

To add an interesting addition to the automation category however, at what level of automation should a human decision be compulsory. Is it okay for an UAV to decide to destroy a high profile military target at cost to civilian life/infrastructure?


(1) McCarley S.J. & Wickens C.D. (2005)
HUMAN FACTORS CONCERNS IN UAV FLIGHT
Institute of Aviation, Aviation Human Factors Division
University of Illinois at Urbana-Champaign

Saturday, 20 March 2010

Tracked Robot Research:

The idea of having a tracked line following robot has been floating around in our group for a bit now and so here is a bit of research in order for us to make a better decision for our final design.

Pros of having a tracked robot:
1. It will make our robot look really cool.
2. It will be fairly easy to implement.
3. Each track will be individually driven, allowing on the spot turning.
4. The tracks act as a break allowing greater accuracy of movement (turning).

Cons of having a tracked robot:
1. The robot will have to have special wheels in order for the tracks to stay on in motion especially when turning.
2. Could add cost to the project.
3. Might need a slightly greater power through the motors in order to achieve the same performance that a non-tracked robot might achieve.

All in all, I think giving our robot tracks will give it a slight edge over the other robots and I think it will be easy to do. Looking for ways of providing the tracks, Lego Technic looks the better bet over simpler ideas such as elastic bands due to the fact that it will address the 1st con. As for the other cons, 2, I think will be a pretty small cost and 3, I think we wont even notice a drop in performance at this level.

My final view would be to implement the track idea on the robot and if it goes horribly wrong, then change to the 3 wheeled option.

Here is a nice web page on how to construct a tracked robot:


Below are some images of track possibilities:





Wednesday, 17 March 2010

Programming and Limitations

Before we start programming we need to know the limitations of the PICAXE board.It can only store 14 variables and has only 5 inputs(of which only 3 are ADC) and 8 outputs that can transfer useful data. We also need to know the amount of sensors and the configuration these sensors are in . Through looking at research, 2 sensor layouts are domianant, an inline configuartion or a upside down V configuration.

O O O O O -Inline
O
O O
O O - Upside down V

The advantages of an upside down V become apparent if ,on a course ,there is more than a 90 Degree turn. (Which on the course this robot is going on there wont be). However I believe that in-line sensors are good enough , and make it much more simple to program. Having researched how the line follower will work I prepared these diagrams, that will explain further the movement of the robot whilst following a line and the the sensor configuration and how it will work.


Practically using sensors i can determine position on the line and can start preparing Programming flow diagrams, however these will be quick to change in the debugging process once the rest of the robot is built.


Tuesday, 16 March 2010

Initial Testing - Motor Torque

Initial Testing - Motor Torque

Today Initial testing was undertaken on the motors provided. This was to identify if the motors that have been supplied are of high enough torque to potential move the buggy along.

This was carried out buy a simple test of mounting the motors and attaching some wheels. To simulate the weight of the batteries/ circuit board etc. The mains power supply was used. See images and video bellow.


Test Rig

Close Up


Wheel Spinning

As can been seen in the video the initial test was successful, however some issues did arise.

It became apparent that the wheels that have been supplied do not have enough friction to handle the power of the motors (see video below). To overcome this issues we simply placed some duck tape onto the wheels to gain more traction. As a result the test rig moved much better(see video below).



Wheels with Duck Tape

Initial Buggy Design

Further developments to undertake from test rig.

See if the design will be stable under loading

See if the design will work with the designated sensor

Increase the friction of the wheels

Circuit board/motor/battery layout.

Progress report - 15/3/10 - Ian Thomas

The following issues were discussed in the classroom session (15/3/10):

Type of Design -

4 Wheels. Harder to setup - Unnecessarily so.
2 Wheels. Unless perfectly balanced it would be likely to drag - this was seen as an unprofessional approach.
3 Wheels. Manouevrable and reasonably easy to construct, if not the most original design.
Tracked. Good manouevrability but complicated to construct and needs specific parts.
Hover craft. Too complicated with a lack of manouevrability.

The group decided to analyse a 3 wheeled design and a tracked design further.
TRACKED - Luke Hildred to investigate available track parts.
3 WHEELED - Excellent control. Favourite of the group.

Sensor Choice -
MAGNETIC - Reed switches (Requires further investigation and testing). The less sensitive switch provided in class isn't up to the task - Duncan Scriven to investigate other options.
INFRA RED - Cheap and effective in the right conditions. Lots of online reviews have recommended that these aren't used so the group have decided to forget using them).
LDR - Cheap and effective with extensive research readily available.

Research-Sensors

One of the biggest decisions in the project is what sensors to use.Initial research on sensor types suggests there are 3 primary sensor types we can use , which include reed switches , LDR's and IR sensors. The following pictures show the pros and cons of each sensor type.

Monday, 15 March 2010

Chassis/Casing Design Ideas:

Looking on the internet at similar projects, I have seen that the chassis/casing is only dependent on a few things;

1. Size of the internal circuit.
2. Any Sensors that might interfere with the casing.
3. Method of propulsion.

Due to these factors being limited in number, you can make the chassis/case as simple or as complicated as you want it to be. Here are a few pictures of examples:



As you can see here a number of different method for constructing the Chassis, a few more ideas are listed below:

1. Lego.
2. Meccano.
3. Airfix.

Luke Hildred

Gantt Chart, Ian Thomas

I have created a Gantt Chart to track the progress of the group and make the allocation of tasks easier. It cannot be uploaded to this blog; so it will be utilised at the classroom session each week. All group members will receive an up to date copy each Tuesday; where new tasks will be agreed and documented.

Tuesday, 9 March 2010

Group Composition and responsibilities

Project Manager - Ian Thomas
Chassis Design - Luke Hildred
Programmer - Alec Kingsnorth
Electrical Design - Duncan Scriven
Researcher - Mark Lomato