2.54k likes | 3.88k Views
Robot Path Planning. William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University. Introduction to Motion Planning. Applications Overview of the Problem Basics – Planning for Point Robot Visibility Graphs Roadmap Cell Decomposition Potential Field.
E N D
Robot Path Planning William RegliDepartment of Computer Science(and Departments of ECE and MEM)Drexel University Slide 1
Introduction to Motion Planning • Applications • Overview of the Problem • Basics – Planning for Point Robot • Visibility Graphs • Roadmap • Cell Decomposition • Potential Field Slide 2
Motion planning is the ability for an agent to compute its own motions in order to achieve certain goals. All autonomous robots and digital actors should eventually have this ability 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 • Statement:Compute a collision-free path for a rigid or articulated object among static obstacles • Inputs: • Geometry of moving object and obstacles • Kinematics of moving object (degrees of freedom) • Initial and goal configurations (placements) • Output: Continuous collision-free path connecting the initial and goal configurations Slide 6
Types of Path Constraints Path Planning • Local constraints • Collision-free paths • Differential constraints • A car cannot move sideways • Have bound curvature • Global constraints • Shortest or optimal paths Motion Planning Slide 7
Non-Holonomic Constraints 3 degrees of freedom, but…only 2 control parameters v θ Not every path in configuration space is valid... Slide 8
On a Terrain Planar motion, but 3-dimensional obstacles. Slide 9
Robots translate and rotate Collisions between robots. Multiple Robots Slide 10
Moving Obstacles Add time dimension to C. Only time-monotone paths are allowed Slide 11
Movable Obstacles Robot can change Cfree! Slide 12
More • Huge numbers of degrees of freedom. • Group motions • Deformable robots • … Slide 13
What is the number of DoF’s? • a polygon robot translating in the plane • a polygon robot translating and rotating • a spherical robot moving in space • a spatial robot translating and rotating • a snake robot in the plane with 3 links Slide 14
Example: Rigid Objects Slide 15
Piano Mover’s Problem • 2D or 3D rigid models Slide 16
piano.mpg • Bench6.avi Slide 17
Example: Articulated Robot Slide 18
Is it easy? Slide 19
Alpha.avi • Alpha-another-path.avi Slide 20
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 21
Hardness • The problem is hard when k is part of the input [Reif 79], [Hopcroft et al. 84], … • [Reif 79]: planning a free path for a robot made of an arbitrary number of polyhedral bodies connected together at some joint vertices, among a finite set of polyhedral obstacles, between any two given configurations, is a PSPACE-hard problem • Translating rectangles, planar linkages Slide 22
Complete solutions, I the Piano Movers series [Schwartz-Sharir 83], cell decomposition: a doubly-exponential solution, O(nd)3^k) expected time assuming the robot complexity is constant, nis the complexity of the obstacles and d is the algebraic complexity of the problem Slide 23
Complete solutions, II roadmap [Canny 87]: a singly exponential solution, nk(log n)dO(k^2) expected time Slide 24
Tool: Configuration Space Difficulty • Number of degrees of freedom (dimension of configuration space) • Geometric complexity Slide 25
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 26
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 27
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 28
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 29
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 30
Motion planning:the basic problem Let B be a system (the robot) with k degrees of freedom moving in a known environment cluttered with obstacles. Given free start and goal placements for B decide whether there is a collision free motion for B from start to goal and if so plan such a motion. Slide 31
Configuration spaceof a robot system with k degrees of freedom [Lozano-Peréz ’79] • the space of parametric representation of all possible robot configurations • C-obstacles: the expanded obstacles • the robot -> a point • k dimensional space • point in configuration space: free, forbidden, semi-free • path -> curve Slide 32
Some Examples Slide 33
Visibility Graphs Slide 34
Framework Slide 35
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 36
Visibility Graph • A visibility graph is a graph such that • Nodes: qinit, qgoal, 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 37
Computational Efficiency • Simple algorithm O(n3) time • More efficient algorithms • Rotational sweep O(n2log n) time • Optimal algorithm O(n2) time • Output sensitive algorithms • O(n2) space Slide 39
g s Issues With Visibility Graphs • Difficult to extend from point robots to rigid or articulated robots A L-shaped robot Slide 40
Framework Slide 41
Breadth-First Search Slide 42
Breadth-First Search Slide 43
Breadth-First Search Slide 44
Breadth-First Search Slide 45
Breadth-First Search Slide 46
Breadth-First Search Slide 47
Breadth-First Search Slide 48
Breadth-First Search Slide 49
Breadth-First Search Slide 50