Download presentation
Presentation is loading. Please wait.
Published byJayson Smith Modified over 9 years ago
1
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars
2
Path planning Low-dimensionality (= few dof) cases are easy, fast – Translating robots Geometric solutions –Linkages Approximate cell decomposition High-dof situations problematic, due to computational / space complexity – potential field methods
3
Configuration Space Problems: Geometric complexity Space dimensionality Approximate the free space by random sampling Probabilistic Roadmaps
4
Sampling Visibility Graph is a sampling approach, just not a random one. Cell decomposition used sampling in well-defined regions. Potential fields sample to approximate the line integral of the imposed field.
5
Free-Space and C-Space Obstacle How do we know whether a configuration is in the free space? –Computing an explicit representation of the free-space is very hard in practice. Solution: Compute the position of the robot at that configuration in the workspace. Explicitly check for collisions with any obstacle at that position: –If colliding, the configuration is within C-space obstacle –Otherwise, it is in the free space Performing collision checks is relative simple
6
Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it
7
Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it
8
Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it S G
9
Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it S G
10
Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it S G
11
Two geometric primitives in configuration space C LEAR(q) Is configuration q collision free or not? L INK(q, q’) Is the path between q and q’ collision-free?
12
Two geometric primitives in configuration space C LEAR(q) Is configuration q collision free or not? L INK(q, q’) Is the path between q and q’ collision-free?
13
PRM algorithm overview Roadmap is an undirected acyclic graph R = (N, E) Nodes N are robot configurations in free C-space, called milestones Edges E represent local paths between configurations
14
PRM algorithm overview Learning Phase Construction step: randomly generate nodes and edges Expansion step: improve graph connectivity in “difficult” regions Query Phase
15
Learning: construction overview 1. R = (N, E) begins empty 2. A random free configuration c is generated and added to N 3a. Candidate neighbors to c are partitioned from N 3b. Edges are created between these neighbors and c, such that acyclicity is preserved 4. Repeat 2-3 until “done”
16
General local planner 1. Connect the two configurations in C-space with a straight line segment 2. Check the joint limits 3. Discretize the line segment into a sequence of configurations c 1, …, c m such that for every (c i, c i+1 ), no point on the robot at c i lies further than away from its position at c i+1 4. For each c i, grow robot by , check for collisions
17
Construction step example Graph after several iterations...
18
Construction step example 2. A random free configuration c is generated and added to N c
19
Construction step example 3a. Candidate neighbors to c are partitioned from N c
20
Construction step example 3b. Edges are created between these neighbors and c, such that acyclicity is preserved c
21
Construction step example 3b. Edges are created between these neighbors and c, such that acyclicity is preserved c
22
PRM algorithm overview Learning Phase Construction step: randomly generate nodes and edges Expansion step: improve graph connectivity in “difficult” regions Query Phase
23
Expansion step Problem: construction step generates uniform covering of free C- space, might fail to capture connectivity of narrow passages
24
Expansion step Solution: improve graph connectivity in “difficult” areas, measured heuristically
25
Random-bounce walk 1a. Pick a random direction of motion in C-space, move in this direction from c 1b. If collision occurs, pick a new direction and continue 2. The final configuration n and the edge (c, n) are inserted into the graph 3. Attempt to connect n to other nodes using the construction step technique
26
Random-bounce walk Path between c and n must be stored, since process is non- deterministic
27
Expansion step example Graph after construction step...
28
Expansion step example 3a. Select c such thatP(c is selected) = w(c).030.061.091.12.15
29
Expansion step example 3a. Select c such thatP(c is selected) = w(c).030.061.091.12.15
30
Expansion step example 3b. “Expand” c using a random-bounce walk.030.061.091.12.15
31
Expansion step example 3b. “Expand” c using a random-bounce walk.030.061.091.12.15
32
Expansion step example 3b. “Expand” c using a random-bounce walk.030.061.091.12.15
33
Expansion step example 3b. “Expand” c using a random-bounce walk.030.061.091.12.15
34
Expansion step example 3b. “Expand” c using a random-bounce walk.030.061.091.12.15
35
Another view Acyclicity not necessary From original paper –May make weird paths Allow connectivity up to a certain valence Expansion often skipped since it seems like a hack
36
Probabilistic Roadmap (PRM): free space local path milestone
37
Simpler Outline Input: geometry of the moving object & obstacles Output: roadmap G = (V, E) 1: V and E . 2: repeat 3: q sampled at random from C. 4: if CLEAR(q)then 5: Add q to V. 6: N q a set of nodes in V that are close to q. 6: for each q’ N q, in order of increasing d(q,q’) 7: if LINK(q’,q)then 8: Add an edge between q and q’ to E.
38
Why does it work? Intuition A small number of milestones almost “cover” the entire configuration space.
39
PRM algorithm overview Learning Phase Construction step: randomly generate nodes and edges Expansion step: improve graph connectivity in “difficult” regions Query Phase
40
Query phase Given start configuration s, goal configuration g, calculate paths Ps and Pg such that Ps and Pg connect s and g to nodes s and g that are themselves connected in the graph
41
Experimental results (briefly) Tested with up to 7-dof robot, both free- and fixed-base Given enough learning time, able to achieve 100% success, but not unreasonable results even with shorter learning periods Queries are fast (not more than a couple of seconds)
42
Conclusions Pros Once learning is done, queries can be executed quickly Complexity reduction over full C-space representation Adaptive: can incrementally build on roadmap Probabilistically complete, which is usually good enough
43
Conclusions Cons (?) Probabilistically complete Paths are not optimal -- can be long and indirect, depending on how graph was created; can apply smoothing, but...
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.