Improving Robot Plans During Their Execution

We describe how our planner, XFRM, carries out the process of anticipating and forestalling execution failures. XFRM is a planning system that is embedded in a simulated robot performing a varying set of complex tasks in a changing and partially unknown environment. XFRM revises plans controlling the robot while they are executed. Thus whenever the robot detects a contingency, XFRM projects the effects of the contingency on its plan and—if necessary—revises its plan in order to make it more robust. Using XFRM, the robot can perform its tasks almost as efficiently as it could using efficient default plans, but much more robustly. Revising default plans requires XFRM to reason about full-fledged robot plans and diagnose various kinds of plan failures that might be caused by imperfect sensing and effecting, incomplete and faulty world models, and exogenous events. To this end, XFRM reasons about the structure, function, and behavior of plans, and diagnoses projected plan failures by classifying them in a taxonomy of predefined failure models. Declarative commands for goals, perceptions, and beliefs make the structure of robot plans and the functions of subplans explicit and thereby provide XFRM with a (partial) model of its plan that is used to perform hierarchical model-based diagnosis.