Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 8 Motion Planning."— Presentation transcript:

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

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

3 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}

4 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)

5 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

6 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

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

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

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

10 Demo Translating a Convex Polygon http:/cs.smith.edu/~orourke/books/CompGeom/CompGeom.html

11 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

12 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

13 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

14 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

15 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

16 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

17 Moving a Ladder (continued) Find Free Path through Configuration Space 2D Time Complexity AuthorsDateTime Complexity Shwartz, Sharir 1983 O’Dunlaing et al. 1987 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.

18 Demo Robot Arm Motion http:/cs.smith.edu/~orourke/books/CompGeom/CompGeom.html

19 ä 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

20 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

21 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

22 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

23 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

24 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.

25 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.

26 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

27 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.

28 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 133 569 Q


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

Similar presentations


Ads by Google