Slide 1 Robot Lab: Robot Path Planning William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University
Slide 2 Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap –Cell Decomposition –Potential Field
Slide 3 Goals Compute motion strategies, e.g., –Geometric paths –Time-parameterized trajectories –Sequence of sensor-based motion commands Achieve high-level goals, e.g., –Go to the door and do not collide with obstacles –Assemble/disassemble the engine –Build a map of the hallway –Find and track the target (an intruder, a missing pet, etc.)
Slide 4 Fundamental Question Are two given points connected by a path?
Slide 5 Basic Problem Problem statement: Compute a collision-free path for a rigid or articulated moving object among static obstacles. Input –Geometry of a moving object (a robot, a digital actor, or a molecule) and obstacles –How does the robot move? –Kinematics of the robot (degrees of freedom) –Initial and goal robot configurations (positions & orientations) Output Continuous sequence of collision-free robot configurations connecting the initial and goal configurations
Slide 6 Example: Rigid Objects
Slide 7 Example: Articulated Robot
Slide 8 Is it easy?
Slide 9 Hardness Results Several variants of the path planning problem have been proven to be PSPACE-hard. A complete algorithm may take exponential time. –A complete algorithm finds a path if one exists and reports no path exists otherwise. Examples –Planar linkages [Hopcroft et al., 1984] –Multiple rectangles [Hopcroft et al., 1984]
Slide 10 Tool: Configuration Space Difficulty –Number of degrees of freedom (dimension of configuration space) –Geometric complexity
Slide 11 Extensions of the Basic Problem More complex robots –Multiple robots –Movable objects –Nonholonomic & dynamic constraints –Physical models and deformable objects –Sensorless motions (exploiting task mechanics) –Uncertainty in control
Slide 12 Extensions of the Basic Problem More complex environments –Moving obstacles –Uncertainty in sensing More complex objectives –Optimal motion planning –Integration of planning and control –Assembly planning –Sensing the environment Model building Target finding, tracking
Slide 13 Practical Algorithms A complete motion planner always returns a solution when one exists and indicates that no such solution exists otherwise. Most motion planning problems are hard, meaning that complete planners take exponential time in the number of degrees of freedom, moving objects, etc.
Slide 14 Practical Algorithms Theoretical algorithms strive for completeness and low worst-case complexity –Difficult to implement –Not robust Heuristic algorithms strive for efficiency in commonly encountered situations. –No performance guarantee Practical algorithms with performance guarantees –Weaker forms of completeness –Simplifying assumptions on the space: “exponential time” algorithms that work in practice
Slide 15 Problem Formulation for Point Robot Input –Robot represented as a point in the plane –Obstacles represented as polygons –Initial and goal positions Output –A collision-free path between the initial and goal positions
Slide 16 Framework
Slide 17 Visibility Graph Method Observation: If there is a collision-free path between two points, then there is a polygonal path that bends only at the obstacles vertices. Why? –Any collision-free path can be transformed into a polygonal path that bends only at the obstacle vertices. A polygonal path is a piecewise linear curve.
Slide 18 Visibility Graph A visibility graphis a graph such that –Nodes: q init, q goal, or an obstacle vertex. –Edges: An edge exists between nodes u and v if the line segment between u and v is an obstacle edge or it does not intersect the obstacles.
Slide 19 A Simple Algorithm for Building Visibility Graphs
Slide 20 Computational Efficiency Simple algorithm O(n 3 ) time More efficient algorithms –Rotational sweep O(n 2 log n) time –Optimal algorithm O(n 2 ) time –Output sensitive algorithms O(n 2 ) space
Slide 21 Framework
Slide 22 Breadth-First Search
Slide 23 Breadth-First Search
Slide 24 Breadth-First Search
Slide 25 Breadth-First Search
Slide 26 Breadth-First Search
Slide 27 Breadth-First Search
Slide 28 Breadth-First Search
Slide 29 Breadth-First Search
Slide 30 Breadth-First Search
Slide 31 Breadth-First Search
Slide 32 Other Search Algorithms Depth-First Search Best-First Search, A*
Slide 33 Framework
Slide 34 Summary Discretize the space by constructing visibility graph Search the visibility graph with breadth-first search Q: How to perform the intersection test?
Slide 35 Summary Represent the connectivity of the configuration space in the visibility graph Running time O(n3) –Compute the visibility graph –Search the graph –An optimal O(n2) time algorithm exists. Space O(n2) Can we do better?
Slide 36 Classic Path Planning Approaches Roadmap – Represent the connectivity of the free space by a network of 1-D curves Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function
Slide 37 Classic Path Planning Approaches Roadmap – Represent the connectivity of the free space by a network of 1-D curves Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function
Slide 38 Roadmap Visibility graph Shakey Project, SRI [Nilsson, 1969] Voronoi Diagram Introduced by computational geometry researchers. Generate paths that maximizes clearance. Applicable mostly to 2-D configuration spaces.
Slide 39 Voronoi Diagram Space O(n) Run time O(n log n)
Slide 40 Other Roadmap Methods Silhouette First complete general method that applies to spaces of any dimensions and is singly exponential in the number of dimensions [Canny 1987] Probabilistic roadmaps
Slide 41 Classic Path Planning Approaches Roadmap – Represent the connectivity of the free space by a network of 1-D curves Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function
Slide 42 Cell-decomposition Methods Exact cell decomposition The free space F is represented by a collection of non-overlapping simple cells whose union is exactly F Examples of cells: trapezoids, triangles
Slide 43 Trapezoidal Decomposition
Slide 44 Computational Efficiency Running time O(n log n) by planar sweep Space O(n) Mostly for 2-D configuration spaces
Slide 45 Adjacency Graph Nodes: cells Edges: There is an edge between every pair of nodes whose corresponding cells are adjacent.
Slide 46 Summary Discretize the space by constructing an adjacency graph of the cells Search the adjacency graph
Slide 47 Cell-decomposition Methods Exact cell decomposition Approximate cell decomposition –F is represented by a collection of non- overlapping cells whose union is contained in F. –Cells usually have simple, regular shapes, e.g., rectangles, squares. –Facilitate hierarchical space decomposition
Slide 48 Quadtree Decomposition
Slide 49 Octree Decomposition
Slide 50 Algorithm Outline
Slide 51 Classic Path Planning Approaches Roadmap – Represent the connectivity of the free space by a network of 1-D curves Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function
Slide 52 Potential Fields Initially proposed for real-time collision avoidance [Khatib 1986]. Hundreds of papers published. A potential field is a scalar function over the free space. To navigate, the robot applies a force proportional to the negated gradient of the potential field. A navigation function is an ideal potential field that –has global minimum at the goal –has no local minima –grows to infinity near obstacles –is smooth
Slide 53 Attractive & Repulsive Fields
Slide 54 How Does It Work?
Slide 55 Algorithm Outline Place a regular grid G over the configuration space Compute the potential field over G Search G using a best-first algorithm with potential field as the heuristic function
Slide 56 Local Minima What can we do? –Escape from local minima by taking random walks –Build an ideal potential field – navigation function – that does not have local minima
Slide 57 Question Can such an ideal potential field be constructed efficiently in general?
Slide 58 Completeness A complete motion planner always returns a solution when one exists and indicates that no such solution exists otherwise. –Is the visibility graph algorithm complete? Yes. –How about the exact cell decomposition algorithm and the potential field algorithm?
Slide 59 Why Complete Motion Planning? Probabilistic roadmap motion planning –Efficient –Work for complex problems with many DOF –Difficult for narrow passages –May not terminate when no path exists Complete motion planning –Always terminate –Not efficient –Not robust even for low DOF
Slide 60 Path Non-existence Problem Obstacle Goal Initial Robot
Slide 61 Main Challenge Obstacle Goal Initial Robot Exponential complexity: n DOF –Degree of freedom: DOF –Geometric complexity: n More difficult than finding a path –To check all possible paths
Slide 62 Approaches Exact Motion Planning –Based on exact representation of free space Approximation Cell Decomposition (ACD) A Hybrid planner
Slide 63 Configuration Space: 2D Translation Workspace Configuration Space x y Robot Start Goal Free Obstacle C- obstacle
Slide 64 Configuration Space Computation [Varadhan et al, ICRA 2006] 2 Translation + 1 Rotation 215 seconds Obstacle Robot x y
Slide 65 Exact Motion Planning Approaches –Exact cell decomposition [Schwartz et al. 83] –Roadmap [Canny 88] –Criticality based method [Latombe 99] –Voronoi Diagram –Star-shaped roadmap [Varadhan et al. 06] Not practical –Due to free space computation –Limit for special and simple objects Ladders, sphere, convex shapes 3DOF
Slide 66 Approaches Exact Motion Planning –Based on exact representation of free space Approximation Cell Decomposition (ACD) A Hybrid Planner Combing ACD and PRM
Slide 67 Approximation Cell Decomposition (ACD) Not compute the free space exactly at once But compute it incrementally Relatively easy to implement –[Lozano-Pérez 83] –[Zhu et al. 91] –[Latombe 91] –[Zhang et al. 06]
Slide 68 fullmixed empty Approximation Cell Decomposition Full cell Empty cell Mixed cell –Mixed –Uncertain Configuration Space
Slide 69 Connectivity Graph G f : Free Connectivity GraphG: Connectivity Graph G f is a subgraph of G
Slide 70 Finding a Path by ACD Goal Initial G f : Free Connectivity Graph
Slide 71 Finding a Path by ACD L: Guiding Path First Graph Cut Algorithm –Guiding path in connectivity graph G –Only subdivide along this path –Update the graphs G and G f Described in Latombe’s book
Slide 72 First Graph Cut Algorithm Only subdivide along L L
Slide 73 Finding a Path by ACD
Slide 74 ACD for Path Non-existence C-space Goal Initial
Slide 75 Connectivity Graph Guiding Path ACD for Path Non-existence
Slide 76 ACD for Path Non-existence Connectivity graph is not connected No path! Sufficient condition for deciding path non-existence
Slide 77 Two-gear Example no path! Cells in C-obstacle Initial Goal Roadmap in F Vide o 3.356s
Slide 78 Cell Labeling Free Cell Query –Whether a cell completely lies in free space? C-obstacle Cell Query –Whether a cell completely lies in C-obstacle? fullmixed empty
Slide 79 Free Cell Query A Collision Detection Problem Does the cell lie inside free space? Do robot and obstacle separate at all configurations? Obstacle Workspace Configuration space ? Robot
Slide 80 Clearance Separation distance –A well studied geometric problem Determine a volume in C-space which are completely free d
Slide 81 C-obstacle Query Another Collision Detection Problem Does the cell lie inside C-obstacle? Do robot and obstacle intersect at all configurations? Obstacle Workspace Configuration space ? Robot
Slide 82 ‘Forbiddance’ ‘Forbiddance’: dual to clearance Penetration Depth –A geometric computation problem less investigated [Zhang et al. ACM SPM 2006] PD
Slide 83 Limitation of ACD Combinatorial complexity of cell decomposition Limited for low DOF problem –3-DOF robots
Slide 84 Approaches Exact Motion Planning –Based on exact representation of free space Approximation Cell Decomposition (ACD) A Hybrid Planner Combing ACD and PRM
Slide 85 Hybrid Planning Probabilistic roadmap motion planning + Efficient + Many DOFs -Narrow passages -Path non-existence Complete Motion Planning + Complete -Not efficient Can we combine them together?
Slide 86 Hybrid Approach for Complete Motion Planning Use Probabilistic Roadmap (PRM): –Capture the connectivity for mixed cells –Avoid substantial subdivision Use Approximation Cell Decomposition (ACD) –Completeness –Improve the sampling on narrow passages
Slide 87 Connectivity Graph G f : Free Connectivity GraphG: Connectivity Graph G f is a subgraph of G
Slide 88 Pseudo-free edges Pseudo free edge for two adjacent cells Goal Initial
Slide 89 Pseudo-free Connectivity Graph: G sf Goal Initial G sf = G f + Pseudo-edges
Slide 90 Algorithm G f G sf G
Slide 91 Results of Hybrid Planning
Slide 92 Results of Hybrid Planning
Slide 93 Results of Hybrid Planning times speedup 3 DOF4 DOF timingcells #timingcells #timingcells # Hybrid34s50K16s48K102s164K ACD85s168K???? Speedup2.53.3≥10? ?
Slide 94 Summary Difficult for Exact Motion Planning –Due to the difficulty of free space configuration computation ACD is more practical –Explore the free space incrementally Hybrid Planning –Combine the completeness of ACD and efficiency of PRM