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
   185   186   187   188   189   190   191   192   193   194   195