1
Temporal Planning
Planning with Temporal and Concurrent Actions
Temporal Planning 2
Literature
Malik Ghallab, Dana Nau, and Paolo
- Traverso. Automated Planning – Theory
Temporal Planning Planning with Temporal and Concurrent Actions - - PDF document
Temporal Planning Planning with Temporal and Concurrent Actions Literature Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning Theory and Practice , chapter 13-14. Elsevier/Morgan Kaufmann, 2004. Temporal Planning 2 1 Why
Temporal Planning 2
Temporal Planning 3
assumption A6: implicit time
in reality:
Temporal Planning 4
Temporal Planning 5
mathematical structure:
temporal references:
temporal relations:
Temporal Planning 6
example: load(crane2, cont5, robot1, interval6) causal analysis (what propositions hold?):
temporal analysis (when propositions hold?):
Temporal Planning 7
maintain temporal references for every domain
functionality:
planner attempts to assert relations among
Temporal Planning 8
load container c onto robot r at location l t1: instant at which robot r enters location l t2: instant at which robot r stops at location l
t3: instant at which the crane starts picking up c t4: instant at which crane finishes putting c on r
t5: instant at which c begins to be loaded onto r t6: instant at which c is no longer loaded onto r
Temporal Planning 9
assumption: crane is allowed to pick up container as soon
possible temporal sequences:
t1 t2 entering t3 t4 picking up and loading t5 t6 loaded
Temporal Planning 10
< < < < ≤ =
before starts before meets
Temporal Planning 11
possible primitive relations P between instants
possible qualitative constraints R between
Temporal Planning 12
{<} {<} {<} {<} {<,=} {=}
Temporal Planning 13
usual set operations:
composition (noted ∙):
Temporal Planning 14
distributive
symmetrical constraint r’ of
(R,∪,∙) is an algebra:
and ∙
commutative operation
is ∅
{=}
Temporal Planning 15
Temporal Planning 16
path: t4-t5-t6: [t4=t5] ∙ [t5<t6] implies [t4<t6] path: t2-t1-t3: [t2>t1] ∙ [t1≤t6] implies [t2Pt3] path: t2-t5-t4: [t2<t5] ∙ [t5=t4] implies [t2<t4] path: t2-t3-t4: [t2Pt3] ∙ [t3<t4] implies [t2Pt4]
{<} {<} {<} {<} {<,=} {=} {<} {P} {<} {P}
Temporal Planning 17
A binary PA constraint network is a directed
A tuple 〈v1,…,vk〉 of real numbers is a solution
(X,C) is consistent iff there exists at least one
Temporal Planning 18
Temporal Planning 19
Temporal Planning 20
Temporal Planning 21
Temporal Planning 22
Temporal Planning 23
every container must be inspected and sealed: inspection:
sealing:
corresponding intervals:
Temporal Planning 24
before before before
before before before before
Temporal Planning 25
Let i be an interval.
[iload before imove]:
[imove before-or-after iseal]:
Temporal Planning 26
i1 before i2: [i1 b i2] i1 meets i2: [i1 m i2] i1 overlaps i2: [i1 o i2] i1 starts i2: [i1 s i2] i1 during i2: [i1 d i2] i1 finishes i2: [i1 f i2]
i1 i2 i1 i2 i1 i2 i1 i2 i1 i2 i1 i2
Temporal Planning 27
possible primitive relations P between intervals i1
possible qualitative constraints R between instants:
i1 i2
Temporal Planning 28
set operations: ∩, ∪ etc. composition: ∙
u∪v P b’ d d d u∪v b b
u u’∪w’ b’ d d s u b b
u u’∪w’ u’∪v’ v v
b b
b u’∪v’ v v m b b b
b b P u∪v u∪v b b b b
Temporal Planning 29
transitive
distributive
not commutative
i1 i2 i3 i1 i2 i3 i3
Temporal Planning 30
iinspect-imove-iunload: [iinspect {b} ∙ {b} iunload] = [iinspect {b} iunload] iinspect-iload-iseal: [iinspect {b,b’} ∙ {b} iseal] = [iinspect P iseal]
{b} {b} {b,b’} {b} {b,b’} {b} {b} {b} P
Temporal Planning 31
A binary IA constraint network is a directed
A tuple 〈v1,…,vk〉 of pairs of real numbers
(X,C) is consistent iff there exists at least one
Temporal Planning 32
Proposition: A IA network (X,C) is consistent
idea: filter out redundant primitives using path
note: path consistency not complete for IA
Temporal Planning 33
ship: Uranus
ship: Rigel
Uranus must depart 1 to 2 days after Rigel arrives Temporal Planning 34
5 instants related by quantitative constraints
possible questions:
Temporal Planning 35
Temporal Planning 36
tqe: expression of the form:
tqe p(o1,…,ok)@[tb,te[ asserts that:
Temporal Planning 37
Temporal Planning 38
robot r1 is at location loc1 robot r2 moves from location loc2 to location loc3
at(r1,loc1) at(r2,loc2) at(r2,path) at(r2,loc3) free(loc3) free(loc2) t1 t2 t3 t4 t0 t0 t0 t5 t6 t7 < < <
Temporal Planning 39
A set F of tqes supports a (single) tqe
An enabling condition for e in F is the
Temporal Planning 40
Temporal Planning 41
A set F of tqes supports a set E of tqes iff:
The set of enabling conditions for a single tqe
The set of enabling conditions for a set of tqes
Temporal Planning 42
A temporal database Φ=(F,C) supports a set E of tqes iff:
with C.
A temporal database Φ=(F,C) supports another temporal
A temporal database Φ=(F,C) entails another temporal
Temporal Planning 43
move(r,l,l’)@[tb,te[
at(r,l) at(r,path) at(r,l’) free(l) free(l’) move(r,l,l’) t1 tb t2 t3 t4 t5
Temporal Planning 44
A temporal planning operator o is a tuple
that:
Temporal Planning 45
A temporal planning operator o is applicable to
The result of applying an applicable action a to
Temporal Planning 46
move(r1,loc1,loc2) is
at(r1,loc1) at(r2,loc2) at(r2,path) at(r2,loc3) free(loc3) free(loc2) t1 t2 t3 t4 t0 t0 t0 t5 t6 t7 < < <
Temporal Planning 47
Temporal Planning 48
A domain axiom α is an expression of the
A temporal database Φ=(F,C) is consistent
Temporal Planning 49
Temporal Planning 50
A temporal planning problem in D is a triple
Temporal Planning 51
Temporal Planning 52
problem: swap locations of two robots
move(r1,loc1,loc2): not applicable move(r2,loc2,loc1): not applicable apply both at the same time: applicable temporal planning can handle such concurrent
Temporal Planning 53
Temporal Planning 54
Ω = (Φ,G,K,π): current processing stage of the
Temporal Planning 55
Temporal Planning 56
goal: unsupported tqe e in G assumption:
resolver:
Temporal Planning 57
Temporal Planning 58
Temporal Planning 59