Simulating human motion
People are skilled at perceiving the subtle details of human motion. We can, for example, often identify friends by the style of their walk when they are still too far away to be recognizable otherwise. If synthesized humans in computer animations and virtual environments are to be compelling, they must appear realistic when they move. The kinematics and dynamics of the figure as well as control algorithms influence the way that the figure performs. We are particularly interested in the design of control strategies for natural-looking human motion. We have developed algorithms that allow a rigid-body model of a man or woman to stand, to run at a variety of speeds, to ride a bicycle on hills and around obstacles, and to perform gymnastic vaults and platform dives. The rigid-body models of the man and woman are realistic in that their mass and inertia properties are derived from data in the biomechanics literature and the degrees of freedom of the joints are chosen so that each behavior can be completed in a natural-looking fashion. The rigid-body dynamics are implemented using a commercially available package, SDFast from Symbolic Dynamics. Although the behaviors are very different in character, the control algorithms are built from a common toolbox: state machines are used to enforce a correspondence between the phase of the behavior and the active control laws, synergies are used to cause several degrees of freedom to act with a single purpose, limbs without required actions in a particular state are used to reduce disturbances to the system, inverse kinematics is used to compute the joint angles that would cause a foot or hand to reach a desired location, and the low-level control is performed with proportional-derivative control laws.