Page 279 - Introduction to AI Robotics
P. 279
262
7
The Hybrid Deliberative/Reactive Paradigm
rather than primitive behaviors. Because the Hybrid implementations are
interested in more complex emergent behaviors, there is more diversity in
methods for combining the output from concurrent behaviors.
7.2.2 Connotations of “global”
The term “global” is used almost synonymously with “deliberative” and “lo-
cal” with “reactive.” This can lead to significant confusion, because “global”
isn’t always truly global in Hybrids.
The deliberative portion of a Hybrid architecture contains modules and
functions for things which are not easy to represent in reactive behaviors.
Some of these functions clearly require a global world model; path plan-
ning and map making are probably the best examples. But other activities
BEHAVORIAL require global knowledge of a different sort. Behavorial management (plan-
MANAGEMENT ning which behaviors to use) requires knowing something about the current
mission and the current (and projected) state of the environment. This is
global knowledge in that it requires the module to know something outside
of itself, as compared to a reactive behavior which can function without any
knowledge of whether there are other behaviors actively executing. Like-
PERFORMANCE wise, performance monitoring to see if the robot is actually making progress
MONITORING to its goal, and problem solving is a global activity. Consider writing a pro-
gram to diagnose whether the robot’s not moving forward is a problem with
the terrain (it’s stuck in the mud) or a sensor (the shaft encoders don’t report
wheel turns correctly). In order to perform the diagnostics, the program has
to know what the behaviors were trying to accomplish, if there are any other
sensors or knowledge sources to corroborate any hypotheses, etc. Therefore,
a deliberative function may not need a global world model, but may need
to know about the internal workings of the robot on a global scale, if only
to know what other modules or deliberative capabilities the program should
interact with.
7.3 Architectural Aspects
The differences between various Hybrid Deliberative/Reactive architectures
fall into three areas based on how they answer the following questions: How
does the architecture distinguish between reaction and deliberation? How does it
organize responsibilities in the deliberative portion? How does the overall behavior
emerge? The difference between reaction and deliberation is a critical issue in
building a successful, reusable object-oriented implementation. This deter-