| Overview | ||||||
| Behavior-based systems (BBS) have been effective in a variety of applications, but due to their limited use of representation they have not been applied much to more complex problems, such as ones involving temporal sequences, or hierarchical task representations. This project is focused on methods for implementing these AI-level concepts into BBS, without compromising BBS' key properties. Toward this end we developed a Hierarchical Abstract Behavior Architecture that allows for the representation and execution of complex, sequential, hierarchically structured tasks within a behavior-based framework. The architecture, obtained by introducing the notion of abstract behaviors into BBS, also enables reusability of behaviors across different tasks. The basis for task representation is the behavior network construct which encodes complex, hierarchical plan-like strategies. | ||||||
| Approach | ||||||
|
We propose an abstract representation that allows for specifying behavior networks that can encode complex behavioral sequences, but utilize the same set of underlying behaviors. We achieve this by separating the activation conditions of a behavior from its outputs or actions, into abstract and primitive behaviors.
Intuitively, this is simply an explicit specification of the behavior's execution conditions (i.e., preconditions), and its effects (i.e., postconditions).
These behaviors may involve one or an entire collection of sequential or concurrently executing behaviors, again as is typical for BBS.
This representation merges the advantages of both abstract representations and behavior-based systems and allows a task plan or a strategy to be represented as a network of such behaviors. By encoding the task-specific sequences into the network links, we allow behaviors to be reused for different tasks.
| ||||||
| Architecture | ||||||
1) Behavior activation conditionsWithin a behavior network we distinguish the following two types of activation conditions (behavior preconditions):
We distinguish between three types of sequential preconditions, which determine the activation of behaviors during the behavior network execution:
2) Behavior network executionBehavior networks allow for two different modes of execution within the same representation, depending on the constraints on various parts of the task:
Within a behavior network, in order to determine if a behavior is active or not, together with precondition checking we use an activation spreading mechanism. The activation spreading works as follows: each behavior has an Activation level that represents the number of successor behaviors in the network that require the achievement of its postconditions. Any behavior with activation level greater than zero sends activation messages to all predecessor behaviors that do not have (or have not yet had) their postconditions met. The activation level is set to zero after each execution step, so it can be properly re-evaluated at each time, in order to respond to any environmental changes that might have occurred. A behavior is activated iff:
3) Hierarchical Behavior NetworksThe hierarchical behavior representation allows for the representation of complex tasks to be created from already existing task representations. The component that enables this representation is the Network Abstract Behavior (NAB), which abstracts away an entire behavior network into a single component. Its components can be either Abstract Behaviors (ABs) or NABs, which can be further decomposed into lower level representations. An example of a generic hierarchical network representation is presented in Figure 1.
| ||||||
| Videos | ||||||
| This video demonstrates the key features of the control architecture: hierarchical representation, sequential and opportunistic task execution. The task used for validation is composed of an "object transport" and a "visit targets" task.
This control architecture has been used for numerous other experiments. Here are more videos on learning by demonstration and human-robot interaction for which our hierarchical behavior-based architecture has been used.
| ||||||
| Relevant Publications | ||||||
| ||||||
| Support | ||||||
|
This work is supported by DARPA Grant DABT63-99-1-0015 under the
Mobile Autonomous Robot Software (MARS) program, the National Science Foundation Grant No. 9896322, and by the ONR Defense
University Research Instrumentation Program Grant.
| ||||||
|
Created by: Monica NICOLESCU (e-mail: monica@cs.usc.edu) Last update: 11/26/2002 |