Massachusetts Institute of Technology We Need Fast, Flexible, and Reliable Planning “Enabling Fast Flexible Planning through Incremental Temporal Reasoning with ATRV Rover Testbed Robonaut Simulator Conflict Extraction” I’shiang Shu, Robert Effinger, Prof. Brian Williams Model-Based Embedded and Robotic Systems Group Massachusetts Institute of Technology ICAPS 2005 Kirk Planner Kirk Planner combines: combines: Contingency Temporally Contingency Temporally Planning Flexible Planning Planning Flexible Planning Kirk Planner • Flexible Execution Times • Flexible Execution Times STN ( Dechter, Meiri, Pearl, 91 ) STN ( Dechter, Meiri, Pearl, 91 ) • Redundant Methods • Redundant Methods • Incremental Reasoning • Incremental Reasoning TPN (Kim, Williams, Abrahmson 01) TPN (Kim, Williams, Abrahmson 01) ( Cesta, Oddi 96 ) and many others ( Cesta, Oddi 96 ) and many others • Conflict-directed Plan Repair • Conflict-directed Plan Repair • Conflict Extraction • Conflict Extraction Dynamic Backtracking (Ginsberg 96) Dynamic Backtracking (Ginsberg 96) ( Shu, Effinger, Williams 05 ) ( Shu, Effinger, Williams 05 ) Kirk Planner Flexible Execution Times (Dechter, Meiri, Pearl 91) combines: Simple Temporal Network (STN): Contingency Temporally Planning Flexible Planning [ ] − ∈ [1,5] T T 1 , 5 Begin- End- j i engine-start engine-start Kirk Planner Equivalent Distance Graph Representation: • Flexible Execution Times u [l,u] { • Incremental Reasoning A B A B ITC Algorithm • Conflict Extraction -l STN Distance Graph • Redundant Methods [ ] − ∈ ⇒ − ≤ ∩ − ≤ − T T l , u T T u T T l j i j i i j • Conflict-directed Plan Repair 1
Flexible Execution Times Flexible Execution Times (Dechter, Meiri, Pearl 91) (Dechter, Meiri, Pearl 91) A Simple STN: A Simple STN: 5 1 [1,5] Consistent ! [5,1] Inconsistent STN ! A B A B A B A B d = 0 d = 1 d = 0 d = 5 d = - 8 d = - 4 d = - 3 -1 -5 Determine STN consistency: Determine STN consistency: - Calculate the Single Source Shortest Path (polynomial-time algorithm) - Calculate the Single Source Shortest Path (polynomial-time algorithm) - A continually looping negative cycle indicates an inconsistency in STN Two methods to detect a continually looping negative cycle (most space efficient) 1.) Check for any d-value to drop below –nC. 2.) Keep an acyclic spanning tree of support, and terminate when a self-loop is formed. (Cesta, Oddi 96) (most time efficient) Kirk Planner: Overview ITC Algorithm combines: • Basic Idea: Contingency Temporally 1.) Keep dependency information for each shortest-path value in Planning Flexible Planning the distance graph (Cesta, Oddi 96) 2.) Use incremental update rules to localize necessary changes to the distance graph. Kirk Planner a.) 3 Update Rules to change a consistent distance graph. b.) 3 Update Rules to repair an inconsistent distance graph. • Flexible Execution Times • ITC’s Novel Claims: { • Incremental Reasoning ITC Algorithm • Conflict Extraction 1.) A conflict extraction mechanism to guide plan repair 2.) Allow multiple arc-changes • Redundant Methods 3.) Can repair inconsistent distance graphs incrementally • Conflict-directed Plan Repair 3 Update Rules to Change a Consistent 1.) Arc(i,j) change does not affect shortest path Distance Graph d=5 d=5 CASE 1 g g 2 p = s p = s 2 d=6 d=6 d = 7 d = 17 d = 7 d = 17 3 2 10 2 10 Distance graph Distance graph i j E i j E p = s p = j p = s p = j p = g p = g d=5 d=5 3 3 h d = shortest path value h d = shortest path value p = s p = s p = supporting node p = supporting node (Cesta & Oddi 96) • Keep track of the support for each shortest path value • The cost from node i to node j increases from 2 to 3 . • Given a consistent STN, changing Arc(i,j)’s cost can have three possible effects on the shortest path. • No changes are needed. 1. Arc(i,j) change does not affect the shortest path to node j. 2. Arc(i,j) change improves the shortest path to node j. 3. Arc(i,j) change invalidates the shortest path to node j. 2
2.) Arc(i,j) change improves shortest path to j 3.) Arc(i,j) change invalidates shortest path to j d=5 d=5 CASE 2 g g CASE 3 2 2 p = s p = s d=6 d=6 ∞ 6 7 17 ∞ d = 7 16 d = 6 3 0 d = 17 0 4 d = 16 10 10 Distance graph Distance graph i j E i j E p = s p = s p = g p = i g i p = j ? p = j ? j d=5 d=5 3 3 h h p = s p = s • Increasing Arc(i,j) now invalidates node j’s shortest path. • The cost from node i to node j decreases from 3 to 0. • Reset node j • Recursively reset nodes dependent upon node j. • Propagate the improved shortest path. • Insert node j’s parents into the queue so that a new path to node j can be found for node j and all other invalidated nodes. 3 Update Rules to repair an Inconsistent 3 Update Rules to repair an Inconsistent distance graph distance graph • ITC discovers an inconsistency (a negative cycle) by • Now ITC must incrementally repair the inconsistency. detecting cyclically dependent backpointers. ∞ d=-1 ? d=-1 p=A p=A This must be a Negative cycle: C ∞ C negative cycle d=-3 (A,B,D,C,A) 2 3 ? d=-3 2 3 p=B cycle: -1 -2 p=B 2 ∞ d=2 -1 d=0 -2 2 S A D d=2 (A,B,D,C,A) p=C ? d=0 p=none S A D p=C -8 p=none -1 -2 -1 -8 -2 3 8 3 8 B B ∞ d=-10 d=-10 ? p=D p=D • Three repair steps: 1.) Reset all nodes in negative cycle. 2.) Recursively reset all nodes that depend on the negative cycle nodes. 3.) Put any parent of a reset node that was not also reset on the Q. 3 Update Rules to repair an Inconsistent Kirk Planner: Overview distance graph combines: • Now ITC must incrementally repair the inconsistency. d= ∞ 4 Contingency Temporally A p= ? Planning Flexible Planning Consistent ! d= ∞ C 2 10 2 3 S p = ? -1 2 -2 d= ∞ d=0 13 A D S B p=none p= ? -8 -1 -2 Kirk Planner 3 8 B 5 d=-10 • Flexible Execution Times A p=D { • Incremental Reasoning ITC Algorithm • Conflict Extraction • Change arc cost CD to 10. • Redundant Methods • Propagate the new shortest path values • Conflict-directed Plan Repair 3
Temporal Plan Network ( Kim, Williams, Abrahmson 01 ) Temporal Plan Network ( Kim, Williams, Abrahmson 01 ) 1 1 p1 p1 pL pL pR pR p2 p2 p3 p3 Start [0,30] End beHomeBeforeDark() [0,0] [0,0] [20,30] [20,30] driveTo(p2) [5,10] driveTo(pR) [5,10] imageTargets( ) driveTo(p3) [3,6] [2,5] driveTo(pL) driveTo(p2) Redundant Methods Conflict-Directed Plan Repair Conflict-Directed Plan Repair Incremental Incremental Test Test Updates Updates Generate New Candidate Plan Generate New Candidate Plan Candidate Plan For Temporal Candidate Plan For Temporal 1 1 Consistency Consistency p1 p1 pL pL Inconsistency Inconsistency pR pR p2 p2 p3 p3 Start End Start End [0,30] [0,30] beHomeBeforeDark() [0,0] beHomeBeforeDark() [0,0] [0,0] [0,0] [20,30] [20,30] [20,30] [20,30] driveTo(p2) driveTo(p2) [5,10] driveTo(pR) [5,10] driveTo(pR) [5,10] [5,10] imageTargets( ) driveTo(p3) imageTargets( ) driveTo(p3) [3,6] [2,5] [3,6] [2,5] driveTo(pL) driveTo(p2) driveTo(pL) driveTo(p2) Consistent ! Performance Improvements Conclusions UAV Scenarios • ITC is an incremental shortest path algorithm that can repair Legend: Comparison of Algorithm Runtime distance graphs incrementally as the plan changes Comparison of Algorithm Runtime Seeker UAV NF NF Water UAV Algorithm Runtime (sec ) Algorithm Runtime (sec) 12 12 Z1 No-Fly Zone Z2 10 10 WaterB UAV Fire2 Fire Non-incremental Non - incremental Base 8 8 Water Algorithm Algorithm • ITC’s Novel Claims: UAV Base 6 6 Incremental Incremental Algorithm Algorithm 4 4 Fire1 WaterA 2 2 1.) A conflict extraction mechanism Plan Goal: Extinguish All Fires 0 0 Vehicles: Two Seeker UAVs 1 1 10 10 19 19 28 28 37 37 46 46 55 55 64 64 73 73 82 82 91 91 2.) Allow multiple arc-changes at once One Water UAV Number of Activities Number of Activities Resources: Fuel & Water 3.) Can incrementally repair inconsistent distance graphs Randomly Generated Plans • Shows an order of magnitude improvement over non - incremental planning • Applicable to any plan representation that uses disjunctions of simple temporal constraints. 4
Recommend
More recommend