Fast Penetration Depth Computation for Physicallybased Animation http:gamma.cs.unc.eduPD - PowerPoint PPT Presentation

About This Presentation
Title:

Fast Penetration Depth Computation for Physicallybased Animation http:gamma.cs.unc.eduPD

Description:

Penetration Depth (PD) Minimum translational distance to separate two intersecting objects ... Compute the penetration depth. Estimate the TOC by interpolation ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 54
Provided by: gamma3
Learn more at: http://gamma.cs.unc.edu
Category:

less

Transcript and Presenter's Notes

Title: Fast Penetration Depth Computation for Physicallybased Animation http:gamma.cs.unc.eduPD


1
Fast Penetration Depth Computation for
Physically-based Animation http//gamma.cs.unc.
edu/PD
  • Y. Kim, M. Otaduy, M. Lin and D. Manocha
  • Computer Science
  • UNC Chapel Hill

2
Proximity Queries and PD
Collision Detection
Separation Distance
Penetration Depth
3
Definition
  • Penetration Depth (PD)
  • Minimum translational distance to separate two
    intersecting objects

4
Motivation
  • Contact Handling in Rigid Body Simulation
  • Time stepping method
  • Check the contact at fixed intervals
  • Penalty-based method

5
Motivation
  • Time stepping method
  • Estimate the time of collision (TOC)

6
Motivation
  • Time stepping method using PD
  • Compute the penetration depth
  • Estimate the TOC by interpolation in time domain

7
Motivation
  • Penalty-based Method

8
PD Application
  • Rigid body dynamic simulation
  • Robot motion planning for autonomous agents and
    animated characters
  • Haptic rendering
  • Tolerance verification for CAD models

9
Previous Work
  • Convex polytopes
  • Cameron 86 97, Dobkin et al. 93, Agarwal
    et al. 00, Bergen 01, Kim et al. 02
  • Local solutions for deformable models
  • Susan and Lin 01, Hoff et al. 01
  • No solutions existed for non-convex models

10
Overview
  • Preliminaries
  • Minkowski sum-based Framework
  • Basic PD Algorithm A Hybrid Approach
  • Acceleration Techniques
  • Object Space Culling
  • Hierarchical Refinement
  • Image Space Culling
  • Application to Rigid Body Dynamic Simulation

11
Overview
  • Preliminaries
  • Minkowski sum-based Framework
  • Basic PD Algorithm A Hybrid Approach
  • Acceleration Techniques
  • Object Space Culling
  • Hierarchical Refinement
  • Image Space Culling
  • Application to Rigid Body Dynamic Simulation

12
Preliminaries
  • Local solutions might not have any relevance to a
    global solution

13
Preliminaries
  • Minkowski sum and PD
  • P ? -Q p-q p?P, q?Q
  • PD minimum distance between OQ-P and the
    surface of P ? -Q

P
Q
14
Preliminaries
  • Minkowski sum and PD
  • P ? -Q p-q p?P, q?Q
  • PD minimum distance between OQ-P and the
    surface of P ? -Q

P
Q
OP
OQ-P
OQ
15
Preliminaries
  • Decomposition property of Minkowski sum
  • If P P1 ? P2 , then P ? Q (P1 ? Q) ? (P2 ?
    Q)
  • Computing Minkowski sum
  • Convex O(n log(n))
  • where n is the number of features
  • Non-Convex O(n6) computational complexity
  • In theory, use the convolution or the
    decomposition property
  • In practice, very hard to implement.

16
Overview
  • Preliminaries
  • Minkowski sum-based Framework
  • Basic PD Algorithm A Hybrid Approach
  • Acceleration Techniques
  • Object Space Culling
  • Hierarchical Refinement
  • Image Space Culling
  • Application to Rigid Body Dynamic Simulation

17
PD Algorithm A Hybrid Approach
  • P ? Q (P1 ? Q) ? (P2 ? Q)
  • where P P1 ? P2

18
PD Algorithm A Hybrid Approach
  • P ? Q (P1 ? Q) ? (P2 ? Q)
  • where P P1 ? P2

19
PD Algorithm A Hybrid Approach
  • P ? Q (P1 ? Q) ? (P2 ? Q)
  • where P P1 ? P2
  • Precomputation Decomposition

20
PD Algorithm A Hybrid Approach
  • P ? Q (P1 ? Q) ? (P2 ? Q)
  • where P P1 ? P2
  • Precomputation Decomposition
  • Runtime
  • Object Space Pairwise Minkowski sum computation

21
PD Algorithm A Hybrid Approach
  • P ? Q (P1 ? Q) ? (P2 ? Q)
  • where P P1 ? P2
  • Precomputation Decomposition
  • Runtime
  • Object Space Pairwise Minkowski sum computation
  • Image Space Union by graphics hardware

22
PD Computation Pipeline
23
Convex Surface Decomposition
  • Ehmann and Lin 01
  • Decompose an object into a collection of convex
    surface patches
  • Compute the convex hull of each surface patch

24
Pairwise Minkowski Sum
  • Algorithms
  • Convex hull property of convex Minkowski sum
  • P?Q ConvHullvivj vi ? VP, vj ? VQ, where P
    and Q are convex polytopes.
  • Topological sweep on Gauss map Guibas 87
  • Incremental surface expansion Rossignac 92

25
Closest Point Query
  • Goal
  • Given a collection of convex Minkowski sums,
    compute the shortest distance from the origin to
    the surface of their union
  • An exact solution is computationally expensive ?
    Approximation using graphics hardware

26
Closet Point Query
  • Main Idea
  • Incrementally expand the current front of the
    boundary

27
Closest Point Query
  • Render front faces, and open up a window where
    z-value is less than the current front
  • Render back faces w/ z-greater-than test
  • Repeat the above m times, where m of objs

28
Closest Point Query
  • Render front faces, and open up a window where
    z-value is less than the current front
  • Render back faces w/ z-greater-than test
  • Repeat the above m times, where m of objs

29
Overview
  • Preliminaries
  • Minkowski sum-based Framework
  • Basic PD Algorithm A Hybrid Approach
  • Acceleration Techniques
  • Object Space Culling
  • Hierarchical Refinement
  • Image Space Culling
  • Application to Rigid Body Dynamic Simulation

30
Motivation
  • PD is shallow in practice.
  • Convex decomposition has O(n) convex pieces in
    practice.
  • Culling strategy is suitable and very effective.

31
Object Space Culling
  • Basic Idea
  • If we know the upper bound on PD, uPD , we do not
    need to compute the Mink. sum of pairs whose
    Euclidean dist is more than uPD

32
Object Space Culling
  • Basic Idea
  • If we know the upper bound on PD, uPD , we do not
    need to compute the Mink. sum of pairs whose
    Euclidean dist is more than uPD

uPD
33
Object Space Culling
  • Basic Idea
  • If we know the upper bound on PD, uPD , we do not
    need to compute the Mink. sum of pairs whose
    Euclidean dist is more than uPD

34
Image Space Culling
  • Rendering only once for the Minkowski sums
    containing the origin
  • Refine the upper bound for every view frustum
  • View frustum culling

35
Hierarchical Culling
  • BVH Construction (Ehmann and Lin 01)
  • Hierarchical Culling

36
Hierarchical Culling
  • BVH Construction (Ehmann and Lin 01)
  • Hierarchical Culling

37
Hierarchical Refinement
Precomputation
Run-time PD Query
38
PD Benchmarks
Touching Tori
Interlocked Tori
Interlocked Grates
Touching Alphabets
0.3 sec (4 hr) 3.7 sec (4 hr) 1.9 sec (177
hr) 0.4 sec (7 min)
  • With Accel. (Without Accel.)

39
PD Benchmarks
40
Hierarchical Culling Example
41
Implementation
  • SWIFT Ehmann and Lin 01
  • QHULL
  • OpenGL for closest point query

42
Implementation
  • void DrawUnionOfConvex(ConvexObj ConvexObjs, int
    NumConvexObjs)
  • glClearDepth(0)
  • glClearStencil(0)
  • glClear(GL_COLOR_BUFFER_BIT
    GL_DEPTH_BUFFER_BIT GL_STENCIL_BUFFER_BIT)
  • glEnable(GL_DEPTH_TEST)
  • glEnable(GL_STENCIL_TEST)
  • for (int i0 iltNumConvexObjs i)
  • for (int j0 jltNumConvexObjs j)
  • glDepthMask(0)
  • glColorMask(0,0,0,0)
  • glDepthFunc(GL_LESS)
  • glStencilFunc(GL_ALWAYS,1,1)
  • glStencilOp(GL_KEEP,GL_REPLACE,GL_KEEP)
  • ConvexObjsj.DrawFrontFaces()
  • glDepthMask(1)

43
Accuracy of PD computation
  • Our algorithm computes an upper bound to PD
  • Image space computation determines the tightness
    of the upper bound
  • Pixel resolution
  • Z-buffer precision
  • In practice, with 256?256 pixel resolution, the
    algorithm rapidly converges to the PD

44
Overview
  • Preliminaries
  • Minkowski sum-based Framework
  • Basic PD Algorithm A Hybrid Approach
  • Acceleration Techniques
  • Object Space Culling
  • Hierarchical Refinement
  • Image Space Culling
  • Application to Rigid Body Dynamic Simulation

45
Application to Rigid Body Simulation
  • Interpenetration is often unavoidable in
    numerical simulations
  • Need for a consistent and accurate measure of PD
  • Penalty-based Method
  • F (k d)n
  • d PD, n PD direction, kstiffness constant

46
Application to Rigid Body Simulation
  • Time Stepping Method
  • Estimate the time of collision (TOC)
  • s separation dist before interpenetration
  • d PD, n PD dir after interpenetration
  • vs relative velocity of closest features
  • vd relative velocity of PD features

47
Application to Rigid Body Simulation
  • x(t) 1D distance function between closest
    features and PD features projected to PD
    direction
  • x(0) s, x(T) d
  • dx/dt(0) vsn, dx/dt(T) vdn
  • Compute the roots of x(t) 0

48
Rigid Body Simulation Demo
Example 1 Average complexity 250 triangles 60
Convex Pieces / Object
Example 2 Average complexity 250 triangles 200
letters and alphabets
49
Rigid Body Simulation Demo
50
Contributions
  • First practical PD algorithm using a hybrid
    approach
  • Acceleration techniques
  • Object space culling
  • Image space culling
  • Hierarchical refinement
  • Application to rigid body simulation

51
Future Work
  • More optimizations on
  • Closest point query
  • Pairwise Minkowski sum
  • More performance comparisons
  • Accuracy and running time of PD algorithm
  • Other RBD simulation approaches
  • Extension to rotational PD

52
Acknowledgement
  • Kenneth Hoff
  • Stephen Ehmann
  • ARO
  • DOE
  • NSF
  • ONR
  • Intel

53
Thank you
  • http//gamma.cs.unc.edu/PD
Write a Comment
User Comments (0)
About PowerShow.com