We are testing many of our ideas about representations for action by having our agent Bruce play a game of hide and seek against a human controlled opponent. Bruce's opponent is a remote controlled dump-truck. The rules of the game are simple. The human hides the truck somewhere in Bruce's environment. Bruce the searches for the truck. When Bruce discovers the truck's location, the human can attempt to escape Bruce by maneuvering the truck back to the "home base" before Bruce can tag (touch) it.

Bruce's operation is as followes. The DL (see agent architecture) constructs a route plan, such that all the area in the environment will be visible at one time or another. The TE then directs the PA layer to follow this route. When the TE discovers that the chase-target marker (whose identity is truck) has been instantiated, it directs the PA layer to chase the truck. If Bruce's bump skirt closes when the truck is close by and on the same side as the impact, a "tag" has occured and Bruce wins. If the truck reaches home-base before being tagged, the human wins.

The plan

agent's plan Here is a simple map of Bruce's environment along with the generated plan. The shaded pentagon represents the agent and the cone represents its field of view. The solid lines represent the route that the agent should follow. The dashed lines indicate that the agent should look in the direction indicated by the arrow.


overhead chase scene Bruce chasing the truck - overhead view (.mpg 938k)

This movie shows the basic chasing behavior. The chase ends when Bruce contacts the truck (actually, he has to hit it a few times because his bump skirt is prone to activating without contact).

agent's view chase scene Bruce chasing the truck - agent's eye-view (.mpg 2M)

This movie shows the same chase sequence as above, but from Bruce's point-of-view. In the upper left corner, you can see the output from our image processor which is then further processed by the PA system. If you look closely (or can expand the movie) you will see a cross-hair, in the processed image, which indicates the agent's current heading. Notice that the cross-hair is (mostly) on the truck.

static obstacle avoidance Obstacle avoidance - "static" obstacle (.mpg 1M)

This movie shows the goto behavior. Notice the movement of the camera as the agent scans the nearby area to choose a path to avoid the box. This is the action taken by the visual scanner when obstacles are detected (see agent architecture). A scans occurs whenever an obstacle is detected. If the scan confirms the obstacle's existance, it chooses a better heading for the robot and creates an appropriate intermediate destination marker. Periodically as the navigator PA process discards the old intermediate destination marker and starts heading for the goal again. If there is still an obstacle, the obstacle detector creates a new obstacle marker, this triggers a new visual scan and the process starts again. The agent stops before doing a scan so all views have a common origin.

dynamic obstacle avoidance Obstacle avoidance - "dynamic" obstacle (.mpg 800k)

Here, the avoidance is dynamic in the sense that it begins when the obstacle is put in front of the agent's goal, and ended when the obstacle is removed. However, even the static avoidance is "dynamic" in that the PA processes are constantly checking if there are still obstacles to the agent's goal.

searching for opponent Bruce searching for his opponent (.mpg 2.8M)

This movie shows Bruce searching the environment for his opponent. The first part of the clip shows him executing steps 1-8 of the plan. The second part of the clip shows an agent's eye-view of the end of the first part (the beginning of step 8). Note how when the agent is at the end of step 7, it can not see the next destination (object b1). The TE passes an uninstantiated marker (with identity b1) to the PA layer, giving it additional information about the environment. The PA layer can use the estimated position in the marker until object b1 can be acquired visually. Reactive systems are incapable of this behavior because they determine actions only from their sensor values. At the end of the second part of the clip, one of the boxes comes into view and is determined to be an obstacle by the obstacle detecting behavior. This triggers a visual scan of the area. After analyzing the images from the scan, the navigating behavior decides that the obstacle detector was wrong about the box and creates no intermediate destination. This means the navigator continues toward the goal. A larger (320x240) and longer version of this clip can be downloaded here (.mov 28M). This version concludes with Bruce tagging the truck (Bruce's radio transmissions swampped the truck controller in this clip so the truck doesn't run away properly).

searching for opponent End of a search task - Bruce chases his opponent (.mpg 1M)

In this movie, we see the end of a search task. Bruce instantiates his chase-target marker and pursues his opponent. He finally catches the truck against a chair in the back of the room.

agent's view look behind scene Bruce finds his opponent behind an occluder - agent's eye-view (.mov 10M)

In this clip. Bruce starts out chasing his opponent, but then looses the opponent when it goes behind an obstacle. Bruce detects the presence of an object that is possibly occluding the opponent and attempts to look behind it. Bruce looks to the side of the occluder to find another object (any object) that is suitable far behind the occluder. He instantiates a marker for this object and executes a goto action on it (in this case, the object is the white box). When he reaches the box, he turns to look at the position stored in the occluder marker. He then begins a visual scan, trying to instantiate the chase-target marker on his opponent again. He eventually reaquires his opponent and tags it.