40
Susan Fisher and Ming C. Lin Deformable Distance Fields for Simulation of Non- Penetrating Flexible Bodies {sfisher, lin}@cs.unc.edu http://gamma.cs.unc.edu/DDF/ Department of Computer Science University of North Carolina at Chapel Hill USA

Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

  • Upload
    lammien

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

Susan Fisher and Ming C. Lin

Deformable Distance Fields

for Simulation of Non-

Penetrating Flexible Bodies

{sfisher, lin}@cs.unc.edu

http://gamma.cs.unc.edu/DDF/

Department of Computer Science

University of North Carolina at Chapel Hill

USA

Page 2: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

DEFINITIONS

Penetration Depth [for rigid objects] -

minimum translational distance required to

separate two intersecting objects

Page 3: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

DEFINITIONS

Can be represented with

pseudocolors, or a single

color gradient

Distance Field -

shortest distance to the

surface for any point

within a 3D object

Page 4: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

MOTIVATION

Robotics

– Virtual prototyping

– Surgical planning, design of elastic tubes in

medical devices

Animation

– Sliding contact, deforming elastic bodies

Page 5: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

MAIN CONTRIBUTION

A novel penetration depth

estimation algorithm based on the

deformation and partial update

of distance fields computed using

the fast marching level set method

Page 6: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RELATED WORK

Fast Marching Level Set Method

Penetration Depth

Distance Fields

Page 7: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RELATED WORK

Fast Marching Level Set Method

Penetration Depth

Distance Fields

Page 8: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RELATED WORK

Fast Marching Level Set Method

– Osher and Sethian [1988], Sethian [1999]

– Kimmel et al. [1995]

Penetration Depth

Distance Fields

Page 9: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RELATED WORK

Fast Marching Level Set Method

Penetration Depth

Distance Fields

Page 10: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RELATED WORK

Fast Marching Level Set Method

Penetration Depth

– Buckley and Leifer [1985], Cameron+Culley [1986]

– Dobkin [1993]

– Agarwal et al. [2000]

– Kim et al [2002, 2003]

– Zhang & Manocha [2006, 2007]

Distance Fields

Page 11: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RELATED WORK

Fast Marching Level Set Method

Penetration Depth

Distance Fields

Page 12: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RELATED WORK

Fast Marching Level Set Method

Penetration Depth

Distance Fields

– Hoff et al. [1999,2001]

– Frisken [2000]

– Hirota, Fisher, Lin [2000]

– Sud et al. [2006]

Page 13: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

OUTLINE

Introduction

Simulator Overview

Computation of Distance Field

Update of Distance Field

Penetration Depth Estimation

Results

Page 14: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

SIMULATOR OVERVIEW

Input

Models

Mesh

Generation

Distance Field

Computation

Partial

Update of

Distance

Field

Finite Element

Analysis

Energy

Minimization

Positional

Constraints

Page 15: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

FEM ATTRIBUTES

Tetrahedral elements

Linear shape functions

Deformation function

p f(p)

Finite Element Analysis

– static analysis

– constrained minimization

using constitutive law

Figure 1: f(p) maps four nodes

of a tetrahedral element to new

positions

Page 16: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

OUTLINE

Introduction

Simulator Overview

Computation of Distance Field

Update of Distance Field

Penetration Depth Estimation

Results

Page 17: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

TRADITIONAL METHODS

Traditional projection search methods provide a discontinuous solution

Surface

deforms

Projection (penetration

depth) jumps

Page 18: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

MARKER METHODS

Markers can get

stretched out

Sharp cusps are not

preserved

Page 19: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

LEVEL SET METHODS

Provides a continuous solution

Avoids reparameterization due to control markers

spreading apart

Can handle sharp corners and cusps

Requires no specialized hardware

Page 20: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

EXAMPLE

Page 21: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

COMPUTING THE FIELD

Initialize

– walk through each triangle,

computing exact distance

for gridpoints within its

AABB

– if two AABB’s overlap, the

smaller value is used

The green gridpoint is

closer to t2 than t1

t2

t1

Bounding Box for t1

Bounding

Box for t2

Page 22: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

DISTANCE FIELD

Marching– Extract minimum valued gridpoint on the front, and

recompute its value

– Update other neighbors on the front

– Add any remaining neighbors to the front

1. Select minimum

point on front2. Assign a

final value

3. Update neighbors,

add to the front

Page 23: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

OUTLINE

Introduction

Simulator Overview

Computation of distance field

Update of Distance Field

Penetration Depth Estimation

Results

Page 24: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

WHY UPDATE?

Penetration depth

computed based on

pre-assigned distance

values

After deformation, affected

elements may have

incorrect distance values

Page 25: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

COLLISION DETECTION

Need to identify region of change

– Hierarchical Sweep and Prune when NURBS

representations are available

– Lazy evaluation of possible intersection using

Bounding Volume Hierarchies (AABB)

Page 26: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

DISTANCE FIELD UPDATE

Bounding box is expanded to insure continuity

Within this expanded bounding box, the same

algorithm is applied

Precompute Deform Update

Page 27: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

DISTANCE FIELD UPDATE

New distance values

are used, but are

blended with the old at

the edges

Blend region size is a

user parameter

Area that was

recomputed

b = Blend area

Page 28: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

DISTANCE FIELD UPDATE

Values are blended in each dimension

successively

Old field, Ax

Blend area, b gridpoints

New field, Bx

1 2 3 … b

Resulting field, Cx (1-1/b)a1+

(1/b)b1

(1-2/b)a2+

(2/b)b2

(1-3/b)a3+

(3/b)b3

(1-((b -1)/b))aB+

((b -1)/ b)bB

Page 29: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

DISTANCE FIELD UPDATE

C1 continuity is verified by checking first

derivatives

For discontinuous cases, there are two options:

1. Expand bounding box of region of change and recompute

2. Recompute entire field

In practice, the two fields always provided a

continuous solution

Page 30: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

OUTLINE

Introduction

Simulator Overview

Computation of Distance Field

Update of Distance Field

Penetration Depth Estimation

Results

Page 31: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

PENETRATION DEPTH

Linear interpolation provides

the penetration depth:

4321

332211

)nuuu(

nununum

1

The distance from m to the white

triangle is the penetration depth

Page 32: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

FRAMEWORK

This work is a general algorithm which can be

used in other simulation frameworks, not just

FEM

– FDM (Finite Difference Method)

– Spring-Mass Network

Page 33: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

OUTLINE

Introduction

Simulator Overview

Computation of Distance Field

Update of Distance Field

Penetration Depth Estimation

Results

Page 34: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RESULTS

50 x 50 x 50 grid resolution

0

2

4

6

8

10

12

Tim

e (

s)

Apple Sphere Torus

Distance FieldEntire

1/8 DistanceField

Example: 1/8 of

the apple’s

distance field

Page 35: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RESULTS - MPEGS

Page 36: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RESULTS - MPEGS

Page 37: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

SUMMARY

Fast, adaptive method to estimate

penetration depth for deformable objects

Versatile input format

Handles self collisions and inter-object

collisions in an uniform manner

Can trade off speed for accuracy

Page 38: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

RECENT WORK

GPU to compute 3D distance fields and

update it on the fly. See Sud et al. [2006]

http://gamma.cs.unc.edu/gvd

Page 39: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

FUTURE WORK

Quantify effect of grid resolution on

accuracy of simulation

Explore continuity issues if adaptive grids

are used to compute the distance fields

Page 40: Deformed Distance Fields for Simulation of Non …ramp.ensc.sfu.ca/fmmtutorial/slides/lin.pdffor Simulation of Non-Penetrating Flexible Bodies {sfisher, ... within a 3D object

IROS 2008 Tutorial

ACKNOWLEDGEMENTS

Special thanks to Gentaro Hirota and David

Adalsteinsson

Funded by ARO, NSF, ONR, Intel