spock kirk’s real tpn planner
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
SpockKirk’s real TPN Planner
Jonathan Kennell
Mission PlanningSpock
Model-based ExecutiveKirk
Traditional Model-based Programming
Mission PlanningEx. Europa
Model-based ExecutiveEx. Titan
Scientist
Robot
New Model-based Programming
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
What is a TPN?
3
6
4 5[405,486]
Ask(PATH1=OK)
1 2
7Ask(PATH2=OK)
8
[405,486]
[450,540]
Ask(PROCEED)
11
9 10
[0,54]
12
13
[0,2]
[0,]
[0,] [0,]
14 15
Tell(PATH1=OK)
[450,450]16 17
Tell(PROCEED)
[200,200]
s e[500,800]
[10,10] [0,]
Group Traverse
Group Traverse Group Wait
Group Transmit
Science Target
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
Inserted
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
Tell F = true
Ask F = trueTell F = false
Enabled
Not Enabled
Enablement
A node is enabled whenAll predecessors have been insertedAny Asks that follow this node can be
matched with active TellsAny Tells that follow this node are
consistent with the active Tells
Enforcing Systematic Search
AB
C
B
C
A CA
B
(A V B V C)…
Enforcing Systematic Search
(A V B V C)…A Not A
B Not B
C Not C C Not C
B Not B
C Not C C Not C
That’s Search-tastic!
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 Problemmainstart A 0 +INF (:tell A = true)start B 0 +INFB C 0 +INF (:ask B = true)
activity 1start mid1 0 10 (:ask A = true)mid1 mid2 0 0 mid2 end 2 4 (:tell B = true) (:tell A = false)
start
C
A
B
Tell A = true
Ask B = true[0,+INF]
[0,+INF][0,+INF]
start mid1 mid2 endAsk A = true[0,10] [0,0] [2,4]
Tell B = trueTell A = false
Control Program
Primitive Activity
Initialization
start
C
A
B
Tell A = true
Ask B = true[0,+INF]
[0,+INF] [0,+INF]
Control Program
start mid1
mid2 end
Ask A = true[0,10]
[0,0]
[2,4]
Tell B = trueTell A = false
Primitive Activity
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Step 7
Step 8
Complete Plan
Rich Activities
Spock’s TPN Control Program and Primitive Activities are super-flexible
PDDL+ Operators can be mapped in their entirety into TPNs
PDDL+:
Start preconditions AStart effects BInvariant conditions CInvariant effects DEnd preconditions EEnd effects FDuration G
[0,0] [0,0]Ask A Ask C Ask E
Tell B
Tell D
Tell F
[G,G]
[0,+INF]
[0,+INF]
Future Work…
Make Fast Algorithm Incorporate relaxed plan cost heuristicUse conflicts to focus searchAdapt for solving via SAT-solver (i.e.
Blackbox)
Problem…Detecting symmetryDetecting no progress
The End