340 likes | 351 Views
Implementing conformant planning for spacecraft recovery in the face of system failures, complexity, and limited observability. The system must choose actions to respond to failures, even when actions have potential undesirable outcomes.
E N D
Fragment-Based Conformant Planning James Kurien Palo Alto Research Center Pandu Nayak Stratify, Inc. David E. Smith NASA Ames Research Center
Motivation: Planning for Spacecraft Recovery Closed Open Stuck Valve • System failures lead to uncertainty • Internal actions are fairly reliable but do fail • System interactions are complex • Observability is limited • Diagnosis yields multiple states ranked by magnitude of probability • The system must choose actions to respond to the failure • Under certain conditions an action may be damaging or disallowed
w1, w2, … wn P G Conformant Planning • Problem Instance • Let Domain be a description of a planning domain • Let Worlds be a set of initial states of the domain, {w1, w2, … wn} • Let G be a goal description • There are no sensing actions • Task: Find plan P that applied to any wi results in a state entailing G • P is a conformant plan • Challenge: Actions chosen in wi may have undesirable effects in wj
Existing Approaches to Conformant Planning • Generate a plan in wi and test if it achieves G in all Worlds • Select actions for P by considering all Worlds simultaneously
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Example Problem • 1 toilet • 6 packages • A bomb is in p1, p2, p3, p5 or (p4 & p6)
Fragment if bomb in p1 An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Fragment if bomb in p1 • Fragment if bombs in p6 and p4
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Fragment if bomb in p1 • Repair action to unify fragments • Fragment if bombs in p6 and p4
An Observation on Conformant Plans Bomb in the Toilet 6 packages, 1 toilet • Example Domain: Bomb in the Toilet • Set of N packages, p1 through pN • Packages may have bombs (1, many, a subset) • Bombs defused by dunking the package in the toilet • The toilet must be flushed before dunking again • Every conformant plan P must contain a fragment that achieves the goal in each world • Each world has plans that are fragments of some P • Approach: Grow a set of fragments into a conformant plan
Fragment-based Conformant Planning • Intuition For each wi in Worlds • Generate a plan for Domain to achieve G in wi • Add the planned actions to Domain • Step 2 ensures the plan for wi+1 includes the actions that achieved G in {w1… wi}
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess
Fragment-based Conformant Planning PlanningProcess • Search will be required • The fragment chosen for w1 may not allow a plan for w2 • The fragment chosen for w2 may disrupt the plan for w1
The FragPlan Algorithm completed= While (Worlds ) selectand remove world wi from Worlds Choose a plan Pi for Domain that achieves G in wi Fail if Pi doesn’t achieve G for all wcompleted Extract fragment Fi from Pi Domain = Domain + Fi add wi to completed ReturnPi
w1 First world selected W1 fragments F1 F2 F3 w2 F1 F2 F3 w3 F1 F2 F3 Search Strategies • Chronological Backtracking • Probing • Extend fragments to as many worlds as possible, then restart • On failure, discard all fragments and empty completed • Effective even when a small subset of worlds are very difficult • Fits well with deterministic planner we use to choose Pi for wi • Bubbling • Find difficult worlds. Solve first by moving them up the stack.
Search Control Fragment Extraction BlackBox Graph to WFF Graph Builder SAT (satz) Plan Graph WFF Implementation • Essentially conformant BlackBox (Kautz & Selman 99) • No actions with conditional outcomes in current implementation • Planning graph cannot represent conditional outcome • Conditional extension (Gazen & Knoblock 1997) not applicable • No non-deterministic actions FragPlan Worlds Specification Conformant Plan wi Fragments Plan Pi Planning Domain PDDL
Experimental Setup • FragPlan tested on a number of domains • Several variations of the bomb in the toilet problem • Modified ringworld with no uncertain outcomes • Logistics domain with uncertainty • Compared to performance quoted in the literature • CMBP, C-Plan, GTP from (Castellini, Giunchiglia, & Tacchella 2001) • HSCP from (Bertoli, Cimatti, & Roveri 2001) • FragPlan performance averaged over 30 probing runs
Performance on Bomb in the Toilet Problems • HSCP dominates on serial instances • FragPlan is balanced • HSCP, CMBP, GPT do not produce parallel plans • C-Plan does poorly on serial instances of this problem
10 Package Bomb in the Toilet with Parallelism • Space of serialized plans explodes as parallelism increases • Parallelism renders fragments independent, yielding linear speedup
) • ( N K FragPlan Performance on Many Worlds • Independent sources of uncertainty yield many worlds • K bombs in N packages worlds • N rooms with window open, closed or locked 3n worlds • Less planning, more checking • Fragment for n independent events is often a plan for each • If n is high, a few fragments yield a conformant plan. • In effect the plan is only checked on the remaining worlds • Constant space usage, except for fragments
Effect 1 A or Effect 2 Worlds {w1 w2 } Handling Non-Deterministic Actions • Action A has n possible outcomes • Disjunction doesn’t ensure conformance
Effect 1 Effect 1 P A’ A or Effect 2 Effect 2 P Worlds {w1,P w1,P w2,P w2,P} Worlds {w1 w2 } Handling Non-Deterministic Actions • Action A has n possible outcomes • Disjunction doesn’t ensure conformance
Effect 1 Effect 1 P A’ A or Effect 2 Effect 2 P Worlds {w1,P w1,P w2,P w2,P} Worlds {w1 w2 } Handling Non-Deterministic Actions • Action A has n possible outcomes • Disjunction doesn’t ensure conformance • Algorithm changes • Implement conditional effects • Generate plan Pi for one execution in wi using A • Substitute A’/A in Pi . • Split completed worlds and wi • Check Pi in all worlds, as before
Message • Performs well on both serial and parallel problems • More scalable than other possible worlds approaches • Memory usage is constant as the number of worlds increases • Computation is less susceptible to explosive growth • Probing is effective • Constructive approach • Always have a plan • Conformance increases in an anytime manner • Can delete and add worlds and re-use partial results
Initial State Uncertainty • Internal actions are fairly reliable • Systems are complex • Observability is limited • Failures yield multiple diagnoses Closed Open Stuck Valve Motivation: Planning for Spacecraft Recovery • Complex Plan Utility Function • No safe, conformant plan may exist • Safety always desired, often dominates • Certain goals dominate at critical junctures • A failure may force all actions to be unsafe • Time for planning not known a priori • We must have some plan Given: Utility function on goals, safety, and worlds Return: Best plan the available time allows
Safe, Conformant Planning with Optimization • Problem Instance • Let Domain be a description of a planning domain • Let Worlds be a set of initial states of the domain, {w1, w2, … wn} • Let G be a set of goals • Let S be a set of safety constraints • Let U be a function from (world x goal x safety) -> • Task: • Find a plan P with highest U (in available time) • Challenge: • Which subsets of {GSWorlds} admit a plan? • Will we have a plan when time runs out?
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints)
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints) for some time Balance solving current constraints vs. exploration
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints) for some time • Strategy: Start small and grow • On success, add constraints guided by U(world x goal x safety) • Anytime
SCOPE – Safe, Conformant, Optimizing Planning Engine • Approach: Manipulate the scope of the problem While (Time 0) selectconstraints from{GSWorlds} FragPlan(constraints) for some time • Strategy: Start small and grow • On success, add constraints guided by U(world x goal x safety) • Anytime • Strategy: Start big, shrink • Failures reveal difficult constraint combinations • On failure, remove constraints guided by U, difficulty