Mixing deformable and rigid-body mechanics simulation
Julien Lenoir
Sylvère Fonteneau
Alcove Project - INRIA Futurs - LIFL - University of Lille (France)
1/23
Introduction - Objectives
• A physically based simulation of multiple objects (rigid-bodies and/or deformable bodies) with different physical formalism
• - Constrained these objects = articulated bodies- propose a generic simulation framework dedicated to articulated bodies.
5/23
Previous Works
• [TR 97 Baraff and Witkin]– Constrained different simulators– Iterative algorithm
• [Visual Computer 03 Jansson and Vergeest]– One object = set of mass-spring/rigid bodies
elements
4/23
Outlines
• Previous works, Objectives
• Proposition for articulated bodies
• A generic framework
• Results
6/23
Dynamics simulation
• One object:– Dynamics simulation => ODE of order 2
q degrees of freedom, f external contributionmatrices: M (mass), C (viscosity), K (rigidity)
– M.A=B
• Multiple bodies simulationIndependent simulation
without constraints
fKqqCqM
nnn B
B
A
A
M
M
111
0
0
7/23
Example of heterogeneous simulation
• Dynamics spline [Remion99]:Lagrange physical formalism,
continuous model
• Rigid-body :Newton-Euler formalism
• Mass spring net :Newton formalism, discrete model
z
y
x
z
y
x
spline
spline
spline
B
B
B
A
A
A
M
M
M
00
00
00
13/23
ii
ii
IM
FG
I
mId
)(0
03
nn
n F
F
F
P
P
P
m
m
m
2
1
2
1
2
1
000
000
000
Constrain a dynamic simulation
• The overall constraints method:– Constraint between objects– Lagrange multipliers =>– Baumgarte scheme
=> L.A=E
• 1 lagrange multiplier (λi) for 1 constraint= 1 condition on a degree of freedom(examples: fixed point, plan)
0
M TL
EL
BA
8/23
Constrain a dynamic simulation
• Resolution:Decomposition of the acceleration A [Remion00]:– tendency At (computed by each object)
– correction Ac
)(
)(1
1
Tc
tT
t
LMA
LAELLM
BMA
9/23
Constant
Variable
Constrain a dynamic simulation
• Resolution:
matrices update automaton
start
L & M-1.Lt
Local initializations
L.M-1.Lt
Global initialization
Initialization Running
Global(mechanics solver)
Local(objects)
resol
ready
updateL & M-1.Lt
UpdateL.M-1.Lt
no change
local changes global
change
ready
10/23
Outlines
• Previous works, Objectives
• Proposition for articulated bodies
• A generic framework
• Results
11/23
A generic framework
Model nModel n RotationRotation
ArticulatedBodiesArticulatedBodies
ArticulableBodyArticulableBody ConstraintConstraint
Model 1Model 1
Model 2Model 2
…
FixedPointFixedPoint
SlideSlide
…
12/23
A generic framework• Constraint example: fixed point between two
objects (o1,o2)P(o1)=P(o2)
– Spline:
P(spline)=P(s,t)=– Rigid Body:
P(rigid body)=(Px,Py,Pz)T
– Mass-spring:
P(mass-spring)=Pi
( ) ( )i ii
b s q t
17/23
A generic framework
• Constraint insertion example– fixed point between spline and rigid object :
Prigid body(M)=Pspline(0.5,t)
– Baumgarte : 2
2 10C C C
t t
1 1 1: (0.5) ( ) where is mass centeri ii
C OG G M b q t G
11 1 1 1 12
2 1(0.5) ( ) ( )i i
i
OG G M b q t C C G Mt t
ELA
18/23
Outlines
• Previous works, Objectives
• Proposition for articulated bodies
• A generic framework
• Results
19/23