1Texas A&M University
2Adobe Research
ACM Transactions on Graphics (SIGGRAPH 2019)
It is well known that the dynamics of articulated rigid bodies can be solved in O(n) time using a recursive method, where n is the number of joints. However, when elasticity is added between the bodies (eg damped springs), with linearly implicit integration, the stiffness matrix in the equations of motion breaks the tree topology of the system, making the recursive O(n) method inapplicable. In such cases, the only alternative has been to form and solve the system matrix, which takes O(n3) time. We propose a new approach that is capable of solving the linearly implicit equations of motion in near linear time. Our method, which we call RedMax, is built using a combined reduced/maximal coordinate formulation. This hybrid model enables direct flexibility to apply arbitrary combinations of constraints and contact modeling in both reduced and maximal coordinates, as well as mixtures of implicit and explicit forces in either coordinate representation. We highlight Red/Max's flexibility with seamless integration of deformable objects with two-way coupling, at a standard additional cost. We further highlight its flexibility by constructing an efficient internal (joint) and external (environment) frictional contact solver that can leverage bilateral joint constraints for rapid evaluation of frictional articulated dynamics.
NEW: We now have an analytically differentiable version of REDMAX! It now supports fully implicit time integration and the adjoint method for parameter optimization. Please visit the github page!
@article{Wang2019,
author = {Wang, Ying and Weidner, Nicholas J. and Baxter, Margaret A. and Hwang, Yura and Kaufman, Danny M. and Sueda, Shinjiro},
title = {\textsc{RedMax}: Efficient \& Flexible Approach for Articulated Dynamics},
year = {2019},
issue_date = {July 2019},
publisher = {ACM},
address = {New York, NY, USA},
volume = {38},
number = {4},
issn = {0730-0301},
url = {https://doi.org/10.1145/3306346.3322952},
doi = {10.1145/3306346.3322952},
journal = {{ACM} Trans.\ Graph.},
month = jul,
articleno = {104},
numpages = {10},
keywords = {friction, rigid body dynamics, physical simulation, constraints, contact}
}