quasi-rigid objects in contact. introduction introduction recent paper of m. pauly, d. pai, l....
TRANSCRIPT
Quasi-Rigid Objects in Contact
IntroductionIntroduction
Recent paper of M. Pauly, D. Pai, L. Guibas, Quasi-Rigid Objects in Contact,Eurographics/ACM SIGGRAPH Symposium on Computer Animation (2004) presents techniques for modeling contact between quasi-rigid objects – solids that undergo modest deformation in the vicinity of a contact, while the overall object still preserves its basic shape.
Contact is ubiquitous in real world interactions and is one of the most difficult problems in 3D computer animation.
Applications: Bio-medical surgery simulation artificial joints, dental implants Mechanical design: wear and tear of industrial parts Physics-based animation:
movies games
Existing ModelsExisting Models
Physical models used to address contact fall into two broad categories:
- Rigid body models and deformable body models.
Rigid body dynamics• small number of state variables• efficient collision detection• contact sensitivity problem (a stool with hundreds of legs)
Fully deformable (e.g. FEM, mass-spring) • accurate modeling of complex materials (elasticity,
plasticity)• too costly for models that hardly deform
Quasi-Rigid ObjectsQuasi-Rigid Objects
A new type of model that called quasi-rigid combines the benefits of rigid body models for dynamic simulation and the benefits of deformable models for resolving contacts and producing visible deformations.
Quasi-rigid means objects whose surfaces can undergo modest deformations in the vicinity of a contact, while the overall object still preserves its basic shape.
Surface modelSurface model
Surfaces are represented by point clouds, i.e., sets of point primitives that sample the position and normal of the underlying surface.
The moving least squares (MLS) surface model to define a smooth continuous surface from a set of point samples is used.
Given a point cloud P as input, the corresponding MLS surface S is defined as the stationary set of a projection operator P(x), i.e.,
S = {x 3| P(x) = x}. The projection P(x) is evaluated by first fitting a local least
squares plane that serves as a local parametrization domain. A second least squares optimization then yields a bivariate
polynomial g(u; v) that locally approximates the surface. The projection of x onto S is given as P(x) = q+g(0;0) n, where q is the origin and n the normal of the reference plane.
Quasi-Rigid ObjectsQuasi-Rigid Objects
Physical model • A point force acting on a quasi-rigid solids
leads to a deformation that is restricted to a small, local area (active region) around the point of contact, while keeping the overall shape intact.
• Linear elasticity: Global system response by superpositionforces and displacements evaluated on surface only
Quasi-Rigid ObjectsQuasi-Rigid Objects
Surface modelSurface model point cloud representation for modeling point cloud representation for modeling
consistent, highly dynamic contact surfaceconsistent, highly dynamic contact surface
Physical ModelPhysical Model A widely used method in contact mechanics is the Boussinesq approximation,
which models the surface around a point of contact as an elastic half-space Boussinesq approximation
• infinite elastic half-space
yx
xyx
)(
2
1),(
p
Gu
Poisson’s ratio
shear modulus
force at x
displacement at ydue to force at x
Physical ModelPhysical Model
Boussinesq approximation system response function exhibits a rapid
fall-off with increasing distance r
rGrf
1
2
1)(
yx r
Physical ModelPhysical Model
Linear elasticity• superposition
xyx
xy d
p
Gu
S
)(
2
1)(
total displacement at y
Volume PreservationVolume Preservation Volume preservation can be formulated as the following
constraint on the response function f (r)
A plausible analytical function can be obtaine by shifting Boussinesq function in the positive z-direction and modulating it with a Gaussian
0
0)( rdrrf
Volume PreservationVolume Preservation
Figure illustrates volume preservation for quasi-rigid objects on a simple example of a ball in contact with a plane, using the transfer function(a) original configuration prior to contact resolution, (b) plane deformable, sphere rigid, (c) sphere deformable, plane rigid, (d) both models deformable.
DiscretizationDiscretization
In a discrete setting, we need to find relations between the displacement ui that node qi experiences due to the tractions pj acting on all other nodes. system response matrixRpu
vector of displacements
[u1,...,uN]T
vector of tractions[p1,...,pN]T
xxq
xd
GR
S i
jij
)(
2
1
matrix coefficient
Approximate system response at discrete nodes (point samples)
DiscretizationDiscretization
force at node j
shape function
N
jjjpp
1
)()( xx
xqx
xdp
Gu
S i
j
jji
)(
2
1
displacementat node i
ContactContact
Given the model for quasi-rigid objects defined above, our goal is to determine the contact surface S of two solids A and B and compute the forces that act on this surface.
The bodies A and B are represented by two point clouds PA and PB that define two corresponding MLS surfaces SA and SB.
During a simulation, the two bodies might collide and interpenetrate.
ContactContact
Collision detection• Static bounding volume hierarchies (small
deformations). If a collision is detected, we compute two sets of active nodes QA and QB
Contact resolution• Compute forces and displacements that resolve
contact Contact surface
• Find contact surface that is consistent for both models
Contact ResolutionContact Resolution
Collision detection determines points that potentially experience displacements (active nodes)
Find corresponding point for each active node
active nodes
corresponding nodes
Contact ResolutionContact Resolution
A conservative estimate (that might include some points that are not penetrating, but close to the intersection region) is used
To further improve performance, a bounding sphere hierarchy for fast intersection culling is used.
Contact ResolutionContact Resolution Separation of active nodes Given the sets of active nodes QA and QB, we need to
find tractions on these points such that the corresponding displacements lead to deformed surfaces S’A and S’ B that are in contact, but do not interpenetrate.
Let S = S’A S’ B be the (as yet unknown) contact surface between the deformed models.
If the two surfaces touch at a point x S, the corresponding normal tractions at this point on each of the two surfaces are equal, i.e., pA(x) = pB(x)
Contact ResolutionContact Resolution
Let qA QA be an active node of model A and assume for now that after deformation this point will end up on the final contact surface.
Then there exists a corresponding point xA SB such that its position in the final configuration coincides with the deformed position of qA and the normal tractions at both points are equal.
Contact ResolutionContact Resolution
Separation of active nodes• Initial separation
• Final separation Bi
Ai
Bi
Aii uus qq
Bi
Aiis qq ~
Contact ResolutionContact Resolution
Condition for contact resolution:
• Non-negative separation: si ≥ 0
• Non-negative force: pi ≥ 0
Finally, we observe that the separation si and the traction pi are complementary – at each point, at least one of them is zero; to be able to have non-zero traction, we must have zero separation, and to have non-zero separation, we must have zero traction. Therefore, we can combine these complementarity conditions to obtain
Linear Complementarity Problem (LCP)
Solved using Lemke’s method
Contact ResolutionContact Resolution
qRps 0s0p0psT
The linear complementarity problem in linear algebra consists of starting with a known n-dimensional column vector q and a known n×n matrix M, and finding two n-dimensional vectors w and z such that:
q = w − Mz wi ≥ 0 and zi ≥ 0 for each i
wi × zi = 0 (i.e. either wi =0 or zi = 0) for each i There are several algorithms (e.g. Lemke's algorithm)
dealing with specific cases of the linear complementarity problem. A linear complementarity problem has a unique solution if and only if M is a P-matrix.
A P-matrix is a complex square matrix with every principal minor > 0.
Linear Complementarity Problem
An LCP in standard form is specified by a pair b, M with a vector b in n and an n n matrix M (see COTTLE, R. W., PANG, J.-S., and STONE, R. E. (1992). The Linear Complementarity Problem. San Diego: Academic Press., p. 1). The problem is to find z n so that
z 0 b + Mz 0 ♥
zT (b + Mz) 0 For Lemke’s method, the system ♥ is rewritten and
generalized as follows.• Let I be the nn identity matrix and d be an n-vector with
positive components(for example, d =(1,…,1)T ). • Using an auxiliary variable z0, the term b + Mz in (♥ ) is
replaced by b +d z0 + Mz, which is denoted by the n-vector w.
Linear Complementarity Problem
• The problem generalizing (♥) is that of finding w 0, z0 0 and z 0 so that
Iw - dz0 + Mz = b ♥♥ and zT w = 0 hold.
• A solution w , z0 , z to this problem defines a solution to (♥) if and only if z0 = 0 .
• In (♥♥), the vector b is represented as a nonnegative linear combination of certain columns of the matrix [I,-d,-M].
• Like the simplex algorithm for linear programming, Lemke’s algorithm traverses basic solutions of this system.
Linear Complementarity Problem
Contact SurfaceContact Surface
Consistent conforming contact surface. • For instance, For instance, even though the distance between both meshes
might be zero at all the mesh vertices, there could still be intersections or gaps between the two surfaces
Adaptive moving least squares approximation requires no re-meshing or zippering.
• At any time instance, the surface of model A is represented by its original points PA plus all active nodes of B that lie on the contact surface (analogously for model B)
SimulationSimulation
Treat objects as rigid while in free Treat objects as rigid while in free motionmotion
• Whenever a collision between two objects is detected, we retrace the simulation to the time instance of first contact and proceed with a smaller time step.
Integrate contact forces to compute Integrate contact forces to compute total total wrenches, i.e., the forces and torques, acting on the bodies.
FrictionFriction A major benefit of explicitly modeling the contact surface
is that we can accurately simulate effects that are primarily dictated by contact, such as friction.
Friction could be added to the elastic LCP in essentially the same way as it is added to dynamic LCPs , using a polyhedral approximation to the friction cone.
But this increases the size of the LCP significantly by adding m+1 pairs of complementary variables at each contact point, where m is the number of facets of the friction cone.
However, if we make the simplifying assumption that tangential tractions do not cause significant deformations, we can decouple tangential and normal quantities during contact resolution.
This greatly simplifies the computations.
ExampleExample
Model acquisitionModel acquisition laser-range scan laser-range scan consisting of 55,061 sample
points of which 11,317 experience a displacement due to the contact resolution.
Hierarchy constructionHierarchy construction recursive clusteringrecursive clustering efficient multi-level computationefficient multi-level computation
ExampleExample
SimulationSimulation
ExampleExample
Measurement Simulation
X2 FootSensor (xSensor Corp.) 37 x 13 sensors, 1.94 sensors/cm2
ValidationValidation
Bio-medical ApplicationsBio-medical Applications Simulate friction effects to predict Simulate friction effects to predict
attritionattrition
design of artificial jointsdesign of artificial joints
Computer AnimationComputer Animation
Quasi-rigid body simulationQuasi-rigid body simulation
ConclusionConclusion
Quasi-rigid objects bridge the gap Quasi-rigid objects bridge the gap between rigid bodies and fully between rigid bodies and fully deformable modelsdeformable models
Simple and efficient model for contact Simple and efficient model for contact resolutionresolution
Limitations: Limitations: small deformationssmall deformations linear elasticity linear elasticity sharp cornerssharp corners
Future WorkFuture Work
Coupling with low-resolution FEM Coupling with low-resolution FEM modelmodel
Incorporate friction into LCPIncorporate friction into LCP Application: Contact simulation in knee Application: Contact simulation in knee
jointjoint