Page 280 - Introduction to AI Robotics
P. 280
263
7.3 Architectural Aspects
mines what functionality goes in what modules, what modules have access
to global knowledge (which leads to specifying public and friend classes
in C++), and what that global knowledge (shared data structures) should
be. Likewise, it is important to subdivide the deliberative portion into mod-
ules or objects. A good decomposition will ensure portability and reusabil-
ity. While Hybrid architectures are most noteworthy for how they incorpo-
rate deliberation into mobile robotics, they also introduce some changes in
the way reaction is organized. Many researchers found the two primary
means of combining reactive behaviors—subsumption and potential field
summation—to be limited. Since then at least three other mechanisms have
been introduced: voting (in the DAMN architecture), 121 fuzzy logic (Saphira), 77
and filtering (SFX). 107
The number of Hybrid architectures is rapidly increasing. This section
attempts to introduce some conceptual organization on Hybrids in two ways.
First, it offers a set of common components—essentially, things to look for in
a Hybrid architecture. Second, it divides Hybrid into three broad categories:
managerial, state hierarchies, and model-oriented.
7.3.1 Common components of hybrid architectures
While Hybrid architectures vary significantly in how they implement de-
liberative functionality, what they implement is fairly similar. Generally a
Hybrid architecture has the following modules or objects:
SEQUENCER A Sequencer agent which generates the set of behaviors to use in order to
accomplish a subtask, and determines any sequences and activation con-
ditions. The sequence is usually represented as a dependency network or
a finite state machine, but the sequencer should either generate this struc-
ture or be able to dynamically adapt it. Recall from Ch. 5 that assemblages
of reactive behavior are manually constructed.
RESOURCE MANAGER A Resource manager which allocates resources to behaviors, including se-
lecting from libraries of schemas. For example, a robot may have stereo
vision, sonars, and IR sensors, all of which are capable of range detec-
tion. The behavioral manager would ascertain whether the IR sensors can
detect at a sufficient range, the stereo vision can update fast enough to
match the robot’s desired velocity, and the sonars have enough power to
produce reliable readings. In reactive architectures, the resources for a
behavior were often hard-coded or hardwired, despite the ability of hu-