Mars Rover Autonomy with AI Planning
Mars Rover Autonomy with AI Planning
4
Robotics and Automation
Roma, Italy, 10-14 April 2007
Abstract—This paper presents technology for performing navigate through unknown terrain.
autonomous commanding of a planetary rover. Through the Some autonomous capabilities for rovers have been well
use of AI planning, scheduling and execution techniques, the tested on the Mars surface. For example, the MER
OASIS autonomous science system provides capabilities for the navigation algorithm has been used to drive the rovers up to
automated generation of a rover activity plan based on science
140 meters in one sol. Future rover missions will likely
priorities, the handling of opportunistic science, including new
science targets identified by onboard data analysis software, continue to use this capability and increase allowable
other dynamic decision-making such as modifying the rover distances for autonomous driving. This increase will also
activity plan in response to problems or other state and create new requirements for other onboard autonomy
resource changes. We first describe some of the particular software that can closely monitor rover state and resources
challenges this work has begun to address and then describe (to ensure both the safety of the rover and the most efficient,
our system approach. Finally, we report on our experience
testing this software with a Mars rover prototype.
use of such resources). Further onboard software will need
to react to unforeseen opportunities during drives that could
I. INTRODUCTION be missed if the rover could not handle opportunistic science
events. Onboard data analysis is already being used on MER
T HE Mars Exploration Rovers (MER 2003) have traveled
many kilometers over the Martian soil and have
outperformed all expectations by lasting an order of
to automatically detect dust devils and other work is being
done to develop analysis software that can detect a large
variety of image features [1, 2].
magnitude longer than their original mission goal. Both This paper presents the planning, scheduling, and
rovers have now lasted over 1000 sols (or Martian days), execution component of the OASIS autonomous science
whereas their primary mission was for 90 sols. The system [1]. This component provides capabilities for initial
longevity of these vehicles will have significant effects on plan generation, plan execution and monitoring, and re-
future mission goals, such as objectives for the Mars Science planning in response to new science opportunities and/or
Laboratory rover mission which is scheduled to fly in 2009. changes in rover state or environment. This work has been
Current mission operations for MER require a team of focused on supporting Mars exploration and science goals
mission engineers to plan rover activities for each sol. and specifically on supporting the concepts of opportunistic
Though many planning activities have been significantly science and long-distance traverse. In particular, this paper
streamlined as compared to days early in the mission, the provides an overview of how the OASIS planning and
large majority of rover activities are sequenced manually execution system has been tested both through simulation
with some aid from ground software packages that help and with actual rover hardware in the JPL Mars Yard.
model rover behavior. Numerous tests have been run showing that OASIS can
Common objectives for future rover missions to Mars robustly respond and re-plan for a variety of situations,
include the handling of opportunistic science and long- including the handling of new science goals, dynamic
range, or over the horizon, driving. Though some software changes in resources levels, unknown obstacles, and
already exists onboard the MER rovers to support these autonomous targeting based on data analysis results. OASIS
goals, additional autonomous capabilities will be required. is also integrated with a large set of robotic control software
To handle newly-identified science targets, onboard software that provides Mars mission-relevant capabilities such as
will need to schedule new rover activities based on specific autonomous navigation, vision, and manipulation.
target data and current rover state. To handle long-range Past OASIS publications have given a high-level system
traverse, onboard software will need to closely monitor rover description or details on the data analysis components of
state and resources, as well as dynamically modify rover OASIS [1]. This paper focuses and provides details on the
activity start-times and orderings since rovers will have to planning and execution elements of the system.
Manuscript received September 15, 2006. This work was supported by II. CHALLENGES FOR ONBOARD AUTONOMY
the NASA Mars Technology Program and NASA Intelligent Systems
Rovers that possess extended autonomy capabilities, such
Program.
All authors are with the Jet Propulsion Laboratory, California Institute of as onboard command generation and re-planning, have the
Technology, Pasadena, CA 91109 USA (email: potential for not only supporting the more efficient use of
[Link]@[Link], i.e., [Link]@[Link]).
4912
FrE10.4
Science
Goals
Target
Novelty Optimize Repair
Signature
Rock Science
Sampling Alerts Execution
Visual Path
Albedo Shape Navigation Estimation
Texture Data
Planning
Fig 2. OASIS (Onboard Autonomous Science Investigation System) framework. This diagram shows how different
decision-making capabilities interact within OASIS (shown in the yellow boxes) and how OASIS interacts with low-
level control software (shown in the gray box).
As this information is acquired, CASPER updates future-
• Automated plan generation based on an input set of plan projections. These updates may cause new conflicts
science and engineering goals
and/or opportunities to arise, requiring CASPER to replan to
• Maintenance of resource, state, and temporal constraints
accommodate the new data. A simple re-planning situation is
• Plan execution through the interaction with basic rover
shown in Figure 3. Here, a rover science activity (of drilling
control functionality
for sample collection) took more power than originally
• Monitoring of plan execution to ensure plan activities
estimated, which causes a resource conflict. CASPER fixes
are successfully executed
the conflict by deleting a low-priority science activity to
• Dynamic modification of the plan based on activity,
ensure that enough time remains to execute a later, high-
state or resource updates or new goal information
priority science activity and a required communications link.
• Plan optimization for reasoning about plan quality
To reason about science goal priorities and other plan
• Automated handling of newly identified science goals
quality measures we use the CASPER optimization
framework to search for a higher quality plan. User-defined
Planning in OASIS is provided by the CASPER
preferences are used to compute plan quality based on how
continuous planning system [4]. For initial plan generation,
well the plan satisfies these preferences. An overall plan
CASPER is given a model of rover operations and an input
score is computed based on the preference specification.
set of science and engineering goals (e.g., take a panoramic
Plan optimization works in an iterative fashion (similar to
image at a certain azimuth and elevation). CASPER
plan repair) and searches for plan modifications that could
generates a sequence of activities that satisfies as many goals
potentially improve the overall plan score.
as possible while obeying relevant resource, state and
Plan execution in OASIS is handled by the TDL execution
temporal constraints. For instance, plans may have strict
system [5]. TDL was designed to handle intermediate
limits on energy usage and science activities may be
control activities for a robotic system and to mediate
required to occur during certain time windows. Plan
between a planning system and low-level robot control
activities are grounded in time, enabling CASPER to quickly
software. It expands activities into lower-level commands,
determine plan conflicts and solutions. Conflicts occur when
executes the commands, and monitors their execution. It also
a plan constraint has been violated where this constraint
provides support for exception handling and fine-grained
could be temporal or involve a resource, state or activity
timing control such as synchronization of subtasks. TDL is
parameter. Plans are produced using an iterative repair
implemented as an extension of C++ and uses a construct
algorithm that classifies conflicts and resolves them
called a task tree to describe the tree structure that is
individually by performing one or more plan modifications.
produced when tasks are broken down into lower-level
To provide re-planning capabilities, CASPER monitors
commands. In OASIS, TDL handles expanding high-level
current rover state and the execution status of plan activities.
activities into lower-level commands (based on current state
4913
FrE10.4
Energy
A)
Orientation
Current Time
B) Energy
Orientation
Current Time
Traverse1 Traverse3
Comm
Drill1 Panorama1
C) Energy
Orientation
Current Time
Fig. 3. Example re-planning scenario. A) The initial plan generated by CASPER which drives the rover to three
locations, performs a science operation at each location, and finally performs a critical end-of-day communications
link with Earth. B) The plan after partial execution. The first science activity has taken more energy than expected,
which has caused several resource conflicts with later activities. C) The plan after re-planning has occurred to resolve
the conflict. The second science operation and drive were dynamically removed so the last (higher priority) science
operation and communication activity can still be achieved.
information), executing commands by dispatching them to of several prioritization algorithms, which analyze the data
functional-level control software, relaying updates on by searching for items such as rocks with features that match
activity status and state/resource data to CASPER, tracking pre-known signatures of interest (as identified by scientists
plan execution progress, and relaying identified problems to on Earth), or novel rocks (i.e., outliers) that have not been
CASPER. seen in past activities. If the analysis component detects new
science opportunities of significant interest, it will generate a
B. OASIS Feature Extraction and Data Analysis
science alert that is sent to the planner, which signifies that
The OASIS Feature Extraction and Data Analysis new measurements should be taken of the identified target.
modules (shown in Figure 2) are responsible for analyzing
onboard image data from rover cameras, identifying C. CLARAty Robotic Architecture
interesting or novel parts of that data, and generating new The systems described in this paper are also integrated
science goals to gather additional measurements when new with the Coupled Layered Architecture for Robotic
science targets have been identified. Analyzed images could Autonomy (CLARAty) [6], which provides a large range of
be taken by either rover science or engineering cameras and basic robotic functionality and simplifies the integration of
could be shot during a variety of rover activities including new technologies on different robotic platforms. Through
obstacle avoidance imaging, high-resolution science CLARAty, the OASIS planning and execution system has
imaging, and imaging done for long-range route planning. been tested with several JPL rover platforms, including the
As shown in Figure 2, new science data is first processed FIDO rover, which is shown in Figure 4.
by the Feature Extraction component. Images are broken To run realistic scenarios with rover hardware, a number
down by first locating individual rocks, and second, by of supporting pieces of software were used. These
extracting a set of rock properties (or features) from each components were provided through CLARAty and could run
identified rock. Extracted rock properties (e.g., shape, on the relevant hardware platforms. This software includes
albedo, visual texture, size) are then passed to the Data the Morphin navigation system, which enables a rover to
Analysis component of the system. This component consists avoid obstacles and navigate to specified waypoints. It also
4914
FrE10.4
4915
FrE10.4
4916
FrE10.4
subscription, where enough power was not being preserved instruments, such as spectrometers, were not readily
for later plan activities. The planner resolved this situation available and thus not directly incorporated into hardware
by deleting some lower priority science targets. Unexpected tests. However different types of measurements were
energy drops during a traverse could also be handled by the included when testing in simulation.
executive, which detects the shortfall and stops the current
C. Testing and Demonstration Summary
traverse if there is not enough energy to complete it. In all
cases, the planning and execution system attempts to Testing in simulation and with real hardware provided
preserve as many high priority science targets as possible important steps in the evaluation of our system. Many bugs
while still adhering to required constraints. were caught early through simulated testing, but others did
not surface until significant runs had been performed on
A. Testing in Simulation rover hardware. Furthermore, running with hardware often
Since testing with rover hardware can be an expensive and allowed a perspective that was difficult to attain through
time-intensive process, we ran a large number of tests in simulated testing. For example, the effects of rover slippage
simulation using a relatively simple simulator. This were much easier to visualize and test when using hardware.
simulator could execute rover sequence commands and A number of live demonstrations of our system have been
simulate their effects at a coarse level of granularity. For performed, including a several hour long demonstration
instance the simulator handled items such as rover position which showed the system successfully handling a random
changes and energy usage over straight-line movements, but combination of science targets and science alerts (that had
did not simulate obstacle avoidance or rover kinematics. not been used in previous testing) and resulted in over 40
Another capability that was used in simulation was meters of autonomous driving. This demonstration consisted
triggering multiple science alerts at pre-set or random times. of several runs that showed scenario elements such as
This capability helped in evaluating the planner’s capacity to handling new science alerts, dynamically adding new
correctly handle different opportunistic science scenarios. ground-specified science when time became available, and
To easily run and evaluate large numbers of tests, we also deleting low priority science targets in a later run where
invested in a testing infrastructure, which allowed tests to be more power was used than originally estimated. The OASIS
run offline and statistics automatically gathered, including software operated correctly in all tested cases.
information such as number of plan conflicts found and Another live demonstration showed a combination of
resolved, plan generation and re-planning time, number of traverse science and autonomous targeting. Autonomous
goals satisfied, overall plan traverse distance and plan targeting was supported by adding a targeting subplan that
optimization scores. This testing infrastructure also could starts with a FIDO navigation camera panorama that is
create mpeg movies of runs that showed plan changes using analyzed online for new targets. Autonomous, new
snapshots of a plan visualization tool. measurements were then scheduled and taken by the high-
resolution FIDO panoramic cameras, which were being used
B. Testing with Hardware
as an example limited FOV instrument.
In addition to testing in simulation, a large number of tests
have been run in the JPL Mars Yard using different rover VIII. RELATED WORK
hardware platforms. For the past few years, the FIDO rover
A number of planning and executive systems have been
(shown in Figure 4) was used for the majority of tests.
used for robotic applications. One approach directed towards
FIDO is an advanced technology prototype rover similar to
rover command generation used a Contingent
the MER rovers. FIDO’s mobility sub-system consists of a
Planner/Scheduler (CPS) that was developed to schedule
six-wheel rocker-bogie suspension capable of traversing
rover science operations using a Contingent Rover Language
over obstacles up to 30 cm in height.
(CRL) [7]. CRL allows both temporal flexibility and
All OASIS software has been designed to run onboard the
contingency branches in command sequences. Contingent
rover, however during testing, only functional-level
sequences are produced by the CPS planner and then
CLARAty modules, such as navigation and vision, and the
interpreted by an executive, which executes the final plan by
OASIS rockfinding software were run onboard FIDO. Other
choosing sequence branches based on current conditions. As
modules, including the planning and execution module and
compared to OASIS, only the executive is onboard the
the analysis module, were run on offboard workstations that
rover; planning is a ground-based operation and does not
communicated with the rovers using Wireless Ethernet,
involve re-planning. Since only a limited number of
since a port of these components to the onboard operating
contingencies can be anticipated and incorporated into the
system (VxWorks) was not complete.
plan, CRL does not provide as much flexibility as OASIS
Tests in the Mars Yard typically consisted of 20-50 meter
when adjusting the sequence in response to unexpected
runs over a 100 square meter area with a range of obstacles
events.
that caused deviations in the rover’s path. Science
The LAAS-CNRS lab robotic control architecture [8] also
measurements using rover hardware were images from one
uses onboard planning and execution to create initial plans
of three sets of cameras on the rover (hazard cameras,
and to provide re-planning capabilities. However, as
navigation cameras and panoramic cameras). Other
4917
FrE10.4
4918