project image or logo

Background

MEXEC is a lightweight, multi-mission software for activity scheduling and execution developed to increase the autonomy and efficiency of a robotic explorer. MEXEC was first created as a prototype demonstration for the Europa Clipper project as a potential solution to fail-operational requirements. Specifically, the Europa project is concerned with the radiation environment around Jupiter which can trigger on-board computer resets at critical times of the mission (e.g. during Europa flybys). If a CPU reset occurs, flight software must bring the spacecraft back to a safe state and resume science operations as quickly as possible to minimize science loss. The MEXEC prototype flight software was developed to provide such a capability using proven AI planning, scheduling, and execution technologies. Instead of command sequences, MEXEC works with task networks, which include abstract representations of command behavior, constraints on timing, and resources required and/or consumed by the behavior. Using this knowledge on-board, MEXEC can monitor command behavior and react to off-nominal outcomes (e.g. CPU reset), reconstructing command sequences to continue spacecraft operations without jeopardizing spacecraft safety.

Problem

In general, the objective of many JPL missions is to collect and return as much science as possible. On-board planning, scheduling, and execution technology, such as MEXEC, can help with this by keeping the vehicle busy collecting science even after an unexpected state is observed, without waiting for direction from operators on the ground. Since on-board state is constantly monitored and constraints are maintained in the tasks, MEXEC can be robust to unexpected changes and allows the robotic explorer to continue operating safe tasks while addressing problems.

Status

MEXEC is under active development with funding provided by the 3x System Level Autonomy RTD Strategic Initiative as well as from the ASTERIA mission. The MEXEC software components have been integrated into both the FSWCore and F' (formerly ISF) flight software architectures. The MEXEC timeline module is being developed and maintained by the Mars 2020 Mission as part of the On-Board Planner (OBP). MEXEC has also been integrated with the ASTERIA CubeSat flight software (built in F') and has been used for operations.

Description

MEXEC is made up of three components: the planner, the executive, and the timeline library. The planner is responsible for selecting tasks to include in the plan, and selecting specific times for executing those tasks. The executive is responsible for executing each task at its scheduled time, delaying task execution when constraints are not met, monitoring a task while it executes, and aborting a task if constraints fail during execution. Finally, the timeline library is used by the planner to help it select valid execution times for the tasks. Actual resource and state values are merged with expected changes from planned tasks in order to validate task constraints.

Applications

- M2020 Rover On-Board Planner component
- Europa Clipper prototype
- 3x System Level Autonomy Research and Technology Develpment Task: Autonomous Investigation of a Small Body
- ASTERIA CubeSat: On-board autonomy demonstrations

Publications

Team

Jet Propulsion Laboratory, California Institute of Technology
Gregg Rabideau
Martina Troesch
Faiz Mirza
Daniel Wang
Joe Russino
Caleb Wagner
Andrew Branch

Sponsors

JPL Research and Technology Development Fund
Mars 2020 Rover Mission
Europa Clipper Mission
ASTERIA Mission