|
|
|---|
|
HotLinks to topics: Tracking Human Data Scaling Control Strategies Creating Transitions |
|
|||||||||||||
|
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.
Subtle details in the motion of animated, humanlike characters affect the believability, aesthetic and impact of an animation or virtual environment. Human motion capture produces characters with rich detail in their motion but the data is difficult to modify for new characters and situations. Dynamic simulation generates physically correct motion for characters that can respond interactively in a changing environment. However, the controllers required for simulated characters are difficult to construct because we do not know how to specify the details of human motion procedurally. We present a technique that uses a dynamic simulation to track and modify motion capture data of human upper-body movements. By combining simulation and motion capture, we hope to retain the interactivity and realism of dynamic simulation and the subtle details of the human data while avoiding the disadvantages of each approach.
Behavior design and development is currently a time consuming process. To help make the most of existing behaviors, we have developed scaling techniques that allow us to automatically adapt a behavior to fit the physical properties of a new actor. When simulation is used for animation, adapting behaviors to new actors is difficult because a control system that is tuned for one character will not work on a character with different limb lengths, masses, or moments of inertia. We adapt a control system to a new actor in two stages. First, control system parameters are scaled based on the size and moment of inertia of the dynamic models for the new and the old actors. Then a subset of the parameters is fine-tuned using search. We have used this scaling process to animate both running and cycling behaviors for a variety of human and imaginary characters.
Many complex behaviors can be described as a sequence of simpler basis behaviors. Creating appropriate transitions from one behavior to the next can be a challenging problem, however, because the exit state of one behavior will not in general be a valid entry state for the next. We have developed a technique to parameterize individual basis behaviors in a way that allows control systems to be designed such that the exit states of one leaves the simulated character in a valid initial state for the next. The parameterization allows us to generate a wide variety of motions from a single basis behavior. The nesting of the input and output states allows easy transitions between behaviors and the generation of many complicated behaviors from a small set of basis behaviors. We have used this approach to create four basis behaviors: leaping, tumbling, landing, and balancing. Each parameterized control system allows the user to specify properties of the desired behavior such as how high or far to jump and the number of somersaults to perform. These basis controllers have been combined to generate a diverse set of behaviors, including a standing broad jump, vertical leap, forward somersault, backward somersault, back handspring, and various platform dives.
One goal of this research is to demonstrate that dynamic simulation of rigid-body models can be used to generate natural-looking motion. We have performed several forms of evaluation to test our motion, including video comparison, biomechanical data, and an online turing test. Side-by-side comparison of simulation with video footage is used to test the basic characteristics and timing of the motions. This comparison can be seen on the web pages describing the athletic behaviors. Biomechanical data is used to obtain more detailed measurements of how closely the simulated motion resembles natural-looking motion. Results of comparisons with biomechanical data are described in the papers. A final form of comparison is to use a Turing test to make a direct comparison between simulated and human motion. The question we would like to ask is the following: if simulated data and human data were represented using the same graphical model, would the viewer sometimes choose the simulated data as the more natural motion?
A related question is the effect that the geometric complexity of the
model has on the viewer's interpretation of the motion. Human figures
have been animated using a variety of geometric models including stick
figures, polygonal models, and NURBS-based models with muscles,
flexible skin, or clothing. We have performed experiments indicating
that a viewer's perception of motion characteristics is affected by the
geometric model used for rendering at least for the particular
modifications to the motion that we explored.
Copyright 1999 Questions or comments? Email jkh+www@cc.gatech.edu. |