Plan Execution Interchange Language (Plexil) for Executable Plans and Command Sequences
Total Page:16
File Type:pdf, Size:1020Kb
PLAN EXECUTION INTERCHANGE LANGUAGE (PLEXIL) FOR EXECUTABLE PLANS AND COMMAND SEQUENCES Vandi Verma(1), Tara Estlin(2), Ari Jónsson(3), Corina Pasareanu(4), Reid Simmons(5), Kam Tso(6) (1)QSS Inc. at NASA Ames Research Center, MS 269-1 Moffett Field CA 94035, USA, Email:[email protected] (2)Jet Propulsion Laboratory, M/S 126-347, 4800 Oak Grove Drive, Pasadena CA 9110, USA , Email:[email protected] (3) USRA-RIACS at NASA Ames Research Center, MS 269-1 Moffett Field CA 94035, USA, Email:[email protected] (4)QSS Inc. at NASA Ames Research Center, MS 269-1 Moffett Field CA 94035, USA, Email:[email protected] (5)Robotics Institute, Carnegie Mellon University, Pittsburgh PA 15213, USA, Email:[email protected] (6)IA Tech Inc., 10501Kinnard Avenue, Los Angeles, CA 9002, USA, Email: [email protected] ABSTRACT manually keep track of all sub-systems in real time. Complex manipulators and instruments used in human Space mission operations require flexible, efficient and missions must also execute sequences of commands to reliable plan execution. In typical operations command perform complex tasks. Similarly, a rover operating on sequences (which are a simple subset of general Mars must autonomously execute commands sent from executable plans) are generated on the ground, either Earth and keep the rover safe in abnormal situations. manually or with assistance from automated planning, and sent to the spacecraft. For more advanced Execution systems realize pre-planned actions in the operations more expressive executable plans may be real world. Execution systems are particularly useful in used; the plans might also be generated automatically the presence of uncertainty. Classical execution on board the spacecraft. In all these cases, the functions include selecting an action from a set of executable plans are received by a software system that possibilities based on the current state of the robot and executes the plan. This software system, often called environment and on the outcome of previous actions. an executive, must ensure that the execution of the The capabilities of an execution system typically commands and response of the fault protection system include hierarchical task decomposition, coordinating conforms to pre-planned behaviour. This paper simultaneous actions, resource management, presents a language, called PLEXIL, that is designed monitoring of states, relaying command status, and specifically for flexible and reliable command exception handling. One way to view an execution execution. It is designed to be portable, lightweight, system is as an onboard system that takes a plan that predictable, and verifiable, and at the same time it is assumes a certain level of certainty and expected more expressive than command sequencing languages outcomes and executes it in a possibly uncertain and currently used on space missions. dynamic environment. An execution language is a representation of 1. INTRODUCTION commands and plans that provides a representation for reasoning about required robot and environment state All space missions require execution systems that as well as the effects of executed commands. It takes execute commands and monitor the environment. Such into account the interdependence between actions, in execution systems vary in sophistication, from those terms of temporal precedence and other constraints, that execute linear sequences of commands at fixed such as resource contention. An execution language times, to those that can plan and schedule in reaction to also provides a representation for monitoring mission unexpected changes in the environment. constraints and encoding appropriate responses if these constraints are violated. The level of autonomy and type of control that execution systems are designed for varies greatly [13]. Plan execution frameworks vary greatly, due both to A spacecraft controlled primarily by humans must different capabilities of the execution systems and due continuously monitor critical systems and report to relationships with associated decision-making important events. An execution system is needed for frameworks. The latter dependency has made the reuse this task since it is impossible for a small team to of execution and planning frameworks difficult, and Proc. of 'The 8th International Symposium on Artifical Intelligence, Robotics and Automation in Space - iSAIRAS’, Munich, Germany. 5-8 September 2005, (ESA SP-603, August 2005) 2 has all but precluded information sharing between called PICO [6], that generates long-term contingent different execution and decision-making systems. plans, which are flexible.Since plans contain contingencies, PICO can be used off-board the rover. As a step in the direction of addressing these issues, we The other is an iterative repair-based planner, called are developing a general plan execution language, CASPER [5], which generates fixed plan instances but called the Plan Execution Interchange Language can easily re-plan in the face of changes. CASPER is (PLEXIL). PLEXIL extends many execution control typically used as an on-board planner. Currently, each capabilities of other systems. It is capable of planner interacts with the hardware using different expressing concepts used by many high-level executives. The executive used with CASPER is based automated planners and hence provides an interface to on TDL [11], which is an extension of the C++ multiple planners. programming language that includes syntax for task definition, task expansion, temporal constraints, The key characteristics of PLEXIL are that it is concurrent execution, monitoring, and fault recovery. compact, semantically clear, and deterministic given PICO uses the Contingent Rover Language (CRL) [3] the same sequence of inputs. At the same time, the executive which uses a hierarchical representation to language is quite expressive and can represent simple represent simple and floating branches, nesting, branches, floating branches, loops, time and event flexible time, and state and resource conditions, but driven activities, concurrent activities, sequences, and does not support loops and periodic tasks, or have a temporal constraints. The core syntax of the language mechanism for providing feedback to planners. is simple and uniform, making plan interpretation simple and efficient, while enabling the application of On-board planner Off-board planner validation and testing techniques. (CASPER planner) (PICO Contingent Planner) PLEXIL includes a domain description that specifies Interface Interface command types, task expansions, constraints, etc., as well as feedback to the higher-level decision-making Plan Execution capabilities. In addition, PLEXIL includes a graphical Interchange user interface that builds upon the Eclipse framework Language (PLEXIL) [10] that can be used to manually create PLEXIL plans. Universal Executive This paper provides an overview of the grammar and CLARAty Functional Layer semantics of PLEXIL. Further details may be found in [7]. It also outlines ongoing work on implementing a universal execution system, based on PLEXIL, using state-of-the-art rover functional interfaces and planners as test cases. Figure 1: Architectural design where PLEXIL is shown to interface with the CASPER and PICO planners 2. BACKGROUND 3. TRADITIONAL SPACECRAFT We are using several existing implementations of rover OPERATIONS control systems to drive the design of PLEXIL. One of these is the Coupled Layer Architecture for Robotic In traditional spacecraft operations control commands Autonomy (CLARAty) [14], which is a two layered are translated into simple sequences and uploaded to software architecture that was developed to enable both the remote spacecraft. a plug-and-play capability and a tighter coupling of high level decision making planners and the interface An example of this mode of operations is the Mars to hardware. The CLARAty architecture has Exploration Rover (MER) mission [12]. In the MER successfully enabled interoperability at the functional mission, plans are built in a mixed-initiative fashion on layer, which is the interface to the hardware. The Earth. In this process, tools such as the Science development of the PLEXIL-based execution system in Activity Planner (SAP) [9] and Mixed-initiative the CLARAty architecture will provide a level of activity planner for the Mars Exploration Rover interchangeability for the decision layer. mission (MAPGEN) [2] combine automated capabilities and interfaces for human plan construction. As test cases for the general PLEXIL execution engine, The resulting plans are translated into command two different types of planners will be utilized for sequences and uploaded to the Mars rovers. generating PLEXIL plans and re-planning based on feedback information. One is a constructive planner, 3 The on-board flight software on the rovers then should be possible to manually edit these plans if executes the command sequences. In cases where the necessary. outcome of complex commands, such as an arm placement, is uncertain, the command sequence is One important aspect of the interface between planning generated so that the plan terminates at this point and and execution systems is the feedback from the the rover takes a picture and sends it back to Earth. executive to the planner. This is particularly important Rover experts then analyze these pictures and the for on-board planning systems, which have a tight telemetry the rover sends back in order to determine integration with the executive. The language