title: Dynamic simulation of articulated rigid bodies with contact and collision.
abstract: We propose a novel approach for dynamically simulating articulated rigid bodies undergoing frequent and unpredictable contact and collision. In order to leverage existing algorithms for nonconvex bodies, multiple collisions, large contact groups, stacking, etc., we use maximal rather than generalized coordinates and take an impulse-based approach that allows us to treat articulation, contact, and collision in a unified manner. Traditional constraint handling methods are subject to drift, and we propose a novel prestabilization method that does not require tunable potentially stiff parameters as does Baumgarte stabilization. This differs from poststabilization in that we compute allowable trajectories before moving the rigid bodies to their new positions, instead of correcting them after the fact when it can be difficult to incorporate the effects of contact and collision. A poststabilization technique is used for momentum and angular momentum. Our approach works with any black box method for specifying valid joint constraints and no special considerations are required for arbitrary closed loops or branching. Moreover, our implementation is linear both in the number of bodies and in the number of auxiliary contact and collision constraints, unlike many other methods that are linear in the number of bodies, but not in the number of auxiliary constraints.
authors.affiliation: Department of Computer Science, Stanford University, CA 94305, USA. rlw@cs.stanford.edu
authors.forename: Rachel
authors.initials: R
authors.lastname: Weinstein
authors.forename: Joseph
authors.initials: J
authors.lastname: Teran
authors.forename: Ron
authors.initials: R
authors.lastname: Fedkiw
mesh_terms: D000465:Algorithms; D001696:Biomechanical Phenomena / Q000379:methods*; D003196:Computer Graphics; D003198:Computer Simulation; D007089:Image Enhancement / Q000379:methods*; D007090:Image Interpretation, Computer-Assisted / Q000379:methods*; D021621:Imaging, Three-Dimensional / Q000379:methods*; D008962:Models, Theoretical; D009038:Motion; D014584:User-Computer Interface