Dawson Margin Notes On

Pfeifer and Scheier, Understanding Intelligence

Chapter 7: The Subsumption Architecture


Brook’s subsumption architecture has more of an engineering flavor than a cognitive science flavor.  His “intention was to create a methodology that would make it easy to design robots that pursue multiple goals and respond to multiple sensors, that perform robustly, and that are incrementally extendable”.  In many senses, this intention was explored using the principle of modular design.  Even though it is an engineering perspective, it has some relevance to cognitive science:


The subsumption architecture uses the term “behavior” in two different ways.  First, it is the result of a system-environment interaction.  Second, it is an internal process used to generate behavior in the first sense.  This causes some confusion.  The term “behavior based robotics” now means “embodied cognitive science”, and is used in contrast to classical or knowledge-based approaches.


7.1 Behavior-Based Robotics


Brooks’ work was one of the first forays into a new paradigm.  “subsumption is a method of decomposing a robot’s control architecture into a set of task-achieving behaviors or competences.”  (NB: this is similar to Cummins’ notion of subsuming the functional architecture, and also makes me think a little bit about the control structure in a production system.)  In this approach, higher-level layers build upon, and rely upon, already existing lower-level layers.  They can subsume these lower layers too – that is, modify how lower layers perform.  Layers operate in parallel, and are relatively independent of one another.  Therefore, there is no hierarchical control.  (NB: This reminds me a bit of Minsky’s society of mind control structure.)  Nowadays there are a variety of subsumption architectures.  The text focuses on Brooks.


7.2 Designing A Subsumption-Based Robot


The starting point to building a robot from this perspective is to define levels of competence.  “A level of competence is the informal specification of a class of desired (external) behaviors that the robot should be able to perform in the environments in which it will have to operate.”  The most basic kind of level, level 0, might be something like “avoid obstacle”.  The next level could be “wander around”, level 2 could be “explore”, and so on.  Each level has its own sensors and motors.  “The key point of having levels of competence is as follows:  Each level of competence is implemented as a layer of the control architecture.  These layers can be built incrementally”.  So, new competences are built upon existing ones.


The next move is to build level 0 competence.  Other layers are not required to do this.  Once this layer is built and debugged, you can move on to the next layer.  In doing this, it is important to realize that a higher level can examine lower level data, and can send data to lower levels to suppress normal data flow.  (NB: Why isn’t this hierarchical control, if the flow of control is from top to bottom?)


After designing a layer, you have to build it.  The main move here is to use the principle of modular design – interaction between layers should be kept to a minim to achieve maximum “incrementality” and emergence.  Each module is an augmented finite state machine.  But often the modules can be implemented as a computer program.  (NB: Can we use Inventor tasks to build Lego robots with this design – e.g., might each task in a program be used to create a layer in the subsumption architecture?)


7.3 Examples of Subsumption-Based Architectures


First example is Myrmix, whose task is to find objects and collect them.  Importantly, all of these behaviors are simulated – for example, eating is operationalized as turning a light on.  (NB: are such operationalizations common in the subsumption approach, or in embodied cognitive science in general?  Myrmix has three basic competences – safe-forward, avoid-obstacle, and collect.  The first simply drives the machine forward, and is the lowest level competence.  It is modified by avoid obstacle, which manipulates engine speed to add turning.  In general, higher-order competences seem to work by temporarily inhibiting lower layers.  Important point to note – each layer can have several modules.


One problem with how Myrmix is implemented is object recognition – distinguishing food from obstacles.  While this can be manipulated to improve performance, no universal solution exists.


The final aspect of Myrmix are the experiments used to study its behavior.  Important point to note – experiments are largely qualitative.  You have to describe the behavior of the system.


The second example is Genghis, which is a much more complicated hexapod designed to walk over rough terrain.  The basic idea is that each leg has two motors, one for driving it forward, the other for balancing.  The basic layer is stand-up, which positions each leg in such a way that the robot stands.  Simple layers are added to this to generate walking.  One works so that if one leg moves forward, all others move backwards slightly.  Another drives a leg forward if the leg has been raised.  But when this is done, the balancing signal for this leg has to be inhibited at the same time.  Walking is achieved by coordinating this lower level layers in such a way that the machine moves forward.


The most recent example is Cog, a humanoid robot.  It is based upon the assumptions that 1) human-like intelligence requires humanlike interactions with the world, and 2) that the subsumption architecture can provide high levels of intelligence.  One advance over earlier work is that learning is added to the architecture.  However, once this is done, pure subsumption is lost, because learning may alter lower level competences after they have been completed.


7.4 Conclusions


“Subsumption is sometimes criticized as being an engineering principle that bears little relationship to designing intelligent systems.”  But, the subsumption architecture is a departure from the sense-think-act cycle.  It is coupled to the notion of embodiment, and points to a new way to achieving behavioral control.  The technical details of this approach are evolving, and the term subsumption is being used less and less.  (NB: Some would argue that the approach hasn’t provided high-level abilities.  What are its successes?)