Carnegie Mellon Brooks Subsumption Architecture Instructor Erol ahin
Carnegie Mellon Brooks’ Subsumption Architecture Instructor: Erol Şahin
Carnegie Mellon Subsumption Architecture ¢ ¢ Proposed by R. Brooks of MIT AI Lab. Created a major paradigm shift “A Robust Layered Control System for a Mobile Robot”, R. A. Brooks, IEEE Journal of Robotics and Automation RA-2, 14 -23, 1986. “A Robot that walks: Emergent Behaviors from a carefully evolved network”, R. A, Brooks, Neural Computation 1 (2), 253 -262, 1989. Adapted from Ö. Alan’s slides
Carnegie Mellon Traditional model ¢ “The traditional model where cognition mediates between perceptions and plans of actions. ”
Carnegie Mellon New model ¢ “The new model where the perceptual and action subsystems are all there really is. Cognition is only in the eye of an observer. ”
Carnegie Mellon Traditional decomposition ¢ Vertical decomposition of modules. § What should be the output of the perception module?
Carnegie Mellon New decomposition ¢ ¢ Horizontal decomposition Each module is directly coupled to the world
Carnegie Mellon Layered (incremental) control ¢ ¢ “Control is layered with higher level layers subsuming the roles of lower layers when they wish to take control. ” “The system can be partitioned at any level, and the layers below form a complete operational control system. ” ¢ Subsume: To classify, include, or incorporate in a more comprehensive category or under a general principle
Carnegie Mellon Case 1: Level of competences for a mobile robot ¢ ¢ ¢ ¢ Level 0: Avoid contact with objects (whether the objects move or are stationary). Level 1: Wander aimlessly without hitting things. Level 2: “Explore” the world by seeing places in the distance which look reachable and heading for them. Level 3: Build a map of the environment and plan routes from one place to another. Level 4: Notice changes in the “static” environment. Level 5: Reason about the world in terms of identifiable objects and perform tasks related to certain objects. Level 6: Formulate and execute plans which involve changing the state of the world in a desirable way. Level 7: Reason about the behaviour of objects in the world and modify plans accordingly. “A Robust Layered Control System for a Mobile Robot”, R. A. Brooks, IEEE Journal of Robotics and Automation RA-2, 14 -23, 1986.
Carnegie Mellon Modules Inhibitor 1 3 Inputs Suppressor ¢ ¢ ¢ Outputs S 10 Reset A module has input and output lines, also called as “wires”. Input lines have single element buffers. The most recently arrived message is always available for inspection. Input signals can be suppressed and replace with the suppressing signal. Outputs are sent as messages over the wires. Output signals can be inhibited. A module can also be reset to the initial state.
Carnegie Mellon Augmented Finite State Machines ¢ ¢ ¢ Registers Timers FSM I S Finite State Machine The arrival of a message, or the expiration of a timer, can trigger a change in the state of FSM.
Carnegie Mellon Finite State Machines ¢ States § current state q element of set of states K ¢ ¢ Initial State § S 1: starting state Transition Function § function that specifies the next state when the stimulus § is encountered. is the set of stimuli ¢ Final State; the terminating states (S 2)
Carnegie Mellon Modules Inhibitor 1 3 Inputs Suppressor ¢ ¢ Outputs S 10 Reset Wait on some event, dispatch to another state based on predicate registers Compute a function of registers Sensors deposit their values to certain registers Certain outputs direct commands to actuators. Adapted from Ö. Alan’s slides
Carnegie Mellon Level 0: Avoid contact with objects ¢ ¢ ¢ sonar: takes a vector of sonar readings, filters them and produces a robotcentered map of obstacles. collide: monitors the map, and if it detects objects ahead, sends halt signal to the forward module. If the robot is already stationary, the halt message is lost. feelforce: uses the map of obstacles to generate a single repulsive force. runaway: Monitors the “force” and sends a heading direction to the turn module to avoid the obstacles. turn and forward: uses the incoming heading and halt messages to control the robot’s motors. Encoder values are used as feedback in this control.
Carnegie Mellon Level 1: Wander aimlessly ¢ The level 0 control system is augmented with the level 1 system.
Carnegie Mellon Level 1: Wander aimlessly ¢ ¢ wander: generates a new heading for the robot every 10 seconds or so. avoid: Takes the force and the [desired] heading direction to generate a new heading direction that subsumes the one generated by the runaway module.
Carnegie Mellon Level 1: Explore ¢ The level 0 and 1 control systems augmented with the level 2 system.
Carnegie Mellon Level 1: Explore ¢ ¢ ¢ Status: monitors turn and forward and returns whether the robot is busy or not. Whenlook: monitors status and when “not busy” for a few seconds, it decides to look for corridors. Look: initiates vision processing and waits for a candidate, and passes an acceptable one to pathplan. Stereo: generates corridor candidates from visual data. Integrate: accumulates reports of motions from the status module. Pathplan: takes a goal specification and attempts to reach that goal by suppressing heading to avoid module. When the position of the robot is close to the target [through integrate module], it terminates.
Carnegie Mellon Experiments ¢ ¢ Conducted in simulation. The simulated robot receives 12 sonar readings. Some sonar beams glance off the walls and do not return within a certain time.
Carnegie Mellon Level 0 and 1 in action ¢ Under levels 0 and 1, the robot wanders around aimlessly. It does not hit obstacles.
Carnegie Mellon Level 0, 1 and 2, in action ¢ ¢ With level 2 control, the robot tries to achieve commanded goals. The nominal goals are the two straight lines. After reaching the second goal, since there are no new goals forthcoming, the robot reverts to aimless level 1 behavior.
Carnegie Mellon Case 2: Controlling a hexapod robot ¢ ¢ Control mechanism for a sixlegged robot capable of walking on rough terrain and following people. Incremental building of complex systems integrating sensory inputs and actuator outputs. Emergent complex behaviors from simple reflexes with little centralized control. A base for building automatically massive networks for complex tasks Adapted from Ö. Alan’s slides ¢ “A Robot that walks: Emergent Behaviors from a carefully evolved network”, R. A, Brooks, Neural Computation 1 (2), 253 -262, 1989.
Carnegie Mellon Robot Description (Genghis) ¢ ¢ ¢ ¢ ¢ Hexapod 35 cm long, 25 cm leg span, 1 kg weight Legs 2 degrees of freedom (up/down and forward/backward) Two front whiskers Two inclinometer Pyroelectric infra-red sensors 4 onboard 8 bit micro-processors 62. 5 Kbaud token ring, 1 KB Ram, 10 KB EPROM 3 silver zinc batteries Adapted from Ö. Alan’s slides
Carnegie Mellon Behaviors ¢ ¢ ¢ ¢ Stand up Simple walk Force balancing Leg lifting Whiskers Pitch stabilization Prowling Steered Prowling Adapted from Ö. Alan’s slides
Carnegie Mellon Network of AFSM IR sensors prowl For/back pitch beta force beta balance feeler i s walk i Up leg trigger leg down steer alpha collide d s beta pos alpha advance alpha balance s alpha pos
Carnegie Mellon Stand-up ¢ ¢ ¢ The robot should stand up when its turned on. Six copies of the following control: one for each leg. alpha pos ( )– the forward/backward state of the leg beta pos ( ) – the up/down state of the leg Initial values of and sets the desired positions for the motors. AFSMs of this behavior also report the most recent commanded position for their motor. beta pos alpha pos Adapted from Ö. Alan’s slides Triangle indicates connection to the actuators
Carnegie Mellon Simple Walk ¢ ¢ A leg down machine for each leg Whenever the leg is not in the down position, write the appropriate beta pos register in order to set it down. leg down beta pos alpha pos Adapted from Ö. Alan’s slides
Carnegie Mellon Simple Walk (Cont’d) ¢ Alpha balance machine § Sums alpha pos values Legs straight as zero § Legs forward as positive § Legs backward as negative § § Sends a single identical message to all alpha pos machines to drive the sum to zero § If one leg moves forward somehow, all legs will receive a series of messages to move backward slightly leg down beta pos alpha balance Adapted from Ö. Alan’s slides alpha pos Band indicates that only one copy of the AFSM exists.
Carnegie Mellon Simple Walk (Cont’d) ¢ Alpha advance machine § If a leg is raised somehow (check beta pos), it reflexively swings forward. § Suppress alpha balance machine (for that particular leg only) § All other legs automatically swing back to compensate leg down beta pos alpha advance alpha balance Adapted from Ö. Alan’s slides s alpha pos
Carnegie Mellon Simple Walk (Cont’d) ¢ Up leg trigger machine § Issues command to lift a leg by suppressing leg down AFSM. § Three registers (monitor beta pos, a trigger message, initially constant lift message to beta pos) Up leg trigger leg down s beta pos alpha advance alpha balance Adapted from Ö. Alan’s slides s alpha pos
Carnegie Mellon Simple Walk (Cont’d) ¢ ¢ Walk: Send coordinated trigger signals to up leg trigger machines Two versions § Alternating tripod § Standard back to front ripple gait walk Up leg trigger leg down s beta pos alpha advance alpha balance Adapted from Ö. Alan’s slides s alpha pos
Carnegie Mellon Force Balancing ¢ ¢ Walking over obstacles requires some force sensing. If a leg is placed on an obstacle, it has to roll (or pitch) the body in order to reach the beta preset value, increasing the load (force) on the motor. Beta force machine § Monitors the beta motor forces Beta balance § Sends out lift up message whenever the force is too high § Zero move messages ¢ Standard deviation of pitch inclinometer fell from 3. 6 to 2. 3 Adapted from Ö. Alan’s slides
Carnegie Mellon Force Balancing (Cont’d) beta force walk beta balance Up leg trigger leg down d s beta pos alpha advance alpha balance Adapted from Ö. Alan’s slides s alpha pos
Carnegie Mellon Leg Lifting ¢ Alpha collide § Measures the force on the forward swing (alpha) motor § Writes the height register in the up leg trigger at a higher value beta force walk beta balance Up leg trigger leg down alpha collide d s beta pos alpha advance alpha balance Adapted from Ö. Alan’s slides s alpha pos
Carnegie Mellon Whiskers ¢ Feeler Machine § Monitor the two whiskers in the front § Increase the lift of left and right front legs before collision. beta force Two copies (one for each side) feeler beta balance s walk Up leg trigger leg down alpha collide d s beta pos alpha advance alpha balance Adapted from Ö. Alan’s slides s alpha pos
Carnegie Mellon Pitch Stabilization ¢ Forward/backward pitch § Monitor high pitch conditions § Inhibit the local beta balance machine output in appropriate circumstances For/back pitch beta force beta balance feeler i s walk Up leg trigger leg down alpha collide d s beta pos alpha advance alpha balance Adapted from Ö. Alan’s slides s alpha pos
Carnegie Mellon Prowling ¢ IR sensors machine § Monitors six forward looking infra red sensors § Sends an activity message to the prowl machine when it detects motion ¢ Prowl machine § Inhibits the leg lifting trigger messages Adapted from Ö. Alan’s slides prowl – to rove or go about stealthily, as in search of prey, something to steal, etc.
Carnegie Mellon Prowling (Cont’d) IR sensors prowl For/back pitch beta force beta balance feeler i s walk i Up leg trigger leg down alpha collide d s beta pos alpha advance alpha balance s alpha pos The robot sits still until something comes by, the it moves forward a little Adapted from Ö. Alan’s slides
Carnegie Mellon Steered Prowling ¢ ¢ Follow a moving person Steer machine § Writes into a register in each alpha pos machine for legs on the side of the activation § Reduces leg’s backswing Adapted from Ö. Alan’s slides
Carnegie Mellon Steered Prowling (Cont’d) IR sensors prowl For/back pitch beta force beta balance feeler i s walk i Up leg trigger leg down steer Adapted from Ö. Alan’s slides alpha collide d s beta pos alpha advance alpha balance s alpha pos
Carnegie Mellon Conclusion ¢ ¢ ¢ A distributed system can achieve robust walking behavior. Macro behavior is a result of interaction of independent micro behaviors. Integration of higher level behaviors into a system which controls lower level behaviors is relatively easy. Adapted from Ö. Alan’s slides
- Slides: 40