lec20. MOTION ANYLISIS OF THE DATA ANALYSIS OF THW SOFTWARE VTECHNOLOGY

loosernav 8 views 41 slides Jun 29, 2024
Slide 1
Slide 1 of 41
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41

About This Presentation

PPT ABOUT MOTION PROJECT


Slide Content

RI 16-735, Howie Choset with slides from James KuffnerRobotic Motion Planning:
RRT’s
Robotics Institute 16-735
http://www.cs.cmu.edu/~motion
Howie Choset
http://www.cs.cmu.edu/~choset

RI 16-735, Howie Choset with slides from James Kuffner
Overview
• Probabilistic RoadMap Planning (PRM) by Kavraki
– samples to find free configurations
– connects the configurations (creates a graph)
– is designed to be a multi-query planner
• Expansive-Spaces Tree planner (EST) and Rapidly-exploring
Random Tree planner (RRT)
– are appropriate for single query problems
• Probabilistic Roadmap of Tree (PRT) combines both ideas

RI 16-735, Howie Choset with slides from James Kuffner
Next HW Assignment
• Implement a PRM planner for a multi-link (at least four) robot arm.
The arm can be a simple planar arm (which will simplify the
graphics), or a 3D arm. The arm can be composed of line
segments (which will make collision checking easier) rather than
finite volume links. All you need to do is write code to detect the
intersection between line segments and polygons. If you want,
you can use collision checking software that is available on the
web.
• How was the previous?
• This is the last one

RI 16-735, Howie Choset with slides from James Kuffner
Rapidly-Exploring Random Trees (RRTs)
[Kuffner, Lavalle]
The Basic RRT
single tree
bidirectional
multiple trees (forests)
RRTs with Differential Constraints
nonholonomic
kinodynamic systems
closed chains
Some Observations and Analysis Some Observations and Analysis
number of branches number of branches
uniform convergence uniform convergence
resolution completeness resolution completeness
leaf nodes vs. interior nodes leaf nodes vs. interior nodes
Performance & Implementation Issues Performance & Implementation Issues
Metrics and Metric sensitivity Metrics and Metric sensitivity
Nearest neighbors Nearest neighbors
Collision Checking Collision Checking
Choosing appropriate step sizes Choosing appropriate step sizes

RI 16-735, Howie Choset with slides from James Kuffner
High-Dimensional Planning as of 1999
Kavraki, Svestka, Latombe,
Overmars ’95; Amato, Wu ’96;
Simeon, Laumound, Nissoux ’99;
Boor, Overmars, van der Stappen
’99;
Barraquand, Latombe ’89; Mazer,
Talbi, Ahuactzin, Bessiere ’92;
Hsu, Latombe, Motwani ’97;
Vallejo, Jones, Amato ’99;
EXAMPLE: Potential-Field
EXAMPLE: PRM
Single-Query:
Multiple-Query:
Greedy, can take
a long time but
good when you
can dive into the
solution
Spreads out like
uniformity but
need lots of
sample to cover
space
TENSION

RI 16-735, Howie Choset with slides from James Kuffner
Rapidly-Exploring Random Tree

RI 16-735, Howie Choset with slides from James KuffnerPath Planning with RRTs
(Rapidly-Exploring Random Trees)
BUILD_RRT (q
init
) {
T.init(q
init
);
for k= 1 to K do
q
rand
= RANDOM_CONFIG();
EXTEND(T, q
rand
)
}
EXTEND(T, q
rand
)
q
near
q
new
q
init
q
rand
[ Kuffner & [ Kuffner & LaValle LaValle, ICRA , ICRA’’00]00]

RI 16-735, Howie Choset with slides from James KuffnerPath Planning with RRTs
(Some Details)
BUILD_RRT (q
init
) {
T.init(q
init
);
for k= 1 to K do
q
rand
= RANDOM_CONFIG();
EXTEND(T, q
rand
)
}
EXTEND(T, q
rand
)
q
near
q
new
q
init
q
rand
STEP_LENGTH: How far to sample
1. Sample just at end point
2. Sample all along
3. Small Step
Extend returns
1. Trapped, cant make it
2. Extended, steps toward node
3. Reached, connects to node
STEP_SIZE
1. Not STEP_LENGTH
2. Small steps along way
3. Binary search

RI 16-735, Howie Choset with slides from James Kuffner
RRT vs. Exhaustive Search
• Discrete
• Continuous
A* may try all edges Probabilistically subsample all edges
Continuum of choices Probabilistically subsample all edges

RI 16-735, Howie Choset with slides from James Kuffner
Naïve Random Tree
Start with middle
Sample near this
node
Then pick a node at
random in tree
Sample near it
End up Staying in
middle

RI 16-735, Howie Choset with slides from James Kuffner
RRTs and
Bias toward large Voronoi regions
http://msl.cs.uiuc.edu/rrt/gallery.html

RI 16-735, Howie Choset with slides from James Kuffner
Biases
• Bias toward larger spaces
• Bias toward goal
– When generating a random sample, with some probability pick the
goal instead of a random node when expanding
– This introduces another parameter
– James’ experience is that 5-10% is the right choice
– If you do this 100%, then this is a RPP

RI 16-735, Howie Choset with slides from James Kuffner
RRT vs. RPP
goal
Greedy
gets you
stuck here
RRT’s will pull away and better
approximate cost-to-go

RI 16-735, Howie Choset with slides from James Kuffner
Grow two RRTstowards each other
q
init
q
goal
q
new
q
target
q
near
[ Kuffner, [ Kuffner, LaValle LaValleICRA ICRA ‘‘00]00]

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
A single RRT-Connect iteration...

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
1) One tree grown using random target

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
q
target
2) New node becomes target for other tree

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
q
target
q
near
3) Calculate node “nearest”to target

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
q
new
q
target
q
near
4) Try to add new collision-free branch

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
q
new
q
target
q
near
5) If successful, keep extending branch

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
q
new
q
target
q
near
5) If successful, keep extending branch

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
q
new
q
target
q
near
5) If successful, keep extending branch

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
q
near
6) Path found if branch reaches target

RI 16-735, Howie Choset with slides from James Kuffner
q
init
q
goal
7) Return path connecting start and goal

RI 16-735, Howie Choset with slides from James Kuffner
Basic RRT-Connect
RRT_CONNECT (q
init,
q
goal
) {
T
a
.init(q
init
); T
b
.init(q
goal
);
for k= 1 to K do
q
rand
= RANDOM_CONFIG();
if not (EXTEND(T
a
, q
rand
) = Trapped) then
if (EXTEND(T
b
, q
new
) = Reached) then
Return PATH(T
a,
T
b
);
SWAP(T
a,
T
b
);
Return Failure;
}
Instead of switching, use T
a
as smaller tree. This helped James a lot

RI 16-735, Howie Choset with slides from James Kuffner
q
near
q
rand
q
rand
q
near
q q u uqf q

=′at arrive to from action use --- ),(
)) , ( min( arg chose
*
q qd u
rand

=
Is this the best?
Mixing position and velocity, actually mixi ng position, rotationand velocity is hard

RI 16-735, Howie Choset with slides from James Kuffner
So, what do they do?
• Use nearest neighbor anyway
• As long as heuristic is not bad, it helps
(you have already given up completeness and optimality, so what the heck?)
• Nearest neighbor calculations begin to dominate the collision
avoidance (James says 50,000 nodes)
• Remember K-D trees

RI 16-735, Howie Choset with slides from James Kuffner
Articulated Robot

RI 16-735, Howie Choset with slides from James KuffnerHighly Articulated Robot

RI 16-735, Howie Choset with slides from James Kuffner
Hovercraft with 2 Thusters

RI 16-735, Howie Choset with slides from James KuffnerOut of This World Demo

RI 16-735, Howie Choset with slides from James KuffnerLeft-turn only forward car

RI 16-735, Howie Choset with slides from James Kuffner
Analysis
The limiting distribution of vertices: •THEOREM
: X
k
converges to Xin probability
X
k
: The RRT vertex distribution at iteration k
X: The distribution used for generating samples
• KEY IDEA
: As the RRT reaches all of Q
free
, the probability that q
rand
immediately becomes a new vertex approaches one.
Rate of convergence: Rate of convergence: „„
The probability that a path is found increases The probability that a path is found increases
exponentially with the number of iterations. exponentially with the number of iterations.
“This is the bain or the worst par t of the algorithm,” J. Kuffner

RI 16-735, Howie Choset with slides from James Kuffner
Open Problems
Open Problems
• Rate of convergence
• Optimal sampling strategy?
Open Issues
• Metric Sensitivity
• Nearest-neighbor Efficiency

RI 16-735, Howie Choset with slides from James Kuffner
Applications of RRTs
Robotics Applications Robotics Applications
mobile robotics mobile robotics
manipulation manipulation
humanoids humanoids
Other Applications Other Applications
biology (drug design) biology (drug design)
manufacturing and virtual prototyping (assembly analysis) manufacturing and virtual prototyping (assembly analysis)
verification and validation verification and validation
computer animation and real computer animation and real--time graphics time graphics
aerospace aerospace
RRT extensions RRT extensions
discrete planning (STRIPS and Rubik's cube) discrete planning (STRIPS and Rubik's cube)
real real--time time RRTs RRTs
anytime anytime RRTs RRTs
dynamic domain dynamic domain RRTs RRTs
deterministic deterministic RRTs RRTs
parallel parallel RRTs RRTs
hybrid hybrid RRTs RRTs

RI 16-735, Howie Choset with slides from James Kuffner
Diffusion Limited Aggregation
• Often used to model natural physical processes (e.g. snow
accumulation, rust, etc.)

RI 16-735, Howie Choset with slides from James KuffnerExploring Infinite Space

RI 16-735, Howie Choset with slides from James Kuffner
Polar Sampling

RI 16-735, Howie Choset with slides from James Kuffner
RRT Summary
Advantages
• Single parameter
• Balance between greedy search and exploration
• Converges to sampling distribution in the limit
• Simple and easy to implement
Disadvantages
• Metric sensitivity
• Nearest-neighbor efficiency
• Unknown rate of convergence
• “long tail” in computation time distribution

RI 16-735, Howie Choset with slides from James KuffnerLinks to Further Reading
• Steve LaValle’s online book:
“Planning Algorithms”(chapters 5 & 14)
http://planning.cs.uiuc.edu/
• The RRT page:
http://msl.cs.uiuc.edu/rrt/
• Motion Planning Benchmarks
Parasol Group, Texas A&M
http://parasol.tamu.edu/groups/amatogroup/benchmarks/mp/

RI 16-735, Howie Choset with slides from James Kuffner
PRT (Prob. Roadmap of Trees)
• Basic idea:
– Generate a set of trees in the configuration space
– Merge the trees by finding nodes that can be connected
• Algorithm
– pick several random nodes
– Generate trees T
1
, T
2
.... T
n
(EST or RRT)
– Merge trees
• generate a representative super-node
• Using PRS ideas to pick a neighborhood of trees
•∆is now the tree-merge algorithm
– For planning
• generate trees from initial and goal nodes towards closest supernodes
• try to merge with “roadmap” of connected trees
• Note that PRS and tree-based algorithms are special cases
Tags