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" (collisionavoiding) 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 "wellbehaved 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 selfintersect
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 nlink arm is an annulus centered on the origin Robot Arm Motion: Reachability Region Two cases showing reachability region for a 2link 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 nlink arm is origincentered 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? 2Link 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 "AntiAlign" L1 with L2 / Anti Align" O I Theorem: Every 3link problem can be solved by one of these 2link 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 "AntiAligning" Anti Aligning" L1 with L2 (align L2 with L3) Boundary of annulus represents extreme 2link configurations for "single link" of length l1+l2 or l1l2
Source: O'Rourke O' Robot Arm Motion: Finding Configurations Recursive, linear algorithm for nlink reachability: annulus R represents n1 links of nlink 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 An1=(l1,...,ln1) 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: nLink Reachability
Two Kinks Theorem: If an nlink arm A can reach a point, it can reach it with at most 2 joints "kinked": Only 2 joints among J1,...,Jn1 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 Oneatatime: 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 NPHard 2D Separability Problem: Translation: all motions are translations Polygons are moved oneatatime 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
 Spring '10
 DANIELS
 Algorithms, Graph Theory, Shortest path problem, Robot Arm Motion, Minkowski Sum Algorithms

Click to edit the document details