In Brook’s “A Robust Layered Control System For A Mobile Robot”, he proposes an architecture that addresses the concern of the more accepted architecture at that time: SPA. Brook’s alternative architecture is referred to as the “subsumption” architecture. The architecture is built upon a premise that the robot is setup with layers of competence. These layers for the autonomous mobile robot represent an informal specification of a desired class of behaviors for a robot over all environments it will encounter. The essential idea is that one can build layers of a control system corresponding to each level of competence and simply add a new layer to an existing set to move to the next higher level of overall competence. This decomposes the issues of the robots control system into specific behaviors and not by functional modules. By providing layers, one could add an additional layer of competence later on, to build a more complex mobile robot control system. This model allows the utilization of parallel computation which can be performed on a low bandwidth, loosely coupled network of asynchronous simple processors. The control system can also be viewed as a system of agents each busy with their own tasks.

The subsumption architecture layers are “simple networks of small finite state machines joined by wires which connect output ports to input ports”[1]. To simulate the complex behaviors of one layer overlapped upon another layer, the contents of one wire has the capability to override the value from another wire. This suppression lends itself to three main issues which are discussed in Gat’s article. The first issue is that subsumption provides no architectural mechanism to enforce or even support this methodology of layering competencies.  The second issue is that via numerous case studies, this subsumption architecture does not provide mechanisms for managing complexity therefore not allowing the systems to scale very well. Finally, the central architectural mechanism that subsumption provides often doesn’t work.

In conclusion, I agree that subsumption was a step in the right direction for rethinking the architecture for autonomous mobile robotic systems. The three-layer architecture provides a cleaner separation between components, allowing the components to communicate with each other. The main issue with the subsumption architecture is that it suppresses the results of the lower-level computations and supersedes their results. This results in issues of unexpected behaviors with a higher level controlling some fundamental behaviors (often necessary) in the lower levels. This paper provided insight into a new approach which fueled AI development for years after it was published.

Reference:

  1. [Gat] Erann Gat. “On Three-Layer Architectures.” Artificial Intelligence and Mobile Robots.
  2. Brooks, Rodney A. “A Robust Layered Control System For A Mobile Robot.” <ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-864.pdf>