DEEP : Dualspace Expansion for Estimating Penetration depth between convex polytopes - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

DEEP : Dualspace Expansion for Estimating Penetration depth between convex polytopes

Description:

Construct a local Gauss map each for v1 and v'1 (Step 1 of Algorithm 3.2). Project the Gauss maps onto z = 1 plane and call them G and G' respectively. ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 57
Provided by: uzys
Category:

less

Transcript and Presenter's Notes

Title: DEEP : Dualspace Expansion for Estimating Penetration depth between convex polytopes


1
DEEP Dual-space Expansion for Estimating
Penetration depth between convex polytopes
  • Jae Hoon Jung
  • POSTECH VRPM
  • Advanced Computer Haptics Class
  • 2006.4.26

2
Outline
  • 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

3
Background
  • 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.

4
Previous 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.

5
Preliminaries - 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)
6
Preliminaries - 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.

7
Preliminaries - Minkowski Sum
8
Preliminaries - 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

9
Preliminaries - 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.

10
Preliminaries - GJK Algorithm
  • GJK algorithm solves proximity queries for two
    convex polyhedra
  • Computing distance d
  • Finding closest pair of points PA, PB

11
Preliminaries - GJK Algorithm
Terminology
Supporting (or extreme) point
for direction
returned by support mapping function
12
Preliminaries - GJK Algorithm
Terminology
Point set C
Convex hull, CH(C)
13
Preliminaries - 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.

14
Preliminaries - 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

15
Preliminaries - GJK Algorithm
INPUT Convex polyhedron C given as the convex
hull of a set of points
16
Preliminaries - GJK Algorithm
  • 1. Initialize the simplex set Q with up to d1
    points from C (in d dimensions)

17
Preliminaries - GJK Algorithm
2. Compute point P of minimum norm in CH(Q)
18
Preliminaries - 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)

19
Preliminaries - GJK Algorithm
  • 5. Let VSC(P) be a supporting point in
    direction P

20
Preliminaries - 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

21
Preliminaries - GJK Algorithm
2. Compute point P of minimum norm in CH(Q)
22
Preliminaries - 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)

23
Preliminaries - GJK Algorithm
  • 5. Let VSC(P) be a supporting point in
    direction P

24
Preliminaries - GJK Algorithm
  • 6. If V is no more extreme in direction P than P
    itself, exit return P

DONE!
25
Preliminaries - 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.

26
Preliminaries -Brute-Force PD Computation
27
Preliminaries -Brute-Force PD Computation
  • Fastest theoretical algorithm to compute PD
  • Time Complexity O( ) ,
  • e Any positive constant
  • Not implemented

28
Preliminaries -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
29
Preliminaries -Gauss Map
30
Preliminaries - 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
31
Preliminaries - 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

32
Preliminaries (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.

33
Preliminaries (Houle and Toussaints width
computation algorithm)
34
Preliminaries (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),

35
Globally 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.

36
DEEP 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
37
DEEP Initialization
  • Find a subset of the overlay.

38
DEEP 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
39
DEEP Initialization
  • Guessing an Optimal PD direction

40
DEEP Iteration
OQ-P
P - Q
CSO
41
DEEP 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).

42
DEEP Iteration
43
DEEP Iteration
44
DEEP Local Minima
  • The algorithm can be stuck in local minima.
  • In practice, we can avoid it by using various
    heuristics.

45
Analysis 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

46
DEEP 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.

47
Computation time - Fixed PD
48
Computation time -Variable PD
49
PD Direction Tracking - DEEP
50
PD Direction Tracking -EPA
51
Application to 6DOF Haptic Rendering
The PHANTOM 1.5 Sensable Technology
52
6DOF Haptic Rendering Using Localized Contact
Computations
A decomposed torus
Pairwise estimation
53
Force 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
54
Force computation
55
Summary 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.

56
References
  • 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
Write a Comment
User Comments (0)
About PowerShow.com