The constraint-based approach involves the imposition of kinematic constraints on the motions of an animated object [Platt and Barr1988]. For example, one may constrain the motion trajectories of certain parts of a model to conform to user specified paths. Two techniques have been used to calculate motions that satisfy constraints: the inverse dynamics technique and the constrained optimization technique.
In inverse dynamics, the motion of an animated body is specified by solving the equations of motion. A set of ``constraint forces'' (or torques) is computed, which causes the animated body to act in accordance with the given constraints [Isaacs and Cohen1987, Barzel and Barr1988, Witkin and Welch1990]. The first two works deal with rigid bodies (for the special case of articulated figures), the third with non-rigid structures. Using inverse dynamics, the resulting motions are physically ``correct'' (in the sense that the animated body responds to forces in a realistic manner), but they may still look unnatural with respect to any specific form of animal locomotion. For example, when modeling the locomotion of a cat using inverse dynamics, the resulting motion may not resemble that of a cat, but rather that of a robot. This is because, as was discussed in the previous chapter, an animal's movement not only depends on the Newtonian laws of motion but also is subject to biomechanical principles. In particular, the locomotion of an animal is driven by its muscles, which have limited strength. Therefore, contrary to the assumption of the inverse dynamics technique, a real animal cannot produce arbitrary forces and torques so as to move along any pre-specified path.
The idea behind the constrained optimization technique is to represent motion in the state-time space and then define an objective function or performance index and cast motion control as an optimization problem [Witkin and Kass1988, Liu, Gortler and Cohen1994]. The objective function evaluates the resulting motion. The usual assumption is that motions requiring less energy are preferable. An open-loop controller is synthesized by searching for values of the state space trajectory, the forces, and the torques that satisfy the constraints and minimize the objective function. This is usually achieved by numerical methods that iteratively refine a user supplied initial guess and that are often computationally expensive. Moreover, it is possible for the motion to be over-constrained, in which case the optimization algorithm is given the responsibility of arbitrating between the user defined constraints and the constraints induced by the laws of physics [Funge1995]. Unfortunately, this means that the compromise solutions produced may not lead to visually realistic motion, especially if the laws of physics are compromised.
|Xiaoyuan Tu||January 1996|