Such is what moves the digital crowd in the computer science lab at the University of Toronto, where researcher Petros Faloutsos, along with Michiel van de Panne and Demetri Terzopoulos, have developed a framework of physics-based controllers for enhancing the motor abilities of virtual characters.
"Our physics-based animation technique addresses the difficult, open problem of synthesizing a broad repertoire of realistic human motions by automatically controlling a physically modeled, anthropomorphic graphical character," says Faloutsos. The system is the first to demonstrate a dynamic anthropomorphic character with controlled reactions to disturbances or falls in any direction, as well as the ability to pick itself up off the ground in several ways, among other controlled motions.
Prior work in this area has focused on the design of individual, highly specialized motor controllers tailored to specific actions such as running or certain other athletic actions. In contrast, says Faloutsos, the new technique offers a controller-composition system that combines specialized motor controllers that enable it to tackle the bigger problem of designing significantly broader, more competent control systems for physics-based human characters.
"Our method creates autonomous characters that have an unprecedented range of motor skills, such as balancing in gravity, stepping in a natural, protective manner when balance is disturbed, using the arms to protect the body when falling to the ground, regaining an upright stance in various different ways after a fall, sitting down on a chair and standing back up again, and various other actions," says Faloutsos.
|Fully articulated skeletons are spurred into action thanks to a composition of physics-based controllers configured to achieve a range of human-like movement.|
The motion framework comprises families of composable controllers for articulated skeletons whose physical parameters reflect the anthropometric make-up of a fully fleshed adult male.
Within the system, the controllers are considered "black boxes" that encapsulate control knowledge obtained from a number of sources, including biomechanics literature, robotics control literature, and techniques developed specifically for animation control. Each controller is responsible for a specific movement or state, such as balance or stepping. The individual controllers are managed by a supervisor controller. When no controller is active, the supervisor polls the pool of controllers, asking each whether it can handle the transition of the dynamic character from its current state to the desired goal state. Individual controllers return a confidence score to bid on becoming active for a given motion situation.
For each potential motion, if an individual controller can satisfy certain requirements, it is added to a larger group of controllers to achieve increasingly higher-order movement. First, the controller has to determine whether or not it can take the dynamic character from its current state to the desired goal state. If so, it then has to determine whether it has succeeded or failed in achieving the goal.
Within this context, a fundamental component of the system is its ability to model "preconditions," which are sets of parameters required of the character and the environment to achieve a specific motion. If these conditions are met, then the controller can operate and possibly enable the character to satisfy the post conditions, which are the parameters defining the desired state.
One of the unique features of the new system is its reliance, for the first time in computer graphics, not only on manual techniques for assessing preconditions, but also on a popular machine-learning technique known as the "Support Vector Machine" (SVM) for automating the determination of pre-conditions. SVMs fit functions to sets of labeled training data. In this application, the SVMs systematically sample individual controller behavior to learn appropriate preconditions.
The early focus of the new system is on everyday actions, including the simple tasks of standing, recovering balance when pushed, and falling. Impressed by the early results, the researchers are already looking toward enhancements. "There are several possibilities," says Faloutsos. "Currently, only one controller is active at any point in time. It would be desirable to allow multiple controllers to operate at the same time so that more elaborate behaviors can be implemented." Another possibility is the addition of a motion planing module which, given the available controllers and the current state of the character, would be able to compute more optimal sequences of controllers to achieve a desired goal.
The control composition framework is implemented within an open-source, freely available animation environment called Dance, developed at the University of Toronto. Dance is a portable, extensible, object-oriented modeling and animation system that provides a platform for easily implementing animation and control techniques with minimal design overhead.
|A digital stunt skeleton dives down a staircase based on instructions from a hierarchical control system that determines the necessary motion requirements, then identifies and configures the lower-level controllers needed to achieve the desired goal.|
Once refined, the new system will be useful for a range of applications, says Faloutsos. "Interactive physics-based virtual characters with a large repertoire of motion skills are of great interest in virtual reality applications, robotics, and video games. Such characters can also be of use in the film industry, for example, to perform dangerous stunts that are currently performed by human stuntmen and women." He suggests that the most likely first commercial application will be in interactive video games.
More information on the composable controller system can be found at http://www.dgp.toronto.edu.
Diana Phillips Mahoney is chief technology editor of Computer Graphics World.