Hybrid Architectures

Although it has been widely demonstrated that behavior-based architectures effectively produce a robust performance in dynamic and complex environments, they are not always the best choice for some tasks. Sometimes the task to be performed needs the robot to make some deliberation and keep a model of the environment. But behavior-based architectures do avoid this deliberation and modeling. However, as we have mentioned at the beginning of this section, purely deliberative architectures are also not the best choice for tasks in complex environments. Thus, a compromise between these two completely opposite views must be reached. This is what hybrid architectures achieve.

In these hybrid architectures there is a part of deliberation, in order to model the world, reason about it and create plans, and a reactive part, responsible of executing the plans and quickly reacting to any unpredicted situation that may arise. Usually these architectures are structured in three layers (see Figure 2.7): (1) the deliberative layer, responsible of doing high-level planning for achieving the goals, (2) the control execution layer, which decompose the plan given by the deliberative layer into smaller subtasks (these subtasks imply activating/deactivating behaviors, or changing priority factors), and (3) the reactive layer, which is in charge of executing the subtasks set by the control execution layer and can be implemented with any behavior-based architecture. Examples of such hybrid architectures, among others, are Arkin's AuRA [2] and Gat's Atlantis system [29] for JPL's rovers.

Figure 2.7: Three layers hybrid architecture
\includegraphics[height=5cm]{figures/hybrid}

Another hybrid architecture, although not following the three-layer structure, is that of Liscano et al [25]. In their architecture, they use an activity-based blackboard consisting of two hierarchical layers for strategic and reactive reasoning. A blackboard database keeps track of the state of the world and a set of activities to perform the navigation. Arbitration between competing activities is accomplished by a set of rules that decide which activity takes control of the robot and resolves conflicts.

Although our approach is presented as a behavior-based system, it is not a purely reactive system, since there is some modeling (one of the agents of the Navigation system is in charge of building a map of the environment and computing routes) and deliberation (the agents reason about the world and communicate with each other). So if we had to classify it on the spectrum of control architectures, we would place it in the hybrid group, having the reactive and deliberative parts mixed in one single layer.

© 2003 Dídac Busquets