The Robot Exercise
Overview
In this exercise, four students simulate a robot. One acts as the
robot's vision system, one as its brain, and two as its arms. The
task of the robot is to stack one box on top of another. The boxes
should be sufficiently large or heavy that they cannot be picked up
with one hand.
When?
We have used this exercise at two different points in an undergraduate
AI course: the first day of class or at the point in the course when
we switch from "brain-in-a-box" topics like search and planning to
topics dealing with sensing and acting, like vision, NLP, and
robotics. It works well early in the course, as both an ice-breaker,
and a demonstration that what seems easy is not necessarily so. It
could also be used in a general introductory CS course as an introduction
to AI.
Before
Before beginning, explain to the students that they will be
considering how an intelligent robot interacts with the world.
Describe in general terms current capabilities of vision and robotic
systems. You may want to use illustrative anecdotes from the recent
literature or from the AAAI robot competitions.
Describe the task to be accomplished: given two boxes on a table, we
wish to stack one on top of the other. Ask for volunteers and
choose/draft four students. It is best to choose the brightest and
most outgoing one to be the brain as this task is tough and
frustrating even for a really good student. The arms are blindfolded,
and the brain is seated facing away from the table on which the boxes
are placed. Here are the ground rules:
- The brain can talk to any or all of the other three robot parts.
- The arms follow the directions of the brain. They should pretend
not to hear the vision system.
- Explain that realistically the arms should be directed in terms
of joint angles and forces, but that we will pretend that they are
exceptionally smart arms and can understand directions in terms of
moving their hands a give distance in a given direction, up, down,
left, right, forward, and backward.
- The arms can answer yes/no questions from the brain and they can
tell whether they are touching something or not. They cannot however
distiguish the table from the boxes or the other arm.
- The vision system cannot volunteer information, but it can
answer (as literally as possible) any questions posed to it by the
brain. Point out that this vision system is also very smart in that it
can easily distinguish the table from the boxes and can estimate
distances fairly well (depending on the student).
- The vision system is allowed to move around to get a better
view of the scene.
The Exercise
Once the arms are blindfolded and the brain is seated, put the boxes
into position. To make the task more difficult, stand one box on end
or place it at an angle on the table.
It's best to allow most or all of a class period for this exercise, as
it's likely to take 30-60 minutes to get the boxes stacked. While the
students are working, you may want to step in occasionally to ask the
brain to explain what it is doing or comment on what is happening. If
the students get frustrated or stuck replace them with new
volunteers (be sure to change the box configurations in this case).
After
Once the exercise is over, you may want to comment on a number of
topics.
- Coordinating the arms is hard.
- Visual feedback, force feedback, etc. are important, and a big
reason why this problem is difficult is that the feedback loop is
indirect and inaccurate.
- World knowledge is important.
- Problems arise from different coordinate systems,
for example box-centered vs. arm-centered.
- The brain often starts using his/her hands to demonstrate how the
arms should move or to clarify a question. This brings up a chance to
talk about model-based communications and reasoning.
- The difficulty of constructing a plan without knowing the
preconditions is quickly seen. Soon, the brain figures out that it
must monitor the plan execution consistently, and replan as
necessary. Something unexpected always goes wrong (e.g. both hands
are touching the box but not on opposing sides or not in the same
horizontal plane; or the top box is above the bottom box but its
center of mass is not), which points out how hard it is to forsee all
contingencies.
Follow-up Assignment
Pick one error, miscommunication, or instance of bad luck from the
robot exercise. Discuss why it occurred and how it might be
prevented. Can you forsee any new problems that would be created by
implementing your method of preventing the original problem?
Next: Building the LEGO Bug
Back: Using Robots in an AI Course