UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 8 Motion Planning.

Slides:



Advertisements
Similar presentations
Chapter 4 Partition I. Covering and Dominating.
Advertisements

1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Fall Path Planning from text. Fall Outline Point Robot Translational Robot Rotational Robot.
Motion Planning for Point Robots CS 659 Kris Hauser.
Visibility Graph Team 10 NakWon Lee, Dongwoo Kim.
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
Visibility Graphs May Shmuel Wimer Bar-Ilan Univ., Eng. Faculty Technion, EE Faculty.
Visibility Graph and Voronoi Diagram CS Tutorial.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.
1st Meeting Industrial Geometry Computational Geometry ---- Some Basic Structures 1st IG-Meeting.
Visibility Computations: Finding the Shortest Route for Motion Planning COMP Presentation Eric D. Baker Tuesday 1 December 1998.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Lecture 2 Polygon Partitioning Thursday,
17. Computational Geometry Chapter 7 Voronoi Diagrams.
2. Voronoi Diagram 2.1 Definiton Given a finite set S of points in the plane , each point X of  defines a subset S X of S consisting of the points of.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
PLANAR SHORTEST PATH & R-DIVISIONS Dwyane George March 10, 2015.
Counting and Representing Intersections Among Triangles in R 3 Esther Ezra and Micha Sharir.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 7 Search & Intersection.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2001 Lecture 4 Chapter 6: Arrangements Monday,
Jie Gao Joint work with Amitabh Basu*, Joseph Mitchell, Girishkumar Stony Brook Distributed Localization using Noisy Distance and Angle Information.
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Lecture 3 Chapter 3: 2D Convex Hulls Friday,
Algorithmic Robotics and Motion Planning Dan Halperin Tel Aviv University Fall 2006/7 Algorithmic motion planning, an overview.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 5: Voronoi Diagrams Monday, 2/23/04.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Lecture 2 Chapter 2: Polygon Partitioning.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O’Rourke Chapter 8 Motion Planning.
Almost Tight Bound for a Single Cell in an Arrangement of Convex Polyhedra in R 3 Esther Ezra Tel-Aviv University.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 8 Motion Planning.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Lecture 2 Chapter 2: Polygon Partitioning.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Finding the Largest Area Axis-Parallel Rectangle in a Polygon in O(n log 2 n) Time MATHEMATICAL SCIENCES COLLOQUIUM Prof. Karen Daniels Wednesday, October.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 4: 3D Convex Hulls Monday, 2/23/04.
Spring 2007 Motion Planning in Virtual Environments Dan Halperin Yesha Sivan TA: Alon Shalita Basics of Motion Planning (D.H.)
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Area, buffer, description Area of a polygon, center of mass, buffer of a polygon / polygonal line, and descriptive statistics.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
Introduction to Robot Motion Planning. Example A robot arm is to build an assembly from a set of parts. Tasks for the robot: Grasping: position gripper.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Robot Motion Planning Computational Geometry Lecture by Stephen A. Ehmann.
Visibility Graphs and Motion Planning Kittiphan Techakittiroj for the Degree of Master of Science Department of Computer Science, Ball State University,
4/21/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Motion Planning Carola Wenk.
May Motion Planning Shmuel Wimer Bar Ilan Univ., Eng. Faculty Technion, EE Faculty.
© Manfred Huber Autonomous Robots Robot Path Planning.
UNIT THREE REVIEW Geometry 217. True/False  A translation is an arrangement of shapes that covers a plane completely without gaps or overlaps.  False,
Planning Near-Optimal Corridors amidst Obstacles Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin Athens May 2006.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 7 Search & Intersection.
On the union of cylinders in 3-space Esther Ezra Duke University.
Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930.
Introduction to Robot Motion Planning Robotics meet Computer Science.
October 9, 2003Lecture 11: Motion Planning Motion Planning Piotr Indyk.
Approximation algorithms for TSP with neighborhoods in the plane R 郭秉鈞 R 林傳健.
TEL-AVIV UNIVERSITY RAYMOND AND BEVERLY SACKLER FACULTY OF EXACT SCIENCES SCHOOL OF MATHEMATICAL SCIENCES An Algorithm for the Computation of the Metric.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
© 2010 Pearson Prentice Hall. All rights reserved. CHAPTER 10 Geometry.
Descriptive Geometry. Introduction  What is Descriptive Geometry? →It is the study of points, lines, and planes in space to determine their locations.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O’Rourke Chapter 6 with some material.
Chapter 2 Introducing Geometry. Lesson 2.1 Definition – a statement that clarifies or explains the meaning of a word or a phrase. Point – an undefined.
4/9/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Motion Planning Carola Wenk.
2.1 Introduction to Configuration Space
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Mrs. Daniel’s Geometry Vocab List
Computing Shortest Path amid Pseudodisks
Convex Hull - most ubiquitous structure in computational geometry
CHAPTER 10 Geometry.
Presentation transcript:

UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 8 Motion Planning

Chapter 8 Motion Planning Shortest Paths Moving a Disk Translating a Convex Polygon Moving a Ladder Robot Arm Motion Separability

Shortest Paths ä Shortest path segment endpoint ä vertex of obstacle ä Shortest path is subpath of visibility graph of vertices of obstacle polygons  visibility graph requires  (n 2 ) time Assume: - Polygonal obstacles have total of n vertices of n vertices - Points s, t are outside obstacles - Points s, t are degenerate polygons - Obstacles are disjoint s t Algorithm: DIJKSTRA’S ALGORITHM T {s} while t not in T do Find edge e in (G \ T) that augments Find edge e in (G \ T) that augments T to reach a node x whose distance T to reach a node x whose distance from s is minimum from s is minimum T T + {e} T T + {e}

Moving a Disk ä Shrink disk to a point ä Grow obstacles by disk radius ä Form union of grown obstacles ä If t, s in same component of plane, there is a free path ä find it by modifying visibility graph to include circular arcs from grown obstacles st st O(n 2 lg n)

Why Does it Work? ä Minkowski Sum: vector sum for point sets a b a+b Simple Case a3a3 a1a1 a2a2 a4a4 b3b3 b2b2 b1b1 a 2 +b 1 a 3 +b 2 a 4 +b 3 Convex/Convex Case

Why Does it Work? (continued) Nonconvex/Nonconvex Case a5a5 a3a3 a1a1 a2a2 a4a4 b4b4 b3b3 b1b1 a 2 +b 1 a 3 +b 3 a 5 +b 4 b2b2

Minkowski Sum: Some Properties ä Shape is translationally invariant ä Commutative ä Union formulation ä When A, B convex, sum is convex

Minkowski Sum: Properties (continued) ä TRANSLATIONAL INTERSECTION a b Why?? Consider Simple Case: a=A, b=B Note: -b = b rotated by  t

Minkowski Sum: Properties (continued) ä TRANSLATIONAL INTERSECTION -B B t A B B

Demo Translating a Convex Polygon

Polygon Motion Planning ä To plan motion for a shape P amidst polygonal obstacles U ä set of all displacements of P relative to U such that (translated) P intersects U: ä set of all displacements of P relative to U such that (translated) P does not intersect U: ä If t, s in same component of plane, there is a free path ä find it by modifying visibility graph to include circular arcs from grown obstacles st st

Minkowski Sum Algorithms Convex A, B NonConvex A, B merge edge copies in slope order in slope order Identify vertex/edge support pairs a5a5 a3a3 a1a1 a2a2 a4a4 b4b4 b3b3 b1b1 a 3 supports b 3 b 4 b2b2 b 3 supports a 2 a 3

These statements are about Minkowski sums for 2 2D point sets A and B : (a) provide a counterexample that shows this is false: (b) prove this is true Minkowski Sum Exercises B B B -B

Moving a Ladder Rotation adds degree of freedom - makes the “configuration space” 3D - makes the “configuration space” 3D Two Methods to find free path through configuration space: 1)Cell decomposition 2)Retraction Source: O’Rourke

Moving a Ladder (continued) Find Free Path through Configuration Space ä Cell decomposition method ä Partition configuration space into finite number of “well-behaved cells” ä For a single orientation ä Cell = connected region in free space of appropriate configuration space ä Connectivity graph represents cell structure ä Identify O(n 2 ) critical orientations where combinatorial structure of connectivity graph changes ä Alignment of ladder with either obstacle edges or 2 obstacle vertices. ä Form overall connectivity graph ä Determine a path in the space by finding a path between cells reference point Source: O’Rourke

Retraction method ä Construct “Voronoi diagram” of obstacles for ( fixed orientation of ) ladder L ä Set of free points x such that, when ladder’s reference point is placed at x, L is equidistant from >= 2 obstacle points ä “Retract” from s and t to the diagram ä Perform path planning in “network” of diagram Moving a Ladder (continued) Find Free Path through Configuration Space Source: O’Rourke

Moving a Ladder (continued) Find Free Path through Configuration Space 2D Time Complexity AuthorsDateTime Complexity Shwartz, Sharir 1983 O’Dunlaing et al Leven, Sharir1987 Sifrony, Sharir1987 Vegter1990 O’Rourke1985b 3D Time Complexity AuthorsDateTime Complexity Shwartz, Sharir 1984 Ke, O’Rourke1987 Canny1987 Ke, O’Rourke1988 Source: O’Rourke Canny (1987): Any motion planning problem in which the robot has d degrees of motion freedom can be solved in O( n d logn ) time.

Demo Robot Arm Motion

ä Planar, multilink arm ä links L 1, L 2,.., L n, connected at joints J 0, J 1, J 2,.., J n ä joint J 0 anchored at origin ä no obstacles ä arm may self-intersect origin = J 0 J1J1J1J1 L1L1L1L1 L2L2L2L2 can tip of arm reach this? L 1 can reach all points on this circle L 2 can reach all points on each such circle centered on a point of L 1 ’s circle Reachable region for an n-link arm is an annulus centered on the origin

Robot Arm Motion: Reachability Region Two cases showing reachability region for a 2-link arm is an annulus centered on the origin Source: O’Rourke

Robot Arm Motion: Reachability Region ä Reachability region is independent of order in which links are arranged. ä justify using parallelogram determined by link vector sum ä so, assume w.l.o.g. first link is longest ä Theorem: Reachability region for n-link arm is origin-centered annulus with outer radius and inner radius if longest link is at most half the total length of links, and otherwise. L2L2L2L2 L1L1L1L1 L3L3L3L3 L4L4L4L4

Robot Arm Motion: Finding Configurations Source: O’Rourke ä Find a single solution ä 2-Link Case ä Intersect circle C 1 of radius l 1 (centered on origin J 0 ) with circle C 2 of radius l 2 (centered on origin p). ä In general there are 2 solutions. p = point to be reached C1C1C1C1 l1l1l1l1 C2C2C2C2 l2l2l2l2

Robot Arm Motion: Finding Configurations Source: O’Rourke ä Theorem: Every 3-link problem can be solved by one of these 2-link problems: ä (l 1 + l 2, l 3 ) [Fig 8.22(a)] ä (l 1, l 2 + l 3 ) [Fig 8.22(b),(c), Fig 8.23] ä j 0 = 0 and (l 2, l 3 ) [Fig 8.22(d)] Boundary of annulus represents extreme 2-link configurations for “single link” of length l 1 + l 2 or | l 1 -l 2 | Align L 1 with L 2 “Anti-Align” L 1 with L 2 O I Alternative to “Anti-Aligning” L 1 with L 2 C does not enclose J 0 C encloses J 0 Align L 2 with L 3 Solution exists for every j 0 ! j 0 = 1st joint angle

Robot Arm Motion: Finding Configurations Source: O’Rourke ä Recursive, linear algorithm for n-link reachability: ä annulus R represents n-1 links of n-link arm with circle C of radius l n centered on p ä cases of Figure 8.22 apply ä [Fig 8.22(a),(b)] Choose one of (in general) 2 points of intersection ä [Fig 8.22(c),(d)] Choose any point on C (e.g. furthest from J 0 ) ä Recursively find configuration for A n =(l 1,…,l n-1 ) ä Append last link to this solution to connect to p Given point p to reach, first determine if p is reachable; if so, find configuration recursively.

Robot Arm Motion: n-Link Reachability Source: O’Rourke Two Kinks Theorem: If an n-link arm A can reach a point, it can reach it with at most 2 joints “kinked”: Only 2 joints among J 1,…,J n-1 have nonzero angles. The 2 joints can be chosen to be those at either end of the “median link”: the link L m such that is at most half the total link length but is more than half. Note this does not require reordering links.

Separability Examples separable using combination of different translation directions separable along some translation directions, but not for direction u Source: O’Rourke u unseparable via 2D translation

2D Separability via Translation ä Guibas/Yao 1983: A collection of 2D convex polygons can be separated under these motion conditions (does not hold in 3D!): ä Translation: all motions are translations ä Unidirectional: all translations in same direction ä Moved once: each polygon moved only once ä One-at-a-time: only one polygon is moved at a time ä Developing this… ä Separating Disjoint Segments: ä Of subset of segments whose upper endpoint is illuminated from right, the segment with lowest upper endpoint is completely illuminated and therefore separable towards right. ä Separating Convex Polygons: ä Region swept by right boundary of convex shape moving horizontally is subset of region swept by line segment between its leftmost highest and lowest points. Separating these segments separates the polygons. ä O(nlogn) time, based on sorting ä Final Result: Any set of n 2D convex shapes can be separated via translations all parallel to any given fixed direction, with each shape moving only once. Moving order can be computed in O(nlogn) time.

2D Separability Hardness ä NP-Hard 2D Separability Problem: ä Translation: all motions are translations ä Each translation can be in a different direction ä Each polygon can be moved more than once ä Reduction from PARTITION ä Create separability instance from arbitrary PARTITION instance ä Blocks of height 1 and widths from PARTITION numbers ä Q can be moved down and right iff blocks can be packed into left part of orange shape ä Requires them to be stacked and perfectly packed into rectangle of width = ½ sum of PARTITION block widths Q