ORourkeCH8 - UMass Lowell Computer Science 91.504 Advanced...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O'Rourke Chapter 8 Motion Planning Chapter 8 Motion Planning Shortest Paths (robot = point) Moving a Disk Translating a Convex Polygon Moving a Ladder Robot Arm Motion Separability Problem Specification s t Assume fixed environment of impenetrable objects e.g. Polygons or polyhedra Robot: movable object at initial position e.g. point robot starting at s Goal: Plan motion to final position (e.g. t) avoiding robot penetration of objects Sliding contact is acceptable Questions: Does there exist a "free" (collision-avoiding) path? How to construct such a path? How to find shortest such path? Shortest Paths s t Reduce possibilities to finite list! Shortest path segment endpoint vertex of obstacle (consider s,t as "point obstacles) Shortest path is subpath of visibility graph of vertices of obstacle polygons visibility graph requires (n2) time Algorithm: DIJKSTRA'S ALGORITHM T {s} while t not in T do Find edge e in (G \ T) that augments T to reach a node x whose distance from s is minimum T T + {e} Assume: - Polygonal obstacles have total of n vertices - Points s, t are outside obstacles - Points s, t are degenerate polygons - Obstacles are disjoint Moving a Disk Revised Goal: find any path to t not necessarily shortest path 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 t s t find it by modifying visibility graph to include circular arcs from grown obstacles s O(n2 lg n) Why Does it Work? Minkowski Sum: vector sum for point sets A B = {a + b | a A, b B} a+b a b a1 a4 a 3 a2 a4+b3 a3+b2 b2 A B Simple Case b3 A B a2+b1 b1 Convex/Convex Case Why Does it Work? (continued) (a5 + b4 ), (a5 + b3 ) (a3 + b4 ), (a4 + b4 ) a4 a5 a3 a1 a2 a5+b4 a4+b4 a3+b4 a5+b3 a2+b3 b4 b3 b2 b1 a3+b2 a3+b1 a2+b2 A B (a3 + b1 ), (a3 + b2 ) ( a2 + b2 ), (a2 + b3 ) Polygonal Nonconvex/Nonconvex Case Minkowski Sum: Some Properties Shape is translationally invariant ( A + t ) B = ( A B) + t = A ( B + t ) Commutative A B = B A Union formulation A B = a A,bB U{a + b} = U{a + B} = U{b + A} a A bB When A, B convex, sum is convex Minkowski Sum: Properties (continued) TRANSLATIONAL INTERSECTION ( B + t ) A iff t ( A (- B )) Why?? t a b Consider Simple Case: a=A, b=B b+t = a t = a -b Note: -b = b rotated by Minkowski Sum: Properties (continued) TRANSLATIONAL INTERSECTION ( B + t ) A iff t ( A (- B )) A (- B) -B t A B B B Polygon Motion Planning To plan motion for a shape P amidst polygonal obstacles U set of all displacements of P relative to U U ( - P ) such that (translated) P intersects U: set of all displacements of P relative to U such that (translated) P does not intersect U (- P ) U: If t, s in same component of plane, there is a free path t find it by modifying visibility graph to include circular arcs from grown obstacles U s s t U P Minkowski Sum Algorithms Algorithms for Constructing the Minkowski Sum of 2 Polygons A and B A [n vertices] Convex Convex NonConvex B [m vertices] Convex NonConvex NonConvex Size O(n+m) O(nm) O(n2m2) Running Time O(n+m) O(nm) O(n2m2) Convex A, B NonConvex A, B a5 a4 a a supports b b 3 4 3 3 a1 a2 b4 b3 b2 b3 supports a2 a3 merge edge copies in slope order b1 Identify vertex/edge support pairs Minkowski Sum Exercises These statements are about Minkowski sums for 2 2D point sets A and B: (a) provide a counterexample that shows this is false: A B = A (- B ) B -B (b) prove this is true B - (( - A) B ) = A ( - B ) B Moving a Ladder Rotation adds degree of freedom - makes the "configuration space" 3D Two Methods to find free path through configuration space: 1) Cell decomposition 2) Retraction Source: O'Rourke O' Configuration space if robot and obstacles can have circular arcs (smoothly joined) Source: PhD dissertation by Steven Cy Trac, U. Miami Trac, Moving a Ladder through Polygonal Obstacles (continued) Find Free Path through Configuration Space Cell decomposition method Shaded regions comprise "free space." No path in G0 from A to C. disconnect 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 "dual graph" G represents cell structure Identify O(n2) critical orientations where combinatorial structure of connectivity graph changes Alignment of ladder with either obstacle edges or 2 obstacle vertices. Form overall connectivity graph reference point obstacles Disconnect for this angle too! Determine a path in the space by finding a path between cells Source: O'Rourke O' Moving a Ladder (continued) Find Free Path through Configuration Space 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 Distance of point p to ladder L is minimum length of any line segment from p to a point on L. "Stack" Voronoi diagrams for successive angles to form twisted "sheets" Perform path planning in "network" of diagram formed by ribs between Voronoi sheets rib is place where 2 sheets meet "Voronoi vertex" is equidistant from at least 3 obstacle points. Moving L so its reference point stays on diagram edges places L as far from nearby obstacles as possible. obstacles a "Voronoi diagram" edge Source: O'Rourke O' Moving a Ladder (continued) Find Free Path through Configuration Space Source: O'Rourke O' 2D Time Complexity Authors Shwartz, Sharir O'Dunlaing et al. Leven , Sharir Sifrony, Sharir Vegter O'Rourke Date 1983 1987 1987 1987 1990 1985b Time Complexity O(n5 ) O(n 2 log n log* n) O(n 2 log n) O(n 2 log n) O(n 2 ) ( n 2 ) 3D Time Complexity Authors Shwartz, Sharir Ke, O'Rourke Canny Ke, O'Rourke Date 1984 1987 1987 1988 Time Complexity O(n11 ) O(n 6 log n) O(n 5 log n) ( n 4 ) Canny (1987): Any motion planning problem in which the robot has d degrees of motion freedom can be solved in O(ndlogn) time. Robot Arm Motion Planar, multilink arm links L1, L2,.., Ln, connected at joints J0, J1, J2,.., Jn joint J0 anchored at origin no obstacles arm may self-intersect can tip of arm reach this? L1 can reach all points on this circle L2 can reach all points on each such circle centered on a point of L1's circle origin = J0 J1 L1 L2 tip of arm 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 O' Robot Arm Motion: Reachability Region Reachability region is independent of order in which links are arranged. justify using parallelogram determined by link vector sum (commutativity of vector addition) so, assume w.l.o.g. first link is longest n 0 Theorem 8.6.3: Reachability region for n-link arm is origin-centered annulus with outer radius r = l and inner radius r = 0 if longest link l is at most half the total length of links, and r = l - l otherwise. i =1 i i M i M iM i L4 L3 L1 L2 ri = l1 - (l2 + l3 + l4 ) Robot Arm Motion: Finding Configurations Find a single solution Can arm tip reach p? 2-Link Case C1 C2 l1 l2 Intersect circle C1 of radius l1 (centered on origin J0) with circle C2 of radius l2 (centered on origin p). In general there are 2 solutions (depends on how circles intersect) p = point to be reached Source: O'Rourke O' Robot Arm Motion: Finding Configurations Align L1 with L2 Case 1 : R C 0 "Anti-Align" L1 with L2 / Anti- Align" O I Theorem: Every 3-link problem can be solved by one of these 2-link problems: (l1 + l2 , l3) [Fig 8.22(a)] (l1, l2 + l3) [Fig 8.22(b),(c), Fig 8.23] j0 = 1st joint angle C is centered at p and has radius l3. C does not enclose J0 C encloses J0 Case 2 : R C = 0 / Align L2 with L3 Solution exists for every j0! j0= 0 and (l2 , l3 ) [Fig 8.22(d)] Alternative to "Anti-Aligning" Anti- Aligning" L1 with L2 (align L2 with L3) Boundary of annulus represents extreme 2-link configurations for "single link" of length l1+l2 or |l1-l2| Source: O'Rourke O' Robot Arm Motion: Finding Configurations Recursive, linear algorithm for n-link reachability: annulus R represents n-1 links of n-link arm with circle C of radius ln centered on p cases of Figure 8.22 apply Case 1 : R C 0 / Case 2 : R C [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 J0) Recursively find configuration for An-1=(l1,...,ln-1) Append last link Ln to this solution to connect to p Given point p to reach, first determine if p is reachable (via Theorem 8.6.3); if so, find configuration recursively. Source: O'Rourke O' Robot Arm Motion: n-Link Reachability 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 J1,...,Jn-1 have nonzero angles. The 2 joints can be chosen to be those at either end of the "median link": the link Lm such that l is at most half the total link length but l is more than half. m -1 i =1 m i i =1 i Note this does not require reordering links. Source: O'Rourke O' Separability Examples Separable: movable to infinity without overlapping others u separable using combination of different translation directions separable along some translation directions, but not for direction u unseparable via 2D translation Source: O'Rourke O' 2D Separability via Translation Guibas/Yao 1983: A collection of 2D convex polygons can be separated under these motion conditions (does not necessarily 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 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. Developing this... 2D Separability Hardness An NP-Hard 2D Separability Problem: Translation: all motions are translations Polygons are moved one-at-a-time Each translation can be in a different direction Each polygon can be moved more than once Create separability instance from arbitrary PARTITION instance Reduction from PARTITION Blocks of height 1 and widths from PARTITION numbers Requires them to be stacked and perfectly packed into rectangle of width = sum of PARTITION block widths Q can be moved down and right iff blocks can be packed into left part of orange shape Q 1 9 3 3 5 6 ...
View Full Document

This note was uploaded on 02/13/2012 for the course CS 91.504 taught by Professor Daniels during the Spring '10 term at UMass Lowell.

Ask a homework question - tutors are online