and motion planning
play

and Motion Planning Translational Motion and Minkowski Sums Dan - PowerPoint PPT Presentation

Algorithmic Robotics and Motion Planning Translational Motion and Minkowski Sums Dan Halperin School of Computer Science Fall 2019-2020 Tel Aviv University Translational motion of a polygon among polygons in the plane Very well


  1. Algorithmic Robotics and Motion Planning Translational Motion and Minkowski Sums Dan Halperin School of Computer Science Fall 2019-2020 Tel Aviv University

  2. Translational motion of a polygon among polygons in the plane • Very well understood and having efficient complete implementation (which is not the case for almost any other non-trivial MP problem) • The structure behind the solutions: Minkowski sums • A few theoretical problems remain open

  3. Outline • The combinatorial complexity of polygonal Minkowski sums in the plane • The connection between motion planning and Minkowski sums • Algorithms • Going up to 3D As time permits: • More applications of Minkowski sums • Minkowski average

  4. Polygonal Minkowski sums in the plane Structure and combinatorial complexity

  5. The Minkowski sum of two sets P and Q [wikipedia] in Euclidean space is the result of adding every point in P to every point in Q {(𝑦 1 , 𝑧 1 )} ⊕ {(𝑦 2 , 𝑧 2 )} = {(𝑦 1 + 𝑦 2 , 𝑧 1 + 𝑧 2 )} 1864 - 1909 𝑄, 𝑅 𝑄 ⨁ 𝑅

  6. Convex polygons • The farthest point of the sum in any direction is the sum of the farthest points in that direction of the summands • The sum of convex polygons is a convex polygon • Given polygons with 𝑛 and 𝑜 vertices, the sum has at most 𝑛 + 𝑜 vertices • Later, an interesting property of sums of convex polygons: pseudodiscs

  7. Non-convex polygons • Triangulate each polygon, construct the union of sums of pairs of triangles • Arrangements of segments • Number of segments 𝑃(𝑛𝑜) • Maximum complexity 𝑃(𝑛 2 𝑜 2 ) • The bound is tight

  8. So far Given two polygons with 𝑛 and 𝑜 vertices • Convex – convex: 𝑃(𝑛 + 𝑜) • Non-convex – non-convex: 𝑃(𝑛 2 𝑜 2 ) How about convex – non-convex? One of the early surprising results in CG

  9. Reminder: The union of discs • Given 𝑛 > 2 discs in the plane, the boundary of the union of regions that they enclose contains at most 6𝑛 – 12 intersection points of the arcs • This bound is tight

  10. Pseudodiscs

  11. Convex – non-convex, polygons: The pseudodiscs property

  12. Convex – non-convex, polygons: The complexity of the sum Theorem: the complexity of the Minkowski sum of a convex polygon with 𝑛 vertices and a simple polygon with 𝑜 vertices is 𝑃(𝑛𝑜) • The bound is tight

  13. General result: The union of pseudodiscs • Given 𝑛 simple Jordan curves in the plane, each pair of which intersect one another in at most two points, then the boundary of the union of regions that they enclose contains at most max(2,6𝑛 – 12) intersection points of the curves, and this bound cannot be improved [kedem-Livne-Pach-Sharir ‘ 86]

  14. Minkowski sums and translational motion planning

  15. Why are Minkowski sums so useful? Here ’ s a major reason: • Claim: Two sets 𝐵 and 𝐶 intersect if and only if the Minkowski sum 𝐵 ⨁ − 𝐶 contains the origin, where −𝐶 is the set 𝐶 reflected through the origin • More generally: A ∩ (B ⨁ {t}) ≠ ∅ iff t ∈ A⨁ −B In the plane −𝐶 is 𝐶 rotated by π radians around the origin

  16. Example: motion planning (piano movers) 𝑆 - a polygonal object that moves by translation 𝑄 - a set of polygonal obstacles reference Claim: When translating, 𝑆 intersects 𝑄 iff point ref (𝑆) is inside 𝑄 ⨁ − 𝑆

  17. Algorithms

  18. Algorithms • Convex - convex • The general case • Representation • Decomposition • The mystery of the construction time • Convolution • The hole filter • Convex – non-convex

  19. Convex – convex • Merging of normal diagrams • O( 𝑛 + 𝑜 )

  20. The general case Construction by decomposition • We alluded to it when we gave the general bound • Step 1 Decompose 𝑄 and 𝑅 into convex subpolygons 𝑄 1 , … , 𝑄𝑡 and Q 1 , … , Q t • Step 2 Compute 𝑆 𝑗𝑘 : = 𝑄 𝑗 ⨁ 𝑅 𝑘 for each pair • Step 3 Construct the union of those subsums

  21. How to represent Minkowski sums? The language of arrangements • Much more involved than the convex case • Should allow for complex topology, holes of any dimension • Arrangements of curves and surfaces do the job

  22. Representation of the free space Vertical decomposition + connectivity graph c 14 c 7 c 4 c 5 c 14 c 7 c 8 c 2 c 15 c 11 c 15 c 4 c 5 c 2 c 1 c 10 c 8 c 11 c 13 c 1 c 10 c 3 c 13 c 9 c 6 c 6 c 9 c 3 c 12 c 12 [www.seas.upenn.edu/~jwk/motionPlanning]

  23. Representation of the free space Example

  24. Constructing the union of the subsums One possibility: the arrg algorithm • Let 𝑆 be the set of a ll 𝑆 𝑗𝑘 s • Add all the edges of 𝑆 into a planar arrangement • Compute carefully for each face, edge and vertex whether it is inside union • Time: 𝑃((𝐽 + 𝑙) log 𝑙) 𝑃(𝐽 + 𝑙) - traversal 𝑙 - number of edges in 𝑆 𝐽 - number of intersections among edges of 𝑆

  25. The mystery of the construction time

  26. Construction by decomposition, zooming in • Step 1 Decompose 𝑄 and 𝑅 into convex subparts 𝑄 1 , … , 𝑄 𝑇 and Q 1 , … , Q t • Step 2 Compute 𝑆 𝑗𝑘 : = 𝑄 𝑗 ⨁ 𝑅 𝑘 for each pair • Step 3 Construct the union of those subsums For example: 𝑄 and 𝑅 are polygons with 𝑛 + 2 and 𝑜 + 2 vertices resp. • Step 1 Decompose 𝑄 and 𝑅 into 𝑛 and 𝑜 triangles • Step 2 Compute the hexagon 𝑆 𝑗𝑘 : = 𝑄 𝑗 ⨁ 𝑅 𝑘 for each pair • Step 3 Construct the union of those 4𝑛𝑜 triangles

  27. Algorithm complexity • Recall that for arbitrary polygons the maximum complexity is 𝑃(𝑛 2 𝑜 2 ) • The output may have size Ω(𝑛 2 𝑜 2 ) • We know to approach this running time in the worst case • Can we have a guaranteed output-sensitive algorithm? • Can we efficiently decide if the Minkowski sum has holes?

  28. Hardness in P • The curious incident of 3-SUM hard problems • Computing the union of a set of triangles is 3SUM hard • We need to compute the union of 4𝑛𝑜 triangles • HOWEVER, our 4𝑛𝑜 triangles are special • The mystery remains [Gajentaan-Overmars ’ 95] , [ Grønlund -Pettie ‘ 14]

  29. The hole filter in theory and practice

  30. Convolution [Guibas-Ramshaw-Stolfi ‘ 83]

  31. Construction by convolution • Lemma: The boundary of the sum is included in the convolution of the boundaries • Step 1 Track the boundaries simultaneously systematically to create a 2D arrg • Step 2 Compute winding numbers of faces in the arrg • Step 3 Construct the union of positive winding-number faces

  32. Speeding up the convolution algorithm in practice by filters • Construct a partial version of the underlying arrangement • Pro: fewer edges → faster arrangement construction • Con: we lose the winding number property • Apply filters; for example, the reflex vertex filter: reflex vertices do not contribute to the Minkowski sum boundary [Kaul-O ’ Connor-Srinivasan ‘ 91] • Check for each face in the resulting arrangement whether it is inside the sum [Behar-Lien ‘ 11]

  33. The hole filter Q: Given two polygons-w/h, which holes can you fill up and still get the same Minkowski sum? [poly2tri]

  34. The hole filter Q: Given two polygons-w/h, which holes can you fill up and still get the same Minkowski sum?

  35. The hole filter, cont ’ d Theorem: Let H be a hole in P. Then P ⨁ Q ≠ (P ⋃ H) ⨁ Q iff ∃ t ∈ R 2 s.t. Q ⨁ {t} ⊆ -H.

  36. Easily computable filters • Check if the hole H in P should be filled up by comparing the axis- aligned bounding box of H and the axis-aligned bounding box of Q

  37. The hole filter, cont ’ d Corollary: One can fill up all the holes of at least one polygon and still get the same Minkowski sum

  38. Reminder: Let H be a hole in P. Then Hole theorem, proof P ⨁ Q ≠ (P ⋃ H) ⨁ Q iff ∃ t ∈ R 2 s.t. Q ⨁ {t} ⊆ -H. • Recall that A ∩ (B ⨁ {t}) ≠ ∅ iff t ∈ A⨁ −B • ( ∃ t ∈ R 2 … ) then P -Q ⨁ {t} ⊆ H Q H P ∩ (-Q ⨁ {t})= ∅ , (P ⋃ H) ∩ (-Q ⨁ {t}) ≠ ∅ t ∉ P ⨁ Q , t ∈ (P ⋃ H) ⨁ Q -Q • ( ∄ t ∈ R 2 … ) then ∀ t, if (-Q ⨁ {t}) ∩ H ≠ ∅ then (-Q ⨁ {t}) ∩∂ H ≠ ∅ , namely (-Q ⨁ {t}) ∩ P ≠ ∅ t ∈ (P ⋃ H) ⨁ Q ⇛ t ∈ P ⨁ Q

  39. Convex - general • We saw that when the robot is a convex polygon, the complexity of the free space (complement of the C-obstacles) is favorable: how about algorithms? • Standard approach: divide-and-conquer, where the merge step uses sweep line to compute the union of two subsets of expanded obstacles • More efficient approach using medial axis?

  40. More on the decomposition approach • Variations based on • Convex decomposition • Union algorithm

  41. Speeding up the decomposition algorithm Decomposition length effect: an example P - fixed size, two types of decompositions Q grows Q - fixed decomposition, scaled size

  42. Decomposition length effect: results Q grows 70 short 60 min convex Union time (Sec) 50 40 30 20 10 0 0.4 0.8 1.2 1.6 2 2.4 2.8 3.2 3.6 diameter(P) / diameter(Q) time for computing the Minkowski sum of a knife polygon P (using two types of decompositions) with a random polygon Q that is scaled differently

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend