Title: Using Abstraction to Coordinate Multiple Robotic Spacecraft
1Using Abstraction to Coordinate Multiple Robotic
Spacecraft
- Brad Clement, Tony Barrett, Gregg
RabideauArtificial Intelligence GroupJet
Propulsion Laboratory - California Institute of Technology
- clement, barrett, rabideau_at_aig.jpl.nasa.gov
Ed DurfeeArtificial Intelligence LabUniversity
of Michigan durfee_at_umich.edu
2Automated Planning/Scheduling
- Choose and order actions that take robot(s) from
current state to goal state - Decompose abstract tasks/goals into detailed
actions
Current State
Goal State
goal
goal
subgoal
subgoal
3Planning at Abstract Levels
- Resolve conflicts at high level to minimize
search time and preserve decomposition choices - Better solutions may exist at lower levels
crisper solutions
lowerplanningcost
planning levels
flexibility
4Motivation
- Hierarchical refinement search can reduce the
search space exponentially when there is no need
to backtrack up the hierarchy. (Korf 87,
Knoblock 91) - Planning problems often have interacting goals
such that backtracking is necessary. - By summarizing the state constraints of an
abstract tasks refinement, an HTN style planner
can reduce the search space exponentially.
(Clement Durfee 2000) - Show that any planner or scheduler can reap the
benefits of abstraction. - Apply this work to metric resources in an
iterative repair planner (ASPEN).
5Motivation
- Hierarchical plans also exploited by robust
execution systems (PRS, RAPS, etc.) - Reasoning about plans at multiple levels of
abstraction is natural for situated planning
systems - human interaction
- continual planning
- coordination across planners
6Contributions
- Algorithm summarizing metric resource usage for
abstract activities based on their decompositions - Complexity analyses showing that scheduling is
exponentially cheaper at higher levels of
abstraction using summary information - Experiments in a multi-rover domain that support
the analyses - Search techniques for directing the refinement of
activities in an iterative repair planner that
further improve performance
7Resource Usage
interval of task
- Depletable resource
- usage carries over after end of task
- gas gas - 5
- Non-depletable
- usage is only local
- zero after end of task
- machines machines - 2
- Replenishing a resource
- negative usage
- gas gas 10
- can be depletable or non-depletable
8Mars Rover
3
D
A
B
C
1
2
F
E
morning activities
sunbathe
move(A, B)
soak raysuse 4W 20 min
soak raysuse 6W 20 min
low path
high path
soak raysuse 5W 20 min
middle path
go(2,B) use 12W 20 min
go(A,1) use 6W 10 min
go(A,B) use 8W 50 min
go(A,3) use 8W 15 min
go(3,B) use 12W 25 min
go(1,2) use 6W 10 min
9Summarizing Resource Usage
soak rays
soak rays
soak rays
soak rays
soak rays
soak rays
soak rays
soak rays
soak rays
-4
-5
-6
-4
-5
-6
-4
-5
-6
low
medium
high
6
6
12
8
8
12
-4
2
7
0
2
1
6
-6
-4
0
4
3
2
-6
-4
3
7
0
4
6
-6
Battery power usage for three possible
decompositions
10Summarizing Resource Usage
- summarized resource usage ?
- lt local_min_range, local_max_range,
persist_range gt - Captures uncertainty of decomposition choices and
temporal uncertainty of partially ordered actions - Can be used to determine if a resource usage may,
must, or must not cause a conflict -
40
30
20
10
0
-7
-20
lt -20, -7,30, 40,10, 20 gt
11Resource Summarization Algorithm
- Can be run offline for a domain model
- Run separately for each resource
- Recursive from leaves up hierarchy
- Summarizes parent from summarizations of
immediate children - Considers all legal orderings of children
- Considers all subintervals where upper and lower
bounds of childrens resource usage may be
reached - Exponential with number of immediate children, so
summarization is really constant for one resource
and O(r) for r resources
12Resource Summarization Algorithm
lt0,53,60,6gt
OR
lt2,33,43,4gt
lt0,53,60,6gt
13Resource Summarization Algorithm
Serial AND
lt0,53,60,6gt
lt2,33,43,4gt
lt0,53,103,10gt
14Resource Summarization Algorithm
Parallel AND
lt0,53,60,6gt
lt2,33,43,4gt
lt2,95,63,10gt
15Resource Summarization Algorithm
- for each consistent ordering of endpoints
- for each subtask/subinterval summary usage
assignment - use Parallel-AND to combine subtask/subinterval
usages by subinterval - use Serial-AND over the chain of subintervals
- use OR computation to combine profiles
Each iterationgenerates a profile
16Complexity Analyses
- Iterative repair planners (such as ASPEN)
heuristically pick conflicts and resolve them by
moving activities and choosing alternative
decompositions of abstract activities. - Moving an activity hierarchy to resolve a
conflict is O(vnc2) for v state or resource
variables, n hierarchies in the schedule, and c
constraints in hierarchy per variable. - Summarization can collapse the constraints per
variable making c smaller. - In the worst case, where no constraints are
collapsed because they are over different
variables, the complexity of moving activity
hierarchies at different levels of expansion is
the same.
level
branchingfactor b
0
1
. . .
d
1
2
n
c constraintsper hierarchy
vvariables
17Complexity Analyses
level
branchingfactor b
0
1
. . .
d
1
2
n
c constraintsper hierarchy
vvariables
- In the other extreme, where constraints are
always collapsed when made for the same variable,
the number of constraints c is the same as the
number of activities and grows bi for b children
per activity and depth level i. Thus, the
complexity of scheduling operations grows
O(vnb2i). - Along another dimension, the number of temporal
constraints that can cause conflicts during
scheduling grows exponentially (O(bi)) with the
number of activities as hierarchies are expanded. - In addition, by using summary information to
prune decomposition choices with greater numbers
of conflicts, exponential computation is avoided. - Thus, reasoning at abstract levels can resolve
conflicts exponentially faster.
18Decomposition Strategies
- Level expansion
- repair conflicts at current level of abstraction
until conflicts cannot be further resolved - then decompose all activities to next level and
begin repairing again - Expand most threats first (EMTF)
- instead of moving activity to resolve conflict,
decompose with some probability (decomposition
rate) - expands activities involved in greater numbers of
conflicts (threats) - Relative performance of two techniques depends
decomposition rate selected for EMTF
19Decomposition Strategies
- FTF (fewest-threats-first) heuristic tests each
decomposition choice and picks those with fewer
conflicts with greater probability.
rover_move
path1
path2
path3
10 conflicts
20 conflicts
15 conflicts
20Multi-Rover Domain
- 2 to 5 rovers
- Triangulated field of 9 to 105 waypoints
- 6 to 30 science locations assigned according to a
multiple travelling salesman algorithm - Rovers plans contain 3 shortest path choices to
reach next science location - Paths between waypoints have capacities for a
certain number of rovers - Rovers cannot be at same location at the same
time - Rovers cannot cannot cross a path in opposite
directions at the same time - Rovers communicate with the lander over a shared
channel for telemetry--different paths require
more bandwidth than others
21Experiments using ASPEN for a Multi-Rover Domain
- Performance improves greatly when activities
share a common resource.
Rarely shared resources (only path variables)
Mix of rarely shared (paths) and often
shared(channel) resources
Often shared (channel) resource only
22Experiments using ASPEN for a Multi-Rover Domain
- CPU time required increases dramatically for
solutions found at increasing depth levels.
23Experiments in ASPEN for a Multi-Rover Domain
- Picking branches that result in fewer conflicts
(FTF) greatly improves performance. - Expanding activities involved in greater numbers
of conflictsis better than level-by-level
expansion when choosing a proper rate of
decomposition
24Summary
- Algorithm summarizing metric resource usage for
abstract activities based on their decompositions - Complexity analyses showing that scheduling
operations are exponentially cheaper at higher
levels of abstraction when summarizing activities
collapses state/resource constraints and temporal
constraints - Experiments in multi-rover domain support
analyses - Reasoning at abstract levels is wasteful when
hierarchies must be fully expanded and OR branch
selection is not important - Search techniques for directing the refinement of
activities further improve performance
25Future Work
- How does abstract reasoning affect plan quality
when using iterative repair? - How should complex resources be abstracted?
- resource usage functions
- window variables
- geometrical constraints
- volatile objects (file system)
- What is the effect of abstracting over resource
classes? - What are efficient protocols for coordinating a
group of agents plans continually?