Control Architectures

A mobile robot working in unknown environments has to be able to perceive the world, reason about it, and act consequently in order to achieve its goals. The way in which this process is done is defined by the robot's control architecture. Many approaches for control architectures have been developed, and there also exist many definitions of what a control architecture is:

``Robotic architecture is the discipline devoted to the design of highly specific and individual robots from a collection of common software building blocks.'' - Adaptation of Stone's [62] definition of computer architecture.

`` [an architecture refers to] the abstract design of a class of agents: the set of structural components in which perception, reasoning, and action occur; the specific functionality and interface of each component, and the interconnection topology between components.'' - Hayes-Roth [30].

``An architecture provides a principled way of organizing a control system. However, in addition to providing structure, it imposes constraints on the way the control problem can be solved.'' - Mataric [48].

``An architecture is a description of how a system is constructed from basic components and how these components fit together to form the whole.'' - James Albus, at the 1995 AAAI Spring Symposium.

The main difference between the architectures proposed in the past years relies on whether they are more deliberative or more reactive. Figure 2.1 depicts the spectrum of control architectures.

Figure 2.1: Control architectures' spectrum
\includegraphics[width=9cm]{figures/control-archs}

In this section we give an overview (characteristics, advantages and disadvantages) of the three main approaches: purely deliberative or hierarchical architectures, purely reactive or behavior-based architectures, and hybrid architectures, which combine both previous methods.



Subsections
© 2003 Dídac Busquets