planning with unknown object quantities and properties - aair lab · 2020-06-29 · siddharth...
TRANSCRIPT
Introduction Framework Planning Algorithms Results
Planning with Unknown Object Quantities andProperties
Siddharth SrivastavaJoint work with Neil Immerman and Shlomo Zilberstein
University of Massachusetts, Amherst
Eighth Symposium on Abstraction, Reformulation andApproximation
7− 10 July, 2009
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Overview
Introduction
FrameworkConcrete RepresentationAbstract Representation for Belief StatesActions on Belief States
Planning AlgorithmsPlan GeneralizationPlan MergingPreconditions
Results
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Conditional Planning
Conditional Planning
pick Next
paper glass
Test Type
pick Next
glasspaper
Test Type
collect In PaperContainer collect In GlassContainercollect In PaperContainer
Test Type
paper glass
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Conditional Planning
Conditional Planning
Need to merge, maintain history
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Conditional Planning
Conditional Planning
glass paper
Test Type
Pick Next Pick Next
collect In PaperContainer collect In GlassContainercollect In PaperContainer
Need to merge, maintain history
Progress and termination of loops
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Concrete States as First-Order Structures
V = {object1, bin1, isGlass1, isPaper1, in2, empty1, collected1, forGlass1, forPaper1}
[[object(2)]] =1
[[isGlass(2)]] = 1
[[bin(1)]] = 1
[[in(2,1)]] = 1
in
bin
isGlass
object
1
2
S1
S2
in
bin
isPaper
object
1
2
[[object(2)]] =1
[[isPaper(2)]] = 1
[[bin(1)]] = 1
[[in(2,1)]] = 1
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Action Operators
Precondition: formula in FO.Predicate updates
p′(x̄) =
tuples added to p
(¬p(x̄) ∧∆+p (x̄)) ∨
tuples retained in p
(p(x̄) ∧ ¬∆−p (x̄))
Use formula evaluation to compute action effect.
Frame axioms/successor state axioms (situation calculus) using adouble vocabulary.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Example: The Collect Action
Collect(o,c)
object(o) ∧ container(c) ∧ (isGlass(o)↔ forGlass(c)) ∧∃b(bin(b) ∧ in(o, b) ∧ robotAt(b))
in′(u, v) := (in(u, v) ∧ u 6= o) ∨(¬in(u, v) ∧ u = o ∧ v = c)
empty′(u) := (empty(u) ∧ u 6= c) ∨ in(o, u)collected′(u) := collected(u) ∨ o = u
c container, forPaper, empty
objectin
bin
isPaper
b
o
b c container, forPaper
object, collected
isPaper
o
in
bin, empty
Collect(o,c)
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Abstraction Using 3-Valued Logic
in
bin
isGlass
object
1
2
in
bin
isPaper isGlass
object
1
2
= 1/2
in
bin
isPaper
object
1
2
Use 3−Valued logic to abstract as:
TVLA: [Sagiv et al., 2002]
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Abstraction Using 3-Valued Logic
in
bin
isGlass
object
1
2
in
bin
isPaper isGlass
object
1
2
in
bin
isPaper
object
1
2
Focus and coerce w.r.t {isPaper(x)}
Objects are either paper or glass
Integrity Constraint:
Implementation of “sensing” actions
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Abstraction Using 3-Valued Logic
in
bin
isPaper isGlass
object
1
2
in
bin
isPaper isGlass
object4
in
bin
isPaper isGlass
object
5
6
3
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Abstraction Using 3-Valued Logic
in
bin
isPaper isGlass
object
1
2
V
U
in
bin
isPaper isGlass
object4
in
bin
isPaper isGlass
object
5
6
3
in
bin
object
isGlassisPaper
Canonical Abstraction
= Summary element
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Abstraction Using 3-Valued Logic
U
V
in
bin
isPaper isGlass
object
1
2
in
bin
isPaper isGlass
object
3
4
in
bin
object
isGlassisPaper
in
bin
isPaper isGlass
object2n
2n−1
Concretization
Integrity Constraint:
Each bin has a unique object
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Abstraction Using 3-Valued Logic: Summary
TVLA [Sagiv et al., 2002]: Three Valued Logic Analysis
Abstraction predicates: unary predicates.
Element’s role = set of abstraction predicates satisfied
Collapse elements of a role into summary elements.
Use integrity constraints to retreive concrete states.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Action Application on Belief States
U
V
in
bin
object
isGlassisPaper
in
bin
isPaper isGlass
object
1
2
in
bin
isPaper isGlass
object
3
4
in
bin
isPaper isGlass
object2n
2n−1
Axn: CollectAnObject()
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Action Application on Belief States
A simpler case: only paper objects and containers
container, forPaper, empty
isPaper
object
binb c
o
b
isPaper
oCollect(o,c)
in
bin
empty
object
container, forPaper
collected
in
c
in
Underspecified action application
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Drawing Out Action Arguments
Rolei
φ
S0
Rolei Role
iRolei
Rolei
φφ
S SS1 2 3
Rolei
φφ
Rolei
Rolei
S S1 2
Focus
Coerce
φ constrained to be unique and satisfiable
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Drawing Out Action Arguments
Rolei
φ
S0
Rolei
φφ
Rolei
Rolei
S S1 2
Draw
out an element labelled
φ
φ constrained to be unique and satisfiable
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Concrete Representation Abstraction Actions on Belief States
Summary of Action Application
Draw-out action arguments prior to application
Use focus and coerce to create cases for properties of drawnout of objects.Branches caused:
Classifiable, e.g #R{S} > 1Unpredictable at planning-time, e.g. “object type=paper”
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Plan Generalization Plan Merging Preconditions
Plan Generalization
Use abstract structures to recognize loop invariants in example concrete plans.
Example Execution
goToNextBin()S 0#
S 1# senseType() S 2
# preProc−Paper() S 3# collectPaper()
S 4#
2 objects of each type collected;
2 bins remaining
Tracing
S 0 S 2preProc−Paper() S 3S 1
S 5 S 7
{bin}# (S ) > 10
S 0
senseType()
#{object, isPaper}:+1#{object}: −1
goToNextBin()
#{bin}: −1#{bin, visited}: +1
Not role−count classifiable
collectPaper()
#{object, isPaper}: −1
#{object, isPaper,
#{container, forPaper}: +1
empty}: −1#{container, forPaper
collected}: +1
#{bin,visited}: −1
#{bin,visited,empty}: +1
Developed for completely observable settings [Srivastava et al., 2008]
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Plan Generalization Plan Merging Preconditions
Merging Generalized Plans
Find Loops
S 0goToNextBin() senseType()
S 2preProc−Paper()
S 3S 1
goToNextBin() S 6senseType()S 5
S 7
S 8
collectPaper()
Plan for Unhandled StructurepreProc−Glass() collectGlass() goToNextBin()
S 7#
S 9#
S 10#
S 11#
Generalize and Merge
S 0goToNextBin() senseType()
S 2preProc−Paper()
S 3S 1S 5 goToNextBin()
S 8
S 6
S 7 S 9preProc−Glass() collectGlass()
S 10S 12
collectPaper()
senseType()
senseType()
goToNextBin()
A single plan may not explore all possibilities.
Construct problem instances from unsolved belief states.
Solve them using classical planners.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results Plan Generalization Plan Merging Preconditions
Finding Preconditions
Branches solve only some members of abstract structures.
Classify branches using role counts; propagate backwards.
Need for doing this constrains predicate update formulas.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Example ResultsInitial: p0 = ‖{paper, collected}‖; pc0 = ‖{empty,container,forPaper}‖;g0, gc0 : similar for glass; b0 = ‖{bin}‖
Loop 1goToNextBin()
senseType()
apply−PaperPreProc(obj)
senseType()
apply−PaperPreProc(obj)
collect−PaperCont(obj)
collect−Paper−Cont(obj)
paper
paper
Final: p0 + l1; pc0 − l1; b0 − l1
Solves 1 instance out of every2n
Loops 1 & 2goToNextBin()
senseType()
apply−PaperPreProc(obj)
apply−GlassPreProc(obj)
senseType()
apply−PaperPreProc(obj)
collect−PaperCont(obj)
goToNextBin()
collect−Glass−Cont(obj)
collect−Paper−Cont(obj)
paper
2
Final: p0 + l1; pc0 − l1; g0 +l2; gc0 − l2; b0 − l1 − l2
2n−1 + 1 out of every 2n
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Transport Domain
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Transport Domain: Results
Initial undelivered counts:m0 = ‖{monitor, atD2}‖; s0 = ‖{server, atD1}‖
Loop 1
load(server, T2)
mv(T2, D3)
load(server, T1)
unload(T2) mv(T2, L)
mv(T2, D2)
mv(T1, L) unload(T1)
mv(T1,D1)
load(LCD, T2)
mv(T2,L)
server present
Final: mo − l1; s0 − l1
Loops 1 & 2
load(server, T2)
mv(T2, D3)
load(server, T1)
unload(T2) mv(T2, L)
mv(T2, D2)
mv(T1, L) unload(T1)
mv(T1,D1)
load(LCD, T2)
mv(T2,L)load(server,T2)mv(T2, D1)
mv(T2,L)
server lost
Final: m0− l1; so− l1−k1
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Solutions: Recycling and Transport
goToNextBin()
senseType()
apply−PaperPreProc(obj)
apply−GlassPreProc(obj)
senseType()
apply−PaperPreProc(obj)
collect−PaperCont(obj)collect−Glass−Cont(obj)
apply−GlassPreProc(obj)
goToNextBin()
collect−Glass−Cont(obj)
collect−Paper−Cont(obj)
Recycling
forkLift(kind1, T1)
forkLift(kind1, T2)
mv(T1, L)
mv(T2, L)
load(kind1, T1)
unload(T1) mv(T1,D1)
mv(T2,L)
load(kind1, T2)
mv(T2, D3)
load(kind2, T2)
mv(T2, D2)
unload(T2)
load(kind1,T2)
forkLift(kind1, T2)
mv(T2, D1)
mv(T2,L)
Transport
2
3
4
2
2
3
4
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Conclusions
An approach for representing unknown quantities forplanning.
Methods for finding generalized plans with branches andloops.
Automatic computation of preconditions for many kinds ofnested loops in a broad class of domains.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Example Results: Domain Coverage
0
0.2
0.4
0.6
0.8
1
0 5 10 15 20 25 30 35
Cov
erag
e (D
)
Max Number of Bins (n)
D(n>=8) = 1
D(n>=8) = 0.5
D(n>=8) = 0.25
CFF-soln7Gen(Eg 1)
Gen(Eg 1+2)Gen(Eg 1..3)Gen(Eg 1..4)
Dπ(n) = |Sπ(n)|/|T (n)|
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Merging Generalized Plans: Algorithm
Input: Existing plan Π, eg trace tracei
Output: Extension of Πif Π = ∅ then1
Π← tracei2return Π3
endrepeat4
mpΠ, mpt ← findMergePoint(Π, tracei, bpΠ, bpt)5if mpΠ found and not first iteration then6
attachEdges(Π, tracei, bpt, mpt, mpΠ, bpΠ)7
endif mpΠ found then8
bpΠ, bpt ← findBranchPoint(Π, tracei, mpΠ, mpt)9
enduntil new bpΠ or mpΠ not foundreturn Π10
Algorithm 1: ARANDA-Merge
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Related Work
Plans with Loops[Winner and Veloso, 2007]: no preconditions or sensingactions, but use partial ordering.[Levesque, 2005]: single planning parameter, limitedpreconditions.[Cimatti et al., 2003]: “hard” loops.
Planning with unknown quantities:[Milch et al., 2005]: action operators not provided.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Plan Generalization: Example
delivered, Crate
delivered, CrateCrate
Truck
at
Dock
Loc
dest, at
dest, at
Garage
Chosen,Crate Loc
atat
at
dest
destCrate
Crate
delivered, Crate
dest
dest
Garage
Dockat
at
Crate
Chosen
Truck
at
Loc
dest, at
delivered, Crate
dest
dest
Garage
Dockat
at
Crate
Chosen
Truck
at
Loc
dest, at
delivered, Crate
delivered, Crate
delivered, CratedestDock
Loc
dest, at
Garage
Truck
at
at
Chosen,Crate
Crate
dest
Loc
dest, at
Crate
findDest(); Load(); setTarget(destLoc); Drive(); Unload(); Choose(Crate)=
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
Plan Generalization: Example
Dockat dest
at
Truck
dest, at
Locationcrate
Garagedelivered;crate
Dockat dest
at
Truck
Locationcrate
Garage
Dock
at
Truck
dest, at
Location
Garagedelivered;crate
destat
chosen;crate
Dockat dest
at
Truck
dest, at
Locationcrate
Garagedelivered;crate
S1
S2
S3
S4
Choose(crate)
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
References I
Cimatti, A., Pistore, M., Roveri, M., and Traverso, P. (2003).Weak, strong, and strong cyclic planning via symbolic modelchecking.Artif. Intell., 147(1-2):35–84.
Levesque, H. J. (2005).Planning with loops.In Proc. of IJCAI, pages 509–515.
Milch, B., Marthi, B., Russell, S. J., Sontag, D., Ong, D. L.,and Kolobov, A. (2005).Blog: Probabilistic models with unknown objects.In Proc. of IJCAI, pages 1352–1359.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties
Introduction Framework Planning Algorithms Results
References II
Sagiv, M., Reps, T., and Wilhelm, R. (2002).Parametric shape analysis via 3-valued logic.ACM Transactions on Programming Languages and Systems,24(3):217–298.
Srivastava, S., Immerman, N., and Zilberstein, S. (2008).Learning generalized plans using abstract counting.In Proc. of AAAI, pages 991–997.
Winner, E. and Veloso, M. (2007).LoopDISTILL: Learning domain-specific planners fromexample plans.In Workshop on AI Planning and Learning, ICAPS.
Siddharth Srivastava Planning with Unknown Object Quantities and Properties