Title: Gokul Varadhan
1Accurate Minkowski Sum Approximation of
Polyhedral Models
- Gokul Varadhan
- Dinesh Manocha
University of North Carolina at Chapel Hill
http//gamma.cs.unc.edu/recons
2Minkowski Sum
3Minkowski Sum
4Minkowski Sum
5Minkowski Sum
6Applications
- Motion planning
- Penetration depth computation dynamic
simulation - Packing
- CAD offsets
- Animation
7Motion Planning
Workspace
Config Space
O
R
8Dynamic Simulation
- Collision Detection
- Penetration Depth
- Computation
Kim et al. 2002
9Packing
10Offsetting
11Morphing
A
B
Morph
12Minkowski Sum Computation
- Difficult to compute the Minkowski sum exactly
- High complexity
- Minkowski sum of two nonconvex objects of size n
can have O(n6) complexity
2D example Agarwal et al. 02
13Minkowski Sum Computation
- Minkowski sum of two convex objects much easier
to compute - O(n2) complexity
- Common approach
- Decompose the two objects into convex pieces
- Compute pairwise Minkowski sums between
all pairs of convex pieces - Compute the union of pairwise Minkowski sums
14Minkowski Sum Computation
- Main bottleneck
- Union computation
- Large number of primitives
- Given two objects with m and n convex pieces,
perform a union of mn primitives - Typically, mn very large (in the order of
thousands) - Exact union computation is prone to robustness
problems and degeneracies
15Previous Work
- 3D Minkowski sum
- Lozano-Perez 83
- Evans et al. 92
- Ghosh 93
- Special cases
- 2D Lee et al. 98 Flato Halperin 00
- Convex Guibas Seidel 87
- Slope monotone surfaces Seong et al. 02
- Superset of the Minkowski sum
- Kaul Rossignac 91, Basch et al. 96
16Our Approach
- Do not compute exactly
- Approximate it using distance field based
volumetric techniques
17Volumetric Approach
A
M
Sampling
Reconstruction
Operation
18Volumetric Approach
- Sampling
- Generate a volumetric grid
- At each grid point, compute
- Distance to the surface
- Sign i.e. inside ( ) /outside ( ) status
D Distance Sign
19Volumetric Approach
- 2. Operation
- For each geometric operation (e.g.
union/intersection), perform a min/max operation
on the distance fields
D min (D1, D2)
20Volumetric Approach
- 3. Reconstruction
- Perform isosurface extraction using Marching
Cubes (MC) or its variant
A
21Challenges
- 1. Accuracy
- Depends on rate of sampling, i.e., resolution of
the underlying volumetric grid - Undersampling can result in poor approximation
A
M
MC
22Challenges
- 2. Efficiency
- Large number of primitives
- Inefficient to define sign and distance queries
in terms of all the primitives - Need culling techniques
23Main Result
- An accurate and efficient Minkowski sum
approximation algorithm
24Main Result
- An accurate and efficient Minkowski sum
approximation algorithm - Geometric Error Bound
- Bound the two-sided Hausdorff distance between M
A - Topological Guarantee
- A has the same topology as M
Together these two guarantees ensure a good
quality of approximation
25Main Result
- An accurate and efficient Minkowski sum
approximation algorithm - Culling techniques that improve performance
26Outline
- Approximate Algorithm
- Culling Techniques
- Results
- Discussion
27Approximate Algorithm
- Sampling
- Generate an adaptive volumetric grid satisfying a
sampling condition - Operation
- Compute a distance field on the grid by
performing min/max operations - Reconstruction
- Obtain an approximation by extracting an
isosurface from the adaptive distance field
28Approximate Algorithm
- Sampling
- Generate an adaptive volumetric grid satisfying a
sampling condition - Operation
- Compute a distance field on the grid by
performing min/max operations - Reconstruction
- Obtain an approximation by extracting an
isosurface from the adaptive distance field
29Main Idea
- Ensure that within each grid cell, M should be
simple
- A cell that is intersected by the boundary of M
should exhibit a sign change - The boundary of M restricted to the cell should
be a topological disk
30Complex Cell Test
- M intersects the cell (volume) and the grid
vertices belonging to the cell do not exhibit a
sign change
No cell in the grid can be complex
31Main Idea
- Ensure that within each grid cell, M is simple
- A cell that is intersected by the boundary of M
should exhibit a sign change - The boundary of M restricted to the cell should
be a topological disk
32Star-shapedness
- A primitive is star-shaped if there exists a
point inside the primitive that can see every
point in the primitive
33Star-shaped Test
- M restricted to the cell should be star-shaped
Not star-shaped
Star-shaped
34Topological Guarantee
- Theorem If every grid cell C satisfies the
following criteria -
-
- then the approximate Minkowski sum A has
the same topology as the exact Minkowski sum M
- Complex cell test
- M must not be complex w.r.t C
- Star-shaped test
- M must be star-shaped w.r.t C
35Adaptive Grid Generation
- Start with a grid cell that bounds M
- Perform adaptive subdivision
- Each grid cell must satisfy two criteria
- Complex cell test
- Star-shaped test
- Otherwise subdivide the grid cell
36Adaptive Grid Generation
A
D
C
B
37Adaptive Grid Generation
- Easy to implement these tests
- Complex cell test ? Max-norm distance computation
Varadhan et al. 2003 - Star-shaped test ? Linear programming
38Adaptive Grid Generation
- These tests do not require an explicit
representation of the surface - Applicable when the surface is defined as a
Boolean expression - Well suited to our problem as M is defined as a
Boolean expression
39Star-shaped Test
- For polyhedral primitives, it reduces to linear
programming
Linear constraint
n (c - p) gt 0
n
c
p
40Star-shaped Test
- Check if the linear program has a feasible
solution
p
41Star-shaped Test
- Booleans on primitives
- If both A and B are star-shaped w.r.t a common
point p, then so is
- Combine the linear
- constraints
- Conservative
p
42Geometric Error Bound
- We can bound the two-sided Hausdorff error to be
less than ? - Add an additional criterion
- Subdivide a cell if
- Hausdorff distance between the approximation and
some primitive is greater than ?
43Outline
- Approximate Algorithm
- Culling Techniques
- Results
- Discussion
44Culling Techniques
- Cell culling
- Eliminate cells that do not contain a part of M
- Primitive culling
- When performing a query, disregard primitives
that do not contribute to the answer
45Cell Culling
- Eliminate cells do not contain a part of M
P2
A
B
P1
C
D
46Primitive Culling
- The Minkowski sum is defined in terms of a large
number of primitives - Need to define the sign and distance queries in
terms of fewer primitives
47Primitive Culling
- A primitive influences the query only if its
boundary intersects the cell (volume)
P
P
P
C
C
C
p
p
p
Disregard cell C (cell culling)
Disregard P
Consider P
48Outline
- Approximate Algorithm
- Culling Techniques
- Results
- Discussion
49Implementation
- 2 GHz Pentium IV PC, 1GB RAM
- Choice of isosurface extraction
- Dual Contouring Ju et al. 2002
50Spoon (336 tris)
Anvil (144 tris)
Union of 4,446 primitives
1 min
15K tris
51Rod (24 tris)
Brake Hub (4,736 tris)
Union of 1,777 primitives
2.3 mins
45K tris
52Spiral (500 tris)
Wrench (772 tris)
Union of 38,703 primitives
5 mins
25K tris
53Scissors (636 tris)
Knife (516 tris)
Union of 63,790 primitives
13 mins
26K tris
54444 tris
1,134 tris
55Union of 66,667 primitives
52 mins
358K tris
56Offsetting
Cup Offset 33 secs 14K tris
Cup (1,000 tris)
Gear Offset 84 secs 22K tris
Gear 2,382 tris)
57Motion Planning
A Simple Algorithm for Complete Motion Planning
of Translating Polyhedral Robots, WAFR 2004
58Assembly Planning
A Simple Algorithm for Complete Motion Planning
of Translating Polyhedral Robots, WAFR 2004
59Outline
- Approximate Algorithm
- Culling Techniques
- Results
- Discussion
60Benefit of Culling
- Cell and primitive culling techniques improve
performance by over two orders of magnitude - More than 90 of the speedup comes from primitive
culling - Anvil Spoon example
- 7 hours without culling
- 1 minute with culling
61Limitations
- Axis-aligned subdivision cannot handle degenerate
cases where two primitives touch each other - Use other subdivision strategies Sriram et al.
2004 - Cannot handle all inputs
- Self intersections, non-manifolds
- Sampling condition is conservative
62Main Result
- An accurate and efficient Minkowski sum
approximation algorithm - Good quality of approximation
- Guaranteed topology and a tight two-sided
Hausdorff error bound
63Main Result
- An accurate and efficient Minkowski sum
approximation algorithm - Good quality of Minkowski sum approximation
- Use of culling techniques significantly improves
performance
64Main Result
- An accurate and efficient Minkowski sum
approximation algorithm - Good quality of Minkowski sum approximation
- Use of culling techniques significantly improves
performance - Simple to implement and requires only two tests
- Complex cell test ? max-norm distance computation
- Star-shaped test ? linear programming
65Conclusion
- Practical algorithm
- Applied it to complex polyhedral models
- Offset computation and motion planning
66Ongoing Future Work
- Swept volume computation
- Approximate Voronoi diagram computation
- Less conservative scheme
67Acknowledgement
- Danny Halperin for useful discussions on
Minkowski sum - Young Kim, Shankar Krishnan and TVN Sriram
- David Applegate for a modified dual LP code
- Joe Warren and Scot Schaefer for dual contouring
code - Members of UNC Gamma group
68Acknowledgement
- ARO Contracts DAAD19-02-1-0390 and
W911NF-04-1-0088 - NSF awards ACI 9876914 and ACR-0118743
- ONR Contracts N00014-01-1-0067 and
N00014-01-1-0496 - DARPA Contract N61339-04-C-0043
- Intel
69Thank you!
URL http//gamma.cs.unc.edu/recons
70Performance
- 2 GHz Pentium IV PC, 1GB RAM
71Star-shaped Test
- Need to enforce the topological disk property
- Obvious approach
- Test if the Euler characteristic is equal to 1
- Issue We do not have a polygonization of the
boundary of M - We use the star-shaped test to enforce this
property
72Performance
- Overall performance dominated by the sampling
step - More subdivision takes place in the vicinity of
complex features such as thin sheets, needle like
features, small holes
73Level of Subdivision
Number of Voxels
Level of Subdivision
74Intersection Test
- Calculate distance under max-norm
- Test if
d Max-norm distance at O L length of the cell
P
A
B
O
d
C
D
L
75Cell Culling
- If the intersection test fails, do not consider
the cell any further
Max-norm distance at O
P2
A
B
P1
O
C
D
76Sign Query
- Strictly speaking, the sign query is a global
query - Sign of a point depends on all the primitives
- This definition results in a considerable
overhead because the sign query is used
frequently
77Primitive Culling
- Transform it to a local query
- Suppose we wish to perform a sign query at point
p contained in a grid cell C - Consider only those primitives whose boundary
intersects C - This preserves correctness of the query
78Primitive Culling
- Distance query can be handled similarly
- We care only for a local distance