540 likes | 633 Views
Motivation. Articulated bodies in Computer Graphics Humans, hair, animals Trees, forests, grass Deformable bodies Molecular graphics … . Motivation. Forward dynamics Optimal solutions are linear Production constraints
E N D
Motivation • Articulated bodies in Computer Graphics • Humans, hair, animals • Trees, forests, grass • Deformable bodies • Molecular graphics • …
Motivation • Forward dynamics • Optimal solutions are linear • Production constraints “Dynamics computations should take less than 10-20 seconds per frame to make animators’ lives easy”Sunil Hadap, PDI/DreamWorks • Optimal forward dynamics methods are too slow for numerous or complex 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
Contributions • Hybrid bodies • Novel articulated-body representation • To reduce the number of degrees of freedom • Adaptive joint selection • Novel customizable motion metrics • To determine the most relevant degrees of freedom • Adaptive update mechanisms
Outline • Related work • Hybrid bodies • Adaptive joint selection • Adaptive update mechanisms • Results
Outline • Related work • Hybrid bodies • Adaptive joint selection • Adaptive update mechanisms • Results
Related work Forward dynamics of articulated bodies • Optimal algorithms • [Hollerbach 1980] • [Featherstone 1987] • [McMillan and Orin 1995] • [Baraff 1996] • Parallel algorithms • [Fijany et al. 1995] • [Featherstone 1999] Divide and Conquer Algorithm (DCA) • [Yamane and Nakamura 2002]
Related work Simulation levels of detail • Human motion • [Carlson and Hodgins 1997] • [Popovic and Witkin 1999] • Plant motion • [Perbet and Cani 2001] • [Beaudoin and Keyser 2004] • Hair modeling • [Bertails et al. 2003] • [Ward et al. 2003]
Related work Simulation levels of detail • View-dependent dynamics • [Chenney and Forsyth 1997] • [Chenney et al. 1999] • [Chenney et al. 2001] • Articulated-body motion simplification • [Faure 1999] • [Redon and Lin 2005] – Adaptive quasi-statics
Outline • Related work • Hybrid bodies • Adaptive joint selection • Adaptive update mechanisms • Results
Hybrid bodies Featherstone’s DCA • Recursive definition An articulated body is formed by assembling two articulated bodies
Hybrid bodies Featherstone’s DCA • Recursive definition An articulated body is formed by assembling two articulated bodies
The complete articulated body Pairs of rigid bodies Rigid bodies Hybrid bodies Featherstone’s DCA • Recursive definition The assembly tree of an articulated body
Hybrid bodies Featherstone’s DCA • Recursive definition • Articulated-body equation Body Accelerations Inverse inertias and cross-inertias Applied Forces Bias accelerations
Hybrid bodies Featherstone’s DCA • Recursive definition • Articulated-body equation The cross-coupling inverse inertia describes the effect of a force applied to body 2, on the acceleration of body 1
Hybrid bodies Featherstone’s DCA • Recursive definition • Articulated-body equation The bias acceleration is the acceleration of body 1 when no forces are applied
Hybrid bodies Featherstone’s DCA • Recursive definition • Articulated-body equation • Two main steps • Compute the articulated-body coefficients () Inverse inertias Bias accelerations
Hybrid bodies Featherstone’s DCA • Recursive definition • Articulated-body equation • Two main steps • Compute the joint accelerations and forces () Joint acceleration Kinematic constraint forces
Hybrid bodies Definitions • Active region The active region contains the mobile joints
Hybrid bodies Definitions • Active region • Hybrid-body coefficients Articulated-body coefficients Rigidify joint Hybrid-body coefficients
Hybrid bodies Definitions • Active region • Hybrid-body coefficients • Hybrid-body simulation • Same steps as articulated-body simulation • Computations restricted to a sub-tree (cf. paper)
Outline • Related work • Hybrid bodies • Adaptive joint selection • Adaptive update mechanisms • Results
Adaptive joint selection Motion metrics • Acceleration metric • Velocity metric
Adaptive joint selection Motion metrics • TheoremThe acceleration metric value of an articulated body can be computed before computing its joint accelerations
=3 =-6 =6 =-3 =2 =-1 =1 Adaptive joint selection Motion metrics • Example = 96
Adaptive joint selection Acceleration simplification = 96 Compute the acceleration metric value of the root
Adaptive joint selection Acceleration simplification = 96 -3 Compute the joint acceleration of the root
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 Compute the acceleration metric values of the two children
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 Select the node with the highest acceleration metric value
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 Compute its joint acceleration
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 = 9 = 36 Compute the acceleration metric values of its two children
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 = 9 = 36 = 36 Select the node with the highest acceleration metric value
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 = 9 = 36 6 Compute its joint acceleration
Adaptive joint selection Acceleration simplification = 96 -3 = 6 -6 = 9 6 Stop because a user-defined sufficient precision has been reached
Adaptive joint selection Acceleration simplification = 96 -3 = 6 -6 = 9 6 Four subassemblies with joint accelerations implicitly set to zero
Outline • Related work • Hybrid bodies • Adaptive joint selection • Adaptive update mechanisms • Results
Adaptive update mechanisms • Position-dependent coefficients • Hierarchical state representation [Redon and Lin 2005]
Adaptive update mechanisms • Velocity-dependent coefficients • Linear coefficients tensors (Implementation sketch tomorrow 11:20am 515B)
Outline • Related work • Hybrid bodies • Adaptive joint selection • Adaptive update mechanisms • Results
Results Adaptive selection MOVIE Adaptive joint selection example (10x speed-up)
Results Adaptive joint selection Adaptive joint selection example (10x speed-up)
Results Time-dependent simplification One color per sub-assembly
Results Time-dependent simplification One color per sub-assembly
Results Adaptive selection MOVIE Time-dependent simplification
Results Progressive dynamics Progressive dynamics of a 300-link pendulum
Results Progressive dynamics Number of active joints N=300 N=100 N=50 N=20 N=1 Progressive dynamics of a 300-link pendulum
Results Progressive dynamics Average cost per time step N=300 5ms N=100 1.7ms N=50 0.7ms N=20 0.25ms N=1 0.02ms Progressive dynamics of a 300-link pendulum
Results Test application MOVIE
Conclusion Summary • A new adaptive dynamics algorithm • Hybrid bodies • Adaptive joint selection • Adaptive update mechanisms • Precision / Performance trade-off