Planning Probabilistic Roadmaps What if omnidirectional motion in Cspace is not permitted What if only a small portion of the space needs to be explored Treegrowing planners Idea grow a ID: 652264
Download Presentation The PPT/PDF document "Tree-Growing Sample-Based Motion" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Tree-Growing Sample-Based Motion PlanningSlide2
Probabilistic Roadmaps
What if omnidirectional motion in C-space is not permitted?
What if
only a small portion of the space needs to be explored?Slide3
Tree-growing planners
Idea: grow a
tree
of feasible paths from the start until it reaches a neighborhood of the goal
Sampling bias toward “boundary” of currently explored region, helps especially if the start is in a region with poor visibilityMany variants:Rapidly-exploring Random Trees (RRTs) are popular, easy to implement (LaValle and Kuffner 2001)
Expansive space trees (ESTs) use a different sampling strategy (Hsu et al 2001)SBL (Single-query, Bidirectional, Lazy planner) often efficient in practice (Sanchez-Ante and Latombe, 2005)Slide4
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward
xrand
TSlide5
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward
xrand
x
rand
x
nearSlide6
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward
xrand
x
rand
x
nearSlide7
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward
xrand
x
rand
x
nearSlide8
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward
xrandSlide9
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward
xrand
x
rand
x
nearSlide10
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward
xrandSlide11
RRT
Build
a tree
T
of configurations, starting at
xstartExtend:Sample a configuration xrand from C at randomFind the node xnear in T that is closest to xrand Extend a short path from xnear toward x
rand
Governed by a step size parameter
dSlide12Slide13
Implementation Details
Bottleneck: finding nearest neighbor each step
O(n) with naïve implementation => O(n
2
) overallKD tree data structure O(n1-1/d)Approximate nearest neighbors often very effectiveTerminate when extension reaches a goal setUsually visibility set of goal configurationBidirectional
strategyGrow a tree from goal as well as start, connect when closest nodes in either tree can “see” each otherSlide14
What is the sampling strategy?
Probability that a node gets selected for expansion is proportional to the volume of its
Voronoi
cellSlide15
Planning with Differential Constraints
(
Kinodynamic
Planning)Slide16
Paths for a Car-Like RobotSlide17
Setting
Differential constraints
Dynamics,
nonholonomic
systems
dq/dt = Sk fk(q)uk
Vector
fields
Controls
We’ll consider fewer control dimensions than state dimensionsSlide18
Example: 1D Point Mass
Mass M
2D configuration space (state space)
Controlled force f
Equations of motion:
x
v
dx/dt = v
d
v
/d
t
=
f
/
MSlide19
Example: 1D Point Mass
x
v
dx/dt = dv
d
v
/d
t
=
f
/
M
Solution:
v(t) = v(0)+t f /M
x(t) = x(0)+t v(0) + ½ t
2
f / M
x
v
f
=0Slide20
Example: 1D Point Mass
x
v
x
v
f
>0
dx/dt = dv
d
v
/d
t
=
f
/
M
Solution:
v(t) = v(0)+t f /M
x(t) = x(0)+t v(0) + ½ t
2
f / MSlide21
Example: 1D Point Mass
x
v
x
v
f<0
dx/dt = dv
d
v
/d
t
=
f
/
M
Solution:
v(t) = v(0)+t f /M
x(t) = x(0)+t v(0) + ½ t
2
f / MSlide22
Example: 1D Point Mass
x
v
x
v
|f|<=f
max
dx/dt = dv
d
v
/d
t
=
f
/
M
Solution:
v(t) = v(0)+t f /M
x(t) = x(0)+t v(0) + ½ t
2
f / MSlide23
Example: Car-Like Robot
Configuration space is 3-dimensional:
q = (
x, y,
q
)
But control space is 2-dimensional: (v, f) with
|
v
| = sqrt[(dx/dt)
2
+(dy/dt)
2
]
y
x
L
q
f
f
q
d
x
/
dt
=
v
cos
q
d
y
/
dt
=
v
sin
q
d
q
/
d
t = (
v
/
L
) tan
f
|
f
|
<
F
d
x
sin
q
– d
y
cos
q
= 0 Slide24
Example: Car-Like Robot
q = (x,y,q)
q’= dq/dt = (dx/dt,dy/dt,d
q
/dt)
dx sinq – dy cosq = 0 is a particular form of f(q,q’)=0A robot is nonholonomic if its motion is constrained by a non-integrable equation of the form f(q,q’) = 0
d
x
/dt
=
v
cos
q
d
y
/dt
= v sinq
d
q
/
d
t
= (
v
/
L
) tan
f
|
f
|
<
F
d
x
sin
q
– d
y
cos
q
= 0
y
x
L
q
f
f
qSlide25
Example: Car-Like Robot
y
x
L
q
f
f
q
d
x
/
dt
=
v
cos
q
d
y
/
dt
=
v
sin
q
d
q
/
d
t = (
v
/
L
) tan
f
|
f
|
<
F
d
x
sin
q
– d
y
cos
q
= 0
Lower-bounded turning radiusSlide26
y
x
L
q
f
f
q
How Can This Work?
Tangent Space/Velocity Space
x
y
q
(x,y,
q
)
q
(
dx,dy,d
q
)
(
dx,dy
)
dx/dt
=
v
cos
q
dy/dt
=
v
sin
q
d
q/
d
t = (
v
/
L
) tan
f
|
f
|
<
FSlide27
y
x
L
q
f
f
q
How Can This Work?
Tangent Space/Velocity Space
x
y
q
(x,y,
q
)
q
(
dx,dy,d
q
)
(
dx,dy
)
dx/dt
=
v
cos
q
dy/dt
=
v
sin
q
d
q/
d
t = (
v
/
L
) tan
f
|
f
|
<
FSlide28
Nonholonomic Path Planning Approaches
Two-phase planning (path deformation):
Compute collision-free path ignoring nonholonomic constraints
Transform this path into a nonholonomic one
Efficient, but possible only if robot is “controllable”Need for a “good” set of maneuversDirect planning (control-based sampling):Use “control-based” sampling to generate a tree of milestones until one is close enough to the goal (deterministic or randomized)Robot need not be controllable
Applicable to high-dimensional c-spacesSlide29
Control-Based Sampling
PRM sampling technique: Pick each milestone in some region
Control-based sampling:
Pick control vector (at random or not)
Integrate equation of motion over short duration (picked at random or not)
If the motion is collision-free, then the endpoint is the new milestoneTree-structured roadmapsNeed for endgame regionsSlide30
Example
1. Select a milestone
m
2. Pick
v
, f, and dt3. Integrate motion from m
new milestone m’
dx/dt
=
v
cos
q
dy/dt
=
v
sinq
d
q/
dt = (v
/L) tan f
|
f
|
<
FSlide31
Example
Indexing array:
A 3-D grid is placed over the configuration space. Each milestone falls into one cell of the grid. A maximum number of milestones is allowed in each cell (e.g., 2 or 3).
Asymptotic completeness:
If a path exists, the planner is guaranteed to find one if the resolution of the grid is fine enough.Slide32
Computed Paths
j
max
=
45
o
,
j
min
=
22.5
o
Car That Can Only Turn Left
j
max
=
45
o
Tractor-trailerSlide33
Control-Sampling RRT
Configuration
generator
f(x,u)Build a tree T of configurationsExtend:
Sample a configuration xrand from X at randomFind the node xnear in T that is closest to xrand Pick a control u that brings f(xnear,u
) close to xrandAdd f(xnear,u
) as a child of
x
near
in
TSlide34Slide35
Weaknesses of RRT’s strategy
Depends on the domain from which
x
rand
is sampledDepends on the notion of “closest”A tree that is grown “badly” by accident can greatly slow convergenceSlide36
Other strategies
Dynamic-domain RRTs
(
Yershova
et al 2008)Perturb samples in a neighborhood (EST, SBL)Lazy planning: delay expensive collision checks until end