Stephane Redon, Nico Galoppo, Ming C....
Transcript of Stephane Redon, Nico Galoppo, Ming C....
Adaptive Dynamics of Articulated Bodies
Adaptive Dynamics of Articulated BodiesAdaptive Dynamics of Articulated Bodies
Stephane Redon, Nico Galoppo, Ming C. LinUniversity of North Carolina at Chapel Hill
Adaptive Dynamics of Articulated Bodies
Motivation
• Articulated bodies in Computer Graphics– Humans, hair, animals
– Trees, forests, grass
– Deformable bodies
– Molecular graphics
– …
Adaptive Dynamics of Articulated Bodies
Motivation
• Forward dynamics
• Optimal solutions are linear
• Optimal forward dynamics methods are too slowfor numerous or complex articulated bodies
Adaptive Dynamics of Articulated Bodies
Contributions
• Forward dynamics
• Adaptive forward dynamics– Specify the number of degrees of freedom
– Only this number of degrees of freedom is simulated
– The most relevant degrees of freedom are automatically found
Adaptive Dynamics of Articulated Bodies
Contributions
• Hybrid bodies– Articulated-body representation
– To reduce the number of degrees of freedom
• Adaptive joint selection– Customizable motion metrics
– To determine the most relevant degrees of freedom
• Adaptive update mechanisms
Adaptive Dynamics of Articulated Bodies
Outline
• Related work
• Hybrid bodies
• Adaptive joint selection
• Adaptive update mechanisms
• Results
Adaptive Dynamics of Articulated Bodies
Related workForward dynamics of articulated bodies
• View-dependent dynamics
• Articulated-body motion simplification
– Faure 1999
– Redon and Lin 2005: Adaptive quasi-statics
• Optimal algorithms
• Parallel algorithms
• Human motion
• Plant motion
• Hair modeling
This paper: adaptive simplification using customizable motion error metrics
Adaptive Dynamics of Articulated Bodies
Outline
• Related work
• Hybrid bodies
• Adaptive joint selection
• Adaptive update mechanisms
• Results
Adaptive Dynamics of Articulated Bodies
Articulated-bodyDefinitionArticulated-bodyDefinition
• An articulated-body is a rigid-body system with one or more handles;
• A handle is a specified location within an articulated body to which external forces may be applied and which responds with an observable acceleration.
Adaptive Dynamics of Articulated Bodies
Articulated-bodies Featherstone’s DCA
• Recursive definition
An articulated body is recursively defined as a pair of articulated bodies connected by a joint
A B
Adaptive Dynamics of Articulated Bodies
• Recursive definition
Articulated bodies Featherstone’s DCA
Rigid bodies
The complete articulated body
Pairs of rigid bodies
The assembly tree of an articulated body
Adaptive Dynamics of Articulated Bodies
Articulated-body equations of motion:
Articulated-body Dynamics Featherstone’s DCA
BodyAccelerations
Inverse inertias and cross-inertias
AppliedForces
Biasaccelerations
Adaptive Dynamics of Articulated Bodies
Articulated-body Dynamics Featherstone’s DCA
Articulated-body equationsthe effect of a force applied to body
2, on the acceleration of body 1
The bias acceleration is the acceleration of body 1 when no forces are applied
Adaptive Dynamics of Articulated Bodies
Featherstone’s DCATwo main passes
1. The main pass: Compute the articulated-body coefficients ( )
Inverse inertias
Bias accelerations
Leaf-node coefficients
Acceleration-independent external force applied to the rigid body
Adaptive Dynamics of Articulated Bodies
Featherstone’s DCATwo main passes
2. The back-substitution pass: the kinematic constraint forces are propagated down the tree to compute all the joint accelerations ( ).
Joint acceleration
Kinematic constraint forces
Adaptive Dynamics of Articulated Bodies
Hybrid bodiesDefinitions
• Active region
• Goal: to simply the dynamics
• Means: select a subset of joints to simulate (the complement set of nodes are rigidified)
rigid node
hybrid node
The active region contains the mobile joints
Hybrid body – an articulated body whose set of active joints is a sub-tree of the assembly tree, with an identical root.
Adaptive Dynamics of Articulated Bodies
Hybrid bodiesHybrid-body coefficients
Hybrid bodiesHybrid-body coefficients
• Hybrid nodes use the articulated-body equations
• A rigidified node behaves like a rigid body
Rigidify joint
Articulated-body coefficients
Rigidified-body coefficients
Adaptive Dynamics of Articulated Bodies
Hybrid bodiesHybrid-body simulation
• Same steps as articulated-body simulation
• Computations restricted to a sub-tree in the back-substitution pass (and consequently in updates of the velocities and positions)
Adaptive Dynamics of Articulated Bodies
Outline
• Related work
• Hybrid bodies
• Adaptive joint selection
• Adaptive update mechanisms
• Results
Adaptive Dynamics of Articulated Bodies
Adaptive joint selectionAdaptive joint selection
To predict which joints should be activated so as to best approximate the motion of the articulated body, without computing the accelerations of all the joints in the articulated-body.
Adaptive Dynamics of Articulated Bodies
Adaptive joint selectionMotion metrics
• Acceleration metric
• Velocity metric
Symmetric, PSD
usually identity matrix
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Motion metrics
• TheoremThe acceleration metric value of an articulated body can be computed before computing its joint accelerations
Computed in a bottom-up fashion just like the computation of articulated-body coefficients
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration update
Example:
=6 =-3 =2 =-1 =1=-6=3
= 96
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
= 96
Compute the acceleration metric value of the root
Adaptive Dynamics of Articulated Bodies
= 96 -3
Compute the joint acceleration of the root
Adaptive joint selection Acceleration simplification
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
= 96
= 6= 81
Compute the acceleration metric values of the two children
-3
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
= 96
Select the node with the highest acceleration metric value
-3
= 6= 81
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
= 96
Compute its joint acceleration
-3
-6= 81 = 6
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
= 96
= 9 = 36
Compute the acceleration metric values of its two children
-3
-6 = 6= 81
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
= 96
= 9 = 36
-3
-6 = 6= 81
Select the node with the highest acceleration metric value
= 36
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
= 96
= 9 = 36
-3
-6 = 6= 81
Compute its joint acceleration
6
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
-3
-6
6
= 96
= 9
= 6
Stop because a user-defined sufficient precision has been reached
Adaptive Dynamics of Articulated Bodies
Adaptive joint selection Acceleration simplification
-3
-6
6
= 96
= 9
= 6
Four subassemblies with joint accelerations implicitly set to zero
Adaptive Dynamics of Articulated Bodies
Outline
• Related work
• Hybrid bodies
• Adaptive joint selection
• Adaptive update mechanisms
• Results
Adaptive Dynamics of Articulated Bodies
Adaptive update mechanismsHandling two types of coefficients
Limit the update of the coefficients to a subtree
1. Position-dependent coefficientsHierarchical state representation [Redon and Lin 2005]
Adaptive Dynamics of Articulated Bodies
Adaptive update mechanisms
2. Velocity-dependent coefficients
Linear coefficients tensors:
Adaptive Dynamics of Articulated Bodies
Outline
• Related work
• Hybrid bodies
• Adaptive joint selection
• Adaptive update mechanisms
• Results
Adaptive Dynamics of Articulated Bodies
ResultsAdaptive joint selection
Adaptive joint selection example (10x speed-up)
Adaptive Dynamics of Articulated Bodies
ResultsTime-dependent simplification
One color per sub-assembly
Adaptive Dynamics of Articulated Bodies
ResultsTime-dependent simplification
One color per sub-assembly
Adaptive Dynamics of Articulated Bodies
ResultsProgressive simplification of motion
5ms
0.25ms
1.7ms
0.7ms
0.02ms
Average cost (ms) per time step
N=300
N=20
N=100
N=50
N=1
a 300-link pendulum, N- number of active joints
Adaptive Dynamics of Articulated Bodies
ResultsPrecision / Performance trade-offResultsPrecision / Performance trade-off
# of active joints
# of external forces
ms per interation
Adaptive Dynamics of Articulated Bodies
ResultsTest application
MOVIE