Glenn A. Kramer
Dynamic simulation involves solving sets of equations that represent kinematic (or geometric) and kinetic (or force related) constraints. The kinematic equations are highly nonlinear algebraic equations, and the kinetic equations are coupled differential equations that must be integrated over time. In most simulators, the algebraic and differential equations are solved simultaneously in an iterative manner using sparse matrix techiques and stiff integration schemes. This is not particularly efficient, and can also lead to numerical stability problems. I propose an alternative formulation, based directly on the work of Euler and Lagrange, which allows more efficient solution of dynamics problems at interactive rates. This paper describes the use of a geometric constraint engine based on degrees of freedom analysis (developed for the kinematic simulator TLA), with extensions to incorporate reasoning about dynamics. I present a method for calculating velocity ratios, formulated as a problem in geometry. These calculations, in conjunction with the kinematic solution, allow determination of all kinetic and potential energy terms required for dynamic simulation. The constructed system of dynamics equations are pure differential equations in terms of a minimal set of generalized coordinates. The formulation results in small, dense matrices, rather than large, sparse ones. In principle, large time-steps may be used for coarse dynamic behavior, with smaller time-steps yielding better approximations to the true behavior, at the cost of more computation time.