CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,

Slides:



Advertisements
Similar presentations
Solving problems by searching
Advertisements

NUS CS5247 Motion Planning for Car- like Robots using a Probabilistic Learning Approach --P. Svestka, M.H. Overmars. Int. J. Robotics Research, 16: ,
Rapidly Exploring Random Trees Data structure/algorithm to facilitate path planning Developed by Steven M. La Valle (1998) Originally designed to handle.
Complete Motion Planning
Probabilistic Roadmaps. The complexity of the robot’s free space is overwhelming.
Motion Planning for Point Robots CS 659 Kris Hauser.
PRM and Multi-Space Planning Problems : How to handle many motion planning queries? Jean-Claude Latombe Computer Science Department Stanford University.
Sampling Techniques for Probabilistic Roadmap Planners
NUS CS5247 Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics.
Probabilistic Path Planner by Someshwar Marepalli Pratik Desai Ashutosh Sahu Gaurav jain.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
Presented By: Aninoy Mahapatra
Probabilistic Roadmap
A Comparative Study of Probabilistic Roadmap Planners Roland Geraerts Mark Overmars.
Probabilistic Roadmaps Sujay Bhattacharjee Carnegie Mellon University.
Kinodynamic Path Planning Aisha Walcott, Nathan Ickes, Stanislav Funiak October 31, 2001.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Sampling and Connection Strategies for PRM Planners Jean-Claude Latombe Computer Science Department Stanford University.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
“Visibility-based Probabilistic Roadmaps for Motion Planning” Siméon, Laumond, Nissoux Presentation by: Mathieu Bredif CS326A: Paper Review Winter 2004.
CS 326 A: Motion Planning Probabilistic Roadmaps Basic Techniques.
“Visibility-based Probabilistic Roadmaps for Motion Planning” Siméon, Laumond, Nissoux Presentation by: Eric Ng CS326A: Paper Review Spring 2003.
1 Probabilistic Roadmaps CS 326A: Motion Planning.
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Probabilistic Roadmaps: Sampling Strategies.
On Delaying Collision Checking in PRM Planning--Application to Multi-Robot Coordination Gildardo Sanchez & Jean-Claude Latombe Presented by Chris Varma.
1 On the Probabilistic Foundations of Probabilistic Roadmaps D. Hsu, J.C. Latombe, H. Kurniawati. On the Probabilistic Foundations of Probabilistic Roadmap.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Probabilistic Roadmaps: Basic Techniques.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Dongkyu, Choi.
Graphical Models for Protein Kinetics Nina Singhal CS374 Presentation Nov. 1, 2005.
1 Path Planning in Expansive C-Spaces D. HsuJ. –C. LatombeR. Motwani Prepared for CS326A, Spring 2003 By Xiaoshan (Shan) Pan.
RRT-Connect path solving J.J. Kuffner and S.M. LaValle.
NUS CS 5247 David Hsu1 Last lecture  Multiple-query PRM  Lazy PRM (single-query PRM)
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
Path Planning in Expansive C-Spaces D. HsuJ.-C. LatombeR. Motwani CS Dept., Stanford University, 1997.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Workspace-based Connectivity Oracle An Adaptive Sampling Strategy for PRM Planning Hanna Kurniawati and David Hsu Presented by Nicolas Lee and Stephen.
Solving problems by searching
CS 326A: Motion Planning Probabilistic Roadmaps: Sampling and Connection Strategies.
CS 326 A: Motion Planning Probabilistic Roadmaps Basic Techniques.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Chris Allocco.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Lydia E. Kavraki Petr Švetka Jean-Claude Latombe Mark H. Overmars Presented.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
Lecture 2 Geometric Algorithms. A B C D E F G H I J K L M N O P Sedgewick Sample Points.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
On Delaying Collision Checking in PRM Planning – Application to Multi-Robot Coordination By: Gildardo Sanchez and Jean-Claude Latombe Presented by: Michael.
Laboratory of mechatronics and robotics Institute of solid mechanics, mechatronics and biomechanics, BUT & Institute of Thermomechanics, CAS Mechatronics,
Sampling-Based Planners. The complexity of the robot’s free space is overwhelming.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
Filtering Sampling Strategies: Gaussian Sampling and Bridge Test Valerie Boor, Mark H. Overmars and A. Frank van der Stappen Presented by Qi-xing Huang.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Solving problems by searching Chapter 3. Types of agents Reflex agent Consider how the world IS Choose action based on current percept Do not consider.
Solving problems by searching
Instructor Prof. Shih-Chung Kang 2008 Spring
ECE 448 Lecture 4: Search Intro
Mathematics & Path Planning for Autonomous Mobile Robots
Artificial Intelligence Lab
Last lecture Configuration Space Free-Space and C-Space Obstacles
Probabilistic Roadmap Motion Planners
Boustrophedon Cell Decomposition
Presented By: Aninoy Mahapatra
Sampling and Connection Strategies for Probabilistic Roadmaps
Path Planning using Ant Colony Optimisation
Configuration Space of an Articulated Robot
Lecture 2 Geometric Algorithms.
Robotics meet Computer Science
Presentation transcript:

CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars Presented by Miler Lee, 15 April 2002

Path planning Low-dimensionality (= few dof) cases are easy, fast High-dof situations problematic, due to computational / space complexity Solution: sacrifice completeness in favor of performance

Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it

Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it

Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it S G

Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it S G

Probabilistic roadmaps PRMs don’t represent the entire free configuration space, but rather a roadmap through it S G

PRM algorithm overview Roadmap is an undirected acyclic graph R = (N, E) Nodes N are robot configurations in free C-space Edges E represent local paths between configurations

PRM algorithm overview Learning Phase Construction step: randomly generate nodes and edges Expansion step: improve graph connectivity in “difficult” regions Query Phase

PRM algorithm overview Learning Phase Construction step: randomly generate nodes and edges Expansion step: improve graph connectivity in “difficult” regions Query Phase

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”

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”

Generating random configurations 2. A random free configuration c is generated and added to N Random sampling over uniform probability distribution of values for each dof New configuration is checked for collision (intersect obstacles, intersect self)

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”

Nc = { c  N | D(c, c)  maxdist } Neighbor set 3a. Candidate neighbors to c are partitioned from N Only want to consider k neighbors some maximum distance maxdist away from c, according to a distance function D: Nc = { c  N | D(c, c)  maxdist } ~ ~

D(c, n) = max || x(n) - x(c) || Distance function D should reflect the chance that the local planner will fail to connect two nodes, e.g.: D(c, n) = max || x(n) - x(c) || x  robot max Euclidean distance between a point on the robot at the two configurations

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”

Creating edges 3b. Edges are created between these neighbors and c, such that acyclicity is preserved neighbors are considered in order of increasing distance from c nodes that are already in the same connected component of c at the time are ignored local planner is used to determine whether a local path exists

Local planner best when deterministic and fast: if deterministic, then don’t have to store local paths if fast, calls are cheap (fast querying), but need denser graph because higher failure rate

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

Construction step example Graph after several iterations...

Construction step example 2. A random free configuration c is generated and added to N c

Construction step example 3a. Candidate neighbors to c are partitioned from N c

Construction step example 3b. Edges are created between these neighbors and c, such that acyclicity is preserved c

Construction step example 3b. Edges are created between these neighbors and c, such that acyclicity is preserved c

PRM algorithm overview Learning Phase Construction step: randomly generate nodes and edges Expansion step: improve graph connectivity in “difficult” regions Query Phase

Expansion step Problem: construction step generates uniform covering of free C- space, might fail to capture connectivity of narrow passages

Expansion step Solution: improve graph connectivity in “difficult” areas, measured heuristically

Expansion step 1. Associate each node c with a positive weight w(c), that is a heuristic measure of the “difficulty” of the region around c 2. Normalize all w(c) so they sum to 1 3a. Select c such that P(c is selected) = w(c) 3b. “Expand” c using a random-bounce walk 4. Repeat 2-3 until “done”

Expansion step 1. Associate each node c with a positive weight w(c), that is a heuristic measure of the “difficulty” of the region around c 2. Normalize all w(c) so they sum to 1 3a. Select c such that P(c is selected) = w(c) 3b. “Expand” c using a random-bounce walk 4. Repeat 2-3 until “done”

Heuristic weight functions 1. Associate each node c with a positive weight w(c), that is a heuristic measure of the “difficulty” of the region around c Count number of nodes some d distance from c Look at distance from c to nearest connected sub-graph not connected to c Use failure rate of local planner

Expansion step 1. Associate each node c with a positive weight w(c), that is a heuristic measure of the “difficulty” of the region around c 2. Normalize all w(c) so they sum to 1 3a. Select c such that P(c is selected) = w(c) 3b. “Expand” c using a random-bounce walk 4. Repeat 2-3 until “done”

Random-bounce walk 3b. “Expand” c using a 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

Random-bounce walk 3b. “Expand” c using a random-bounce walk Path between c and n must be stored, since process is non-deterministic Best case reduces the number of disjoint components of the graph; worst case keeps this number constant

Expansion step example Graph after construction step...

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

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

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

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

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

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

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

Expansion step Leftover disjoint pieces of the graph are discarded if their nodes constitute less than some mincomponent percent of the total number of nodes in the graph

PRM algorithm overview Learning Phase Construction step: randomly generate nodes and edges Expansion step: improve graph connectivity in “difficult” regions Query Phase

Query phase 1. 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 2. Return the path consisting of Ps concated with the path from s to g concated with the reverse of Pg

Calculating Ps , Pg Consider nodes in graph in order of increasing distance from Ps, up to a maxdist away from s Use local planner to find connection Use random-bounce walk if local planner fails

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)

Remarks Basis of comparison is the Randomized Path Planner; PRMs perform comparably or better than RPPs on the scenes tested PRMs do not suffer from local minima as RPPs do (narrow passages) RPPs have succeeded with up to 31 dof; would be nice to see some PRM experimental results for >> 7 dof

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

Conclusions Cons (?) Probabilistically complete Paths are not optimal -- can be long and indirect, depending on how graph was created; can apply smoothing, but...