Page 134 - Introduction to AI Robotics
P. 134
4.3 Subsumption Architecture
Figure 4.8 Level 0 recast as primitive behaviors. 117
the robot, the robot will turn 180 the other way and move forward; essen-
tially, it runs away. This allows a person to herd the robot around. The robot
can react to an obstacle if the obstacle (or robot) is motionless or moving; the
response is computed at each sensor update.
However, if part of the obstacle, or another obstacle, is dead ahead (some-
one tries to herd the robot into a wall), the robot will stop, then apply the
results of RUNAWAY. So it will stop, turn and begin to move forward again.
Stopping prevents the robot from side-swiping the obstacle while it is turn-
ing and moving forward. Level 0 shows how a fairly complex set of actions
can emerge from very simple modules.
It is helpful to recast the subsumption architecture in the terms used in this
book, as shown in Fig. 4.8. Note how this looks like the vertical decompo-
sition in Fig. 4.2: the sensor data flows through the concurrent behaviors to
the actuators, and the independent behaviors cause the robot to do the right
thing. The SONAR module would be considered a global interface to the sen-
sors, while the TURN and FORWARD modules would be considered part of
the actuators (an interface). For the purposes of this book, a behavior must
consist of a perceptual schema and a motor schema. Perceptual schemas are
connected to a sensor, while motor schemas are connected to actuators. For
Level 0, the perceptual schemas would be contained in the FEELFORCE and
COLLIDE modules. The motor schemas are RUNAWAY and COLLIDE mod-
ules. COLLIDE combines both perceptual processing (extracts the vector for
the sonar facing directly ahead) and the pattern of action (halt if there is a