Published online by Cambridge University Press: 07 July 2009
James Albus states that “an architecture is a description of how a system is constructed from basic components and how those components fit together to form the whole” (Albus, 1995). A software architecture for physical agents reflects the organising principles that its designers have learned from many prior experiences in building such agents. Architectures that have been proposed for physical agents have differed greatly—from subsumption (Brooks, 1986) to Soar (Laird et al., 1987). However, a surprising consensus about architectures is beginning to emerge within the small community of researchers applying artificial intelligence to robotics. The consensus is that a multi- layer, hierarchical architecture is necessary. In particular, the community is moving towards a three-layered architecture. The lowest layer is a reactive control system inspired by subsumption (Brooks, 1986). The top layer is a traditional symbolic planning and modelling system. The middle layer is the key; it serves as a “differential” between the short-range reaction and long-range reasoning.