Agent Architecture

a 3 layered architecture Our agent Bruce has a 3 level architecture. The "lowest" level is the perception/action (PA) layer which uses markers as a form of representation. The "highest" level is a planner (DL for deliberator), which constructs the agent's high level goals. In between in a managment layer called the Task Executor (TE), which manages the PA level during the execution of the DL's plan. The function of each layer will be discussed below.

PA layer

The PA layer directly controls the agent's sensors and effectors. It executes a tight loop of
  • Update Positions of Markers
  • Try and instantiate any uninstantiated markers
  • Execute pending actions on markers
The procedure for updating and instantiating markers is discussed in the markers section. Actions are selected based on information from the agent's sensors and the state of its markers. Actions consist of multiple, independent "threads" called PA processes. The interaction of the PA processes produces the overall agent behavior that the action is designed to achieve. These processes use markers to communicate with each other. Consider the goto action (many examples be seen in the hide and seek movies page).
This action consists of 4 PA processes. The PA processes interact via the markers they create (and instantiate). The navigator sends the appropriate commands to the agent's drive system to keep it heading for the destination. The destination's position is stored in the marker associated with the real-world object which represents the agent's destination. While en-route, the obstacle detector examines the groundline for objects which at in its path toward the destination. If such an object exists, the obstacle detector instantiates an obstacle marker by storing the detected object's position in the marker. The presence of an obstacle marker causes the visual scanner to activate. The visual scanner directs the agent's neck to make a sweep of the area visible from the agent's current position. Currently, our agent pans its camera to 3 locations and computes the groundline for each. This information is used to form a course, radial-depth map from which the agent can select a path which is passable. The visual scanner will create an intermediate destination marker, whose where is a location which would cause the navigator to follow this path. The navigator will move the agent toward an intermediate destination, if one exists, but will delete any intermediate destination marker after some time. This will cause the navigator to start heading for the primary destination again. If there are still obstacles, the obstacle detector will mark them, the visual scanner will activate, and the process will begin again. The PA layers markers can be thought of as data written on a blackboard which all PA processes access.

Task Executor (TE)

The task executor manages PA layer and directs it to accomplish the plan generated by the DL. The TE can use the PA layers representation system as a means of specifying goals to the execution system. For example, consider an agent navigating through an environment. As can be seen in the agent's eye-view at the end of this movie, there are times when the next landmark for the agent to approach is not in the agent's sensory field. The TE can place an uninstantiated destination marker whose identity is that of the next landmark into the PA layer. If this marker has a goto action, the navigator will move the agent toward the coordinates stored in the marker. When the object associated with the marker comes into view, the PA system will instantiate the marker by placing the objects coordinates in the marker. At this point, the agent can visual track the object (keeping the coordinates up-to-date). Notice that the navigator can continue to go toward the coordinates stored in the where of the marker, regardless of whether or not the marker is instantiated. When an action completes, the PA layer hands the marker back to the TE, which can use the information to compute the next action (to be placed on an existing marker or added to a new marker). For example, based on the agent's knowledge of its environment and the ego-centric coordinates of the object which the agent was going to, the TE can compute the ego-centric coordinates of the next landmark. This is what happens during the seeking part of the hide and seek game. The TE can also monitor the PA layers markers for certain events. For example, when the agent is seeking its opponent in hide-and-seek, the PA layer has an uninstantiated chase-target marker which it will associate with its opponent which it is spotted. The TE monitors this marker for instantiation because that means that the agent has detected its opponent. The TE can then change the action on this marker to chase and stop all other actions. There are many other functions of the TE which will be better detailed in our papers.

Deliberator (DL)

The deliberator is the planner of the agent architecture. It performs inference on the traditional world-model used by classical planners. It should be noted that the representation used by the DL is very different than that used by the PA layer. The PA layer's representation is limited to maintaining the location of a small set of task-dependent objects. The DL's representation includes al knowledge possessed by the agent. While the DL can perform projection on its model, the PA layer has no such capabilities. Keeping the PA layer streamlined allows it be effectively use its representation in a dynamic environment.

For the hide and seek game, the DL generates route plans for the agent to explore its environment. The main focus of this research is on developing representation which are effective for action and on the communication between the PA layer and the TE, so we will not discuss the operation of the DL.

Related Work

There are a number of other agent architectures which operate on various levels of abstraction. While the layered structure of our architecture is similiar, the use of representation for action in the execution system and for communication with the remainder of the architecture makes our system unique.

Bonasso, R.P. and Kortenkamp, D. 1995. Characterizing an Architecture for Intelligent, Reactive Agents. AAAI Spring Symposium.

Firby, R.J. and Slack, M.G. 1995. Task Execution: Interfacing to Reactive Skill Networks. AAAI Spring Symposium on Software Architectures.

Gat, E. 1992. Integrating Planning and Reacting in a Heterogeneous Asynchronous Architecture for Controlling Real-World Mobile Robots. AAAI-92: 809-815.