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