1 / 43

Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. L

Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars. Path planning. Low-dimensionality (= few dof) cases are easy, fast Translating robots Geometric solutions Linkages Approximate cell decomposition

avari
Download Presentation

Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. L

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Approximate the free space by random sampling  Probabilistic Roadmaps • Problems: • Geometric complexity • Space dimensionality

  4. 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. Sampling

  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 • CLEAR(q)Is configuration q collision free or not? • LINK(q, q’) Is the path between q and q’ collision-free?

  12. Two geometric primitives in configuration space • CLEAR(q)Is configuration q collision free or not? • LINK(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 c1, …, cm such that for every (ci , ci+1), no point on the robot at ci lies further than  away from its position at ci+1 4. For each ci, 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 that P(c is selected) = w(c) .030 .091 .091 .061 .15 .030 .091 .12 .030 .091 .12 .091

  29. Expansion step example 3a. Select c such that P(c is selected) = w(c) .030 .091 .091 .061 .15 .030 .091 .12 .030 .091 .12 .091

  30. Expansion step example 3b. “Expand” c using a random-bounce walk .030 .091 .091 .061 .15 .030 .091 .12 .030 .091 .12 .091

  31. Expansion step example 3b. “Expand” c using a random-bounce walk .030 .091 .091 .061 .15 .030 .091 .12 .030 .091 .12 .091

  32. Expansion step example 3b. “Expand” c using a random-bounce walk .030 .091 .091 .061 .15 .030 .091 .12 .030 .091 .12 .091

  33. Expansion step example 3b. “Expand” c using a random-bounce walk .030 .091 .091 .061 .15 .030 .091 .12 .030 .091 .12 .091

  34. Expansion step example 3b. “Expand” c using a random-bounce walk .030 .091 .091 .061 .15 .030 .091 .12 .030 .091 .12 .091

  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. local path milestone Probabilistic Roadmap (PRM): free space

  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: ifCLEAR(q)then 5:Add q to V. 6: Nq  a set of nodes in V that are close to q. 6: for each q’ Nq, in order of increasing d(q,q’) 7: ifLINK(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...

More Related