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

β–Ά
and motion planning
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Algorithmic Robotics and Motion Planning

Dan Halperin School of Computer Science Tel Aviv University Fall 2019-2020

Translational Motion and Minkowski Sums

slide-2
SLIDE 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
slide-3
SLIDE 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
slide-4
SLIDE 4

Polygonal Minkowski sums in the plane

Structure and combinatorial complexity

slide-5
SLIDE 5

The Minkowski sum of two sets P and Q 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

[wikipedia]

slide-6
SLIDE 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
slide-7
SLIDE 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
slide-8
SLIDE 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

slide-9
SLIDE 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
slide-10
SLIDE 10

Pseudodiscs

slide-11
SLIDE 11

Convex – non-convex, polygons: The pseudodiscs property

slide-12
SLIDE 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
slide-13
SLIDE 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

  • f 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]

slide-14
SLIDE 14

Minkowski sums and translational motion planning

slide-15
SLIDE 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

slide-16
SLIDE 16

Example: motion planning (piano movers)

𝑆 - a polygonal object that moves by translation 𝑄 - a set of polygonal obstacles

reference point

Claim: When translating, 𝑆 intersects 𝑄 iff ref(𝑆) is inside 𝑄 ⨁ βˆ’ 𝑆

slide-17
SLIDE 17

Algorithms

slide-18
SLIDE 18

Algorithms

  • Convex - convex
  • The general case
  • Representation
  • Decomposition
  • The mystery of the construction time
  • Convolution
  • The hole filter
  • Convex – non-convex
slide-19
SLIDE 19

Convex – convex

  • Merging of normal diagrams
  • O(𝑛 + π‘œ)
slide-20
SLIDE 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

Q1, …, Qt

  • Step 2 Compute π‘†π‘—π‘˜: = 𝑄𝑗 ⨁ π‘…π‘˜ for each pair
  • Step 3 Construct the union of those subsums
slide-21
SLIDE 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
slide-22
SLIDE 22

Representation of the free space Vertical decomposition + connectivity graph

c1 c10 c2 c3 c4 c5 c6 c7 c8 c9 c11 c12 c13 c14 c15 c11 c1 c2 c4 c3 c6 c5 c8 c7 c10 c9 c12 c13 c14 c15 [www.seas.upenn.edu/~jwk/motionPlanning]

slide-23
SLIDE 23

Representation of the free space Example

slide-24
SLIDE 24

Constructing the union of the subsums One possibility: the arrg algorithm

  • Let 𝑆 be the set of all π‘†π‘—π‘˜ 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 𝑆

slide-25
SLIDE 25

The mystery of the construction time

slide-26
SLIDE 26

Construction by decomposition, zooming in

  • Step 1 Decompose 𝑄 and 𝑅 into convex subparts 𝑄1, … , 𝑄𝑇 and

Q1, …, Qt

  • 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
slide-27
SLIDE 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?
slide-28
SLIDE 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]

slide-29
SLIDE 29

The hole filter

in theory and practice

slide-30
SLIDE 30

Convolution

[Guibas-Ramshaw-Stolfi β€˜83]

slide-31
SLIDE 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
slide-32
SLIDE 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]

slide-33
SLIDE 33

The hole filter

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

[poly2tri]

slide-34
SLIDE 34

The hole filter

Q: Given two polygons-w/h, which holes can you fill up and still get

the same Minkowski sum?

slide-35
SLIDE 35

The hole filter, cont’d

Theorem: Let H be a hole in P. Then P⨁Qβ‰ (P⋃H)⨁Q iff βˆƒt ∈ R2 s.t. Q ⨁{t} βŠ† -H.

slide-36
SLIDE 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

slide-37
SLIDE 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

slide-38
SLIDE 38
slide-39
SLIDE 39

Hole theorem, proof

  • Recall that A∩(B ⨁{t}) β‰  βˆ… iff t ∈ Aβ¨βˆ’B
  • (βˆƒt ∈ R2…) then
  • Q⨁{t} βŠ† H

P∩(-Q ⨁{t})= βˆ…, (P⋃H) ∩(-Q ⨁{t}) β‰  βˆ… t βˆ‰ P⨁Q, t ∈ (P⋃H)⨁Q

  • (βˆ„t ∈ R2…) then

βˆ€t, if (-Q ⨁{t})∩H β‰ βˆ… then (-Q ⨁{t})βˆ©βˆ‚H β‰  βˆ… , namely (-Q ⨁{t})∩Pβ‰  βˆ… t ∈ (P⋃H)⨁Q ⇛ t ∈ P⨁Q

Reminder:

Let H be a hole in P. Then P⨁Qβ‰ (P⋃H)⨁Q iff βˆƒt ∈ R2 s.t. Q ⨁{t} βŠ† -H.

P H

Q

  • Q
slide-40
SLIDE 40

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

  • bstacles
  • More efficient approach using medial axis?
slide-41
SLIDE 41

More on the decomposition approach

  • Variations based on
  • Convex decomposition
  • Union algorithm
slide-42
SLIDE 42

Speeding up the decomposition algorithm

Decomposition length effect: an example

P - fixed size, two types of decompositions

Q - fixed decomposition, scaled size

Q grows

slide-43
SLIDE 43

Decomposition length effect: results

10 20 30 40 50 60 70 0.4 0.8 1.2 1.6 2 2.4 2.8 3.2 3.6

diameter(P) / diameter(Q) Union time (Sec) short min convex

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

Q grows

slide-44
SLIDE 44

Smaller number of intersections of segments

  • We want each edge of 𝑆 to intersect as few polygons
  • f R as possible
  • (𝑀(π‘†π‘—π‘˜)) - the standard rigid-motion invariant

measure of the set of lines intersecting π‘†π‘—π‘˜

  • (𝑀(π‘†π‘—π‘˜)) is the perimeter of π‘†π‘—π‘˜
slide-45
SLIDE 45

Length vs. number of intersections

20 40 60 80 100 120 100 200 300 400 500 600 700 800 900

Average Segment Length Intersections per Segment

slide-46
SLIDE 46

Optimizing the mixed objective function

𝑙𝑅(2𝑄 + 𝑄) + 𝑙𝑄(2𝑅 + 𝑅) 𝑙𝑄 - number of subpolygons in the convex decomposition of 𝑄 𝑄 - total length of diagonals in the decomposition of 𝑄 𝑄 - the perimeter of 𝑄

The function measures the overall length of the edges of 𝑆

An 𝑃(π‘œ2𝑠𝑄

4 + 𝑛2𝑠𝑅 4)-time decomposition algorithm

that minimizes this function

𝑠𝑄 - number of reflex vertices in 𝑄 [Agarwal-Flato-H β€˜02]

slide-47
SLIDE 47

Implementation

slide-48
SLIDE 48

The CGAL Minkowski_sum_2 Package

  • Based on the Arrangement_2, Polygon_2, and Partition_2 packages
  • Our reduced convolution (RC) includes the recent filters: Holes I (the

hole theorem) and Holes II (each hole of the sum is part of the convolution of one boundary component from each summand)

Legend in the next slide

slide-49
SLIDE 49
  • The consumption time in seconds as a function of the # of vertices
  • MS of pairs of polygons with holes with n vertices and n/10 holes
  • More results in the paper

[Baram-Fogel-H-Hemmer-Morr]

Simple polygons Polygons with holes RC: our reduced convolution TD: our triangular decomposition VD: our vertical decomposition BL: Behar and Lien’s RC

slide-50
SLIDE 50

3D

slide-51
SLIDE 51

Convex polytopes and spherical arrangements

[Berberich-Fogel-H-Setter]

slide-52
SLIDE 52

Convex polytopes

  • Recall that for polygons with 𝑛 and π‘œ vertices, the sum has at most 𝑛

+ π‘œ vertices

  • For polytopes (3D) with 𝑛 and π‘œ vertices, the sum has

Θ(π‘›π‘œ) vertices; exact numbers [Fogel-H-Weibel β€˜09]

slide-53
SLIDE 53

Arbitrary polyhedra

  • Recall that for polygons with 𝑛 and π‘œ vertices:

𝑃(𝑛2π‘œ2)

  • Polyhedra with 𝑛 and π‘œ vertices: 𝑃(𝑛3π‘œ3)
  • These bounds are tight
slide-54
SLIDE 54

Minkowski sums, more applications

  • Minimum separation distance (penetration depth)
  • Placement
  • Tolerancing, offsetting
  • Nesting
  • Cartographic generalization

?

slide-55
SLIDE 55

Assembly planning

the splitStar puzzle projection of Minkowski sums onto the sphere

[Fogel-H β€˜13]

slide-56
SLIDE 56

Standard operations

  • Minimum separation distance (penetration depth)
  • The Separating Axis Theorem: Given two boxes in 3D (OBBs), one can

decide if they collide by testing their projection along 15 lines [Gottschalk et al. β€˜96]

  • Which are these 15 lines and why are 15 sufficient?
  • Consider the Minkowski sum of the two OBBs
slide-57
SLIDE 57

Minkowski average, riddle

Let 𝐡 be a regular polyhedral set in 𝑆𝑒. Consider the sequence 𝐡,

𝐡⨁𝐡 2 , 𝐡⨁𝐡⨁𝐡 3

, … What can we say about

𝐡⨁𝐡⨁…⨁𝐡 𝑙

, where 𝐡 appears 𝑙 times in the numerator, as 𝑙 goes to infinity?

slide-58
SLIDE 58

Minkowski average, solution

[Shapley-Folkmann-Starr β€˜69]

slide-59
SLIDE 59

Minkowski average, convergence

Consider the sequence 𝐡,

𝐡⨁𝐡 2 , 𝐡⨁𝐡⨁𝐡 3

, … in 𝑆𝑒. Does the volume monotonically increase? For 𝑒 = 1, yes For 𝑒 β‰₯ 12, no For 1 < 𝑒 < 12, ? [Fradelizi et al, β€˜16]

slide-60
SLIDE 60

Open problems and challenges

The mystery of the construction time

slide-61
SLIDE 61

Challenges

  • Quasi output-sensitive algorithms
  • More filters: Given 𝑄 and 𝑅, what is the family of 𝑄’s such

that 𝑄′⨁𝑅=𝑄⨁𝑅

slide-62
SLIDE 62

Major engineering challenge: Exact and efficient implementation

  • f the general 3D case
  • The decomposition method [Hachenberger β€˜09]
  • 3D arrangements
  • Collins decomposition
  • Decomposition-sensitive sweep [H-Shaul β€˜02]
  • Central difficulty: Degeneracies
  • Geometric Rounding
  • Alternative approaches: Lien et al, Manocha et al
slide-63
SLIDE 63

Reference for the convex – non-convex case

  • Computational Geometry: Algorithms and Applications, de Berg et al,

3rd Edition, Springer, 2008 Chapter 13: Robot motion planning

slide-64
SLIDE 64

THE END