Probabilistic Roadmaps Sujay Bhattacharjee Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
NUS CS5247 Motion Planning for Car- like Robots using a Probabilistic Learning Approach --P. Svestka, M.H. Overmars. Int. J. Robotics Research, 16: ,
Advertisements

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.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
PRM and Multi-Space Planning Problems : How to handle many motion planning queries? Jean-Claude Latombe Computer Science Department Stanford University.
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
Sampling Strategies for PRMs modified from slides of T.V.N. Sri Ram.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Presented By: Aninoy Mahapatra
Probabilistic Roadmap
Kinodynamic Path Planning Aisha Walcott, Nathan Ickes, Stanislav Funiak October 31, 2001.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Randomized Kinodynamics Motion Planning with Moving Obstacles David Hsu, Robert Kindel, Jean-Claude Latombe, Stephen Rock.
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.
Multi-Robot Motion Planning Jur van den Berg. Outline Recap: Configuration Space for Single Robot Multiple Robots: Problem Definition Multiple Robots:
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
David Hsu, Robert Kindel, Jean- Claude Latombe, Stephen Rock Presented by: Haomiao Huang Vijay Pradeep Randomized Kinodynamic Motion Planning with Moving.
Motion Planning of Multi-Limbed Robots Subject to Equilibrium Constraints. Timothy Bretl Presented by Patrick Mihelich and Salik Syed.
CS 326 A: Motion Planning Probabilistic Roadmaps Basic Techniques.
1 Probabilistic Roadmaps CS 326A: Motion Planning.
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
Planning Paths for Elastic Objects Under Manipulation Constraints Florent Lamiraux Lydia E. Kavraki Rice University Presented by: Michael Adams.
1 On the Probabilistic Foundations of Probabilistic Roadmaps D. Hsu, J.C. Latombe, H. Kurniawati. On the Probabilistic Foundations of Probabilistic Roadmap.
Sampling Strategies for Narrow Passages Presented by Irena Pashchenko CS326A, Winter 2004.
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.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
1 Path Planning in Expansive C-Spaces D. HsuJ. –C. LatombeR. Motwani Prepared for CS326A, Spring 2003 By Xiaoshan (Shan) Pan.
Navigation and Motion Planning for Robots Speaker: Praveen Guddeti CSE 976, April 24, 2002.
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,
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
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.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Workspace-based Connectivity Oracle An Adaptive Sampling Strategy for PRM Planning Hanna Kurniawati and David Hsu Presented by Nicolas Lee and Stephen.
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.
© Manfred Huber Autonomous Robots Robot Path Planning.
Robotics Chapter 5 – Path and Trajectory Planning
Path Planning for a Point Robot
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.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
Sampling-Based Planners. The complexity of the robot’s free space is overwhelming.
Robotics Chapter 5 – Path and Trajectory Planning
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
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.
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
Haim Kaplan and Uri Zwick
Motion Planning for a Point Robot (2/2)
Last lecture Configuration Space Free-Space and C-Space Obstacles
Craig Schroeder October 26, 2004
Enumerating Distances Using Spanners of Bounded Degree
Probabilistic Roadmap Motion Planners
Presented By: Aninoy Mahapatra
Sampling and Connection Strategies for Probabilistic Roadmaps
Configuration Space of an Articulated Robot
Robotics meet Computer Science
Presentation transcript:

Probabilistic Roadmaps Sujay Bhattacharjee Carnegie Mellon University

2 Overview  What is a Probabilistic Roadmap (PRM)?  Why PRM?  Algorithm  Proof  Accuracy  Examples

3 PRM A planning method which computes collision-free paths for robots of virtually any type moving among stationary obstacles.

4 Previous Approaches  Visibility Graphs  Voronoi Diagrams  Cellular Decomposition  Potential Fields

5 Visibility Graphs

6 Voronoi Diagrams

7 Exact Cellular Decomposition

8 Approximate Cellular Decomposition

9 Potential Fields

10 Problems before PRMs  Hard to plan for many d.o.f robots  Computation complexity for high dimensional configuration spaces would grow exponentially  Potential fields run into local minima  Complete, general purpose algorithms are at best exponential and have not been implemented

11 Example

12 Advantages of PRM  Fast collision checking techniques  Avoid computing an explicit representation of the configuration space  Great for many degrees of freedom

13 Phases of PRM  Learning Phase Construction Step Expansion Step  Query Phase

14 The Learning Phase  Construct a probabilistic roadmap by generating random free configurations of the robot and connecting them using a simple, but very fast motion planner, also know as a local planner  Store as a graph whose nodes are the configurations and whose edges are the paths computed by the local planner

15 The Query Phase  Find a path from the start and goal configurations to two nodes of the roadmap  Search the graph to find a sequence of edges connecting those nodes in the roadmap  Concatenating the successive segments gives a feasible path for the robot

16 Learning Phase (Construction Step)  Initially, the graph R = (N, E) is empty  Then, repeatedly, a random free configuration is generated and added to N  For every new node c, select a number of nodes from N and try to connect c to each of them using the local planner.  If a path is found between c and the selected node n, the edge (c,n) is added to E. The path itself is not memorized.

17 How do we determine a random free configuration?  We want the nodes of R to be a rather uniform sampling of CS Draw each of its coordinates from the interval of values of the corresponding degrees of freedom. (Use the uniform probability distribution over the interval) Check for collision both with robot itself and with obstacles If collision free, add to N, otherwise discard

18 What’s the local path planner?  Can pick different ones Nondeterministic – have to store local paths in roadmap Powerful - slower but could take fewer nodes but takes more time Fast - less powerful, needs more nodes

19 Go with the fast one  Need to make sure start and goal configurations can connect to graph, which requires a somewhat dense roadmap  Can reuse local planner at query time to connect start and goal configurations  Don’t need to memorize local paths

20

21

22

23 Expansion  Sometimes R consists of several large and small components which do not effectively capture the connectivity of C free  The graph can be disconnected at some narrow region  Assign a positive weight w(c) to each node c in N w(c) is a heuristic measure of the “difficulty” of the region around c. So w(c) is large when c is considered to be in a difficult region. We normalize w so that all weights together add up to one. The higher the weight, the higher the chances the node will get selected for expansion.

24 How to choose w(c) ?  Can pick different heuristics Count number of nodes of N lying within some predefined distance of c. Check distance d c from c to nearest connected component not containing c. Use information collected by the local planner. (If the planner often fails to connect a node to others, then this indicates the node is in a difficult area).

25 One Example: At the end of the construction step, for each node c, compute the failure ratio r f (c) defined by: where n(c) is the total number of times the local planner tried to connect c to another node and f(c) is the number of times it failed. How to choose w(c) ?

26 How to choose w(c) ? At the beginning of the expansion step, for every node c in N, compute w(c) proportional to the failure ratio.

27 Now that we have weights…  To expand a node c, we compute a short random-bounce walk starting from c. This means Repeatedly pick at random a direction of motion in C- space and move in this direction until an obstacle is hit. When a collision occurs, choose a new random direction. The final configuration n and the edge (c,n) are inserted into R and the path is memorized. Try to connect n to the other connected components like in the construction step. Weights are only computed once at the beginning and not modified as nodes are added to R.

28

29

30 The Query Phase Objective: To find a path between an arbitrary start and goal configuration, using the roadmap constructed in the learning phase.

31

32 The Query Phase (contd.)  Let start configuration be s  Let goal configuration be g  Try to connect s and g to Roadmap R at two nodes ŝ and ĝ, with feasible paths P s and P g. If this fails, the query fails.  Compute a path P in R connecting ŝ to ĝ.  Concatenate P s,P and reversed P g to get the final path.

33 How do we find P s, P g, and P?  Consider nodes in R in order of increasing distance from s (according to D) and try to connect s to each of them with the local planner, until one succeeds.  Random-bounce walks: Try to connect to R with the local planner.  Re-compute paths found during the learning phase  Selective collision check.

34 Final Step  If there are multiple connected components, sometimes the free C-space is not itself connected or the roadmap is not dense enough. In this case, we try to connect s and g to nodes in the same component. If we can’t do this, we end in failure. This is usually detected pretty quickly.

35

36

37

38 What if we fail?  Maybe the roadmap was not adequate.  Could spend more time in the Learning Phase  Could do another Learning Phase and reuse R constructed in the first Learning Phase. In fact, Learning and Query Phases don’t have to be executed sequentially.

39 Theoretical Analysis  Analyze a simple PRM model and attempt to find factors which affect and control the performance of the PRM.  Define  -goodness,  -Lookout and expansive space.  Derive more relations linking probability of failure to controlling factors  Finding Narrow passages with PRM

40 The Simplified Probabilistic Roadmap Planner (s-PRM) The parameters of our 2D model are:  Free Space F: An arbitrary open subset of the unit square W=[0,1] 2  The Robot: A point free to move in F  The Local Connector: It takes the robot from point a to point b along a straight line and succeeds if the straight line segment ab is contained in F  The collection of Random Configurations: Collection of N independent points uniform in F

41 s-PRM: Probability of Failure Take any two points We assume that they can be connected by a continuous path  such that where and We will try to find upper bounds for the probability of failure to find such a path  between a and b when we assume a) minimum distance from obstacles b) varying (mean) distance from obstacles

42 Theorem 1 (Upper Bound Involving Minimum Distance ) Let be a path of (Euclidean) length L. Then the probability that s-PRM will fail to connect the points a and b is at most Where is a constant. Here, we assume minimum distance from the obstacles.

43 Theorem 1: Proof Pr[FAILURE] Pr[Some Ball is Empty] b d Pr [The j-th ball is empty] c x j+1 x j R/2 In 2D, Area of the ball with radius R/2 =  R 2 /4 R a i.e. Pr[FAILURE]

44 Theorem 2 (A bound that exploits varying distance ) b  (t k+1 )  (t k ) a Again, the idea of the proof is to cover the curve  with not-too-many balls that overlap to a certain extent. We already know from Theorem 1 that Pr[FAILURE] (1-  r k 2 ) N …(1) And now define the integral I = …(2)

45 Theorem 2 (A bound that exploits varying distance ) Let be a path of (Euclidean) length L. Distance of  (t) from the obstacles is r(t) Then the probability of failure of s-PRM is at most

46 What the results tell us Rearrange the inequalities derived from Theorems 1 and 2 using the inequality, for 1) Bound of Theorem 1 becomes Pr[FAILURE] 2) Bound of Theorem 2 becomes Pr[FAILURE]

47 What the results tell us The results give us an idea of what factors control failure:  Dependence on N is exponential  Dependence on L is linear  Tweaking these factors can give us desired success rate  PRM avoids creating large number of nodes in areas where connections are obtained easily However,  The bounds computed here are not very easy to use as they depend on the properties of postulated connecting path  (t) from a to b (difficult to measure a-priori)

48 Some Definitions  - goodness A configuration q  F is  – good if For any subset denotes its volume. F is the Free Space. denotes the set of all free configurations seen by q.

49 Some Definitions  - goodness A narrow passage in a  - good space. F1 F2

50 Definitions (contd.)  -LOOKOUT Let  be a constant in [0,1] and S be a subset of a component E of the free space F. The  -LOOKOUT of S is the set

51 Definitions (contd.) expansive spaces Let , ,  be constants in [0, 1] The free space is ( , ,  ) expansive if it is  - good and, for every connected subset S, we have We can abbreviate “( , ,  ) expansive” by simply “expansive”

52 Definitions (contd.) Example: An expansive free space where , ,  ~  /W w w w W

53 Roadmap Coverage Assume that F is  - good. Let  be a constant in [0,1] Let k is a positive real such that for any x  [0,1] If N is chosen such that Then the roadmap generates a set of milestones that adequately covers F, with probability at least 1-  This still does not allow us to compute N. However, it tells us that the although adequate coverage is is not guaranteed, the probability that this happens Decreases exponentially with the number of milestones N.

54 Roadmap Connectivity Assume that F is ( , ,  ) expansive. Let  be a constant in [0,1]. If N is chosen such that Then with the probability 1 - , the roadmap generates a roadmap such that no two of its components lie on the same component of F. This tells us that the probability that a roadmap does not adequately represent F decreases exponentially with the number of milestones N. Also, number of milestones needed increases moderately when ,  and  increase.

55 Finding Narrow Passages Algorithm:  Dilate free space F to F’ by allowing penetration distance  into the obstacles  Construct Roadmap R’ in F’  Push milestones and links that do not lie in F into F by performing local re-sampling operations. The outcome is a Roadmap R in F.

56 Finding Narrow Passages Example: FF -> Free Space P -> Narrow Passage P

57 Finding Narrow Passages Example: F’ F P

58 Finding Narrow Passages Example: F’ F P

59 Finding Narrow Passages Example: F’ F 2’ 2 P 1

60 Example – A Planar Articulated Robot (Customized Implementation)  Consider and arbitrary number of revolute joints  Links, which can be any polygons, are denoted L 1 to L q (q= 5 for our example)  Points J 1 through J q are the revolute joints, J q+1 is the endpoint. J 1 is the base, which may or may not be fixed  A self-collision configuration exists when two nonadjacent links of the robot intersect each other, otherwise the range of each joint prevents collision with the adjacent link  So, free C-space is constrained by the obstacles and self- collisions.

61 Example – Results  This is a fixed-based articulated robot with 7 revolute degrees of freedom.  Each configuration is tested with a set of 30 goals with different learning times.

62 With expansion Without expansion Results With General Planner

63 PRM - Other Applications  Can be used on nonholonomic robots Need to use special local planners that take limitations into account  Can be used for robots with almost infinite dof, like robots made of flexible material

64 PRM – Other Work  Spends a lot of time planning paths that will never get used  Heavily reliant on fast collision checking An attempt to solve these is made with Lazy PRMs Tries to minimize collision checks Tries to reuse information gathered by queries

65 References  On Finding Narrow Passages with Probabilistic Roadmap Planners. Hsu, Kavraki, Latombe, Motwani, Sorkin: Proceeds of the 3 rd Workshop on Algorithmic Foundations of Robotics,  Analysis of Probabilistic Roadmaps for Path Planning. Kavraki, Kolountzakis, Latombe: IEEE Transactions on Robotics and Automation, Vol. 14, No. 1, Feb  Probabilistic Roadmaps for path planning in high dimensional configuration spaces. Kavraki, Svestka, Latombe, Overmars, IEEE Transactions on Robotics and Automation, Vol. 12, No. 4, Aug  Probabilistic Roadmaps for Robotic Path Planning. Kavraki and Latombe, In K. Gupta and P. del Pobil, editors, Practical Motion Planning in Robotics: Current Approaches and Future Directions, pages John Wiley,  Latombe, Robot Motion Planning, Kluwer Academic Pub, 1991