The AIG web pages make heavy use of cascading style sheet features for
formatting. You may still browse the text of the site, but for best
results, please use a CSS enabled browser. Netscape 6 and Mozilla 5
are good. IE 5 will do.

Navigation Sidebar

Main Content

CL 01-0573

CASPER

Background

An autonomous spacecraft must balance long-term and short-term
considerations. It must perform purposeful activities that ensure
long-term science and engineering goals are achieved and ensure that
it maintains positive resource margins. This requires planning in
advance to avoid a series of shortsighted decisions that can lead to
failure. However, it must also respond in a timely fashion to a
somewhat dynamic and unpredictable environment. Thus, spacecraft
plans must often be modified due to fortuitous events such as early
completion of observations and setbacks such as failure to acquire a
guidestar for a science observation.

CASPER (Continuous Activity Scheduling Planning Execution and Replanning)
uses iterative repair to support continuous modification and updating of
a current working plan in light of changing operating context.

AI Technology

Planning and Scheduling

Planning and Execution

Replanning

Problem

Traditional batch oriented models of planning have shortcomings for
spacecraft control. Constructing a plan from scratch can be a
computationally intensive process and onboard computational resources
are typically quite limited, so that it still may require considerable
time to generate a new operations plan. As a data point, the planner
for the Remote Agent Experiment (RAX) flying on-board the New
Millennium Deep Space One mission takes
approximately 4 hours to produce a 3 day operations plan. RAX is
running on a 25 MHz RAD 6000 flight processor and uses roughly 25% of
the CPU processing power. While this is a significant improvement
over waiting for ground intervention, making the planning process even
more responsive (e.g., on a time scale of seconds) to changes in the
operations context, would increase the overall time for which the
spacecraft has a consistent plan. As long as a consistent plan exists,
the spacecraft can keep busy working on the requested goals.

Impact

Making the planner more timely in its responses has a number of
benefits:

The planner can be more responsive to unexpected (i.e.,
unmodelable) changes in the environment that would manifest themselves
as updates on the execution status of activities as well as monitored
state and resource values.

The planner can reduce reliance on predictive models (e.g., inevitable
modeling errors), since it will be updating its plans continually.

Fault protection and execution layers need to worry about controlling
the spacecraft over a shorter time horizon (as the planner will replan
within a shorter time span).

Status

CASPER is being used in a range of projects including
autonomous spacecraft, autonomous rovers, ground communications
station automation, and uninhabited aerial vehicles.

Description

To achieve a higher level of responsiveness in a dynamic planning
situation, we utilize a continuous planning approach and have
implemented a system called CASPER (for Continuous Activity Scheduling
Planning Execution and Replanning). Rather than considering planning
a batch process in which a planner is presented with goals and an
initial state, the planner has a current goal set, a plan, a current
state, and a model of the expected future state. At any time an
incremental update to the goals or current state may update the
current state of the plan and thereby invoke the planner process. This
update may be an unexpected event or simply time progressing forward.
The planner is then responsible for maintaining a consistent,
satisficing plan with the most current information. This current plan
and projection is the planner's estimation as to what it expects to
happen in the world if things go as expected. However, since things
rarely go exactly as expected, the planner stands ready to continually
modify the plan. Current iterative repair planning techniques enable
incremental changes to the goals and the initial state or plan and
then iteratively resolve any conflicts in the plan. After each
update, its effects will be propagated through the current
projections, conflicts identified, and the plan updated (e.g., plan
repair algorithms invoked).