Temporal Planning: Part 2 Brian C. Williams 16.412J/6.834J Oct 3rdst, 2001 1
Flexible Sequence (Plans) Histories(?) Goals Projective Task Expansion Temporal Planner Scheduler Flexible Sequence (Plans) Task Dispatch Plan Runner Goals Modes Model-based Execution (w planner) Task-Decomposition Execution Reactive Task Expansion Observations Commands
Outline Representing Plans Representing Time Plan Consistency and Scheduling
Cassini Saturn Orbital Insertion courtesy JPL
Planning in a continuous world Attitude Control System
Planning in a continuous world Attitude Control System Turn (a, b) Attitude Control System
Planning in a continuous world Attitude Control System Turn (a, b) Attitude Control System
Planning in a continuous world Attitude Control System Turn (a, b) Attitude Control System
Planning in a continuous world Attitude Control System Turn (a, b) Attitude Control System
Planning in a continuous world Attitude Control System Turn (a, b) Attitude Control System
Planning in a continuous world Attitude Control System Turn (a, b) Attitude Control System
Planning in a continuous world: Attitude Control System Point (b) Attitude Control System
Planning in a continuous world: Attitude Control System Point (b) Attitude Control System
Action/State dichotomy in a continuous world Attitude Control System Turn is an action, Point is a state Both Turn and Point are actions Both Turn and Point are state Point (b) Turn (a, b) Attitude Control System
Both Actions and States are Tokens Tokens represent procedure invocations Thrust Goals Delta_V(direction=b, magnitude=200) Power Attitude Point(a) Turn(a,b) Point(b) Turn(b,a) Engine Off Warm Up Thrust (b, 200) Off
Planning Constraints are Specified by Compatibilities Thrust Goals Delta_V(?x, ?y) Power contained_by equals Attitude Point(?x) contained_by meets met_by Engine Warm Up Thrust (?x, ?y) Off f
Example of Compatibility Instantiation Thrust Goals Delta_V(direction=b, magnitude=200) Power contains Attitude Engine Thrust (b, 200)
Example of Compatibility Instantiation Thrust Goals Delta_V(direction=b, magnitude=200) Power contained_by equals Attitude Point(b) contained_by meets met_by Engine Warm Up Thrust (b, 200) Off
Planner/Scheduler Architecture Engine Domain Knowledge Search Control Planning Experts Search engine Model (DDL) Goals Plan Plan Database Initial state to EXEC from EXEC
Planner Resolves Flaws Plan has flaws NO Uninstantiated compatibility . Instantiate compatibility . Backtrack Schedule token Plan is consistent NO YES
Types of Flaws No Disjunct of Compatibility Selected. Unsatisfied Subgoal There is a hole in the timeline immediately before Thrust (b, 200) Floating Token, Needs to be Placed on Timeline. Uninstantiated Variable in a Token Thrust (?x = {a, b, c}, ?y = [190, 300] The Plan Database can be modified only by primitives that resolve each of these flaws.
Planner/Scheduler Architecture Engine Domain Knowledge Search Control Planning Experts Search engine Model (DDL) Goals Plan Plan Database Initial state to EXEC from EXEC
Search Control Determines Order and Type of Flaw Resolution PLAN f2I(P): Plan has no subgoal flaws T Unsatisfied subgoal . Search Control Instantiate subgoal . . Backtrack Schedule token f1I(P): Plan is consistent F {T, ?}
Search Control Language met_by Turning_on( ) Ready( ) Camera: (:subgoal (:master-match (Camera = Ready)) (:slave-match (Camera = Turning_on)) (:priority 50) (:method-priority ((:method :add) (:sort :asap)) ((:method :connect)) ((:method :defer))))
DS1 Planner/Scheduler DS1 PS is a constraint-based, backtrack search, generative planner operating on a fully temporal domain model Model size (Remote Agent Experiment) state variables 18 procedure types 42 Plan size tokens 154 variables 288 (81 time points) constraints 232 (114 distance bounds) Performance search nodes 649 search efficiency 64 %
Flexible Sequence (Plans) Histories(?) Goals Projective Task Expansion Temporal Planner Scheduler Flexible Sequence (Plans) Task Dispatch Plan Runner Goals Modes Model-based Execution (w planner) Task-Decomposition Execution Reactive Task Expansion Observations Commands