“Randomized Roadmap Method for Path and Manipulation Planning” Amato, Wu Texas A&M 1. Abstract a. Novelty of this approach: roadmap candidate point is chocen on Cobstacle surface b. Roadmap is likely to contain difficult paths, such as those traversing long, narrow passages in C-space 2. Introduction a. Most motion planning methods are not in use because they are computationally infeasible except for some restricted cases (robot has few degrees of freedom) b. Complexity of problem can be overcome through use of probabilistic or heuristic methods (vs complete methods) c. Randomized path planner of Barraquand and Latombe is used here – applies random walks to attempt to escape local minima d. Apply learning when trying to escape learning? e. Roadmap candidates are selected according to uniform distribution over C-space and those found to be collision-free are retained f. Planning involves connecting initial and goal configurations to roadmap, and then finding a path in the roadmap between these two connection points g. Long narrow passages between C-obstacles might be difficult to find h. Results i. General approach 1. Graph or roadmap is built in C-space 2. Planning consists of connecting initial and goal configurations to roadmap 3. Find path in the roadmap between two connection points ii. Novel approach: how choose new candidate points in roadmap? 1. Attempt to generate candidate points uniformly distributed on surface of C-obstacle iii. Approach can be applied to important situations: 1. Paths through long narrow passages in crowded C-space 2. Applied to contact task sites iv. Goal: provide methods for generating points on C-obstacle surfaces for general many degree of freedom robots v. Use randomized method 1. “…our experimental results show that this additional computation in the node generation phase is negligible in comparison to the total preprocessing time, which in all the methods is dominated by the roadmap connection phase” 3. Building the Roadmap a. Generate the roadmap candidate nodes i. Generate set V of candidate roadmap nodes where each corresponds to a point in C-space ii. Want nodes to be uniformly distributed on constraint surface that delineate robot’s free space 1. Generate mi points p1, p2, …, pmi uniformly distributed on surface s’i and place these in Vi 2. Remove all points from Vi that lie in the interior of some s’j, where s’j is subset of S’ and 1<=j<=n iii. Finding points on C-object 1. Assume that know the number of points we wish to obtain 2. Want these m points to be uniformly distributed a. But want to avoid computational cost of deriving the constraint surface, so use heuristic method i. Determine point o (origin) inside s’ 1. i.e, select any configuration in which the robot is known to collide with the object s ii. Select m rays with origina 0 and directions uniformly distributed in C-space 1. Can be selected according to a simple partition of C-space, for example m = 10 (rays) and d = 2 (dimensions), then can divide full 360 degrees into 8 different regions 2. In the case of 3 dimension, segmentation is done appropriately iii. For each ray identified in ii., use binary search to determine a pint on the boundary of s’ that lies on that ray. 3. Potential problems a. Shape of C-object may be irregular (non sphere and/or circle), so rays spaced at even intervals around the 360 degrees don’t separate the surface in equal segments i. To solve, perhaps generate more points on surface between points that are considered too far apart ii. Also can use the surface normal of a point with those of its neighbors b. Origin does not lie near center c. Boundary has folds, in which case a ray may intersect the obstacle in more than one place i. Difficult problem b. Connecting roadmap candidates i. Connect pairs of roadmap candidate nodes ii. To save space, paths found in this stage will not be recorded since they can be regarded quickly iii. After connections are made, connected components in roadmap are identified iv. Ideally, roadmap should contain paths through all corridors in C-space v. Tradeoff exists between the quality of the resulting roadmap and the resources one is willing to invest in building it. vi. Method used to determine adjacencies in roadmap will depend upon the intended use of the roadmap vii. Many different connection strategies can be used viii. Possible optimizations 1. Because roadmap nodes are located on constraint surfaces, paths in roadmap will skip along the surfaces of C-objects and will not be desirable for many applications a. Can use smoothing technique to improve path 2. Near center of c-space corridors, generate additional roadmap nodes so that efficient path can be found 4. Planning a. Attempt to connect nodes x1 ans x2, start and goal to the same connected component of the roadmap b. First try to connect start and goal nodes to the roadmap i. Connections are made for x1 and k closest roadmap nodes ii. If no connections are found, execute random walk iii. If no connection are found with random walk, declare failure iv. Apply smooth techniques if connections are found 5. Implementation details a. C-space distance metrics i. One option is to use simple Euclidean distance metrics in c-space ii. Decisions: do you want to assign grater weight to joints controlling longer links to the robot? b. # of candidate nodes i. Depends on the number of processing that you want to have done ii. Want to generate same # of candidate nodes for each object? 1. Dependent on size? 2. Dependent on importance? c. Collision detection i. Dominant operation ii. Must be efficient iii. Following of links? d. Interconnection strategy i. Want to connect all roadmap candidate nodes into a single connected “mesh” ii. The greater the number of neighbors, then the greater the chance of connection, but also the more computation involved 1. In our SHOP planner, the mor degrees of movement (beyond left, right, up, down), the better the path discovery outcome but the greater the computation required! 6. Results a. Most expensive phase of the preprocessing is roadmap interconnection – local planners and collision detection routines must be efficient b. In the case of a region that is not well represented in a roadmap, then the chance of finding a good configuration of the robot in that location is low i. So then the efficiency of the planner is dependent on roadmap, not effectiveness of planning routine c. In the case of narrow passages, fewer collision free-configurations are found in the node generating phase i. Then the issue is one of resolution…how small a scale do you want the planner to function on? d. As the “base” of a robot is translated from a narrow passage, fewer collision-free configurations are found in the passage.