TECHNOLOGY DIGEST - Draper Laboratory
TECHNOLOGY DIGEST - Draper Laboratory
TECHNOLOGY DIGEST - Draper Laboratory
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Autonomous Mission Management for Spacecraft Rendezvous Using an Agent Hierarchy<br />
and any applicable constraints. Subplanner 1 returns the<br />
cost of the optimal trajectory from A to B, call it J1.<br />
Similarly, the supervisor planner may request subplanner<br />
2 to solve the B to C problem and receives the B to C<br />
cost, J2. The total cost, J1 + J2, is plotted topographically<br />
on the right as a function of the interface states<br />
(coordinates of B). The supervisor optimizes the A to C<br />
trajectory by searching for the optimal coordinates of B.<br />
Depending on the attributes of the problem, the supervisor<br />
may find the optimal solution by using one of any<br />
number of optimization techniques, gradient descent for<br />
example.<br />
Figure 2. Optimization or decision-making via hierarchical<br />
planners.<br />
On the other hand, the supervisor may not be required to<br />
find the optimal solution at all. It may instead search<br />
through a predefined set of interface states (red Xs in the<br />
figure) choosing the option with the lowest cost. When<br />
the supervisor evaluates a set of options, we shall call the<br />
process decision-making. When an iterative search is<br />
used, the process may be an optimization process. The<br />
multilevel optimization technique described here is<br />
referred to as interaction coordination. Other techniques,<br />
such as price coordination are also available. [2]<br />
Of course, this iterative process is not new to those familiar<br />
with optimization. Many optimization algorithms<br />
work by iterating on a set of control variables to minimize<br />
a cost function. But diagramming the problem this<br />
way highlights some of the advantages of thinking about<br />
planning in a hierarchical sense. Each subplanner may be<br />
an expert at its piece of the problem. Subplanner 2 need<br />
not have any knowledge of subplanner 1’s problem and<br />
vice versa. Further, the supervisor need not have all the<br />
details of the subproblems to solve the overall problem.<br />
Second, once the vehicle has passed point B, there is no<br />
longer any need to consider the A to B problem, and subplanner<br />
1 (and all its associated data and memory) may<br />
be deactivated. Finally, note that the time horizon for<br />
each planner gets longer as we move up the hierarchy<br />
with the supervisor having the lowest level of detail while<br />
planning over the longest time horizon.<br />
It is easy to imagine an extension of the two-level hierarchy<br />
described above in which each subplanner in turn<br />
solves its problem by invoking subplanners of its own.<br />
44<br />
A<br />
Subplanner<br />
1<br />
Cost = J1<br />
Supervisor<br />
Planner<br />
B = interface<br />
state<br />
B<br />
Subplanner<br />
2<br />
Cost = J2<br />
Total Cost, J = J1 + J2<br />
(out of page)<br />
B2<br />
J=50 J=40<br />
B1<br />
C<br />
Discrete decision points<br />
J=30<br />
J=50<br />
Optimum<br />
This sort of hierarchical planning breakdown has one<br />
other very important advantage. The same process that<br />
creates the planning tree results in a natural breakdown<br />
for all the functions required of a mission manager. In<br />
fact, the process of invoking subplanners and sub-subplanners<br />
can be used to create a hierarchy of agents, each<br />
responsible for monitoring, diagnosing, planning, and<br />
executing a section of the mission. We shall refer to these<br />
agents as activity agents. Activity agents that are connected<br />
to a superior agent in the hierarchy are referred to as<br />
children of the superior, while the superior agent is the<br />
parent of each child. Agents without children (bottom<br />
level nodes) are referred to as leaf agents, or leaf nodes.<br />
Figure 3 shows an example for a spacecraft rendezvous<br />
and docking mission. Each of the activity agents has four<br />
sub-boxes, corresponding to monitoring, diagnosis,<br />
planning, and execution. Just as for planning, the time<br />
horizons for each activity increases with its level in the<br />
hierarchy, while the detail of its functions decreases.<br />
This process of breaking down a complex problem or<br />
mission into activities or phases is referred to as temporal<br />
decomposition. The process of defining the functionality of<br />
each activity agent is referred to here as functional decomposition.<br />
In this context, the functional decomposition<br />
consists of defining the monitoring, diagnosis, planning,<br />
and execution functions required by each<br />
activity.<br />
Rendez<br />
D P<br />
M E<br />
Burn<br />
D P<br />
M E<br />
D P<br />
M E<br />
Survey<br />
D P<br />
M E<br />
Acquire Insert<br />
D P<br />
M E<br />
Mission<br />
D P<br />
M E<br />
Maneuver<br />
D P<br />
M E<br />
Approach<br />
D P<br />
M E<br />
Maintain Init Final<br />
D P D P D P<br />
M E M E M E<br />
Figure 3. Example hierarchy of activity agents.<br />
The interfaces between parent and child activities in<br />
Figure 3 consist of problem specifications from parent to<br />
child and solution information from child to parent. For<br />
vehicle applications, the problem specification usually<br />
consists of a start state for the child activity, a goal state,<br />
and a set of constraints. Sometimes, the goal state is only<br />
partially specified or constrained, so the child must<br />
return the final state in the solution information.<br />
Solution information may also contain sensitivity data,<br />
resource data, and cost data, etc. At the lowest level, the<br />
interfaces are commands to the GN&C and subsystems.<br />
These commands may be thought of as problem specifications<br />
to the vehicle.<br />
The implementation of these hierarchical mission management<br />
architectures requires a software framework