The Effect of Error Correction Routines on the Efficiency of a Robot

Photo of Taylor at Mid-Columbia Science Fair

Researched by Taylor Dale V.
2005-06


  • RESEARCH REPORT
  • BIBLIOGRAPHY
  • ACKNOWLEDGEMENTS


PURPOSE

The purpose of this experiment was to determine the most efficient software instruction set for a light-sensing robot to follow a visual path.
 
I became interested in this idea because when I’m older I would like to have a job with technology involved. So I thought that discovering a system that could affect manufacturers across the state would be a great first step toward my future.
 
The information gained from this experiment could allow manufacturers to have a better, more useful robot. If a robot has a malfunction it will most likely stop working, but if I can design a program that will allow a robot to handle malfunctions on its own, it could use my programming and handle itself. 



HYPOTHESIS

My first hypothesis was that specific programmed instructions could be varied to obtain a maximum speed and accuracy for the robot.

My second hypothesis was that specific programmed instructions optimized for one task would also give the maximum speed and accuracy on a second similar but different task.

I based my hypothesis on information about robots that explained the importance of the programmed instructions.
 


EXPERIMENT DESIGN

The constants in this study were:
•    Robot components
•    Stopwatch
•    Design of robot
•    Use of light sensor
•    Basic program controlling robot
•    Use of course 1 and 2

The manipulated variable was the error correction factors in the software instruction set.

The responding variable was the time it took for the robot to follow the intended route.

To measure the responding variable, I used a stopwatch for each trial to know how long it took for the robot to complete its task.  



MATERIALS
QUANTITY ITEM DESCRIPTION
1 Stopwatch
1
Computer
1
“Mind Storms For School” Lego set
1
ROBOLAB 2.4.5 software for Windows
18"X24"
Tag board
1
Black Construction Paper
1
Scissors
1
Protractor



   
                             
                           
 


PROCEDURES
 
The following instructions assume two things.  First the experimenter must be very well acquainted with using Lego’s, especially how gears work to power a small vehicle forward, backward, and in turns.  Second, the software that controls the robot is “RoboLab 2.5.4.b” for a Windows PC.  The experimenter must spend many hours becoming familiar with the basics of using this program.  Since there is no true instruction manual for the software, one must go through a series of “Training Missions” to learn the basics for programming the robot.  There are an enormous number of possible commands and programming options, and the training missions do not adequately lead you through more than 25%.  So the next step is hours of trial and error effort to get to a point where a “formal experiment” can even be attempted.

1)    Build basic robot using Lego “Mind storms for Schools” kit

a)    Create compact vehicle powered with two electric motors each attached via direct     gearing to its own drive wheel on an independent axle.  There must be one more point of support, a tiny low-friction skid plate, to keep the vehicle upright and level.
b)    Attach the RCX 1.0 computer module to the vehicle to act as its “brain”.  Attach output A to the left motor and output C to the right motor. (Note these motors work in  opposition.)

2)    Create a basic program to make the robot do each of the following
 
a)    Go straight forward for several seconds
b)    Go straight backward for several seconds
c)    Rotate clockwise
d)    Rotate counter-clockwise.

3)    Test vehicle and improve design and program as needed

a)    Upload program to RCX using the USB controlled infra-red transmitter
b)    Press “RUN” button on RCX to activate program
c)    Observe and evaluate robot’s actions

4)    Add light sensor to front of robot and connect to RCX input #1

5)    Create a second basic program to make the robot do each of the following:
a)    Read the input from the light sensor and display the lightness value
b)    Stop or alter motion depending on a change in the light sensor reading

6)    Create test course with black line on white paper

a)    Create test course on white construction paper (18 X 24 inches).  Draw basic course in pencil.  Be sure to have a long straight-away, several “S” curves and several 90° zigzags.
b)    Use black construction paper that is 3/4 inch wide to make continuous course following pencil line.
c)    Glue down all of the pieces to your course.
d)    Label one direction as Course 1 and the other as Course 2.
e)    Place test course on a flat and level surface and tape down.

7)    Create the test program using components from the basic programs above.  It must have the following elements:

a)    Activate both motors to move the robot forward in a straight line while constantly monitoring light sensor
b)    If light sensor value is 43 or less (still tracking the black line) loop back to the beginning of the program and continue going forward
c)    If light sensor value is 43 or greater (off-course, now on white instead of black), begin the first error correction routine:
i)    Stop motors
ii)    Add 3 to the temporary memory
iii)    Rotate left and slightly back up using the following method (which will later be varied)
iv)    Make left motor (A) reverse with a power setting of 5
v)    Make the right motor (C) go slightly forward with a power setting of 3
vi)    Do this for the exact amount of time indicated by the temporary memory (the first time it will be 3/100 second)
vii)    Stop all motors
d)    If light sensor value is 43 or less (back on the black line) loop back to the beginning of the program and start going forward
e)    If light sensor value is 43 or greater (still off-course, rotating left didn’t work), begin the second error correction routine:
i)    Add 3 more to the temporary memory
ii)    Rotate right and slightly back up using the same power settings as in 6.c.iv-v above (only in opposite directions)
iii)    Do this for the exact amount of time indicated by the temporary memory (the first time it will be 6/100 second) Note: the result of adding more time to the temporary memory causes the robot to rotate back to the beginning direction and continue on the same rotation to the opposite side.
iv)    Stop all motors
f)    If light sensor value is 43 or less (back on the black line) loop back to the beginning of the program and start going forward
g)    If light sensor value is 43 or greater (still off-course, rotating right didn’t work either), try the first error correction routine again, only with a longer duration (which means a wider swing). Go back to 6.c.ii.

8)    Upload program to RCX using the USB controlled infra-red transmitter

9)    Conduct your first set of trials

a)    Reset stopwatch.
b)    Place robot on Course 1 start point.
c)    Start stopwatch at the same time you press the “RUN” button on robot.
d)    If something goes wrong while you are conducting a trial or robot gets stuck on a part of your course for longer than thirty seconds, define the trial as an “error.”
e)    Stop both the watch and the robot when it ends the course.
f)    Record time on data collection sheet.
g)    Repeat steps 9 (a-f) for 10 trials.

10)    Repeat step 9 using Course 2 (opposite direction)

11)    Change motor power setting variables

a)    Now change the program variables that control the motors:
i.  First error correction routine should now make left motor (A) reverse with a power setting of 6 and make the right motor (C) go slightly forward with a power setting of 2.
ii.     Second error correction routine should now make left motor (A) go slightly forward with a power setting of 2 and make the right motor (C) reverse with a power setting of 6.
12) Conduct second set of trials

a)  Repeat steps 8-10 at the current settings.

13) Change motor power setting variables as in step 10 except use the values of  7 and 1

14) Conduct next set of trials as in step 11

15) Change correction routine duration variables

a)    Repeat steps 7-13 except change temporary memory increment value to 5.  First trial should start with motor power settings of 5 and 3 as in first trials.  Note: the result of increasing the amount of time added to the temporary memory causes the robot to rotate back and forth through larger swings.
b)    Repeat step 14.a. except change value to 7.

16) Analyze results.


 
RESULTS

The original purpose of this experiment was to determine the most efficient software instruction set for a light-sensing robot to follow a visual path.
 
The results of the experiment were that motor power settings of 6 and 2 had the best times overall.  The error correction duration of 7 also provided the best times overall.

Another observation was that I could have predicted the outcome of any settings without so many trials. Five trials would have been more than enough. Also, the robot doesn’t run both courses equally, the robot scored a few seconds better on the second course. 


See the table and graph below.


 
CONCLUSION

My first hypothesis was that specific programmed instructions could be varied to obtain a maximum speed and accuracy for the robot.

The results indicate that my first hypothesis should be accepted, because the combination of power settings of 6,2 with an error correction duration increase of 7 gave the fastest times in both directions

My second hypothesis was that, specific programmed instructions optimized for one task would also give the maximum speed and accuracy on a second similar but different task.

The results indicate that my second hypothesis should also be accepted, because the same settings worked best on both tasks. I am uncomfortable with this statement because when the settings are slightly off the errors that result are much different for the two tasks. I think more research is needed on this hypothesis.

After thinking about the results of this experiment, I wonder how much changing the body style would affect performance.  The distance of the light sensor in front of the axle would probably make a difference. Having two light sensors would also be a good thing to test. Most animals have two eyes so it is possible that it could be better for a robot as well. 

If I were to conduct this project again I would have completed more trials and tested smaller variations of duration. Testing on longer and more difficult courses would be worth while.  A more complex programming system could also result in less jerky movement of the robot and faster times. I would have tried to build a better body style. In addition I would have done something to stop the tires from slipping on the wheel rims.
 


RESEARCH REPORT

Definition of Robotics
The Robot Institute of America defined a robot as “a reprogramable multi functional manipulator designed to move material, parts, tools or specialized devices through various programmed motions for the performance of a variety of tasks.”
In Webster’s Dictionary, the definition of a robot is, “An automatic device that performs functions normally ascribed to humans or a machine in the form of a human.” A simpler definition would be that a robot is a machine programmed to do specific physical tasks.

Robots currently come in all sizes and shapes. Some look like humans while others look slightly like a mechanical arm. The design of the robot is generally made to be functional to the task of the robot.

The History of Robotics
Functional Robots have not been around all that long. The concept of robots however was actually written about by Homer, an ancient Greek poet. He described creatures that were made by the Greek god of metal to be helpers to humans. In medieval Jewish legend, there were robot servants that could be brought to life by the spoken word. Leonardo Da Vinci actually designed plans for a mechanical man in 1495.

The term “Robot” was first used in 1921 by a Czech play write. He wrote a production called “Rossum is Universal Robots.” The word “robot” is a Czech term that means slave. In this play, man creates the robots and eventually the robots kill the men. Even though this idea is over 80 years old, it still is one of our fears today.

In 1942, Isaac Asimov wrote a story that contained the three laws of robotics. The laws were:
•    Law one- a robot must not injure a human, or, through inaction, allow a human to come to harm.
•    Law Two-a robot must obey the orders it is given by human beings except where such orders would conflict with the first law.
•    Law three- a robot must protect its own existence as long as such protection does not conflict with the first or second law.

Although the stories that Asimov wrote were fiction, the laws of robotics actually came to be adopted as guiding principles for robotic engineers. Due to this fact, Mr. Asimov decided to add another law. He called it law Zero. This law states: a robot may not injure humanity or, through inaction, allow humanity to come to harm.

In the 1950’s, the first robot companies were established by George Devol and Joseph Engleberg. Mr. Devol built the first programmable robot and he coined the term, “universal automation.’

In 1961, General Motors was the first company to use robots in an industrial capacity. This was followed shortly thereafter by the development of the first robotic arm. In 1963, several universities including Stanford and MIT, actually opened artificial intelligence research laboratories.

In the 1970’s, robotics became widely used by NASA for space exploration.

Today new developments in robotics are so rapid they are difficult to keep up with. It is possible to say that nearly every American now lives their daily lives with some item that has been produced or helped by robotics.

Advantages of Robots
There are several advantages of robots. They are able to take on dangerous jobs that could possibly harm humans. Robots can also perform jobs that are routine or monotonous. On the business side, the benefits include the fact that robots perform tasks precisely and they produce high quality products. Robots differ from their human counterparts in that they never get tired, become ill and miss work, or have to take breaks. This causes the robots to actually work quicker than humans. Increased production results in more profits for businesses. Another business advantage of robots is that robots do not require the benefits of sick leave, retirement or medical insurance. This also proves to be cost efficient for businesses.

While robots have displaced some workers there are employee benefits of robots. A robot will perform tasks that workers may not want to do, because the task might be repetitive, dangerous or boring. Robots can repair machinery or retrieve things where there had been a chemical spill or even a radioactive leak. Robots can assist humans to make their job easier or more manageable. Robots in the workplace have created a greater need for more high skilled workers in businesses.

Humans, being what they are, come with problems. The use of robots keeps the production going. The robots never have personal problems or dislike the management. They never have issues of harassment or disagree over contracts. The robots make a manager’s job easier.

Consumers also reap rewards from robots. First, we are seeing robots being used in the home and with many tasks such as house cleaning. The products that consumers purchase are of high quality if they are built by robots. Because robots drive down the cost of producing items, the financial burden to the consumer is less. Finally, we receive products quicker that are created by robots because they create more output then their human counterparts.

Disadvantages of Robots

While there are clearly advantages to the use of robots, there are certainly some disadvantages as well. Robots are not able to think and problem solve right away. Robots are only able to do what they are designed to do.  They can actually become dangerous if the robot malfunctions or is programmed incorrectly. Robots are machines and possibly dangerous in the same ways that other machines can be. There are limitations to the way robots can move and they cannot perform physically the way that humans can. Robots do reduce the number of unskilled workers when they first are introduced to a new workplace. In addition, robots have created a decrease in worker morale when they are introduced into new companies. Another disadvantage of robots is their cost. It can be very expensive to develop a robot, program, test, and produce multiple copies of it. The initial investment into robotics can be so high that it prohibits many companies from using robots.

Robot Components

There are three main features of all robots. First, is Brawn. Brawn relates to the amount that the robot can move. Second, is Bone. Bone refers to the physical structure of a robot. It is the part of the robot that determines the mass and layout in relation to its function. The third part of the robot is its Brain. This portion is what the robot can do on its own by virtue of what it is programmed to do. It is sometimes referred to as,   “Robot intelligence.”

Types of Robots
Industrial robots are put into categories based on their mechanical structure. The following chart explains the predominate types.

Type    Use    Design
Cartesian or Gantry    Pick & place, Apply sealant, Assemble, Handling tools, Welding     Arm with 3 prismatic joints, whose axes have a cartesan coordinator.  
Cylindrical    Assemble, Handling tools, Welding     Axes form a cylindrical coordinate system.  
Spherical/Polar    Handling tools, Welding, Die casting, Fettling    Axes form a polar coordinate system.  
SCARA    Pick & place, Apply sealant, Assemble, Handling tools    Two parallel rotary joints to provide compliance plane
Articulated     Assemble, Die casting, Fettling, Welding, Spray painting     Arm has at least 3 rotary joints.
Parallel     Handles cockpit flight simulator     Arms have concurrent prismatic or rotary joints.

 
About half of the robots in use today are in the automotive industry. There are around one million robots at work worldwide. Robots form fabricated parts, put together machinery and check parts for quality. There is even a robot called “Demeter” which is designed to harvest on a farm. The robot that went into investigate the nuclear reaction accident in the Soviet Union was called, “Pioneer.” There is a robot called, “ Dante II,” that is designed to go into volcano craters and take readings and measurements. The underwater robots have been conducting research in places like the Artic Ocean where the water is too cold and dangerous to send human divers. In 1871, a whaling fleet was sunk and robots are now exploring the vessel remains. The robotics influence can also be readily seen in space. The Mans Pathfinder sent out the robot “Sojourner” to explore the surface of that planet. If you watch the NASA channel you can see videos of them using a robotic arm in a variety of places from the space shuttles or the International Space Station. Robots presently assist medical staff in surgery and they help distribute medicine. California is currently using robots to clean up their busy highways.

If you look at a different way to categorize robots, it can be done by the function the robot performs. These are major categories would be the service robots, space robots, insert robots, industrial robots and androids. Service robots complete a specific task that helps others. Space robots explore planets, service space ship and conduct experiments. Insert robots work in groups to conduct tasks such as mining exploration. Industrial robots mostly manufacture different parts or perform industry tasks. Androids are similar to humans in their shape and they can do things like walk.

The Future of Robotics

Robotics will continue to grow and develop every year. In the near future we will see more and more robots take over house keeping chores. It is very affordable already to purchase a robot to vacuum your house. Dusting, laundry and even cooking are not far behind. Research is currently being done into creating a robot that will be like a personal fast food restaurant in your own home. Lawn mowing robots are available presently, but the cost for this will eventually go down enough to make them attractive to the consumers. We will probably soon see robots that will monitor and dispense medicine for the elderly.

We will probably see a robot in the future that can be programmed to interact just like humans can.

Future Dangers

In the hit movie I Robot a robot is found that has the ability to disobey the three laws that protect humans and protect it self. In this film the brain of the outfit tells the robot to go and put all the people into homes to protect them from each other and even themselves.
After watching this movie, realization came that if the world were to be instructed by evil robots it would come to an end. Most likely if the world keeps evolving it may soon be discovered that this unpredicted reality may come true.  In the movie it also says that by having created all of these machines that are evil they have just handed up the world on a silver platter.
 

Robot Brain

Current robotic brains are for the most part reactive. They sense things through their programming and react according to the options that they have been set up to have. Some robot brains are being taught to create strategies that are beyond their original programming. They can in essence learn from their mistakes and self adjust without being reprogrammed.

The type of robot brain that is frequently depicted in science fiction movies is a deliberate brain. This type of artificial intelligence looks at others or various situations and uses them to help determine what to do next. NASA is working on a robotic brain that is designed like a human brain. It has several interconnected signals and processors. The brain processes multiple bits of information and ultimately learns and adapts from its past situation.


Summary
Most scientists believe that robot brains learn best from working through a series of problems. This helps the brain learn based on experience. Robot brains are becoming more sophisticated as human brains are.

The concept of robots was written by Homer, an ancient Greek poet. The term “Robot” was first used by a Czech play write. Robotics became widely used by NASA for space exploration.

They are able to take on dangerous jobs that could possibly harm humans, perform jobs that are routine, the benefits include the fact that robots perform tasks precisely and high quality products.

Robots drive down the cost of producing items, the financial burden to the consumer is less. Finally, we receive products quicker that are created by robots because they create more output then their human counterparts. However, it can be very expensive to develop a robot, program, test, and produce multiple copies of it.

There are three main features of all robots; Brawn, Bone and Brain.  Bone is the part of the robot that determines the mass and layout in relation to its function.  Brain is what the robot can do because of how it is programmed.  This is often referred to as “Robot intelligence.”

Industrial robots are put into categories based on their mechanical structure. There are around one million robots at work worldwide. The robot that went into investigate the nuclear reaction accident. There is a robot that is designed to go into volcano craters and take readings and measurements. Robotics will continue to grow and develop every year. Possibly more robots will take over house keeping chores. It is very affordable already to purchase a robot to vacuum your house. Dusting, laundry and even cooking are not far behind. NASA is working on a robotic brain that is designed like a human brain.
 

BIBLIOGRAPHY

All About Robots November 29th 2005 http://www.jimpinto.com/writings/robotics.html

Evans, Dr. Dylan “Robots of the Future” Robots of the Future December 16th 2005 http://www.FirstScience.com

“Future Vision” Cheap Robots Change the World November 29th 2005 http://www.ExtremeTech.com

Robot History and Facts November 29th 2005 http://www.robot-automation.com/robothistory.htm

“Robotics Fundamentals” Robotics 101 November 29th 2005 http://www.texastechnology.com/Curriculum/Emerging_Technology/ Robotics_Education.html

“RRG/Learn More/Basic concepts/ what’s in an Actuator” Actuator Types Pneumatic Actuators Hydraulic Actuators Electric Actuators DC Motor figure November 29th 2005 http://www.robotics.uteaxs.edu/rrg/learn_more/low_ed/actuator/default.asp

“RRG/Learn More/History” Definition of ‘robot’ First use of the word robot
Three laws of robots The first robot Modern Industrial Robots Benefits of robots    November 29th 2005 http://www.robotics.utexas.edu/rrg/learn_more/history/

“SICK Sensor Detectors” Robotics November 30th, 2005 http://www.sick.com/us/industries/materials/robotics/en.html

 “Some Ways to Use Robots” Some Ways to Use Robots November 29th 2005 http://prime.jsc.nasa.gov/ROV/applications.html
 


ACKNOWLEDGEMENTS

I would like to thank the following people for helping make my project possible:
•    My parents for epically everything that they have done for me in these past months that have made my project a big success 
•    My best friend Lily-Anne for being such a good friend and always supporting me in any of my choices and also staying after school so that it wouldn’t be so hard 
•    I would also like to thank Mr. Newkirk for saying nice things and pushing me to my ultimate best.
•    Mrs. Viernes for being very supportive and letting me use her computer.



Top of page

Menu of 2005-2006 Science Projects

Back to the Selah Homepage