Page 181 - Introduction to AI Robotics
P. 181
164
1. Describe the task 5 Designing a Reactive Implementation
Specification
& Analysis:
2. Describe the robot
ecological
niche
3. Describe the environment
4. Describe how the robot should
Design
act in response to its environment
5. Implement & refine each behavior
Implementation &
unit testing
6. Test each behavior independently
7. Test behaviors together System testing
Figure 5.3 Steps in designing a reactive behavioral system, following basic software
engineering phases.
a behavioral decomposition appears obvious to a roboticist after thinking
about the ecological niche. For example, in the 1994 and 1995 Pick Up the
Trash events, most of the teams used a partitioning along the lines of: ran-
dom search until see red, move to red, pick up can, random search until see
blue, move to blue, drop can.
Roboticists often attempt to find an analogy to a task accomplished by
an animal or a human, then study the ethological or cognitive literature for
more information on how the animal accomplishes that class of tasks. This,
of course, sidesteps the question of how the roboticist knew what class of an-
imal tasks the robot task is similar to, as well as implies a very linear think-
ing process by roboticists. In practice, roboticists who use biological and
cognitive insights tend to read and try to stay current with the ethological
literature so that they can notice a connection later on.
Steps 5-7 are less abstract. Once the candidate set of behaviors has been
proposed, the designer works on designing each individual behavior, spec-