Motion Planning Strategies for Robotics

 
Tree-Growing Sample-Based
Motion Planning
 
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?
 
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 visibility
Many 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)
 
RRT
 
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
 
T
 
RRT
 
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
 
x
rand
 
x
near
 
RRT
 
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
 
x
rand
 
x
near
 
RRT
 
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
 
x
rand
 
x
near
 
RRT
 
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
 
RRT
 
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
 
x
rand
 
x
near
 
RRT
 
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
RRT
Build a tree 
T
 of configurations, starting at x
start
Extend:
Sample a configuration 
x
rand
 from 
C
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Extend a short path from 
x
near
 toward 
x
rand
 
Implementation Details
 
Bottleneck: finding nearest neighbor each step
O(n) with naïve implementation => O(n
2
) overall
KD tree data structure O(n
1-1/d
)
Approximate nearest neighbors often very effective
Terminate when extension reaches a goal set
Usually visibility set of goal configuration
Bidirectional strategy
Grow a tree from goal as well as start, connect when closest
nodes in either tree can “see” each other
What is the sampling strategy?
Probability that a node gets selected for expansion is
proportional to the volume of its Voronoi cell
 
 
 
 
Planning with Differential
Constraints
 
(
Kinodynamic Planning)
 
Paths for a Car-Like Robot
 
Setting
 
Differential constraints
Dynamics, nonholonomic systems
 
d
q
/d
t
 = 
k
 
f
k
(
q
)
u
k
 
Vector fields
 
Controls
 
W
e
l
l
 
c
o
n
s
i
d
e
r
 
f
e
w
e
r
 
c
o
n
t
r
o
l
 
d
i
m
e
n
s
i
o
n
s
 
t
h
a
n
s
t
a
t
e
 
d
i
m
e
n
s
i
o
n
s
 
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 
/ 
M
 
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
=0
 
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 / M
 
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 / M
 
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 / M
 
Example: Car-Like Robot
 
Configuration space is 3-dimensional: 
q = (
x, y, 
)
But control space is 2-dimensional: 
(
v
, 
) 
with
|
v
| = sqrt[(dx/dt)
2
+(dy/dt)
2
]
 
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’)=0
 
A
 
r
o
b
o
t
 
i
s
 
n
o
n
h
o
l
o
n
o
m
i
c
 
i
f
 
i
t
s
 
m
o
t
i
o
n
 
i
s
 
c
o
n
s
t
r
a
i
n
e
d
 
b
y
 
a
 
n
o
n
-
i
n
t
e
g
r
a
b
l
e
 
e
q
u
a
t
i
o
n
 
o
f
 
t
h
e
 
f
o
r
m
 
f
(
q
,
q
)
 
=
 
0
 
Example: Car-Like Robot
Lower-bounded turning radius
How Can This Work?
Tangent Space/Velocity Space
How Can This Work?
Tangent Space/Velocity Space
 
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 maneuvers
Direct 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-spaces
 
Control-Based Sampling
 
PRM sampling technique: Pick each milestone in some
region
Control-based sampling:
1.
Pick control vector (at random or not)
2.
Integrate equation of motion over short duration (picked at
random or not)
3.
If the motion is collision-free, then the endpoint is the new
milestone
Tree-structured roadmaps
Need for 
endgame
 regions
Example
1. Select a milestone 
m
2
.
 
P
i
c
k
 
v
,
 
,
 
a
n
d
 
t
3. Integrate motion from 
m
    
 
new milestone 
m’
 
 
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.
 
 
Computed Paths
 
max
=
45
o
, 
min
=
22.5
o
 
Car That Can Only Turn Left
 
max
=
45
o
 
Tractor-trailer
 
Control-Sampling RRT
 
Configuration 
generator
 f(
x
,
u
)
Build a tree 
T
 of configurations
Extend:
Sample a configuration 
x
rand
 from 
X
 at random
Find the node 
x
near
 in 
T
 that is closest to 
x
rand
Pick a control 
u
 that brings f(
x
near
,
u
) close to 
x
rand
Add f(
x
near
,
u
) as a child of 
x
near
 
in 
T
 
 
 
Weaknesses of RRT’s strategy
 
Depends on the domain from which 
x
rand
 is
sampled
Depends on the notion of “closest”
A tree that is grown “badly” by accident can
greatly slow convergence
 
Other strategies
 
Dynamic-domain RRTs 
(Yershova et al 2008)
Perturb samples in a neighborhood (EST, SBL)
Lazy planning: delay expensive collision checks until end
Slide Note
Embed
Share

Motion planning in robotics involves techniques such as tree-growing sample-based planning, probabilistic roadmaps, and Rapidly-exploring Random Trees (RRTs). These methods focus on efficiently navigating complex environments while considering constraints like limited visibility and space exploration requirements.

  • Robotics
  • Motion Planning
  • RRTs
  • Probabilistic Roadmaps
  • Tree Growing

Uploaded on Sep 09, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Tree-Growing Sample-Based Motion Planning

  2. Probabilistic Roadmaps What if only a small portion of the space needs to be explored? What if omnidirectional motion in C-space is not permitted?

  3. Tree-growing planners Idea: grow a tree of feasible paths from the start until it reaches a neighborhood of the goal Sampling biastoward boundary of currently explored region, helps especially if the start is in a region with poor visibility Many 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)

  4. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand T

  5. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand xnear xrand

  6. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand xnear xrand

  7. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand xnear xrand

  8. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand

  9. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand xrand xnear

  10. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand

  11. RRT Build a tree T of configurations, starting at xstart Extend: Sample a configuration xrand from C at random Find the node xnear in T that is closest to xrand Extend a short path from xnear toward xrand Governed by a step size parameter

  12. Implementation Details Bottleneck: finding nearest neighbor each step O(n) with na ve implementation => O(n2) overall KD tree data structure O(n1-1/d) Approximate nearest neighbors often very effective Terminate when extension reaches a goal set Usually visibility set of goal configuration Bidirectional strategy Grow a tree from goal as well as start, connect when closest nodes in either tree can see each other

  13. What is the sampling strategy? Probability that a node gets selected for expansion is proportional to the volume of its Voronoi cell

  14. Planning with Differential Constraints (Kinodynamic Planning)

  15. Paths for a Car-Like Robot

  16. Setting Differential constraints Dynamics, nonholonomic systems dq/dt = kfk(q)uk Vector fields Controls We ll consider fewer control dimensions than state dimensions

  17. Example: 1D Point Mass Mass M x v 2D configuration space (state space) Controlled force f Equations of motion: dx/dt = v dv/dt = f / M

  18. Example: 1D Point Mass x v dx/dt = dv dv/dt = f / M v f=0 Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + t2 f / M x

  19. Example: 1D Point Mass x v dx/dt = dv dv/dt = f / M v f>0 Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + t2 f / M x

  20. Example: 1D Point Mass x v dx/dt = dv dv/dt = f / M v f<0 Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + t2 f / M x

  21. Example: 1D Point Mass x v dx/dt = dv dv/dt = f / M v |f|<=fmax Solution: v(t) = v(0)+t f /M x(t) = x(0)+t v(0) + t2 f / M x

  22. Example: Car-Like Robot dx/dt = v cos dy/dt = v sin dx sin dy cos = 0 L d dt = (v/L) tan y | < x Configuration space is 3-dimensional: q = (x, y, ) But control space is 2-dimensional: (v, ) with |v| = sqrt[(dx/dt)2+(dy/dt)2]

  23. Example: Car-Like Robot dx/dt = v cos dy/dt = v sin dx sin dy cos = 0 L d dt = (v/L) tan y | < x q = (x,y,q) q = dq/dt = (dx/dt,dy/dt,dq/dt) dx sinq dy cosq = 0is a particular form of f(q,q )=0 A robot is nonholonomic if its motion is constrained by a non- integrable equation of the form f(q,q ) = 0

  24. Example: Car-Like Robot dx/dt = v cos dy/dt = v sin dx sin dy cos = 0 L d dt = (v/L) tan y | < x Lower-bounded turning radius

  25. How Can This Work? Tangent Space/Velocity Space L (x,y, ) (dx,dy,d ) y x dx/dt = v cos dy/dt = v sin y (dx,dy) d dt = (v/L) tan x | <

  26. How Can This Work? Tangent Space/Velocity Space L (x,y, ) (dx,dy,d ) y x dx/dt = v cos dy/dt = v sin y (dx,dy) d dt = (v/L) tan x | <

  27. 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 maneuvers Direct 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-spaces

  28. Control-Based Sampling PRM sampling technique: Pick each milestone in some region Control-based sampling: 1. Pick control vector (at random or not) 2. Integrate equation of motion over short duration (picked at random or not) 3. If the motion is collision-free, then the endpoint is the new milestone Tree-structured roadmaps Need for endgame regions

  29. Example dx/dt = v cos dy/dt = v sin d dt = (v/L) tan | < 1. Select a milestone m 2. Pick v, , and t 3. Integrate motion from m new milestone m

  30. 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.

  31. Computed Paths Tractor-trailer Car That Can Only Turn Left max=45o, min=22.5o max=45o

  32. Control-Sampling RRT Configuration generator f(x,u) Build a tree T of configurations Extend: Sample a configuration xrand from X at random Find the node xnear in T that is closest to xrand Pick a control u that brings f(xnear,u) close to xrand Add f(xnear,u) as a child of xnearin T

  33. Weaknesses of RRTs strategy Depends on the domain from which xrand is sampled Depends on the notion of closest A tree that is grown badly by accident can greatly slow convergence

  34. Other strategies Dynamic-domain RRTs (Yershova et al 2008) Perturb samples in a neighborhood (EST, SBL) Lazy planning: delay expensive collision checks until end

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#