Page 182 - Introduction to AI Robotics
P. 182
165
5.4 Case Study: Unmanned Ground Robotics Competition
ifying its motor and perceptual schemas. This is where the designer has to
write the algorithm for finding red blobs in a camera image for the random
search until find red and move to red behaviors. The designer usually pro-
grams each schema independently, then integrates them into a behavior and
tests the behavior thoroughly in isolation before integrating all behaviors.
This style of testing is consistent with good software engineering principles,
and emphasizes the practical advantages of the Reactive Paradigm.
The list of steps in implementing a reactive system can be misleading. De-
spite the feedback arrows, the overall process in Fig. 5.3 appears to be linear.
In practice, it is iterative. For example, a supposed affordance may be im-
possible to detect reliably with the robot’s sensors, or an affordance which
was missed in the first analysis of the ecological niche suddenly surfaces.
The single source of iteration may be testing all the behaviors together in the
“real world.” Software that worked perfectly in simulation often fails in the
real world.
5.4 Case Study: Unmanned Ground Robotics Competition
This case study is based on the approach taken by the Colorado School of
Mines team to the 1994 Unmanned Ground Robotics Competition. 98 The ob-
jective of the competition was to have a small unmanned vehicle (no larger
than a golf cart) autonomously navigate around an outdoor course of white
lines painted on grass. The CSM entry won first place and a $5,000 prize.
Each design step is first presented in boldface and discussed. What was ac-
tually done by the CSM team follows in italics. This case study illustrates
the effective use of only a few behaviors, incrementally developed, and the
use of affordances combined with an understanding of the ecological niche.
It also highlights how even a simple design may take many iterations to be
workable.
Step 1: Describe the task. The purpose of this step is to specify what the
robot has to do to be successful.
The task was for the robot vehicle to follow a path with hair pin turns, stationary
obstacles in the path, and a sand pit. The robot which went the furthest without going
completely out of bounds was the winner, unless two or more robots went the same
distance or completed the course, then the winner was whoever went the fastest. The
maximum speed was 5 mph. If the robot went partially out of bounds (one wheel or
a portion of a tread remained inside), a distance penalty was subtracted. If the robot
hit an obstacle enough to move it, another distance penalty was levied. Therefore,