270 likes | 396 Views
Spock Kirk’s real TPN Planner. Jonathan Kennell. Traditional Model-based Programming. New Model-based Programming. Mission Planning Spock. Mission Planning Ex. Europa. Scientist. Model-based Executive Kirk. Model-based Executive Ex. Titan. Robot. Planner Requirements. Optimal
E N D
SpockKirk’s real TPN Planner Jonathan Kennell
Traditional Model-based Programming New Model-based Programming Mission Planning Spock Mission Planning Ex. Europa Scientist Model-based Executive Kirk Model-based Executive Ex. Titan Robot
Planner Requirements • Optimal • Robots are expensive – non-optimal technology cannot be trusted • Flexible Time-bounds • Planners that use an idealized representation of time are not robust when applied to real-world problems • Rich Activity Representation • Vehicle models require expressive language
Existing Technology • Task-decomposition Planners • i.e. SHOP2, present-day Kirk • Not optimal • (don’t actually solve planning problem) • Plan-graph-based Planners • i.e. Graphplan, LPGP • Not optimal over metrics other than makespan • Can’t handle flexible time-bounds • Local-search Planners • i.e. LPG • Not optimal
Our Solution - Spock • Representation - Complete • Based on Temporal Plan Networks • Inherits from • Constraint programming • i.e. TCC, HCC • Simple temporal networks • Supports optimality, temporal flexibility, and rich activities • Algorithm – Work Ongoing • Needs to be fast • Could be a challenge, since optimality and expressiveness usually come at a cost of speed • Needs to be optimal (systematic) • Future work • Incorporate relaxed plan cost heuristic • Use conflicts to focus search • Adapt for solving via SAT-solver (i.e. Blackbox)
The Big Idea… • Plan by building a TPN • The TPN satisfies the control program by adding in primitive activities • Key issues • TPN should be consistent • Should explore systematically
[500,800] s e Tell(PATH1=OK) Tell(PROCEED) [10,10] [0,] 14 15 16 17 [450,450] [200,200] What is a TPN? [0,] [0,] [450,540] 1 2 Group Traverse Group Wait Ask(PATH1=OK) Ask(PROCEED) 4 9 5 10 [405,486] [0,54] Science Target 3 8 13 Group Traverse Group Transmit Ask(PATH2=OK) [0,] 6 7 11 12 [405,486] [0,2]
Enforcing Consistency • Temporal Consistency • Structure based on STN • Use STN temporal consistency checks between iterations • Incremental temporal consistency checker would be useful… thanks I-hsiang
Enforcing Consistency • Symbolic Consistency • Objective • Want to make sure all Asks are supported • Want to make sure no Tells conflict • Solution • Only insert asks when satisfying tell exists • When inserting ask, add ordering arcs that ensure support • Only insert Tells when existing tells do not conflict • Add ordering arcs between mutex tells Inserted Enabled Tell F = true Not Enabled Tell F = false Ask F = true
Enablement • A node is enabledwhen • All predecessors have been inserted • Any Asks that follow this node can be matched with active Tells • Any Tells that follow this node are consistent with the active Tells
Enforcing Systematic Search (A V B V C)… C A B B B A C A C Repeated States
Enforcing Systematic Search (A V B V C)… Not A A That’s Search-tastic! B Not B B Not B C C Not C Not C Not C Not C C C
Spock’s Systematic Search • Same idea… • Each node is either inserted, or “blocked” • “Blocked” nodes can never be inserted via the “blocked” enabling set
Example Problem main start A 0 +INF (:tell A = true) start B 0 +INF B C 0 +INF (:ask B = true) activity 1 start mid1 0 10 (:ask A = true) mid1 mid2 0 0 mid2 end 2 4 (:tell B = true) (:tell A = false) Control Program Tell A = true A [0,+INF] start Ask B = true B C [0,+INF] [0,+INF] Primitive Activity Tell B = true Tell A = false Ask A = true start mid1 mid2 end [0,10] [0,0] [2,4]
Initialization Control Program Tell A = true A start [0,+INF] Ask B = true B C [0,+INF] [0,+INF] Primitive Activity Ask A = true start mid1 [0,10] [0,0] Tell B = true Tell A = false mid2 end [2,4]
Rich Activities • Spock’s TPN Control Program and Primitive Activities are super-flexible • PDDL+ Operators can be mapped in their entirety into TPNs Tell B PDDL+: Start preconditions AStart effects BInvariant conditions CInvariant effects DEnd preconditions EEnd effects FDuration G [0,+INF] Tell D Ask E Ask A Ask C [0,0] [0,0] [G,G] Tell F [0,+INF]
Future Work… • Make Fast Algorithm • Incorporate relaxed plan cost heuristic • Use conflicts to focus search • Adapt for solving via SAT-solver (i.e. Blackbox) • Problem… • Detecting symmetry • Detecting no progress