15-887 planning, execution and learning low-level planning...
TRANSCRIPT
![Page 1: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/1.jpg)
15-887
Planning, Execution and Learning
Low-level Planning Representations
Maxim Likhachev
Robotics Institute
Carnegie Mellon University
![Page 2: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/2.jpg)
Carnegie Mellon University 2
Example of Lower-level Planning • Opening and moving through a door
![Page 3: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/3.jpg)
Carnegie Mellon University 3
Example of Lower-level Planning • Opening and moving through a door
– State: <Bx, By, BѲ, LArmq1,…, LArmq7, RArmq1,…, RArmq7, λ, Gripper={open,close}>
– Actions: <dBx, dBy, dBѲ, dLArmq1,…, dLArmq7, dRArmq1,…, dRArmq7, dGripper>
– Goal: Bx=Bxg, By=Byg, BѲ =BѲg
– Constraints:• Environmental (e.g., obstacles)
• Kinematics of the robot
λ
Bxg, Byg, BѲg
![Page 4: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/4.jpg)
1. Construct a graph representing the planning problem
2. Search the graph for a (hopefully, close-to-optimal)
path
The two steps above are often interleaved
Planning as Graph Search Problem
Carnegie Mellon University 4
![Page 5: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/5.jpg)
1. Construct a graph representing the planning problem
2. Search the graph for a (hopefully, close-to-optimal)
path
The two steps above are often interleaved
Planning as Graph Search Problem
Carnegie Mellon University 5
![Page 6: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/6.jpg)
Graph Search using an Implicit Graph (allocated as
needed by the search):
1. Instantiate Start state
2. Start searching with the Start state using functions
a) Succs = GetSuccessors (State s, Action)
b) ComputeEdgeCost (State s, Action a, State s’)
and allocating memory for the generated states
Interleaving Search and Graph Construction
Carnegie Mellon University 6
Using Implicit Graphs
is critical for most (>2D) problems
in Robotics
![Page 7: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/7.jpg)
1. Construct a graph representing the planning problem
2. Search the graph for a (hopefully, close-to-optimal)
path
The two steps above are often interleaved
Planning as Graph Search Problem
Carnegie Mellon University 7
![Page 8: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/8.jpg)
Carnegie Mellon University
Configuration Space
• Configuration is legal if it does not intersect any obstacles
and is valid
• Configuration Space is the set of legal configurations
8
Simple problem of planning for the base:
![Page 9: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/9.jpg)
Carnegie Mellon University
Configuration Space
• Configuration is legal if it does not intersect any obstacles
and is valid
• Configuration Space is the set of legal configurations
9
Simple problem of planning for the base:
What is the dimensionality of this
configuration space?
![Page 10: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/10.jpg)
Carnegie Mellon University
C-Space Transform
• Configuration space for rigid-body objects in 2D world is:
- 2D if object is circular
R R
r
C-Space
Transform
• expand all obstacles by the radius of the object r
• planning can be done for a point R (and not a circle anymore)
10
![Page 11: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/11.jpg)
Carnegie Mellon University
C-Space Transform
• Configuration space for rigid-body objects in 2D world is:
- 2D if object is circular
R R
r
C-Space
Transform
• expand all obstacles by the radius of the object r
• planning can be done for a point R (and not a circle anymore)
Is this a correct
expansion?
11
![Page 12: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/12.jpg)
Carnegie Mellon University
C-Space Transform
• Configuration space for rigid-body objects in 2D world is:
- 2D if object is circular
R R
r
C-Space
Transform
• advantage: planning is faster for a single point
• disadvantage: need to expand obstacles every time map is
updated (O(n) methods exist to compute distance transforms)
why?
12
![Page 13: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/13.jpg)
Carnegie Mellon University
C-Space Transform
• Configuration space for arbitrary objects in 2D world is:
- 3D if object is non-circular
C-Space
Transform
• advantage: planning is faster for a single point
• disadvantage: constructing C-space is expensive
R
R
r
x
y
= 0º
= 0º
13
![Page 14: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/14.jpg)
Carnegie Mellon University 14
Example of Lower-level Planning • Opening and moving through a door
– State: <Bx, By, BѲ, LArmq1,…, LArmq7, RArmq1,…, RArmq7, λ, Gripper={open,close}>
– Actions: <dBx, dBy, dBѲ, dLArmq1,…, dLArmq7, dRArmq1,…, dRArmq7, dGripper>
– Goal: Bx=Bxg, By=Byg, BѲ =BѲg
– Constraints:• Environmental (e.g., obstacles)
• Kinematics of the robot
λ
Bxg, Byg, BѲg
What is the dimensionality of this
configuration space?
![Page 15: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/15.jpg)
Carnegie Mellon University 15
Example of Lower-level Planning • Opening and moving through a door
– State: <Bx, By, BѲ, LArmq1,…, LArmq7, RArmq1,…, RArmq7, λ, Gripper={open,close}>
– Actions: <dBx, dBy, dBѲ, dLArmq1,…, dLArmq7, dRArmq1,…, dRArmq7, dGripper>
– Goal: Bx=Bxg, By=Byg, BѲ =BѲg
– Constraints:• Environmental (e.g., obstacles)
• Kinematics of the robot
λ
Bxg, Byg, BѲg
What is the dimensionality of this
configuration space?
That’s why usually
configuration space is NOT explicitly constructed
and collision checking is done on demand
![Page 16: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/16.jpg)
Carnegie Mellon University
• Cell decomposition
- X-connected grids
- lattice-based graphs
• Skeletonization of the environment/C-Space
-Visibility graphs
- Voronoi diagrams
- Probabilistic roadmaps
Graph Construction
replicate action
template online
16
![Page 17: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/17.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Exact Cell Decomposition:
- overlay convex exact polygons over the free C-space
- construct a graph, search the graph for a path
- overly expensive for non-trivial environments and/or
above 2D
17
![Page 18: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/18.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- overlay uniform grid over the C-space (discretize)
discretize
planning map
18
![Page 19: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/19.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- construct a graph and search it for a least-cost path
discretize
planning map
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graphsearch the graph
for a least-cost path
from sstart to sgoal
19
![Page 20: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/20.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- construct a graph and search it for a least-cost path
discretize
planning map
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graphsearch the graph
for a least-cost path
from sstart to sgoal
eight-connected grid
(one way to construct a graph)
20
![Page 21: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/21.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- construct a graph and search it for a least-cost path
- VERY popular due to its simplicity
- expensive in high-dimensional spaces construct the grid on-the-fly, i.e. while planning – still expensive
discretize
21
![Page 22: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/22.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- what to do with partially blocked cells?
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graphsearch the graph
for a least-cost path
from sstart to sgoal
22
![Page 23: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/23.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- what to do with partially blocked cells?
- make it untraversable – incomplete (may not find a
path that exists)
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graphsearch the graph
for a least-cost path
from sstart to sgoal
23
![Page 24: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/24.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- what to do with partially blocked cells?
- make it traversable – unsound (may return invalid
path)
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graphsearch the graph
for a least-cost path
from sstart to sgoal
so, what’s the solution?
24
![Page 25: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/25.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- solution 1:
- make the discretization very fine
- expensive, especially in high-D
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graphsearch the graph
for a least-cost path
from sstart to sgoal
25
![Page 26: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/26.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Approximate Cell Decomposition:
- solution 2:
- make the discretization adaptive
- various ways possible
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graphsearch the graph
for a least-cost path
from sstart to sgoal
Any ideas?
26
![Page 27: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/27.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Graph construction:
- connect neighbors
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graph
eight-connected grid
27
![Page 28: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/28.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Graph construction:
- connect neighbors
- path is restricted to 45º degrees
28
![Page 29: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/29.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Graph construction:
- connect neighbors
- path is restricted to 45º degrees
Ideas to improve it?
29
![Page 30: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/30.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Graph construction:
- connect cells to neighbor of neighbors
- path is restricted to 22.5º degrees
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graph
16-connected grid
30
![Page 31: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/31.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Graph construction:
- connect cells to neighbor of neighbors
- path is restricted to 22.5º degrees
S1 S2 S3
S4 S5
S6
S1 S2 S3
S4 S5
S6
convert into a graph
16-connected grid
Disadvantages?
31
Dynamically generated directions (for low-d problems):
Field D* [Ferguson & Stentz, ‘06],
Theta* [Nash & Koenig, ‘13]
![Page 32: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/32.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Graph construction:- lattice graph for computing feasible paths [Pivtoraiko & Kelly ’05]
motion primitives
replicate it
online
each transition is feasible
(constructed beforehand)
outcome state is the center of the corresponding cell
32
![Page 33: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/33.jpg)
Carnegie Mellon University
Planning via Cell Decomposition
• Graph construction:
- lattice graph [Pivtoraiko & Kelly ’05]
- pros: sparse graph, feasible paths
- cons: possible incompleteness
motion primitives
replicate it
online
33
![Page 34: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/34.jpg)
Planning via Cell Decomposition
• Graph construction:
- lattice graph [Pivtoraiko & Kelly ’05]
Carnegie Mellon University 34
example of
motion primitives for PR2
Why forward motion primitives
duplicated (one short, one long)?
[Hornung et al., ’12]
![Page 35: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/35.jpg)
Planning via Cell Decomposition
• Graph construction:
- lattice graph [Pivtoraiko & Kelly ’05]
Carnegie Mellon University 35
example of
motion primitives for PR2
How is it different when planning
dynamically feasible paths?
[Hornung et al., ’12]
![Page 36: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/36.jpg)
Carnegie Mellon University
Skeletonization of the C-Space
Skeletonization: construction of a unidimensional
representation of the C-space
• Visibility graph
• Voronoi diagram
• Probabilistic road-map
36
![Page 37: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/37.jpg)
Carnegie Mellon University
• Visibility Graphs [Wesley & Lozano-Perez ’79]
- based on idea that the shortest path consists of obstacle-free
straight line segments connecting all obstacle vertices and start
and goal
Planning via Skeletonization
start
configuration
goal
configuration
C-space or environment
suboptimal path
37
![Page 38: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/38.jpg)
Carnegie Mellon University
• Visibility Graphs [Wesley & Lozano-Perez ’79]
- based on idea that the shortest path consists of obstacle-free
straight line segments connecting all obstacle vertices and start
and goal
Planning via Skeletonization
start
configuration
goal
configuration
C-space or environment
suboptimal path
Assumption?
38
![Page 39: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/39.jpg)
Carnegie Mellon University
• Visibility Graphs [Wesley & Lozano-Perez ’79]
- construct a graph by connecting all vertices, start and goal by
obstacle-free straight line segments (graph is O(n2), where n - # of vert.)
- search the graph for a shortest path
Planning via Skeletonization
39
![Page 40: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/40.jpg)
Carnegie Mellon University
• Visibility Graphs- advantages:
- independent of the size of the environment
- disadvantages:
- path is too close to obstacles
- hard to deal with non-uniform cost function
- hard to deal with non-polygonal obstacles
Planning via Skeletonization
40
![Page 41: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/41.jpg)
Carnegie Mellon University
• Voronoi diagrams [Rowat ’79]
- voronoi diagram: set of all points that are equidistant to two
nearest obstacles
- based on the idea of maximizing clearance instead of
minimizing travel distance
Planning via Skeletonization
the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig
41
2DOF arm Configuration space Voronoi diagram
![Page 42: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/42.jpg)
Carnegie Mellon University
• Voronoi diagrams- compute voronoi diagram (O (n log n), where n - # of invalid configurations)
- add a shortest path segment from start to the nearest segment
of voronoi diagram
- add a shortest path segment from goal to the nearest segment
of voronoi diagram
- compute shortest path in the graph
Planning via Skeletonization
the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig
42
2DOF arm Configuration space Voronoi diagram
![Page 43: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/43.jpg)
Carnegie Mellon University
• Voronoi diagrams- advantages:
- tends to stay away from obstacles
- independent of the size of the environment
- disadvantages:
- can result in highly suboptimal paths
Planning via Skeletonization
the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig
43
2DOF arm Configuration space Voronoi diagram
![Page 44: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/44.jpg)
Carnegie Mellon University
• Voronoi diagrams- advantages:
- tends to stay away from obstacles
- independent of the size of the environment
- disadvantages:
- can result in highly suboptimal paths
Planning via Skeletonization
In which environments?
the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig
44
2DOF arm Configuration space Voronoi diagram
![Page 45: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/45.jpg)
Carnegie Mellon University 45
Planning via Skeletonization
• Sampling-based planning:– generate a sparse (sample-based) representation (graph) of a free C-space (Cfree)
– search the generated representation for a solution
– can interleave the construction of the representation with the search
the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig
![Page 46: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/46.jpg)
Carnegie Mellon University 46
Planning via Skeletonization
• Sampling-based planning:– typically provides probabilistic completeness guarantees (guaranteed to find a
solution, if one exists, in the limit of the number of samples)
– in many domains, is much faster and requires much less memory
– well-suited for high-dimensional planning
the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig
![Page 47: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/47.jpg)
Carnegie Mellon University 47
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1. Preprocessing Phase: Build a roadmap (graph) G which,
hopefully, should be accessible from any point in Cfree
Step 2. Query Phase: Given a start configuration qI and goal
configuration qG, connect them to the roadmap G using a local planner,
and then search the augmented roadmap for a shortest path from qI to
qG
![Page 48: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/48.jpg)
Carnegie Mellon University 48
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1. Preprocessing Phase: Build a roadmap (graph) G which,
hopefully, should be accessible from any point in Cfree
Step 2. Query Phase: Given a start configuration qI and goal
configuration qG, connect them to the roadmap G using a local planner,
and then search the augmented roadmap for a shortest path from qI to
qG Any ideas for the local planner?
![Page 49: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/49.jpg)
Carnegie Mellon University 49
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1: Preprocessing Phase.
borrowed from“Planning Algorithms” by S. LaValle
![Page 50: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/50.jpg)
Carnegie Mellon University 50
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1: Preprocessing Phase.
borrowed from“Planning Algorithms” by S. LaValle
new ith configuration sample
some region around
the configuration sample
can be connected
by a local planner
![Page 51: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/51.jpg)
Carnegie Mellon University 51
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1: Preprocessing Phase.
borrowed from“Planning Algorithms” by S. LaValle
can be replaced with:
“number of successors of q < K”
![Page 52: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/52.jpg)
Carnegie Mellon University 52
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1: Preprocessing Phase.
borrowed from“Planning Algorithms” by S. LaValle
Efficient implementation of q Є NEIGHBORHOOD(α(i),G)
- select K vertices closest to α(i)
- select K (often just 1) closest points from each of the components in G
- select all vertices within radius r from α(i)
![Page 53: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/53.jpg)
Carnegie Mellon University 53
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1: Preprocessing Phase.
borrowed from“Planning Algorithms” by S. LaValle
Sampling strategies
- sample uniformly from Cfree
- select at random an existing vertex with a probability distribution inversely
proportional to how well-connected a vertex is, and then generate a random motion
from it to get a sample α(i)
- bias sampling towards obstacle boundaries
![Page 54: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/54.jpg)
Carnegie Mellon University 54
Probabilistic Roadmaps (PRMs) [Kavraki et al. ’96]
Step 1: Preprocessing Phase.
borrowed from“Planning Algorithms” by S. LaValle
Sampling strategies
- sample q1 and q2 from Gaussian around q1 and if either is in Cobs, then the
other one is set as α(i)
- sample q1, q2 , q3 and set q2 as α(i) if q2 is in Cfree, and q1 and q3 are in Cobs
- bias sampling away from obstacles
![Page 55: 15-887 Planning, Execution and Learning Low-level Planning ...mmv/planning/handouts/lowlevelplanrep_15887.pdf · Planning, Execution and Learning Low-level Planning Representations](https://reader030.vdocuments.us/reader030/viewer/2022040905/5e79e3ff64fc9842da2e7638/html5/thumbnails/55.jpg)
• Graph constructions
- Resolution complete methods- N-dimensional grids
- Lattice-based graphs
- Skeletonization methods- Visibility graphs
- Voronoi diagrams
- Probabilistic Roadmaps
• Methods for searching the graph – in later classes
• Interleaving the above two steps is critical
Summary
Carnegie Mellon University 55