Monica N. Nicolescu and Maja J. Mataric, University of Southern California
We present a representation that addresses two current limitations of the behavior-based systems (BBS) (Mataric 1992), (Arkin 1998): the lack of abstract representation within behaviors (which makes them hard to use in complex, sequential problems) and the need for behavior redesign even for tasks that use subsets of the same behavior set. We introduce the concept of behavior networks, based on the abstract behaviors representation described below. We distinguish the following two types of behavior preconditions: world preconditions (activate the behaviors based on the state of the environment) and sequential preconditions (task-dependent conditions, often postconditions of other existing behaviors). In standard BBS behaviors, both types of preconditions are tested together, thus hard-coding a particular solution. The key step in adapting specialized behaviors to more general use is in the separation of the execution conditions from the outputs or actions, which allows for a more general set of activation conditions. The pairing of a behavior’s conditions and its effects, without the specification of its inner workings, constitutes 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 result is an abstract and general operator much like those used in classical deliberative systems. The behaviors that do the work that achieves the specified effects under the given conditions are called it primitive behaviors, and may involve one or an entire collection of sequential or concurrently executing behaviors, as is typical for BBS. Behavior networks are a means of specifying strategies or general "plans" in a way that merges the advantages of both abstract representations and behavior-based systems. The nodes in the networks are abstract behaviors, and the links between them represent precondition and postcondition dependencies. The task plan or strategy is represented as a network of such behaviors. We have implemented the proposed concepts on a physical mobile robot (Pioneer 2-DX) given an object delivery task in an enclosed, 2-section environment. The robot successfully finds a box, which may be in either section, goes with it through the door and pushes it to the delivery point. The solution makes use of two behavior networks and captures the important aspects of the proposed concepts: abstract representation, behavior reuse, behavior networks and the importance of relying on real embedded behaviors. As a next goal, we seek to automate the behavior network generation and to use the representation to address human-robot interaction. The abstract representation should allow us to employ simple communication mechanisms which would enable the robots to benefit from the human and also learn from and share their acquired knowledge and experiences. The abstract behavior representation we are proposing combines the advantages of deliberative, STRIPS-like architectures (Fikes and Nilsson 1971), and those of BBS' capability to operate in dynamically changing environments. However, it is important to note that we are not describing a hybrid architecture. Our work is related to the approaches of Kaelbling and Rosenschein (1990) (the situated automata model) and of Lyons and Arbib (1989) who developed a robot schema model of computation for sensory-based robot programming. However, their implementations do not allow generalization and reuse of the compiled high level circuitry and respectively the robot schemas to multiple tasks.