contact determination methods for nonsmooth time … · contact determination methods for nonsmooth...
TRANSCRIPT
Contact determination methods for nonsmooth
time-stepping schemes
Summer School "Nonsmooth Mechanics: Modeling and Simulation",
September 9th-14th 2012, Aussois, France
Xavier Merlhiot,
CEA, LIST,
Interactive Simulation Laboratory
■ 2
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 3
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 4
The XDE Physics software component Driving applications: industrial virtual prototyping
■ 5
The XDE Physics software component Driving applications: industrial virtual prototyping
■ 6
The XDE Physics software component Driving applications: industrial virtual prototyping
■ 7
The XDE Physics software component Driving applications: simulation for robotics
■ 8
The XDE Physics software component Driving applications: simulation for robotics
■ 9
The XDE Physics software component Driving applications: simulation for robotics
■ 10
The XDE Physics software component Main features (1/2)
XDE = eXtended Dynamics Engine (fully developed by CEA)
XDE Physics = mechanical simulation kernel (C++ SDK)
Current version 4.0
Integrated in several commercial products
from Haption (CEA spin-off)
» IFC (Interactive Fitting for Catia V5),
IPP (Virtools), IFS (Solidworks), RTI (Delmia)
Freely available for non-commercial use
Mixed rigid and deformable multibody systems with intermittent contacts and kinematic constraints
Mechanical setting based on Lie groups
as configuration spaces
» Lagrangian reduction = natural, robust and efficient
treatment of geometric nonlinearities [Chetayev, 1927]
Efficient and robust numerical schemes
» Geometric ([Iserles, 2000]) and nonsmooth
(time-stepping) numerical time integrator
Collision (contact) detection (LMD++)
■ 11
The XDE Physics software component Main features (2/2)
Kinematic constraints
Between rigid bodies, holonomous
Usual constraints and more specialized ones
Maximal coordinates and/or kinematic reduction
Kinematic loops
Deformable bodies
Geometrically exact 3D beams (with F. Boyer, IRCCyN)
Large displacements (Reissner kinematics)
Small strains
Geometrically exact finite elements
Built-in interaction ports
Visualization (~30-100 Hz)
Space-mouse (~20-100 Hz)
Haptics (~300-2000 Hz)
■ 12
The XDE Physics software component Co-workers on the XDE Physics library
Jérémie Le Garrec Collision detectors, mesh importers and
pre-processors
Guillaume Saupin Mechanical models, time-stepping
schemes and solvers
Julien Brisset High-level management of robots,
interfaces for control
■ 13
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 14
Nonsmooth time-stepping schemes in XDE Numerical schemes for dynamics
Variants of the Moreau-Jean scheme
Measure Differential Inclusion formulation of nonsmooth dynamics
Time-discretized nonsmooth dynamics
Implicit, drift-stabilized, index-2-like scheme (in the sense of [Studer, 2009])
Two-parameter family of schemes
Algebraic inclusion with unknowns
Constraint drift stabilization: we use it with care… and preferably plastic impacts
■ 15
Nonsmooth time-stepping schemes in XDE Iterative solvers in XDE
Numerical solver based on a Newton loop (variant of the NSGS method [Alart, Curnier, 1991], [Jean, 1999])
At each iteration: linearization of smooth dynamics and contact kinematics
One-Step Nonsmooth Problem: reformulated using a nonsmooth augmented Lagrangian approach
(i.e. with exact penalization, see e.g. [Studer, 2009])
Equivalent projective equation
𝒓 = 𝒑𝒓𝒐𝒙𝑭𝒗𝑹 𝒓 − 𝑹−𝟏 𝑮 𝒓 + 𝒄
𝑮 ∝ 𝑯𝑻 𝒎 −𝟏 𝑯𝒎 = 𝒎 − 𝚫𝒕 𝜽 𝝏𝒗𝒇 − 𝚫𝐭𝟐𝜽𝟐𝝏𝒙𝒇
Resolution by iterative projective Gauss-Seidel-like (SOR-prox) method with splitting
Use of block-diagonal R matrix (blocks extracted from G)
Slightly more efficient (convergence rate of SOR-prox) than just diagonal R
Each block may necessitate regularization (e.g. addition of a spherical term)
Evaluation of 𝒑𝒓𝒐𝒙𝑹 operator on disks (tangential Coulomb's friction) and ellipsoids (approximate
Coulomb-Contensou friction)
Can be seen as optimization problems on smooth manifolds
Resolution using iterative approaches [Absil, Mahony, Sepulchre, 2008]
Stop after one Newton loop linearly implicit scheme
■ 16
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 17
Geometrical needs of nonsmooth contact modeling Introduction
Time-stepping methods ([Acary, Brogliato, 2008])
Powerful numerical tools for nonsmooth mechanics
Need “geometric information” about contacts as an input for nonsmooth contact laws
» point contact kinematics : gap function, tangential velocities, twist rate, etc.
Collision detection (contact determination) algorithms
Computer graphics and robotics communities have been the most productive
Algorithms often designed for
» computationally inexpensive contact models:
– penalty, regularized models
– repulsive potentials based on separation distances…
» event-driven integration methods
Naive combination with time-stepping schemes
Risks of severe robustness and/or stability issues
■ 18
Geometrical needs of nonsmooth contact modeling Non-interference of rigid bodies
• Consider a system of 𝑁 rigid bodies in dimension 𝑑 = 2 or 3
• Generalized coordinates: 𝑞 ∈ ℳ
• For the 𝑖-th rigid body:
• its shape 𝒮𝑖 𝑡 ⊂ ℝ𝑑, compact set, topological dimension 𝑑, “regular” boundary (ex: CAD part)
• its direct geometric model : ℋ𝑖: ℳ × ℝ⟶ 𝑆𝐸 𝑑 , 𝐶2-regular
• its reference configuration : at reference time 𝑡0, ℋi q(t0), t0 = 𝐼
𝒮𝑖 𝑡 = ℋ𝑖 𝑞 𝑡 , 𝑡 𝒮𝑖(𝑡0)
• Set of geometrically admissible configurations 𝑪(𝒕)
Defined by the non-penetration of body shapes:
𝐶 𝑡 = 𝑞 ∈ ℳ,∀ 𝑖, 𝑗 , 𝑖 ≠ 𝑗 ⇒ ℋ𝑖𝑗𝑞, 𝑡 𝒮𝑖 𝑡0 and 𝒮𝑗 𝑡0 have disjoint interiors
ℋ𝑖𝑗𝑞, 𝑡 = ℋ𝑗 𝑞, 𝑡
−1ℋ𝑖 𝑞, 𝑡 is the relative configuration of rigid body 𝑖 w.r.t. rigid body 𝑗
• Contacts areas between bodies 𝑖 and 𝑗 at time 𝑡: “connected components” of 𝜕𝒮𝑖 𝑡 ∩ 𝜕𝒮𝑗 𝑡
• Isolated points : point contacts
• Other areas : conforming contacts
■ 19
Geometrical needs of nonsmooth contact modeling Non-interference of rigid bodies
• Abstract formulation of perfect unilateral constraint when 𝐶(𝑡) is tangentially regular
𝑓 𝑡 ∈ −𝑁𝐶 𝑡 𝑞 𝑡 or (better) d𝑟 ∈ −𝑁𝑇𝐶 𝑡 𝑞 𝑡 𝑞 + 𝑡
• Important practical case: description of 𝐶(𝑡) by a finite number of constraints 𝑔𝑘:
𝐶 𝑡 = 𝑞 ∈ 𝑀, ∀𝑘 ∈ 1, … , 𝑝 , 𝑔𝑘 𝑞, 𝑡 ≥ 0
• Constraint qualification condition CQ1 ([Acary, Brogliato, 2008]):
∀𝑞 ∈ 𝐶 𝑡 , ∃𝑑 ∈ 𝑇𝑞ℳ,∀𝑘 ∈ 1,… , 𝑝 , 𝑔𝑘 𝑞, 𝑡 = 0 ⇒ 𝛻𝑞𝑔𝑘 𝑞, 𝑡 . 𝑑 > 0
• CQ1 with 𝑔 “sufficiently regular” (at least continuously differentiable) imply that :
• C(t) is tangentially regular
• 𝑁𝐶 𝑡 𝑞 = − 𝛼𝑖𝑝𝑘=1 𝛻𝑞𝑔 𝑞, 𝑡 , 𝛼 ≥ 0, 𝛼 ⊥ 𝑔 𝑞, 𝑡
• Hypothesis : 𝑔𝑘 constraints defined by gap functions associated
to point contacts 𝑃𝑘
This hypothesis is often implicitly made
Geometric prerequisites on body shapes!
■ 20
Geometrical needs of nonsmooth contact modeling Regularity of body shapes and contact kinematics
Intuitive notion of mechanical gap
Assume that 𝐻∗ ∈ 𝑆𝐸 𝑑 is such that 𝐻∗𝒮𝑖 𝑡0 and 𝒮𝑗 𝑡0 have disjoint interiors
Assume that 𝑃𝑘 is an isolated point of 𝐻∗𝜕𝒮𝑖 𝑡0 ∩ 𝜕𝒮𝑗 𝑡0
The relative gap function 𝑔𝑃𝑘: 𝐻 ∈ 𝑆𝐸 𝑑 ⟶ ℝ should be
1. based on “some kind of signed local distance”
between 𝑯𝓢𝒊 𝒕𝟎 and 𝓢𝒋 𝒕𝟎
2. defined and continuously differentiable
on a whole neighborhood 𝑉 of 𝑯∗
In practice, violation of condition 2 is a major
source of non-convergence of nonsmooth
time-stepping scheme solvers.
■ 21
Local regularity of the boundary surfaces 𝜕𝒮𝑖 𝑡0 and 𝜕𝒮𝑗 𝑡0
𝐶2-regularity of the surfaces and 𝑃𝑘 isolated implies
» strict relative convexity of the body boundaries at 𝑃𝑘
» non-negative gaps (at least) may receive an adequate
definition
“degenerate point contact cases” imply reintrant corners in 𝑪 𝒕
» Situations where 𝑷𝒌 lies in the medial axis of both shapes (contacting sharp features)
» ex: vertex-vertex or vertex-edge contacts between polyhedra
» “Annoying” singularity in 𝝏𝑪 𝒕 : suitable contact/impact laws are to be invoked [Glocker, 2001]
» One cannot hope for a locally 𝑪𝟏 gap function…
» Normal direction not univocally defined: applying Coulomb’s friction is not obvious…
» From a numerical point of view: reintrant corners in 𝑪 𝒕 “should be avoided”
Geometrical needs of nonsmooth contact modeling Regularity of body shapes and contact kinematics
From [Pfeiffer, Wolfsteiner, 1997]
■ 22
Geometrical needs of nonsmooth contact modeling Defining point contacts thanks to Local Minimum Distances
Local Minimum Distance (LMD) between two compact subsets 𝐴 and 𝐵 in ℝ𝒅,
with disjoint interiors
Local strict minimizers of Euclidean distance restricted to 𝐴 × 𝐵
LMDs = definition of point contacts which is
Non-ambiguous
Mechanically natural
Gives a “natural” definition of non-negative gaps
Consistent with existing definitions (e.g. [Pfeiffer, Wolfsteiner , 1997])
Regularity of the gap function can be guaranteed by the regularity of the body boundaries
𝐶𝑘-regular boundaries at the neighborhood of the minimizing points will give
𝐶𝑘-regularity to the associated gap function (𝑘 ≥ 1)
What about the definition of negative gaps ?
What about “conforming contacts” ?
■ 23
Geometrical needs of nonsmooth contact modeling Problem 1 : negative gaps definition issues
Definition of negative gaps should be
Consistent: convexity assumptions needed to avoid locality issues
Objective: it should depend only on the instantaneous relative configuration of the bodies
» Especially: not on history of motion!
Penetration depths between convex sets
𝜋 𝐴, 𝐵 = inf 𝜏 , 𝜏 ∈ ℝ𝑑 , 𝐴 + 𝜏 and 𝐵 have disjoint interiors
In practice, we would like the two following properties to hold
» For (almost) any ℎ in 𝑆𝐸(3), 𝜋 ℎ 𝒮𝑗 𝑡0 , 𝒮𝑖 𝑡0 is attained for a unique translation vector 𝜏∗ ℎ .
» If ℎ 𝒮𝑗 𝑡0 and 𝒮𝑖 𝑡0 interpenetrate for some ℎ, then ℎ 𝒮𝑗 𝑡0 + 𝜏∗ ℎ ∩ 𝒮𝑖 𝑡0 is an isolated
point of ℎ 𝜕𝒮𝑗 𝑡0 + 𝜏∗ ℎ ∩ 𝜕𝒮𝑖 𝑡0 , denoted 𝑎(ℎ).
and use 𝑎 ℎ , 𝑎 ℎ − 𝜏∗ ℎ to define negative gap values, tangent velocities, etc.
[Agarwal et al, 2000]: for convex polyhedra, existence (but non-uniqueness) of minimizers
» Some invoke history ([Baraff, 1989],[Baraff, 1990], [Heidelberger et al., 2004] hysteretic contact kinematics, gap jumps…
Penetration depths between non-convex sets
Locality issues convex decomposition…
■ 24
Geometrical needs of nonsmooth contact modeling Conforming contacts and point contact selection strategies
In the general case
Large diversity of conforming contact situations…
Main idea for a planar region:
» consider the extreme points of the convex hull of the contacting region in exact conforming contact configuration
» apply point/surface or edge/edge geometric contact models
Main issues
» Number of “selected point contacts” may be infinite (e.g. cylinder resting on a plane selection of a whole circle)
» An exact conforming contact configuration is needed…
Discussion restricted to polyhedra
[Baraff, 1989] : invoke history of movement (instant of first contact) to get to an exact conforming contact situation
» Hysteresis again…
Combination with frictional contact laws
» Arbitrary modeling choice
» No particular mechanical justification
A popular alternative to point contact selection: accumulation over
several Newton steps or time steps robustness issues…
■ 25
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 26
Locality of point contacts definition Contact space construction issues: dimensionality and locality
Two separate issues
The number 𝑝 of potential point contacts (pairs of “geometrical features”) may become
very large overload of the time-stepping scheme solver
» N strictly convex rigid bodies (e.g. spheres) N(N−1)
2 potential point contacts
» Two non-convex bodies with “high-frequencies” in their boundaries N1N2 potential contacts
Presence of non-convex bodies difficult to extend the definition domain of the gap
functions to the whole configuration manifold 𝓜
Unavoidable in practice when using
Non-convex complex shapes (CAD models)
and/or numerous bodies (granular materials)
Necessary distance threshold locality of definition of point contacts
Numerically : “vision of contacts” only up to a limited “distance” from a given point 𝑞 ∈ ℳ
Incremental displacements should be controlled not to “miss contacts” (“bullet through
paper” effect) conservative advancement
» When stepping from 𝒒𝒏 to 𝒒𝒏+𝟏
» During intermediary time-stepping solver computations (implicit contact determination,
nonlinear treatment of contact constraints with Newton loops…)
■ 27
Locality of point contacts definition Time-stepping schemes and continuous collision detection
Standard time-stepping schemes can “jump” from one connected component of 𝐶(𝑡) to
another, even if the definition domains of the constraints extend to the entire configuration
manifold…
𝛁𝐠𝐢 𝐪𝐧
𝛁𝐠𝐣 𝐪𝐧
𝐪𝐧
𝐪𝐧+𝜶
𝑪(𝒕𝒏)
𝐪𝐧
■ 28
Locality of point contacts definition Control of incremental displacements
Explicit maximum shape point displacement bound on ℳ
𝑠𝑢𝑝 ℋ𝑖 𝑞1, 𝑡 𝑥 −ℋ𝑖 𝑞2, 𝑡 𝑥 , 𝑥 ∈ 𝒮𝑖 𝑡0 ≤ 𝑐𝑖 𝑑 𝑞1, 𝑞2 , with 𝑐𝑖 non-decreasing
Powerful practical tool, but not always easy to build a 𝑐𝑖 function …
For rigid bodies, can be also formulated in relative displacement flavor: 𝑐𝑖,𝑗 functions
Outline of a typical incremental displacements control strategy (conservative advancement)
1. Starting from 𝑞𝑛 ∈ ℳ, consider a candidate time step Δt and an estimate of “next” velocities
𝑣𝑛+𝛼
2. Compute 𝜀 = 𝑐𝑖,𝑗 𝑑 𝑞𝑛, 𝑞𝑛 + Δt 𝛽 𝑣𝑛+𝛼 , with 𝛽 ≥ 1
3. Perform a contact determination query between bodies 𝑖 and 𝑗 with distance threshold 𝜀
4. Use the results set of point contacts (with associated contact kinematics) to perform solver
computations in order to get a new corrected (possibly intermediate) velocity 𝑣𝑛+𝛼′
5. Check whether 𝑐𝑖,𝑗 𝑑 𝑞𝑛, 𝑞𝑛 + 𝛥𝑡 𝑣𝑛+𝛼′ ≤ 𝜀
» If true, then continue solver iterations (if several to be done)
» If false, then discard computations of steps 2 to 5 and take one of two main options:
– Start over from step 1, but with the larger velocity estimate 𝑣𝑛+𝛼′
– Start over from step 1, but with a smaller time step
■ 29
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 30
Efficient collision detection methods Diversity of existing methods
Vast literature on the subject
Computer graphics and robotics communities have been the most productive
Several good surveys [Lin, Gottschalk, 1998], [Jiménez et al, 2001],
[Teschner et al., 2005], [Klein, 2005], [Kockara et al, 2007]
Implementation considerations can be found in the book of Ericson [Ericson, 2005]
Collision detection is a broader notion that mechanical contact determination:
depending on their expected outcome, a large variety of methods has been developed
Interference detection: boolean, spatial/temporal localization (instant of first contact,
intersection regions) intensively used in probabilistic geometrical path planning
methods (PRM, RRT, etc.)
Proximity queries: global or local separation distance collision avoidance in robot
control laws…
Penetration depths assembly design, tolerance management systems…
With possible convex decomposition + GJK (Gilbert-Johnson-Keerthi) algorithm
With possible incremental computations : closest features tracking algorithms
(Voronoi regions), popular “incremental manifold” methods in game engines
(accumulation of contacts)…
■ 31
Efficient collision detection methods Important facts
Collision detection algorithms
belong to the field of computational geometry
may exhibit a relatively high level of complexity in their implementation (especially
parallel and GPU versions)
are (in their backend at least) dedicated to particular shape representation models
may be specialized to rigid or deformable models
may be exposed to robustness issues due to approximations in geometric
computations
In general, implementations details do matter…
■ 32
Efficient collision detection methods Advantages and drawbacks of discrete shape representation
Contact determination between shapes represented B-rep CAD models can be
Difficult because of
» Non-convexity of the surface patches
» Surface patches may be numerous in industrial models
Computationally expensive
» Iterative methods ([Johnson, Cohen, 1998])
» Approaches based on polynomial root-finding (restricted to special shape patches like
canonical surfaces)
Necessary in some case :
» Especially, when using polyhedral approximation introduce impacts which dramatically
change the dynamics of the system
In some cases, small changes in shapes can induce large modifications in the dynamics
Rolling polyhedron (impacts) vs. “strictly convexified” polyhedron (no impact)…
Convex but nearly flat surface rolling on a plane: contact point may move very fast…
But… using polyhedral representations of shapes opens the door for very efficient collision
detection methods
■ 33
Efficient collision detection methods “Broad phase” of contact determination
Consider a system of 𝑁 bodies
“Broad phase” of contact determination
Computation of the potentially contacting pairs of bodies or “collision pairs”
Typically considering a distance threshold between bounding volumes of the shapes
Computationally dominant phase for
granular or divided media
most simulations in computer games
Bounding volumes (BV)
A bounding volume for a shape completely covers the shape (inclusion)
Computational cost of the distance (or intersection) between two BVs should be low convex BV
Many BV have been proposed and extensively experimented: spheres, Axis-Aligned Bounding Boxes
(AABB), Oriented Bounding Boxes (OBB), k-Discrete Orientation Polytopes (k-DOP), etc.
Tradeoff to find between computational cost of the distance (or intersection) queries and potential of
shape representation (tight-fitting BV)
𝑁(𝑁 − 1)/2 too large to use brute force (exhaustive testing of the pairs) Spatial partitioning (hashing)
Using a uniform grid: how to choose cell size ?
Other types of spatial localization structures : hierarchical grids, quad- and octrees, BSP trees…
Algorithms extensively presented and discussed in [Ericson, 2005] and Siggraph courses
■ 34
Efficient collision detection methods “Narrow phase” and “exact phase” of contact determination
Consider a “collision pair” (𝑖, 𝑗) coming from the broad phase of contact determination
Assume that 𝒮𝒊 and 𝒮𝒋 can be decomposed (partitioned) into 𝑵𝒊 and 𝑵𝒋 simpler geometric features
(e.g. triangles, edges and points)
“Narrow phase” of contact determination
Computation of the potentially contacting pairs of geometric features
𝑁𝒊𝑁𝒋 may be too large to use brute force approach (exhaustive contact queries on the feature pairs)
Acceleration by pre-computation of bounding volume hierarchies (BVH) for each shape partition
intro features: binary trees of BV
Traversal (depth-first, possibly parallel) of the resulting quaternary “collision tree” at each query
For deformable bodies, the pre-computed BVH must be updated to follow the deformations
Other efficient localization techniques: grids, octrees, etc.
“Exact phase” of contact determination
Leaf-leaf tests: check whether the potentially contacting pairs of features are effectively in contact
If so, generate contact points (one or more) for each positive leaf-leaf test
■ 35
Efficient collision detection methods A non exhaustive list of possible time-stepping compatibility issues
Locality of point contact definition
The definition domains of the gap functions may not extend to the whole configuration manifold
This can be taken care of using conservative advancement
Lack of regularity of the gap functions and reintrant corners in 𝐶(𝑡)
Hysteretic contact determination
No open covering of the singularities of the boundary of 𝐶(𝑡)
Singularity located on the boundary of the definition domain of one of the constraints contributing
to this singularity
“Dimer and rod” example
■ 36
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 37
The LMD++ contact determination method Goals
Desired properties
Objectivity
Must not produce any “singular point contact” situation
Should yield sufficiently regular gap functions and 𝐻 operator
Should reproduce a point contact selection strategy for conforming contacts
» Without resorting to a reference configuration of “exact conforming contact”
» The point contacts should be univocally defined even if the two rigid bodies are “nearly” in a conforming
contact configuration
» Resorting only to local computations (no explicit conforming contact region computation)
Should run efficiently on industrial models
Should be robust w.r.t. geometrical flaws (meshing artifacts)
Should be able to represent volumes, shells, cables…
Should be extendable to deformable models
■ 38
The LMD++ contact determination method Representating shapes with dilated simplicial complexes
Simplicial complex
Generalization of triangulations
All integer topological dimensions encompassed
Theoretical background: algebraic topology
𝜺-dilated simplical complex
Minkowski sum with ℬ 𝟎, 𝜺
Every body has a non-zero volume!
This gives
» a thickness to shells
» a radius to circular cross-section beams
Compensative pre-erosion needed for volumes
■ 39
The LMD++ contact determination method LMDs between dilated simplicial complexes
Basic ideas behind the LMD++ method
Use “retracted LMDs” between the base complexes to define
point contacts between the dilated shapes
All the computations can be based on the base complexes
only, which should never interpenetrate
𝐶1-regular contacting surfaces and gap functions
Tangential direction to contact well defined and continuous
Negative gaps (“smart” penetration depths) up to minus the
sum of the dilations
“Price to pay”
Sharp edges are rounded off
Take care that the contact model and the numerical scheme
and solver should not demand negative gaps of larger
absolute value than the sum of the dilations
» Otherwise augment the dilatations…
» …and/or reduce the time step
■ 40
The LMD++ contact determination method Using implicit dilation in geometrical modeling
■ 41
The LMD++ contact determination method Using implicit dilation in physical modeling
■ 42
The LMD++ contact determination method Using implicit dilation in physical modeling
■ 43
The LMD++ contact determination method Using implicit dilation in physical modeling
■ 44
The LMD++ contact determination method Using implicit dilation in physical modeling
■ 45
The LMD++ contact determination method Using implicit dilation in physical modeling
■ 46
The LMD++ contact determination method Using implicit dilation in physical modeling
■ 47
The LMD++ contact determination method Using implicit dilation in physical modeling
■ 48
The LMD++ contact determination method Compensating dilation with pre-erosion
■ 49
The LMD++ contact determination method Compensating dilation with pre-erosion
■ 50
The LMD++ contact determination method Compensating dilation with pre-erosion
■ 51
The LMD++ contact determination method Compensating dilation with pre-erosion
■ 52
The LMD++ contact determination method Characterization of LMDs between simplicial complexes
[Johnson, Cohen, 2004]: seminal works, but lacked a good definition of the
Gauss map of a polyhedron
Right theoretical background: convex analysis
The tangent cone to a simplicial complex
Is constant on the relative interior of each simplex
Is a (convex) polyhedral cone
Is numerically computable (gift-wrapping algorithm on the unit shere)
Theorem: Characterization of LMDs between simplicial complexes
1 2
* *
1 2 1 2( ) ( )K K
x x T x T x 1x 2x1
*
1( )K
T x
2
*
2( )K
T x
■ 53
The LMD++ contact determination method Efficient quasi-LMD computations based on 5D+1 BVH
[Johnson, Cohen, 2004]: partition into triangles
LMD++ [M. 2007]: partition of the complex = collection of all simplex interiors
5D+1 Bounding Volume Hierarchy (“upgraded” version of Johnson’s BVH),
each BV is composed of
a 3-dimensional sphere and an OBB (bound the simplex interiors)
a revolution cone (bounds the polar cones of the tangent cones of the simplex interiors)
a subset of {0, 1, …, 7} (bounds the classes of the simplex interiors)
■ 54
The LMD++ contact determination method Quasi-LMDs : generic and stable treatment of conforming contacts
Main idea: regularization of LMDs w.r.t. small rotations
Classification of the simplices (pre-computation)
“Enlargement” of the associated normal cones (at run time)
■ 55
The LMD++ contact determination method Quasi-LMDs : generic and stable treatment of conforming contacts
Main idea: regularization of LMDs w.r.t. small rotations
Classification of the simplices (pre-computation)
“Enlargement” of the associated normal cones (at run time)
■ 56
The LMD++ contact determination method Key implementation details
In pre-computations
The gift-wrapping algorithm on the unit sphere is the critical point, especially for vertices
in the 3D case
Use approximate inequalities with care…
In node-node tests
Do not forget to include the incremental shape point displacement bound
In leaf-leaf tests
Normal cones are more suitably represented by a minimal generator of the tangent cone
■ 57
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 58
A few application examples Interactive assessment of assembly trajectories
■ 59
A few application examples Interactive assessment of assembly trajectories
■ 60
A few application examples Interactive assessment of assembly trajectories
■ 61
A few application examples Interactive evaluation of assembly trajectories
■ 62
A few application examples Interactive evaluation of assembly trajectories
■ 63
A few application examples Interactive evaluation of assembly trajectories
■ 64
A few application examples LMD++: deformable bodies
LMD++ generalized to deformable bodies in [M. 2009]
Some pre-computed data have to be updated at each time step
The main algorithm (contact query) is generic
■ 65
A few application examples LMD++: deformable bodies
LMD++ generalized to deformable bodies in [M. 2009]
Some pre-computed data have to be updated at each time step
The main algorithm (contact query) is generic
■ 66
A few application examples LMD++: deformable bodies
LMD++ generalized to deformable bodies in [M. 2009]
Some pre-computed data have to be updated at each time step
The main algorithm (contact query) is generic
■ 67
A few application examples LMD++: deformable bodies
LMD++ generalized to deformable bodies in [M. 2009]
Some pre-computed data have to be updated at each time step
The main algorithm (contact query) is generic
■ 68
A few application examples Coulomb-Contensou friction
■ 69
A few application examples Assembly study of specific measure devices (with CEA/DAM)
■ 70
A few application examples Assembly study of specific measure devices (with CEA/DAM)
■ 71
A few application examples Assembly study of specific measure devices (with CEA/DAM)
■ 72
A few application examples Assembly study of specific measure devices (with CEA/DAM)
■ 73
A few application examples
Multibody dynamics with intermittent frictional contacts and haptics
(Internal project with CEA/DEN)
■ 74
A few application examples
Multibody dynamics with intermittent frictional contacts and haptics
(Internal project with CEA/DEN)
■ 75
A few application examples
Multibody dynamics with intermittent frictional contacts and haptics
(Internal project with CEA/DEN)
■ 76
Introduction: the XDE Physics software component
Nonsmooth time-stepping schemes in XDE
Geometrical needs of nonsmooth contact modeling
Locality of point contacts definition
Efficient collision detection methods
The LMD++ contact determination method
A few application examples
Conclusion: perspectives and open issues
■ 77
Conclusion: perspectives and open issues
Efficient continuous collision detection strategies
Going further than time step / proximity threshold adaptation techniques
Conservative advancement with front tracking (C²A-like)
But: must be compatible with massive models...
Level of details (LOD) on rigid body shapes
Goal: maintain bounded computation costs as velocities grow higher
Main issue: continuity of constraints!
Very similar to adaptive re-meshing with contacts (tying a knot, etc.)
■ 78
References
[Chetayev, 1927] Nikolai Gur’yevich Chetayev. Sur les équations de Poincaré. In Comptes Rendus de l’Académie des Sciences,
volume 185, pages 1577–1579, 1927.
[Iserles, 2000] Arieh Iserles, Hans Munthe-Kaas, Syvert Paul Nørsett, and Antonella Zanna. Lie group methods. Acta Numerica,
9:215–365, 2000.
[Alart, Curnier, 1991] Pierre Alart and Alain Curnier. A mixed formulation for frictional contact problems prone to Newton like
solution methods. Computer Methods in Applied Mechanics and Engineering, 92(3):353–375, 1991.
[Jean, 1999] Michel Jean. The Non-Smooth Contact Dynamics method. Computer Methods in Applied Mechanics and
Engineering, 177:235–257, 1999.
[Studer, 2009] Christian Studer, Numerics of Unilateral Contacts and Friction, ser. Lecture Notes in Applied and Computational
Mechanics. Springer, 2009, vol. 47.
[Absil, Mahony, Sepulchre 2008] Pierre-Antoine. Absil, Robert Mahony, and Rodolphe Sepulchre, Optimization algorithms on
matrix manifolds. Princeton University Press, 2008.
[Moreau, 1983] Jean-Jacques Moreau. Liaisons unilatérales sans frottement et chocs inélastiques. In Comptes Rendus de
l’Académie des Sciences, volume 296, pages 1473–1476, 1983.
[Acary, Brogliato 2008] Vincent Acary and Bernard Brogliato. Numerical Methods for Nonsmooth Dynamical Systems. Lecture
Notes in Applied and Computational Mechanics. Springer, 2008.
[Pfeiffer, Wolfsteiner, 1997] Friedrich Pfeiffer and Peter Wolfsteiner. Relative kinematics of multibody contacts. In Proceedings of
the International Mechanical Engineering Congress and Exposition, pages 16–21, november 1997.
[Glocker, 2001] Christoph Glocker. Impacts with global dissipation index at reentrant corners. In Proceedings of the 3rd Contact
Mechanics International Symposium, pages 45–52, 2001.
■ 79
References
[Agarwal et al, 2000] Pankaj K. Agarwal, Leonidas J. Guibas, Sariel Har-Peled, Alexander Rabinovitch, and Micha Sharir.
Penetration depth of two convex polytopes in 3D. Nordic Journal of Computing, 7(3):227–240, 2000.
[Baraff, 1989] David Baraff. Analytical methods for dynamic simulation of non-penetrating rigid bodies. Computer Graphics,
23(3):223–232, 1989.
[Baraff, 1990] David Baraff. Curved surfaces and coherence for non-penetrating rigid body simulation. Computer Graphics,
24(4):19–28, 1990.
[Heidelberger et al., 2004] Bruno Heidelberger, Matthias Teschner, Richard Keiser, Matthias Müller, and Markus H. Gross.
Consistent penetration depth estimation for deformable collision response. In Proceeding of the Vision, Modeling, Visualization
Conference 2004 (VMV’04), pages 339–346, 2004.
[Lin, Gottschalk, 1998] Ming C. Lin and Stefan Gottschalk. Collision detection between geometric models: A survey. In
Proceedings of the IMA Conference on Mathematics of Surfaces, pages 33–52, 1998.
[Jiménez et al, 2001] Pablo Jiménez, Federico Thomas, and Carme Torras. 3D collision detection: a survey. Computers &
Graphics, 25(2):269–285, 2001.
[Teschner et al., 2005] Matthias Teschner, Stefan Kimmerle, Bruno Heidelberger, Gabriel Zachmann, Laks Raghupathi, Arnulph
Fuhrmann, Marie-Paule Cani, François Faure, Nadia Magnenat-Thalmann, Wolfgang Straßer, and Pascal Volino.
[Klein, 2005] Collision detection for deformable objects. Computer Graphics Forum, 24(1):61–81, 2005. Jan Klein. Efficient
Collision Detection for Point and Polygon Based Models. PhD thesis, University of Paderborn, Germany, 2005.
[Kockara et al, 2007] S. Kockara,T. Halic, K. Iqbal, C. Bayrak and R. Rowe. Collision detection: A survey, Systems, Man and
Cybernetics, 2007. ISIC. IEEE International Conference on, pp.4046-4051, 2007.
■ 80
References
[Ericson, 2005] Christer Ericson. Real Time Collision Detection. Morgan Kaufmann Publishers, Elsevier, 2005.
[Johnson, Cohen, 1998] David E. Johnson and Elaine Cohen. A framework for efficient minimum distance computations. In
Proceeding of the IEEE International Conference on Robotics and Automation (ICRA), pages 3678–3684, 1998.
[Johnson, Cohen, 2004] David E. Johnson and Elaine Cohen. Unified distance queries in a heterogeneous model environment. In
Proceeding of the ASME Design Engineering Technical Conferences (DETC), 2004.
[M., 2007] Xavier Merlhiot. A robust, efficient and time-stepping compatible collision detection method for non-smooth contact
between rigid bodies of arbitrary shape. In Proceedings of the Multibody Dynamics 2007 ECCOMAS Thematic Conference,
2007.
[M., 2009] Xavier Merlhiot. Extension of a time-stepping compatible contact determination method between rigid bodies to
deformable models. In Proceedings of the Multibody Dynamics 2009 ECCOMAS Thematic Conference, 2009.
■ 81
Thank you for your attention!
Acknowledgements
Digital Mock-up CAD data courtesy of EADS, Renault and PSA
CEA's Military Applications Division