Efficient enforcement of hard articulation constraints in the presence of closed loops and contacts

In rigid body simulation, one must distinguish between contacts (so‐called unilateral constraints) and articulations (bilateral constraints). For contacts and friction, iterative solution methods have proven most useful for interactive applications, often in combination with Shock‐Propagation in cases with strong interactions between contacts (such as stacks), prioritizing performance and plausibility over accuracy. For articulation constraints, direct solution methods are preferred, because one can rely on a factorization with linear time complexity for tree‐like systems, even in ill‐conditioned cases caused by large mass‐ratios or high complexity. Despite recent advances, combining the advantages of direct and iterative solution methods wrt. performance has proven difficult and the intricacy of articulations in interactive applications is often limited by the convergence speed of the iterative solution method in the presence of closed kinematic loops (i.e. auxiliary constraints) and contacts. We identify common performance bottlenecks in the dynamic simulation of unilateral and bilateral constraints and are able to present a simulation method, that scales well in the number of constraints even in ill‐conditioned cases with frictional contacts, collisions and closed loops in the kinematic graph. For cases where many joints are connected to a single body, we propose a technique to increase the sparsity of the positive definite linear system. A solution to these bottlenecks is presented in this paper to make the simulation of a wider range of mechanisms possible in real‐time without extensive parameter tuning.

[1]  Dinesh K. Pai,et al.  Staggered projections for frictional contact in multibody systems , 2008, SIGGRAPH 2008.

[2]  J. Moser,et al.  Discrete versions of some classical integrable systems and factorization of matrix polynomials , 1991 .

[3]  Dinesh K. Pai,et al.  Post-stabilization for rigid body simulation with contact and constraints , 2003, 2003 IEEE International Conference on Robotics and Automation (Cat. No.03CH37422).

[4]  Jeffrey C. Trinkle,et al.  Interactive Simulation of Rigid Body Dynamics in Computer Graphics , 2014, Eurographics.

[5]  Charles E. Wilson,et al.  Kinematics and dynamics of machinery , 1983 .

[6]  J. Baumgarte Stabilization of constraints and integrals of motion in dynamical systems , 1972 .

[7]  Gene H. Golub,et al.  Methods for modifying matrix factorizations , 1972, Milestones in Matrix Computation.

[8]  David Baraff,et al.  Analytical methods for dynamic simulation of non-penetrating rigid bodies , 1989, SIGGRAPH.

[9]  David Baraff,et al.  Fast contact force computation for nonpenetrating rigid bodies , 1994, SIGGRAPH.

[10]  J. J.,et al.  Numerical aspects of the sweeping process , 1999 .

[11]  Robert L. Norton Kinematics and Dynamics of Machinery , 2008 .

[12]  Karl Wohlhart,et al.  Kinematics and Dynamics of the Fulleroid , 1997 .

[13]  J. Moreau Numerical aspects of the sweeping process , 1999 .

[14]  Jack Dongarra,et al.  LINPACK Users' Guide , 1987 .

[15]  Florence Bertails-Descoubes,et al.  A hybrid iterative solver for robustly capturing coulomb friction in hair dynamics , 2011, ACM Trans. Graph..

[16]  Seid Koric,et al.  Sparse matrix factorization on massively parallel computers , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[17]  Ronald Fedkiw,et al.  Nonconvex rigid bodies with stacking , 2003, ACM Trans. Graph..

[18]  Jeffrey C. Trinkle,et al.  An implicit time-stepping scheme for rigid body dynamics with Coulomb friction , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

[19]  Dinesh K. Pai,et al.  Continuous contact simulation for smooth surfaces , 2003, TOGS.

[20]  山田 祐,et al.  Open Dynamics Engine を用いたスノーボードロボットシミュレータの開発 , 2007 .

[21]  Pierre Alart,et al.  Conjugate gradient type algorithms for frictional multi-contact problems: applications to granular materials , 2005 .

[22]  Eitan Grinspun,et al.  Reflections on simultaneous impact , 2012, ACM Trans. Graph..

[23]  Jan Bender Impulse‐based dynamic simulation in linear time , 2007, Comput. Animat. Virtual Worlds.

[24]  James K. Hahn,et al.  Realistic animation of rigid bodies , 1988, SIGGRAPH.

[25]  K. Anderson,et al.  A Generalized Recursive Coordinate Reduction Method for Multibody System Dynamics , 2003 .

[26]  Timothy A. Davis,et al.  Row Modifications of a Sparse Cholesky Factorization , 2005, SIAM J. Matrix Anal. Appl..

[27]  Uri M. Ascher,et al.  Stabilization of invariants of discretized differential systems , 1997, Numerical Algorithms.

[28]  David Baraff,et al.  Interactive simulation of solid rigid bodies , 1995, IEEE Computer Graphics and Applications.

[29]  John F. Canny,et al.  Impulse-based simulation of rigid bodies , 1995, I3D '95.

[30]  Brian Mirtich,et al.  Impulse-based dynamic simulation of rigid body systems , 1996 .

[31]  Eitan Grinspun,et al.  To appear in the ACM SIGGRAPH conference proceedings Efficient Simulation of Inextensible Cloth , 2007 .

[32]  Jan Bender,et al.  Fast Dynamic Simulation of Multi-Body Systems Using Impulses , 2006, VRIPHYS.

[33]  Ming C. Lin,et al.  Adaptive dynamics of articulated bodies , 2005, SIGGRAPH '05.

[34]  Michel Saint Jean,et al.  The non-smooth contact dynamics method , 1999 .

[35]  YANQING CHEN,et al.  Algorithm 8 xx : CHOLMOD , supernodal sparse Cholesky factorization and update / downdate ∗ , 2006 .

[36]  Nancy Argüelles,et al.  Author ' s , 2008 .

[37]  Ronald Fedkiw,et al.  Dynamic simulation of articulated rigid bodies with contact and collision , 2006, IEEE Transactions on Visualization and Computer Graphics.

[38]  Peter Schröder,et al.  The virtual erector set: dynamic simulation with linear recursive constraint propagation , 1990, I3D '90.

[39]  Jan Bender,et al.  Constraint-based collision and contact handling using impulses , 2006 .

[40]  Miguel A. Otaduy,et al.  Position-based Methods for the Simulation of Solid Objects in Computer Graphics , 2013, Eurographics.

[41]  Stephen Ingram Minimum Degree Reordering Algorithms: A Tutorial , 2006 .

[42]  M. Anitescu,et al.  Formulating Dynamic Multi-Rigid-Body Contact Problems with Friction as Solvable Linear Complementarity Problems , 1997 .

[43]  D. Stewart,et al.  AN IMPLICIT TIME-STEPPING SCHEME FOR RIGID BODY DYNAMICS WITH INELASTIC COLLISIONS AND COULOMB FRICTION , 1996 .

[44]  David Baraff,et al.  Issues in computing contact forces for non-penetrating rigid bodies , 1993, Algorithmica.

[45]  P. Alart,et al.  A mixed formulation for frictional contact problems prone to Newton like solution methods , 1991 .

[46]  Kenny Erleben,et al.  Velocity-based shock propagation for multibody dynamics animation , 2007, TOGS.

[47]  Takahiro Harada A parallel constraint solver for a rigid body simulation , 2011, SA '11.

[48]  Giles D. Wood,et al.  Simulating Mechanical Systems in Simulink with SimMechanics , 2003 .

[49]  Jane Wilhelms,et al.  Collision Detection and Response for Computer Animation , 1988, SIGGRAPH.

[50]  Ming C. Lin,et al.  Adaptive dynamics of articulated bodies: implementation details , 2005, SIGGRAPH '05.

[51]  Alfred Schmitt,et al.  An impulse-based dynamic simulation system for VR applications , 2005 .

[52]  Roy Featherstone,et al.  Rigid Body Dynamics Algorithms , 2007 .

[53]  David Bommes,et al.  Efficient Linear System Solvers for Mesh Processing , 2005, IMA Conference on the Mathematics of Surfaces.

[54]  Roy Featherstone,et al.  Robot Dynamics Algorithms , 1987 .

[55]  Raanan Fattal,et al.  Efficient simulation of inextensible cloth , 2007, SIGGRAPH 2007.

[56]  David Baraff,et al.  Linear-time dynamics using Lagrange multipliers , 1996, SIGGRAPH.

[57]  François Faure,et al.  Fast Iterative Refinement of Articulated Solid Dynamics , 1999, IEEE Trans. Vis. Comput. Graph..

[58]  William W. Armstrong,et al.  The dynamics of articulated rigid bodies for purposes of animation , 1985, The Visual Computer.

[59]  Petr Krysl,et al.  Explicit Newmark/Verlet algorithm for time integration of the rotational dynamics of rigid bodies , 2005 .

[60]  Dinesh K. Pai,et al.  Staggered projections for frictional contact in multibody systems , 2008, SIGGRAPH Asia '08.