Simulation and Control of Skeleton- driven Soft Body

Simulation and Control of Skeletondriven Soft Body Characters
Libin Liu*
*Tsinghua University
KangKang Yin†
†National
Bin Wang†
University of Singapore
Baining Guo‡
‡Microsoft
Research Asia
Motivation
Simulation and Control of Rigid Body Characters
[Lee et al. 2010]
[Liu et al. 2012]
[Coros et al. 2010]
[Al Borno et al. 2013]
3/66
?
Motivation
Deformation as Secondary Animation
Skinning
[McAdams et al. 2011]
[Kavan and Sorkine 2012]
Skeleton-driven jiggling
[Capell et al. 2002]
[Kim and Pollard 2011]
4/66
Motivation
Controllable Soft Bodies
External force
Internal force
[Barbič and Popović 2008]
Muscle fibers
Rest shapes
Skeleton-driven
[Tan et al. 2012]
[Coros et al. 2012]
[Kim and Pollard 2011]
5/66
Outline
Motivation
System Overview
Skeleton-driven Soft Body Dynamics
Skeleton dynamics
Soft body dynamics
Motion Control
Inverse dynamics
Time scaling
Conclusion
6/66
System Overview
Skeleton
Dynamics
Rigid body
Controller
Skeleton 𝒒, 𝒒
Fixed
nodes
𝒙𝒇 , 𝒙 𝒇
Dynamics
Pose-based
Constitutive
Model
fix
𝝉
Coarse
mesh
𝒙, 𝒙, 𝑿
𝒇𝒆 , 𝒇𝒅
Soft body
Dynamics
embed
𝒇𝒄
Collision
Detection
Fine mesh 𝒙
7/66
𝒒′, 𝒒′
𝒙′, 𝒙′
System Overview
Skeleton & Soft Body
Fine Surface Mesh
Coarse Volumetric Mesh
8/66
Skeleton
Fixed nodes
System Overview
Simulation
Simulate skeleton
9/66
System Overview
Simulation
Simulate soft body
10/66
Models
Model Statistics
# vertices: ~1200
# elements: ~4000
11/66
System Overview
Skeleton
Dynamics
Rigid body
Controller
Skeleton 𝒒, 𝒒
Fixed
nodes
𝒙𝒇 , 𝒙𝒇
Dynamics
Pose-based
Constitutive
Model
fix
Coarse
mesh
𝒙, 𝒙, 𝑿
𝒇𝒄
Collision
Detection
12/66
𝒒′, 𝒒′
𝒇𝒆 , 𝒇𝒅
Soft body
Dynamics
embed
Fine mesh 𝒙
𝝉
𝒙′, 𝒙′
Skeleton Dynamics
PD-servos
𝑞
𝜏 = 𝑘 𝑝 𝑞 − 𝑞 − 𝑘𝑑 𝑞
𝑞
𝑞
Dynamics
Solver
13/66
𝑞′
𝑞′
Skeleton Dynamics
Stable PD-servos [Baraff and Witkin 1998; Tan et al. 2011]
𝑞
𝜏 = 𝑘𝑝 𝑞 − 𝑞 − 𝑘𝑑 𝑞′
𝑞
𝑞
Dynamics
Solver
14/66
𝑞′
𝑞′
Skeleton Dynamics
Integration with Open Dynamic Engine
𝑞
𝜏 = 𝑘𝑝 𝑞 − 𝑞
𝑞
𝑞′
ODE
𝑞
−𝑘𝑑 𝑞′
15/66
𝑞′
System Overview
Skeleton
Dynamics
Rigid body
Controller
Skeleton 𝒒, 𝒒
Fixed
nodes
𝒙𝒇 , 𝒙 𝒇
Dynamics
Pose-based
Constitutive
Model
fix
𝝉
Coarse
mesh
𝒙, 𝒙, 𝑿
𝒇𝒆 , 𝒇𝒅
Soft body
Dynamics
embed
𝒇𝒄
Collision
Detection
Fine mesh 𝒙
16/66
𝒒′, 𝒒′
𝒙′, 𝒙′
Soft Body Dynamics
Elastic Force
Rest Shape 𝑋
Deformed Shape 𝑥
17/66
Soft Body Dynamics
Problem of Large Deformations
Rest Shape 𝑋
Deformed Shape 𝑥
18/66
Soft Body Dynamics
19/66
Soft Body Dynamics
Solution
Musculoskeletal models
Pose-based Plasticity
[Lee et al. 2009]
20/66
Soft Body Dynamics
Pose-based Plasticity
Pose-based
RestReference
Shape 𝑋 Shape 𝑥
Deformed Shape 𝑥
21/66
Soft Body Dynamics
Additive Plasticity
=
-
22/66
Soft Body Dynamics
Generate Reference Shape
Linear Blend Skinning
Dual Quaternion Skinning [Kavan et al. 2007]
Elasticity-inspired methods [Kavan and Sorkine 2012]
Physically based methods [McAdams et al. 2011]
…………
Rest Shape 𝑋
Pose-based Reference Shape 𝑥
23/66
Soft Body Dynamics
24/66
Soft Body Dynamics
Pose-based Damping
𝑓𝑑
𝑥, 𝑥
25/66
Soft Body Dynamics
Pose-based Damping
Damping reference point
𝑓𝑑
𝑥, 𝑥
26/66
𝑥, 𝑥
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
27/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
28/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Update fixed nodes
29/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Update fine surface mesh
30/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Update reference pose and velocity
31/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Soft body: contact force
32/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Soft body: elastic forces and damping forces
33/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Integration
Skeleton: elastic forces & damping forces from soft body
34/66
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Skeleton: actuation PD torques
35/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Integration
36/66
Integration
Simulation Pipeline
Update Kinematics
Accumulating
forces & torques
Integration
37/66
Integration
Angular Momentum Conservation
The framework conserves angular momentum
Symplectic Euler integrators
Pose-based plasticity
Pose-based damping
38/66
System Overview
Motion
Controller
Controller
Rigid body
Dynamics
Skeleton 𝒒, 𝒒
Skeleton
fix
Dynamics
Fixed
nodes
𝒙𝒇 , 𝒙𝒇
Pose-based
Constitutive
Model
Control
Coarse
Construction
mesh
𝒙, 𝒙, 𝑿
embed
Fine mesh 𝒙
𝝉
𝒇𝒆 , 𝒇𝒅
Feedback
Soft body
Dynamics
𝒇𝒄
Collision
Detection
39/66
𝒒′, 𝒒′
𝒙′, 𝒙′
Motion Control
Skeleton Dynamics System
𝑞
𝜏 = 𝑘𝑝 𝑞 − 𝑞 − 𝑘𝑑 𝑞′
𝑞
𝑞′
ODE
𝑞
−𝑘𝑑 𝑞′
40/66
𝑞′
Motion Control
Control Construction
Input Motion
𝑞𝑞
𝑞
41/66
Motion Control
Control Construction
Sampling-based method [Liu et al. 2010]
𝑞
𝑞
Input Motion
42/66
Motion Control
43/66
Motion Control
44/66
Motion Control
Control Construction
Augmented sampling-based method
𝑞
𝑞
Inverse
Dynamics
Sampling
Time
Scaling
45/66
Inverse Dynamics
𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡
46/66
Inverse Dynamics
𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡
Estimate 𝑞, 𝑞
forward finite differencing
𝑞
Input Motion
47/66
𝑡
Inverse Dynamics
𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡
Estimate 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡
𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 = Gravity + GRF (Ground Reaction Force)
𝒇𝑐
𝝉𝑐
𝑑𝑖
𝒅𝑖
𝒇𝑐𝒊
𝝉𝑐𝒊
48/66
?
Inverse Dynamics
𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡
Estimate Ground Reaction Force (GRF)
GRF can only push the character
𝑓⊥ ≥ 0
Max possible friction
𝒇𝑐𝒊
𝑓⊥
𝒇∥ ≤ 𝜇𝑓⊥
Max possible torque
𝒇∥
𝝉 ≤ 𝑟𝑚𝑎𝑥 𝑓𝑚𝑎𝑥
𝑓𝑚𝑎𝑥 =
𝝉𝑐𝒊
1 + 𝜇2 𝑓⊥
49/66
𝑟𝑚𝑎𝑥
Inverse Dynamics
𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡
Estimate Target Pose
𝜏
𝑞
50/66
Inverse Dynamics
51/66
Motion Control
Control Construction
Augmented sampling-based method
𝑞
𝑞
Inverse
Dynamics
Sampling
Time
Scaling
52/66
Time Scaling
Sample Time Scaling Parameter
53/66
Time Scaling
Sample Time Scaling Parameter
54/66
Time Scaling
55/66
Control Construction
56/66
Motion Control
Closed-loop Feedback Policies
Linear feedback policies [Liu et al. 2012]
57/66
Closed-loop Feedback Policies
58/66
Conclusion
Two-way simulation framework for soft body characters
Pose-based plasticity
Angular momentum Conservation
Interactive rates
Augmented sampling-based control construction
Inverse Dynamics
Time Scaling
59/66
Limitations
Stability Issues
Explicit coupling and solver
Quality Issues
Low-res volumetric mesh
Linear skinning method
Capability Issues
Success rate < 100%
60/66
Future Work
More stable coupling with implicit integrators
Remeshing and better skinning techniques
Incorporating material properties and planning
61/66
Thanks