Page 136 - Introduction to AI Robotics
P. 136
4.3 Subsumption Architecture
Figure 4.10 Level 1 recast as primitive behaviors. 119
around and lose forward progress. (Notice also that the AVOID module was
able to “eavesdrop” on components of the next lower layer.) The heading
output from AVOID has the same representation as the output of RUNAWAY,
so TURN can accept from either source.
The issue now appears to be when to accept the heading vector from which
layer. Subsumption makes it simple: the output from the higher level sub-
sumes the output from the lower level. Subsumption is done in one of two
ways:
INHIBITION 1. inhibition. In inhibition, the output of the subsuming module is connected
to the output of another module. If the output of the subsuming module
is “on” or has any value, the output of the subsumed module is blocked
or turned “off.” Inhibition acts like a faucet, turning an output stream on
and off.
SUPPRESSION 2. suppression. In suppression, the output of of the subsuming module is
connected to the input of another module. If the output of the subsum-
ing module is on, it replaces the normal input to the subsumed module.
Suppression acts like a switch, swapping one input stream for another.
In this case, the AVOID module suppresses (marked in the diagram with
a S) the output from RUNAWAY. RUNAWAY is still executing, but its output
doesn’t go anywhere. Instead, the output from AVOID goes to TURN.