We have been working towards the goal of building autonomous robotic agents that are capable of planning and executing high-level tasks, and learning from the analysis of execution experience. This article presents our work extending the high-level reasoning capabilities of a real robot. One of the goals of this research project is to have the robot move autonomously in an office building reliably performing office tasks such as picking up and delivering mail and computer printouts, returning and picking up library books, and carrying recycling cans to the appropriate containers.
Our framework consists of integrating Xavier [O'Sullivan, Haigh, & Armstrong1997, Simmons et al. 1997] with the PRODIGY4.0 planning and learning system [Veloso et al. 1995]. The resulting architecture and algorithms is ROGUE [Haigh & Veloso1997]. ROGUE provides a setup where users can post tasks for which the planner generates appropriate plans, delivers them to the robot, monitors their execution, and learns from feedback from execution performance. ROGUE effectively enables the communication between Xavier, PRODIGY4.0 and the users.
In this article, we focus on presenting the techniques underlying the planning and execution control in ROGUE. The learning algorithm is under development and results are being compiled and can be found in [Haigh & Veloso1998]. The planning and execution capabilities of ROGUE form the foundation for a complete, learning, autonomous agent.
ROGUE generates and executes plans for multiple interacting goals which arrive asynchronously and whose task structure is not known a priori. ROGUE interleaves tasks and reasons about task priority and task compatibility. ROGUE enables the communication between the planner and the robot, allowing the system to successfully interleave planning and execution to detect successes or failures and to respond to them. ROGUE controls the execution of a real robot to accomplish tasks in the real world.