This presentation describes a set of techniques for implementing a fast and stable dynamics simulator for articulated characters using an analytical constraint approach combined with Featherstone’s linear-time forward dynamics algorithm. It presents an efficient method for enforcing multiple simultaneous constraints on an articulated character in order to control the character’s motion and model its interactions with the environment. The technique described employs an optimized process derived from Featherstone’s recursive algorithm to form a linear system representing the constraint conditions at each time instant of the simulation. The system is subsequently solved to compute the exact magnitude of the forces necessary to satisfy these constraints. This work demonstrates how a combination of unilateral and bilateral constraints can be used to model the effects of impacts and contacts, to enforce joint limits, and to accurately control limb motion through trajectory following. The algorithms are presented from a practical standpoint and pseudocode is provided to facilitate their implementation. The goal of this presentation is twofold: first, to convince developers that building a practical, stable, real-time physics simulator for articulated characters is a tractable problem, and second, to give them enough confidence and information to start building one for their game.
[1]
R. Featherstone.
The Calculation of Robot Dynamics Using Articulated-Body Inertias
,
1983
.
[2]
John J. Craig,et al.
Introduction to Robotics Mechanics and Control
,
1986
.
[3]
Francis L. Merat,et al.
Introduction to robotics: Mechanics and control
,
1987,
IEEE J. Robotics Autom..
[4]
Roy Featherstone,et al.
Robot Dynamics Algorithms
,
1987
.
[5]
Ronen Barzel,et al.
A modeling system based on dynamic constraints
,
1988,
SIGGRAPH.
[6]
Michael Gleicher,et al.
Interactive dynamics
,
1990,
I3D '90.
[7]
Richard W. Cottle,et al.
Linear Complementarity Problem.
,
1992
.
[8]
David Baraff,et al.
Fast contact force computation for nonpenetrating rigid bodies
,
1994,
SIGGRAPH.
[9]
Michael Gleicher,et al.
A differential approach to graphical interaction
,
1994
.
[10]
Brian Mirtich,et al.
Impulse-based dynamic simulation of rigid body systems
,
1996
.
[11]
David Baraff,et al.
Linear-time dynamics using Lagrange multipliers
,
1996,
SIGGRAPH.
[12]
Dimitris N. Metaxas,et al.
Efficient Dynamic Constraints for Animating Articulated Figures
,
1998,
Multibody system dynamics.
[13]
Thomas Jakobsen,et al.
Advanced Character Physics
,
2003
.
[14]
Dave H. Eberly.
Game Physics
,
2003
.