ROBOTS ALIVE!: Mazes and Squiggles
Calling a meeting and cleaning up a tennis court are not hard jobs -- for people. But for robots? Contests at the annual meeting of the American Association of Artificial Intelligence (AAAI) in 1996 challenged robots to do just that. Competing robots had to navigate a maze of offices in one contest and locate and collect tennis balls in the other. Join FRONTIERS in the fun to see how the latest generation of autonomous robots complete the assignments almost as if they were alive!
Activity 1: Picking Up a Cup
Activity 2: AAAI Challenge Event
For Further Thought
For Further Information
Inventing the Future (Show 701): "Virtually Real"
The robot contest at the annual meeting of the American Association of Artificial Intelligence is designed to demonstrate the best efforts from the fields of artificial intelligence (AI) and robotics. Contestants must design a robot with enough intelligence and capabilities to participate in a challenge event like these: "Call a Meeting" required robots to navigate a maze of offices and corridors and summon a meeting at a specific time; "Clean Up a Tennis Court" challenged robots to find and sweep up tennis balls.
As humans, we might look at the events' descriptions and wonder why robots are asked to complete such seemingly easy jobs. We would outline a procedure (steps) necessary to accomplish the task, then do it. Defining the steps, or making an algorithm, is also one of the first tasks a robotics researcher would take. The algorithm lays the groundwork the researcher will use to develop a robot and controlling program that will complete the challenge.
As you see on FRONTIERS, defining a procedure, or algorithm, even for a seemingly simple task is much more difficult than it appears. A paradox of artificial intelligence is that the easier a task is for humans to perform, the harder it is to create a computer program to model it.
In the first activity for this story, you will design an algorithm and "program" a human "robot" to complete the task. For these activities, you will want to work in teams. To add a little fun to this activity, have the teams in your class compete against each other to see which can complete the event in the fastest time. The second activity is based on one of the events you'll see in this episode. For both, the objective is to understand a programmer's job by writing instructions for a robot to perform specific tasks.
ACTIVITY 1: PICKING UP A CUP
Work in teams of three or four students each to define an algorithm, write a "program" for a "robot" to follow, have your robot execute the program to see how effective your algorithm is and "debug" your program to improve it. The team will collaborate on writing the program; then one of the members will act as the robot that executes it. You'll want waterproof aprons or coveralls or even a change of clothes for this event.
Place two cups, one filled with water, the other empty, on a table in front of a chair. Your "robot" must sit in the chair and pour the cup of water into the empty cup. Oh, by the way, your robot will be blindfolded and won't be able to see!
Note that the sample algorithm and program shown below, if executed exactly, should not work unless the robot "cheats"! For example, such things as which arm to lift and how high, how far forward to move the arm and how to determine if the robot has grabbed the cup containing the water are not defined. Question: How does the robot know which cup contains the water?
As a class, brainstorm what steps a robot must follow to pour water from one cup to another. List on the board as many steps as you can. Be specific.
- Design an algorithm.
Using the steps listed on the board, people on each team should write down, in order, the steps that will allow their robot to accomplish the challenge.
1. Reach for cup.
a. lift arm
b. move arm forward
c. grab cup
2. Lift the cup.
a. raise arm six inches
b. move arm to left slowly
3. Pour water into cup.
a. stop arm movement over cup
b. turn wrist
- Write the program.
Write down specific instructions your robot will carry out to complete each step. Your robot will follow these instructions as they are read by a team member, while another person or your teacher makes sure they are followed exactly.
- Test your robot.
Blindfold your robot and have it sit in a chair. One team member will read the program and the robot will execute the instructions. The other team members should take notes on any problems that occur as your robot follows the instructions. (The team member who reads the instructions should also be careful the robot does not accidentally get hurt.)
- Revise the program.
Now you must debug your program by revising the instructions your robot will follow. Make sure you include any changes the team noted when testing your robot.
- Test the updated robot.
Have members of the team exchange roles so the new program is run on a robot that has not "learned" from previous attempts.
ACTIVITY 2: THE AAAI CHALLENGE EVENT -- CLEAN UP A TENNIS COURT
Once you have successfully programmed your robot for the simple challenge in Activity 1, you are ready to attempt a larger challenge. Below you will find a brief description of one of the robot challenges at the 1996 AAAI meeting, the tennis court cleanup contest seen on FRONTIERS. Design a program for a human robot to execute that will solve the challenge. Follow the steps to help you program your robot. You may provide your robot with tools that will help execute your program. Good luck!
*Battery-powered Squiggle balls are available at science or toy stores. You can substitute Ping-Pong balls or even crumpled up paper for tennis balls and leave out the Squiggle ball to make the task simpler. Or, to challenge students further, use more than one Squiggle ball!
The robot's task is to clean up a room of tennis balls, including one that is moving! The robot will be placed in a closed room. In the room with the robot will be a small number of tennis balls and one powered Squiggle ball that will be moving around. In one corner of the room will be a pen with two gates. The objective is to place all of the tennis balls and the moving ball into the pen.
- What limitations in performing the tennis court challenge might a robot have that a human would not have?
- Can you think of ways to revise your program to make the number of instructions as small as possible? What would be the advantage of this? Do artificial intelligence (AI) researchers have to worry about the size of their programs?
Note to Teacher on Setting Up the Challenge:
To conduct this challenge, block off a section of your room with a cardboard barrier that will allow students to observe the robot performing the task but will limit the space so the task is not impossible. A cardboard box with an opening cut in the side can serve as a pen.
FOR FURTHER THOUGHT
- Do you think a human would always be superior to a robot in performing certain jobs? If so, which jobs and why?
- Are there tasks robots would perform better than humans? If so, what tasks and why?
FOR FURTHER INFORMATION
- For a complete description of both contests, instructions to robots and more about the competitions seen on FRONTIERS, go to www.aaai.org/Conferences/National/1996/aaai96.html.
- The designer of the winning robots in the maze contest is Kurt Konolige, who also built the robot Flakey, seen on FRONTIERS in an earlier season. For more on Flakey and Konolige, visit www.ai.sri.com/~konolige/.
CREDIT: These activities were developed by Jamie Larsen, a science educator and consultant in Sedona, Arizona.
Scientific American Frontiers
Fall 1990 to Spring 2000
Sponsored by GTE Corporation,
now a part of Verizon Communications Inc.