Motion Planning 2D Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo
Tratto dai corsi: CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Prof. J.C. Latombe Stanford University e Introduction to Robotics Dr. John (Jizhong) Xiao City College of New York
What is Motion Planning? Determining where to go without hit obstacles 3
Basic Problem Statement: Compute a collision-free path for a rigid or articulated object (the robot) among static obstacles Inputs: Geometry of robot and obstacles Kinematics of robot (degrees of freedom) Initial and goal robot configurations (placements) Output: Continuous sequence of collision-free robot configurations connecting the initial and goal configurations 4
The World consists of... 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 5
Configuration Space Notation: A: single rigid object (the robot) W: Euclidean space where A moves; W R B1, Bm: fixed rigid obstacles distributed in W 2 or R 3 FW world frame (fixed frame) FA robot frame (moving frame rigidly associated with the robot) Configuration q of A is a specification of the physical state (position and orientation) of A w.r.t. a fixed environmental frame FW. Configuration Space is the space of all possible robot configurations. 6
Configuration Space Configuration Space of A is the space (C ) of all possible configurations of A. Point robot (free-flying, no constraints) C C free q slug C obs q robot For a point robot moving in 2-D plane, C-space is 2 R 7
Configuration Space C Z y C free q goal C obs q start x For a point robot moving in 3-D, the C-space is 3 R 8
Configuration Space Y A robot which can translate in the plane X C-space: 2-D (x, y) Euclidean space: 2 R Y A robot which can translate and rotate in the plane X Y x C-space: 3-D (x, y, ) 9
Configuration Space b a b a 2R manipulator Configuration space 10 topology
Configuration Space 360 b 270 180 q robot a 90 b Two points in the robot s workspace 0 q slug 45 a Torus 90 135 180 (wraps horizontally and vertically) 11
Configuration Space If the robot configuration is within the blue area, it will hit the obstacle 360 b 270 180 q robot An obstacle in the robot s workspace a 90 b 0 q slug 45 a 90 135 180 a C-space representation 12
Configuration Space: Tool to Map a Robot to a Point 13
Motion Planning Revisit Find a collision free path from an initial configuration to goal configuration while taking into account the constrains (geometric, physical, temporal) C-space concept provide a generalized framework to study the motion planning problem A separate problem for each robot? 14
What if the robot is not a point? 15
What if the robot is not a point? Expand obstacles Reduce robot 16
Obstacles Configuration Space C-obstacle 17 Point robot
Minkowski Sums This expansion of one planar shape by another is called the Minkowski sum Rectangular robot which can translate only R P R P 18
Additional Dimension What would the C-obstacle be if the rectangular robot (red) can translate and rotate in the plane. (The blue rectangle is an obstacle.) y Rectangular robot which can translate and rotate 19 x
C-obstacle in 3-D What would the configuration space of a 3DOF rectangular robot (red) in this world look like? (The obstacle is blue.) 3-D y 180º x 20 this is twisted... 0º
One slice Taking one slice of the C-obstacle in which the robot is rotated 45 degrees... y R 45 degrees P R P 21 x How many slices does P R have?
2-D projection y x why not keep it this simple? 22
Projection problems q init q goal too conservative! 23
Examples with Rigid Object Ladder problem 24 Piano-mover problem
Some Extensions of Basic Problem Moving obstacles Multiple robots Movable objects Assembly planning Goal is to acquire information by sensing Model building Object finding/tracking Inspection Optimal planning Uncertainty in model, control and sensing Integration of planning and control Integration with higher-level planning 25
Conceptual Framework Continuous representation (Cartesian space + Configuration space + constraints) Discretization (Samples, cells, ) Graph searching (blind, best-first, A*) 26
Path-Planning Approaches Local Planning Local path planning methods do not attempt to solve the problem in its full generality, but use only the information available at the moving robot to determine the next motion command. Global Planning In contrast, global methods assume complete knowledge about the world. They frequently rely on the concept of free space, the configurations the robot can take without collision [10]. It is convenient to shrink the robot to a point while growing the obstacles accordingly to obtain the free space. 27
Practical Algorithms (1/2) A complete motion planner always returns a solution plan when one exists and indicates that no such plan exists otherwise. Most motion planning problems are hard, meaning that complete planners take exponential time in # of degrees of freedom, objects, etc. 28
Practical Algorithms (2/2) Theoretical algorithms strive for completeness and minimal worst-case complexity. Difficult to implement and not robust. Heuristic algorithms strive for efficiency in commonly encountered situations. Usually no performance guarantee. Weaker completeness Simplifying assumptions Exponential algorithms that work in practice 29
Problem free space s obstacle obstacle free path g obstacle 30
Problem semi-free path obstacle obstacle obstacle 31
Types of Path Constraints Local constraints: lie in free space Differential constraints: have bounded curvature Global constraints: have minimal length 32
Path-Planning Approaches 1. Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells 2. Potential field Define a function over the free space that has a global minimum at the goal configuration and follow its steepest descent 3. Roadmap Represent the connectivity of the free space by a network of 1-D curves 33
Cell-Decomposition Methods Two classes of methods: Exact cell decomposition The free space F is represented by a collection of non-overlapping cells whose union is exactly F Example: trapezoidal decomposition Approximate cell decomposition F is represented by a collection of non-overlapping cells whose union is contained in F Examples: quadtree, octree, 2n-tree 34
Trapezoidal decomposition 35
Trapezoidal decomposition 36
Trapezoidal decomposition 37
Trapezoidal decomposition 38
Trapezoidal decomposition 39 critical events criticality-based decomposition
Trapezoidal Decomposition: Optimality 15 cells 9 cells Trapezoidal decomposition is exact and complete, but not optimal Obtaining the minimum number of convex cells is NP-complete. 40
Approximate Cell Decomposition Quadtree Decomposition: Quadtree: recursively subdivides each mixed obstacle/free (sub)region into four quarters... 41