asela aselab
東工大長谷川(晶)研
PHYSICS SIMULATION Rigid body simulator introduction Continuum - - PowerPoint PPT Presentation
() PHYSICS SIMULATION Rigid body simulator introduction Continuum simulation The Documents http://haselab.net/class/vr userbasic passwdprog asela aselab Introduction for Multi-rigid body physics simulator
東工大長谷川(晶)研
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
3
Computation Methods for constraint forces are not limited to Spring and Damper. Velocity based LCP is widely used.
Havok Novodex ODE …
reference: Kenny Erleben: Multibody Dynamics Animation Lecture 12 Department of Computer Science Copenhagen University
Multi Body Dynamics simulator Analytical method Full coordinate method penalty method Impulse method Mirtich 96 Hahn 88 LCP based formularization Moore & Williams 89
Acceleration
base Baraff 89 Velocity base Stewart 96 Jean Jacques Moreau method Reduced coordinate method Springhead1 Armstrong 79 Featherstone 83 OpenTissue ODE Springhead2
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
4
vj j
vi i
mj Ij mi Ii
Inertia Velocity and Angular velocity Other external force, gravity Constraint force
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
5
Only rotate the hinge axis e3 : Rotate hinge axis e3 freely = torque not work:
w2, 2 w1 1 w3 3 w4 4 w5 5 w6 6
Constraint coordinate system
:relative velocity/angular velocity at the joint point :constraint forces and torques on the joint point
force velocity force velocity
i j
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
6
Express equation of motion on the constraint coordinate.
express w2 w3, w5 w6, with the same way Matrix expression of cross product
vi ,i: velocity or angular velocity of object i in world coordinate. w: relative velocity and angular velocity of j from i in constraint coordinate
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
7
u velocity/angular
w velocity/angular velocity in constraint coordinate force/torque in constraint coordinate fc force/torque in world coordinate vi ,i: velocity, angular velocity of object i vj , j: velocity, angular velocity of object j fj ,j: constraint forces given from i to j in world coordinate j : constraint forces given from i to j in constraint coordinate
w
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
8
Transform equation of motion to consider constraint easily Ally with constraint condition (hinge’s case)
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
9
Calculate constraint force Update rigid body velocity Update rigid body position
posture of all rigid bodies position
quaternion
A matrix transforming velocity into Quaternion differential
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
10
Do not penetrate each other =
is not zero when w is zero or is zero when w is not zero:
Static friction or kinetic friction: Torque is 0:
relative velocity at joint point contact force on contact point
velocity force velocity force velocity force
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
11
Transform motion equation to consider restraint easily Ally with constraint condition
There are two variables in an equation at a glance, but actually solve one variable with consider the other variable as a constant.
velocity force velocity force
At first, solve this case and find i. If i does not satisfy wi = 0 then fix i to a constant and solve wi
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
12
Formulate constraints into velocity based LCP and find
Transform equation of motion of solids with Jacobian J
→ Equation of motion by and .
Formulate constraints by equations of and and substitute it into
equation of motion. → The equations come to LCP
Solve LCP and find update velocity and position.
Constraints
Joints are lines, contacts are polylines. It looks there are two variables.
But one of the variables comes to constant.
asel aselab 東工大長谷川(晶)研
13
Approximate solution for LCP
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
14
Pivoting method
・・・strict slow speed
Iterative method
・・・high speed, precision depends on iteration number of times
Matrix-splitting method
Jacobi method Gauss–Seidel method, SOR method
Newton's method
two variable in one equation
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
Choose D as a simple matrix such as diagonal matrix Jacobi method choose D as diagonal entries of A and choose F as the rest.
Gauss-Seidel method is improved version of Jacobi method.
15
If recurrence relation is converged, So This recurrence relation converge if A is positive symmetry matrix. Long narrow objects or objects with small inertia converge slow.
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
16
Gauss–Seidel method SOR method
Jacobi method:update at once Gauss–Seidel method :update one row at one time
renewed under renewing not-renewed 1.6times acceleration Gauss–Seidel method
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
17
renewed under renewing not-renewed
Do not invade each other= is not zero when ω is zero or is zero
when ω is not zero:
Static friction or kinetic friction:
if 1 is renewed to a negative number, then let 1 Use renewed 1 to check “1 21”,if protrude, clip with 11
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
18
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
Mass point Continuum
wave solid fluid
2 2 2 2 2
Coil voltage z y x
Discretize Hooke‘s law and equation of motion
kl ijkl ij
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
Continuum simulation
continuous →deal with limited representative points not infinity many methods for taking representative points
Grid points in Euler coordinate system are
representative points
Common for fluid and wave surface simulation Grid do not move Mass come from surroundings and go out
Grid points in Lagrange coordinate system
are representative points
Finite element method Grids move with mass Grids collapse or turn over under large deformation
Particle method: representative points are particles
Express mass with freely moving particles Large deformation is ok because of no assumption at beginnings Collision detection is important
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
Soft objects(meat, jelly, human body)
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
cloth
Mass point+ Spring-damper model Omit parts of stress
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
Liquid Gas
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
27
Havok FX example PD control oscillation example Wrotek et al. 2006
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
28
The speed of fluid is not fast enough
2D wave front → sufficient real-time
3D mesh
→ more difficult
3D particles
→ can not deal with many
Combination is needed possibly
A Fluid Resistance Map Method for Real-time Haptic Interaction with Fluids [Y. Dobashi et al. 2006]
Efficient Simulation of Large Bodies of Water by Coupling Two- and Three-Dimensional Techniques [G. Irving et al. 2006]
R Force feedback 圧力場・流速 (FRM :Fluid Resistance Map) 3D-fluid simulation Water speed Real-time Prior calculation Paddle speed Real-time wave simulation
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
30
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
31
Oshita 2001 Liu et al.2005
Optimize the overall trajectory ○ Advanced optimization △ Real-time generation is difficult
Zordan et al. 2005,
controller+simulation. PD control the joint angles ○ Real-time generation △ controller generation
acceleration, not torque
Decide acceleration with PD control ← torque/ZMP limitation ○ PD adjustment is easy. △motion based on external force
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
32
asel aselab 東工大長谷川(晶)研 asel aselab 東工大長谷川(晶)研
33
Hasegawa et.al 2005
PD control the positions of joints and fingertips
The World Force feedback Position
Physics simulator
Virtual human’s mind action rule Motion Controller
Reaching motion Default posture
Simulator for prediction State transition Wait Guard Attack Force interface