Title: Spock Kirks real TPN Planner
1SpockKirks real TPN Planner
2Traditional 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
3Planner 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
4Existing Technology
- Task-decomposition Planners
- i.e. SHOP2, present-day Kirk
- Not optimal
- (dont actually solve planning problem)
- Plan-graph-based Planners
- i.e. Graphplan, LPGP
- Not optimal over metrics other than makespan
- Cant handle flexible time-bounds
- Local-search Planners
- i.e. LPG
- Not optimal
5Our 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)
6The 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
7What is a TPN?
0,?
0,?
450,540
1
2
Group Traverse
Group Wait
Ask(PATH1OK)
Ask(PROCEED)
4
5
9
10
405,486
0,54
Science Target
3
8
13
Group Traverse
Group Transmit
Ask(PATH2OK)
0,?
6
7
11
12
405,486
0,2
8Enforcing Consistency
- Temporal Consistency
- Structure based on STN
- Use STN temporal consistency checks between
iterations - Incremental temporal consistency checker would be
useful thanks I-hsiang
9Enforcing 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
10Enablement
- A node is enabled when
- 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
11Enforcing Systematic Search
(A V B V C)
C
A
B
B
B
A
C
A
C
Repeated States
12Enforcing Systematic Search
(A V B V C)
Not A
A
Thats Search-tastic!
B
Not B
B
Not B
C
C
Not C
Not C
Not C
Not C
C
C
13Spocks Systematic Search
- Same idea
- Each node is either inserted, or blocked
- Blocked nodes can never be inserted via the
blocked enabling set
14Example 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
C
B
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
15Initialization
Control Program
Tell A true
A
start
0,INF
Ask B true
C
B
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
16Step 1
17Step 2
18Step 3
19Step 4
20Step 5
21Step 6
22Step 7
23Step 8
24Complete Plan
25Rich Activities
- Spocks 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
Ask E
Tell D
Ask A
Ask C
0,0
0,0
G,G
Tell F
0,INF
26Future 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
27The End