Title: DEEP : Dualspace Expansion for Estimating Penetration depth between convex polytopes
1DEEP Dual-space Expansion for Estimating
Penetration depth between convex polytopes
- Jae Hoon Jung
- POSTECH VRPM
- Advanced Computer Haptics Class
- 2006.4.26
2Outline
- Background
- Previous Work
- Preliminaries
- Minkowski Sum
- GJK Algorithm
- Brute-Force PD computation
- Gauss Map
- Width Computation
- DEEP
- Algorithm
- Analysis
- Performance
- Application to 6DOF Haptic Rendering
- Summary and Future work
- Reference
3Background
- Need for a distance measure for the extent of
interpenetration between objects - Applications Robot Motion Planning, Dynamic
Simulation, Haptic Rendering, etc. - Penetration Depth (PD)
- Minimum translational distance to make P and Q
disjoint over all possible directions - An incremental PD estimation algorithm DEEP.
4Previous Work
- Cameron and Culley 86
- O(n2) algorithm based on explicit Minkowski sum
computation. - Dobkin et. al. 93
- Directional PD algorithm.
- Cameron 97
- Rough PD estimation based on the GJK algorithm.
- Agarwal et. al. 00
- Randomized algorithm.
- Bergen 01
- Expanding Polytope Algorithm (EPA). IMPLEMENTED.
5Preliminaries - Minkowski Sum
- Minkowski Sum and Minkowski Difference
- PQ pq p?P, q?Q
- P-Q p-q p?P, q?Q , a.k.a. CSO
(Configuration Space Obstacle) - PD minimum distance between OQ-P and ?(P-Q).
Boundary of Minkowski difference(P,Q)
6Preliminaries - Minkowski Sum
- Minkowski Sum (A, B) a b a ? A, b ? B
- Minkowski Diff (A,B) a - b a ? A, b ? B
Minkowski Sum (A, -B) - A and B collide iff Minkowski Diff(A,B) contains
an origin.
7Preliminaries - Minkowski Sum
8Preliminaries - Minkowski Sum
- Distance penetration-depth computation in
Minkowski sum are of inherently different nature
even for convex models - Distance
- one local minimum
- Penetration Depth
- many local minima
9Preliminaries - Minkowski Sum
- Expensive to compute the boundary of Minkowski
difference - Structure of Minkowski difference changes if
objects rotate independently - For two convex polyhedra with m and n vertices,
Minkowski Difference may take O(m n) - O(n6) at Non convex polygon
- However, GJK algorithm uses Minkowski difference
quite efficiently to find distance between two
convex polyhera, computing it on demand.
10Preliminaries - GJK Algorithm
- GJK algorithm solves proximity queries for two
convex polyhedra - Computing distance d
- Finding closest pair of points PA, PB
11Preliminaries - GJK Algorithm
Terminology
Supporting (or extreme) point
for direction
returned by support mapping function
12Preliminaries - GJK Algorithm
Terminology
Point set C
Convex hull, CH(C)
13Preliminaries - GJK Algorithm
Terminology
- A d-simplex is the convex hull of d1 affinely
independent points in d-dimensional space.
- A set of k1 points are said to be affinely
independent if they generate an affine space of k
dimension.
14Preliminaries - GJK Algorithm
- GJK Algorithm
- Initialize the simplex set Q with up to d1
points from C (in d dimensions) - Compute point P of minimum norm in CH(Q)
- If P is the origin, exit return 0
- Reduce Q to the smallest subset Q of Q, such
that P in CH(Q) - Let VSC(P) be a supporting point in direction
P - If V is no more extreme in direction P than P
itself, exit return P - Add V to Q. Go to step 2
15Preliminaries - GJK Algorithm
INPUT Convex polyhedron C given as the convex
hull of a set of points
16Preliminaries - GJK Algorithm
- 1. Initialize the simplex set Q with up to d1
points from C (in d dimensions)
17Preliminaries - GJK Algorithm
2. Compute point P of minimum norm in CH(Q)
18Preliminaries - GJK Algorithm
- 3. If P is the origin, exit return 0
- 4. Reduce Q to the smallest subset Q of Q, such
that P in CH(Q)
19Preliminaries - GJK Algorithm
- 5. Let VSC(P) be a supporting point in
direction P
20Preliminaries - GJK Algorithm
- 6. If V is no more extreme in direction P than P
itself, exit return P - 7. Add V to Q. Go to step 2
21Preliminaries - GJK Algorithm
2. Compute point P of minimum norm in CH(Q)
22Preliminaries - GJK Algorithm
- 3. If P is the origin, exit return 0
- 4. Reduce Q to the smallest subset Q of Q, such
that P in CH(Q)
23Preliminaries - GJK Algorithm
- 5. Let VSC(P) be a supporting point in
direction P
24Preliminaries - GJK Algorithm
- 6. If V is no more extreme in direction P than P
itself, exit return P
DONE!
25Preliminaries - GJK Algorithm
Generalization
- A and B intersecting iff AB contains the origin.
- Distance between A and B given by point of
minimum norm in AB! - Use the previous procedure on AB.
- Only change needed
- Support mapping is separable, so we can form it
by computing support mapping for A and B
separately. -
26Preliminaries -Brute-Force PD Computation
27Preliminaries -Brute-Force PD Computation
- Fastest theoretical algorithm to compute PD
- Time Complexity O( ) ,
- e Any positive constant
- Not implemented
28Preliminaries -Gauss Map
V
- Gauss Map (F ? S2) Dual mapping from feature
space to normal space - Face f ? Point n (outward normal of f)
- Edge e ? Great Arc a (locus of normals of two
adjacent faces) - Vertex v ? Region r (bounded by as)
F
V
S2
29Preliminaries -Gauss Map
30Preliminaries - Width computation
- The definition Given a set of points
Pp1,p2,..,Pn the width of P, W(P),is defined
as the minimum distance between parallel planes
supporting P. - Antipodal Pairs Let F and F be faces of CH(P).
Then F and F are called antipodal pairs, if
there exist two parallel supporting hyperplanes h
? h such that - Special pairs
- Vertex-face pairs (VF-pair)
- Edge-edge pairs (EE-pair)
- Vertex-edge pairs (VE-pair)
????
VE Antipodal pairs
31Preliminaries - Width computation
Houle and Toussaints width computation algorithm
- Lemma 1
- The width of a set of points P in 3D is the
minimum distance between supporting planes - The planes having the minimum interdistance
(i.e., width) are realized only either by
antipodal VF pair or by antipodal EE pair. - Idea for The algorithm Enumerate all VF and EE
pairs
32Preliminaries (Houle and Toussaints width
computation algorithm)
- Houle and Toussanints Algorithm in 3D
- Construct Convex hull in O(n log n) time using
Preparata and Hongs algorithm - Transform the polyhedron into two planar
subdivisions in O(n) time as described - Compute the overlay of the two planar
subdivisions using Guibas and Seidels algorithm
in O(n I) time. (I is the number of antipodal
edge-edge pairs) - Examine all vertices and all parallel rays of
unbounded regions of the overlay to generate V-F
and E-E pairs in O(I) time, and report the
smallest antipodal pair distance as being the
width.
33Preliminaries (Houle and Toussaints width
computation algorithm)
34Preliminaries (Houle and Toussaints width
computation algorithm)
- The width of a polyhedron P in three dimensions
can be computed in O(n I) time where I is the
number of antipodal edge-edge pairs of CH(P). - In the worst case, I is O(n2),
35Globally Optimal Solution of PD
- Explicitly compute Minkowski difference of two
convex polytops - Find the smallest distance between Minkowski
difference origin and CSO(Configuration Space
Obstacle) from all vertices using a simple
brute-force algorithm - O(n2) computation time is unaffordable for
interactive applications.
36DEEP Overview
- Localized computations of PD using Gauss maps and
their overlay - Iterative Optimization
- Identify an initial feature for walk
- Measure the current PD
- March toward the local optimum
CSO
37DEEP Initialization
- Find a subset of the overlay.
38DEEP Initialization
- A good initial guess can lead to empirically
almost constant running time - Worst case can lead to O(n2) running time
- The goal is estimate optimal pentration direction
and use it to form vertex hub pair - Mostly,c2-c1 and c1-c2 is chosen from each object
and assigned as an initial vetex hub pair
C means Centroid of object
39DEEP Initialization
- Guessing an Optimal PD direction
40DEEP Iteration
OQ-P
P - Q
CSO
41DEEP Iteration
- Construct a local Gauss map each for v1 and v1
(Step 1 of Algorithm 3.2). - Project the Gauss maps onto z 1 plane and call
them G and G respectively. G and G correspond
to convex polygons in 2D (Step 1 of Algorithm
3.2). - Compute the intersection between G and G using a
linear time algorithm. The result is a convex
polygon and we label each vertex comprising the
intersection ui. These ui s correspond to the VF
or EE antipodal pairs in object space (Step 2 of
Algorithm 3.2). - In object space, determine which ui corresponds
to the best local improvement in PD (Step 3 of
Algorithm 3.2). - Set an adjacent vertex pair (adjacent to ui) to
(v2, v2) (Algorithm 3.1).
42DEEP Iteration
43DEEP Iteration
44DEEP Local Minima
- The algorithm can be stuck in local minima.
- In practice, we can avoid it by using various
heuristics.
45Analysis of DEEP
- The worst-case time complexity is O(n2) time
complexity because the algorithm is very similar
to Houle and Toussaints width computation - Empirically the algorithm is usually terminated
after less than five iteration -
46DEEP Performance
- Random Models with different complexities and
aspect ratios e.g. sphere, ellipsoid, pen. - One object revolves around the other object while
rotating on its center of mass.
47Computation time - Fixed PD
48Computation time -Variable PD
49PD Direction Tracking - DEEP
50PD Direction Tracking -EPA
51Application to 6DOF Haptic Rendering
The PHANTOM 1.5 Sensable Technology
526DOF Haptic Rendering Using Localized Contact
Computations
A decomposed torus
Pairwise estimation
53Force Computation
- Non convex surface decomposition -gt small convex
patches around concavities - To avoid instability due to large stiffness ,
the stiffness of different contact is added up to
formulate a single stiffness - In order to represent all clusters to one
contact, contact position and direction are
computed in terms of a weighted average. -
dPD ndirection pcontact position tdistance
tolerance for defining when two disjoint objects
are in contacts
54Force computation
55Summary and Future Work
- Incremental Penetration Depth Estimation
Algorithm (DEEP) - Library http//gamma.cs.unc.edu/DEEP
- Better way to avoid the local minima problem.
- Extension to non-convex polyhedron
- Recently a new method combining the object space
and image space has been proposed.
56References
- Eric Larsen Collision Detection for Real-time
Simulation -HCTS 1999 - Christer Ericson The Gilbert-Johnson-Keerthi
(GJK) Algorithm SIGGRAPH 04 COURSE NOTE - M.E. Houle and G.T. Toussain Computing the
Width of a Set IEEE Trans. Pattern Analysis and
Machine Intelligence,1998 - DEEP Y. J. Kim, M. C. Lin, and D. Manocha,
"DEEP Dual-Space Expansion for Estimating
Penetration Depth between Convex Polytopes," in
Proceedings of the IEEE International Conference
on Robotics and Automation, 2002, - DEEP Y. J. Kim, M. A. Otaduy, M. C. Lin, and D.
Manocha, "Six-Degree-of-Freedom Haptic Display
Using Localized Contact Computations," in
Proceeeding of the International Symposium on
Haptic Interfaces for Virtual Environment and
Teleoperator Systems, 2002, pp. 209-216. - DEEP ICRA presntation PPT Y.J.KIM