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.

The pairing of a behavior's activation conditions and its effects, without the specification of its inner workings, constitute an abstract behavior.

Intuitively, this is simply an explicit specification of the behavior's execution conditions (i.e., preconditions), and its effects (i.e., postconditions).

The behaviors that do the work that achieves the specified effects under the given conditions are called primitive behaviors.

These behaviors may involve one or an entire collection of sequential or concurrently executing behaviors, again as is typical for BBS.

The behavior networks are a means of specifying task plans as networks whose nodes are abstract behaviors and where the links between them represent precondition and postcondition dependencies.

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 conditions

Within a behavior network we distinguish the following two types of activation conditions (behavior preconditions):

  • world preconditions - conditions that activate the behaviors based on a particular state of the environment.
  • sequential preconditions - task-dependent conditions that must be met before activating the behavior. These are often postconditions of other existing behaviors, which allow for the description of complex temporal sequences.

We distinguish between three types of sequential preconditions, which determine the activation of behaviors during the behavior network execution:

  • Permanent preconditions: preconditions that must be met during the entire execution of the behavior. A change from met to not met in the state of these preconditions automatically deactivates the behavior. These preconditions enable the representation of sequences of the following type: "the effects of some actions must be permanently true during the execution of this behavior".
  • Enabling preconditions: preconditions that must be met immediately before the activation of a behavior. Their state can change during the behavior execution, without influencing the activation of the behavior. These preconditions enable the representation of sequences of the following type: "the achievement of some effects is sufficient to trigger the execution of this behavior".
  • Ordering constraints: preconditions that must have been met at some point before the behavior is activated. They enable the representation of sequences of the following type: "some actions must have been executed before this behavior can be executed".

2) Behavior network execution

Behavior networks allow for two different modes of execution within the same representation, depending on the constraints on various parts of the task:
  • Sequential execution, for the task segments containing temporal ordering constraints;
  • Opportunistic execution, for the task segments for which the order of execution does not matter.

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:

( It is used in the current controller ) AND
( It is not inhibited ) AND
( Its controlled actuators are not locked ) AND
( The Activation level != 0 ) AND
( All ordering constraints = TRUE ) AND
( All permanent preconditions = TRUE ) AND
(( All enabling preconditions = TRUE ) OR
( the behavior was active in the previous step ))

3) Hierarchical Behavior Networks

The 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.

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.

Experimental setup Video of the
task execution
Notes
AVI [21.1 MB] During this demonstration the robot visited the targets in the order: Pink, Yellow, Orange, Light-Green.

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
  1. Monica Nicolescu, Maja J Mataric´, "A hierarchical architecture for behavior-based robots", Proceedings, First International Joint Conference on Autonomous Agents and Multi-Agent Systems, pages 227-233, Bologna, ITALY, July 15-19, 2002. [PS], [PDF]

  2. Monica Nicolescu, Maja J Mataric´, "Learning and Interacting in Human-Robot Domains", Special Issue of IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans , Vol. 31, No. 5, pages 419-430, Chelsea C. White and Kerstin Dautenhahn Eds., September, 2001. [PS], [PDF]

  3. Monica Nicolescu, Maja J Mataric´, "Deriving and Using Abstract Representation in Behavior-Based Systems", Proceedings, Seventeenth National Conference on Artificial Intelligence (AAAI), Student poster, page 1087, Austin, Texas, July 30-August 3, 2000. [PS], [PDF]

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