740 likes | 1.33k Views
Introduction to ROBOTICS. Robot Motion Planning. Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York jxiao@ccny.cuny.edu. What is Motion Planning?. without hit obstacles. Determining where to go. Topics. Basics Configuration Space C-obstacles
E N D
Introduction to ROBOTICS Robot Motion Planning Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York jxiao@ccny.cuny.edu
What is Motion Planning? without hit obstacles • Determining where to go
Topics • Basics • Configuration Space • C-obstacles • Motion Planning Methods • Roadmap Approaches • Visibility graphs • Voronoi diagram • Cell Decomposition • Trapezoidal Decomposition • Quadtree Decomposition • Potential Fields • Bug Algorithms
References • G. Dudek, M. Jenkin, Computational Principles of Mobile Robots, MIT Press, 2000 (Chapter 5) • J.C. Latombe, Robot Motion Planning, Kluwer Academic Publishers, 1991. • • Additional references • – Path Planning with A* algorithm • • S. Kambhampati, L. Davis, “Multiresolution Path Planning for Mobile Robots”, IEEE Journal of Robotrics and Automation,Vol. RA-2, No.3, 1986, pp.135-145. • – Potential Field • • O. Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots”, Int. Journal of Robotics Research, 5(1), pp.90-98, 1986. • • P. Khosla, R. Volpe, “Superquadratic Artificial Potentials for Obstacle Avoidance and Approach” Proc. Of ICRA, 1988, pp.1178- 1784. • • B. Krogh, “A Generalized Potential Field Approach to Obstacle Avoidance Control” SME Paper MS84-484.
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
Configuration Space Notation: A: single rigid object –(the robot) W: Euclidean space where A moves; B1,…Bm: fixed rigid obstacles distributed in W • 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.
Configuration Space Configuration Space of A is the space (C )of all possible configurations of A. Point robot (free-flying, no constraints) C Cfree qslug Cobs qrobot For a point robot moving in 2-D plane, C-space is
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?
Configuration Space Y A robot which can translate in the plane C-space: 2-D (x, y) X Euclidean space: Y A robot which can translate and rotate in the plane C-space: 3-D (x, y, ) Y X x
Configuration Space b b a a 2R manipulator Configuration space topology
Configuration Space 360 qrobot 270 b 180 b 90 a qslug a 0 45 135 90 180 Two points in the robot’s workspace Torus (wraps horizontally and vertically)
Configuration Space If the robot configuration is within the blue area, it will hit the obstacle 360 qrobot 270 b 180 b 90 a qslug a 0 45 135 90 180 An obstacle in the robot’s workspace a “C-space” representation What is dimension of the C-space of puma robot (6R)? Visualization of high dimension C-space is difficult
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?
What if the robot is not a point? The Pioneer-II robot should probably not be modeled as a point...
What if the robot is not a point? Expand obstacle(s) Reduce robot not quite right ...
Obstacles Configuration Space C-obstacle Point robot
Free Space From Robot Motion Planning J.C. Latombe
Minkowski Sums This expansion of one planar shape by another is called the Minkowski sum Rectangular robot which can translate only P R R P P R = { p + r | p P and r R } (Dilation operation) Used in robotics to ensure that there are free paths available.
Additional Dimension What would the C-obstacle be if the rectangular robot (red) can translateandrotate in the plane. (The blue rectangle is an obstacle.) y Rectangular robot which can translate and rotate x
C-obstacle in 3-D What would the C-obstacle be if the rectangular robot (red) can translateandrotate in the plane. (The blue rectangle is an obstacle.) 3-D y 360º 180º 0º x this is twisted...
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 180º y 0º x can we stay in 2d ?
One slice Taking one slice of the C-obstacle in which the robot is rotated 45 degrees... P R R y 45 degrees P How many slices does P R have? x
2-D projection y x why not keep it this simple?
Projection problems qinit qgoal too conservative!
Topics • Configuration Space • Motion Planning Methods • Roadmap Approaches • Cell Decomposition • Potential Fields • Bug Algorithms
Motion Planning Methods The motion planning problem consists of the following: Input Output • geometric descriptions of a robot and its environment (obstacles) • initial and goal configurations • a path from start to finish (or the recognition that none exists) qrobot qgoal Applications Robot-assisted surgery Automated assembly plans Drug-docking and analysis Moving pianos around... What to do?
Motion Planning Methods (1) Roadmap approaches (2) Cell decomposition (3) Potential Fields (4) Bug algorithms Goal reduce the N-dimensional configuration space to a set of one-D paths to search. Goal account for all of the free space Goal Create local control strategies that will be more flexible than those above Limited knowledge path planning
Dijkstra’s algorithm O(N^2) N = the number of vertices in C-space Roadmap: Visibility Graphs Visibility graphs: In a polygonal (or polyhedral) configuration space, construct all of the line segments that connect vertices to one another (and that do not intersect the obstacles themselves). • Formed by connecting all “visible” vertices, the start point and the end point, to each other. • For two points to be “visible” no obstacle can exist between them • Paths exist on the perimeter of obstacles From Cfree, a graph is defined Converts the problem into graph search.
The Visibility Graph in Action (Part 1) • First, draw lines of sight from the start and goal to all “visible” vertices and corners of the world. goal start
The Visibility Graph in Action (Part 2) • Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. goal start
The Visibility Graph in Action (Part 3) • Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. goal start
The Visibility Graph in Action (Part 4) • Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. goal start
goal start The Visibility Graph (Done) • Repeat until you’re done. Since the map was in C-space, each line potentially represents part of a path from the start to the goal.
Visibility graph drawbacks Visibility graphs do not preserve their optimality in higher dimensions: shortest path shortest path within the visibility graph In addition, the paths they find are “semi-free,” i.e. in contact with obstacles. No clearance
Roadmap: Voronoi diagrams “official” Voronoi diagram (line segments make up the Voronoi diagram isolates a set of points) Generalized Voronoi Graph (GVG): locus of points equidistant from the closest two or more obstacle boundaries, including the workspace boundary. Property: maximizing the clearance between the points and obstacles.
Roadmap: Voronoi diagrams • GVG is formed by paths equidistant from the two closest objects • maximizing the clearance between the obstacles. • This generates a very safe roadmap which avoids obstacles as much as possible
Voronoi Diagram: Metrics • Many ways to measure distance; two are: • L1 metric • (x,y) : |x| + |y| = const • L2 metric • (x,y) : x2 +y2 = const
Voronoi Diagram (L1) Note the lack of curved edges
Voronoi Diagram (L2) Note the curved edges
Motion Planning Methods • Roadmap approaches • Visibility Graph • Voronoi Diagram • Cell decomposition • Exact Cell Decomposition (Trapezoidal) • Approximate Cell Decomposition (Quadtree) • Potential Fields • Hybrid local/global
Exact Cell Decomposition Trapezoidal Decomposition: Decomposition of the free space into trapezoidal & triangular cells Connectivity graph representing the adjacency relation between the cells (Sweepline algorithm)
Exact Cell Decomposition Trapezoidal Decomposition: Search the graph for a path (sequence of consecutive cells)
Exact Cell Decomposition Trapezoidal Decomposition: Transform the sequence of cells into a free path (e.g., connecting the mid-points of the intersection of two consecutive cells)
Optimality Trapezoidal Decomposition: 15 cells 9 cells Obtaining the minimum number of convex cells is NP-complete. Trapezoidal decomposition is exact and complete, but not optimal there may be more details in the world than the task needs to worry about...
Approximate Cell Decomposition Quadtree Decomposition: recursively subdivides each mixed obstacle/free (sub)region into four quarters... Quadtree:
further decomposing... Quadtree Decomposition: recursively subdivides each mixed obstacle/free (sub)region into four quarters... Quadtree:
further decomposing... Quadtree Decomposition: • The rectangle cell is recursively decomposed into smaller rectangles • At a certain level of resolution, only the cells whose interiors lie entirely in the free space are used • A search in this graph yields a collision free path Again, use a graph-search algorithm to find a path from the start to goal is this a complete path-planning algorithm? i.e., does it find a path when one exists ? Quadtree
Motion Planning Methods • Roadmap approaches • Cell decomposition • Exact Cell Decomposition (Trapezoidal) • Approximate Cell Decomposition (Quadtree) • Potential Fields • Hybrid local/global
Potential Field Method Potential Field (Working Principle) – The goal location generates an attractive potential – pulling the robot towards the goal – The obstacles generate a repulsive potential – pushing the robot far away from the obstacles – The negative gradient of the total potential is treated as an artificial force applied to the robot -- Let the sum of the forces control the robot C-obstacles
Potential Field Method • Compute an attractive force toward the goal C-obstacles Attractive potential