Download Presentation
## Motion Planning & Robot Planning

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Motion Planning & Robot Planning**Prof.: S. Shiry Mohsen gandomkar M.Sc Artificial Intelligence Department of Computer Eng. and IT Amirkabir Univ. of Technology (Tehran Polytechnic)**What is Motion Planning?**• Motion planning is aimed at providing robots with the capability of deciding automatically which motions to execute in order to achieve their tasks without colliding with other objects in their work space**Basic Definition**• Obstacles • Already occupied spaces of the world • In other words, robots can’t go there • Free Space • Unoccupied space within the world • Robots “might” be able to go here • To determine where a robot can go, we need to discuss what a Configuration Space is**The Configuration Space**Configuration Space of A is the space (C) of all possible configurations of A. C Cfree qgoal Cobs qstart For a point robot moving in 2-D plane, C-space is**The Configuration Space**C y Cfree qgoal Z Cobs qstart x For a point robot moving in 3-D, the C-spaceis What is the difference between Euclidean space and C-space?**The Configuration Space**• How to create it • First abstract the robot as a point object. Then, enlarge the obstacles to account for the robot’s footprint and degrees of freedom • In our example, the robot was circular, so we simply enlarged our obstacles by the robot’s radius (note the curved vertices)**Example of a World (and Robot)**Free Space Obstacles Robot x,y**Configuration Space:Accommodate Robot Size**Free Space Obstacles Robot (treat as point object) x,y**Motion Planning**• Basic problem: Collision-free path planning for one rigid or articulated object (the “robot”) among static obstacles. • Inputs • geometric descriptions of the obstacles and the robot • kinematic and dynamic properties of the robot • initial and goal positions (configurations) of the robot • Output • Continuous sequence of collision-free configurations connecting the initial and goal configurations.**Algorithmic Approaches**• Complete Algorithms • Probabilistic Algorithms • Heuristic Algorithms**Complete Algorithms**• Guaranteed to find a free path between two give configurations when exists and report failure otherwise • Deal with connectivity of free space by capturing it on a graph. • Cell Decomposition - partition of free space • Roadmap Technique - network of curves**Probabilistic Algorithms**• Trade-off exactness against running time • Don’t guarantee a solution but if exists very likely to find it relatively quickly • Example: Probabilistic Roadmap Algorithm • Experimental results show that computation takes less than a second**Heuristic Algorithms**• Many work well in practice but offer no performance guarantee • Deal with a grid on configuration space • Example 1 : Potential Field • Example 2 : Approximate Cell Decomposition**Problems before PRMs**• Hard to plan for many dof 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**Difficulty with classic approaches**• Running time increases exponentially with the dimension of the configuration space. • For a d-dimension grid with 10 grid points on each dimension, how many grid cells are there? • Several variants of the path planning problem have been proven to be PSPACE-hard. 10d**Probabilistic Roadmap (PRM): multiple queries**local path milestone free space [Kavraki, Svetska, Latombe,Overmars, 96]**Classic multiple-query PRM**• Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces, L. Kavraki et al., 1996.**Assumptions**• Static obstacles • Many queries to be processed in the same environment • Examples • Navigation in static virtual environments • Robot manipulator arm in a workcell**Enter PRMs**• PRMs use fast collision checking techniques • PRMs avoid computing an explicit representation of the configuration space • Two Phases • A Learning Phase • A Query Phase**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 planer, 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**PRM - Learning Phase**Free space C-obstacle**PRM - Learning Phase**Free space C-obstacle**PRM - Learning Phase**Free space C-obstacle milestones**PRM - Learning Phase**Free space C-obstacle milestones**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**CLEAR(q)Is configuration q collision free or not?**LINK(q, q’) Is the straight-line path between q and q’ collision-free? Two geometric primitives in configuration space**Uniform sampling**Input:geometry of the moving object & obstacles Output: roadmap G = (V, E) 1: V and E . 2:repeat 3: q a configuration sampled uniformly 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.**Difficulty**• Many small connected components**Resampling (expansion)**• Failure rate • Weight • Resampling probability**Query processing**• Connect qinit and qgoal to the roadmap • Start at qinit and qgoal, perform a random walk, and try to connect with one of the milestones nearby • Try multiple times**Error**• If a path is returned, the answer is always correct. • If no path is found, the answer may or may not be correct. We hope it is correct with high probability.**Why does it work? Intuition**• A small number of milestones almost “cover” the entire configuration space.**Lazy PRM**• Path Planning Using Lazy PRM, R. Bohlin & L. Kavraki, 2000.**Precomputation: roadmap construction**• Nodes • Randomly chosen configurations, which may or may not be collision-free • No call to CLEAR • Edges • an edge between two nodes if the corresponding configurations are close according to a suitable metric • no call to LINK**Query processing: overview**• Find a shortest path in the roadmap • Check whether the nodes and edges in the path are collision. • If yes, then done. Otherwise, remove the nodes or edges in violation. Go to (1). • We either find a collision-free path, or exhaust all paths in the roadmap and declare failure.**Query processing: details**• Find the shortest path in the roadmap • A* algorithm • Dijkstra’s algorithm • Check whether nodes and edges are collisions free • CLEAR(q) • LINK(q0, q1)**Node enhancement**• Select nodes that close the boundary of F