Summer School "Nonsmooth Mechanics: Modeling and Simulation", September 9th-14th 2012, Aussois, France
Contact determination methods for nonsmooth time-stepping schemes
Xavier Merlhiot, CEA, LIST, Interactive Simulation Laboratory
[email protected]
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
■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
The XDE Physics software component Driving applications: industrial virtual prototyping
■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: simulation for robotics
■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 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++)
■ 10
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)
■ 11
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
■ 12
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
■ 13
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 ■ 14
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 ■ 15
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
■ 16
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 ■ 17
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(t 0 ), t 0 = 𝐼 𝒮𝑖 𝑡 = ℋ𝑖 𝑞 𝑡 , 𝑡 𝒮𝑖 (𝑡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 ■ 18
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!
■ 19
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.
■ 20
Geometrical needs of nonsmooth contact modeling Regularity of body shapes and contact kinematics
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
From [Pfeiffer, Wolfsteiner, 1997]
“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” ■ 21
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” ?
■ 22
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 + 𝜏 ∗ ℎ point of ℎ 𝜕𝒮𝑗 𝑡0 + 𝜏 ∗ ℎ
∩ 𝒮𝑖 𝑡0 is an isolated
∩ 𝜕𝒮𝑖 𝑡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… ■ 23
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… ■ 24
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
■ 25
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 N1 N2 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…) ■ 26
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…
𝛁𝐠 𝐣 𝐪𝐧 𝑪(𝒕𝒏 )
𝐪𝐧 𝐪𝐧+𝜶 𝐪𝐧
𝛁𝐠 𝐢 𝐪𝐧
■ 27
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. 4.
Perform a contact determination query between bodies 𝑖 and 𝑗 with distance threshold 𝜀 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 ■ 28
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
■ 29
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)… ■ 30
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…
■ 31
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
■ 32
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 ■ 33
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
■ 34
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
■ 35
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
■ 36
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
■ 37
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
■ 38
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
■ 39
The LMD++ contact determination method Using implicit dilation in geometrical modeling
■ 40
The LMD++ contact determination method Using implicit dilation in physical 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 Compensating dilation with pre-erosion
■ 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 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
x 1 x 2 T K 1 (x 1 ) T K 2 (x 2 ) *
*
x1
T K 1 (x 1 )*
x2
T K 2 (x 2 )*
■ 52
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)
■ 53
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)
■ 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 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
■ 56
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
■ 57
A few application examples Interactive assessment of assembly trajectories
■ 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 evaluation 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 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
■ 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 Coulomb-Contensou friction
■ 68
A few application examples Assembly study of specific measure devices (with CEA/DAM)
■ 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 Multibody dynamics with intermittent frictional contacts and haptics (Internal project with CEA/DEN)
■ 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
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
■ 76
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.)
■ 77
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.
■ 78
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.
■ 79
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.
■ 80
Thank you for your attention!
Acknowledgements Digital Mock-up CAD data courtesy of EADS, Renault and PSA CEA's Military Applications Division
■ 81