Page 190 - The Unofficial Guide to Lego Mindstorms Robots
P. 190
179
Su bsumption Architecture
The traditional approach to robot programming has been to emulate human thought processes. First, the robot processes its
sensor data. Based on the sensor data, the robot constructs or updates a model of the world. Then it decides how to act. This
deliberative approach is very complicated; it re quires heavy- duty processing power and may not work properly anyway.
Overview
Subsumption architecture is a radically different paradigm for robot programming developed by Rodney Brooks at MIT in the
late 1980s. In this reactive approach, several robot behaviors run at the same time. Input from sensors is used to determine
which behavior controls the robot at any given time. Depending on the sensor values, higher-level behaviors completely take
o ver control of the robot, subsuming (replacing) lower-level behaviors. As you'll see, subsumption ar chitecture is simple
enough to be implemented on inexpensive hardware, including the RCX.
A b asic example will clarify the concept. Imagine a robot that has a bumper (a touch sensor) on its front. When the robot
s
p
bum into something, it sho uld back up and turn around. With subsumption architecture, the robot will use two behaviors.
The first behavior is cru ise and simply moves the robot forward. Figure 9-1 shows a diagram of this behavior. It controls
the motors to make the robot mo ve forward.
To avoid obstacles, the robot needs ano ther behavior , avoid. This behavior will become active when it detects a bump on the
touch sensor. It will completely take