next up previous
Next: Example of how ROGUE Up: Execution and Monitoring Previous: Monitoring

Example of how ROGUE Handles Failures

One of Xavier's actions that ROGUE monitors is the navigateToGoal command, used by both the (GOTO-PICKUP-LOC <user> <room>) and the (GOTO-DELIVER-LOC <user> <room>) operators. navigateToG reports a success when the robot arrives at the requested goal. navigateToG may fail under several conditions, including detecting a bump, corridor or door blockage, or lack of forward progress. The module is able to autonomously compensate for certain problems, such as obstacles and missing landmarks. Navigation is done using Partially Observable Markov Decision Process models [Simmons & Koenig1995], and the inherent uncertainty of this probabilistic model means that the module may occasionally report success even when it has not actually arrived at the desired goal location.

When navigateToG reports a failure or a low-probability success, ROGUE verifies the location. ROGUE first tries to verify the location autonomously, using its cameras. The vision module looks for a door in the general area of the expected door, and finds the room label, and reads it. If this module fails to find a door, fails to find a label, or returns low confidence in its template matching, ROGUE falls back to a second verification procedure, namely using the speech module to ask a human. We assume that verification step gives complete and correct information about the robot's actual location; other researchers are focussing on the open problem of sensor reliability [Hughes & Ranganathan1994, Thrun1996].

If ROGUE detects that in fact the robot is not at the correct goal location, ROGUE updates the navigation module with the new information and re-attempts to navigate to the desired location. If the robot is still not at the correct location after a constant number of tries (three in our current implementation), ROGUE updates PRODIGY4.0's task knowledge to reflect the robot's actual position, rather than the expected position.

In general, PRODIGY4.0 has several different operators that can achieved a particular effect, and will successfully replan for the failure. In this case, however, there are no other alternative methods of navigating, and PRODIGY4.0 declares that the task can not be successfully achieved.



next up previous
Next: Example of how ROGUE Up: Execution and Monitoring Previous: Monitoring

Karen Zita Haigh
Mon Oct 6 14:33:27 EDT 1997