Professional Documents
Culture Documents
Figure 1: A simple controller demonstrates the use of inverse kinematics, dynamic attachments and simple logic to earn the skeletal team two
points.
Motion capture techniques effectively animate humanoid characters We present a toolkit for use in the development of dynamic con-
by recording and reproducing live performances. However, they trollers. The toolkit allows animators to develop dynamics-based
present several limitations, most notably, an inability to adjust to controllers through a combination of:
new environments and different virtual characters. Motion editing
is often non-trivial and prone to problems such as constraint viola- • key-framed based control,
tion (e.g. footskating). • reduced dimensionality physics,
scripting controllers via a controller language,
Physical simulation offers an alternative approach to generating
•
motion for animated characters. Synthesizing motion by numeri- • interactive control of dynamic characters.
cally simulating the laws of physics offers the most general con- Although researchers have identified various control algorithms for
straint over the resulting motion and ensures realistic results. The specific scenarios, the barrier to entry for developing dynamic con-
trollers is due to a very sparse toolset. We present a set of tools that
will allow animators with little or no skill in dynamics to create dy-
namic controllers for use in physical simulation. We demonstrate
that such tools can be effectively used for the development of char-
acter animation.
Our paper is organized as follows: Section 2 discusses related work.
Section 3 gives details of our pose-based control method. Section
4 discusses the use of modified physical environments. Section 5
details our scripting environment. Section 6 discusses our use of
interactive control for physical simulation. Finally, Section 7 dis-
cusses the problems facing the development of dynamic control and
concludes. thesized new motion from a set of motion data of people being
push as a reaction to external forces in an interactive environment.
[KangKang Yin and van de Panne, 2005] created a data-driven
2 Related Work model to simulate the effects of external forces.
The focus of this paper is dynamic control of humanoid characters. [Liu et al., 2005] synthesized motion that adheres to dynamic con-
We review work related to this topic. straints by using optimization and enforcing linear and angular mo-
mentum constraints. Ballistic motion is handled through optimiza-
Dynamic controllers have been developed for athletic maneuvers, tion in [Liu and Popović, 2002] and [Fang and Pollard, 2003].
such as running, bicycling, vaulting and balancing in [Hodgins
et al., 1995]. Control schemes using limit cycles were developed in Many commercial dynamics-based systems have been developed
[Laszlo et al., 1996]. [Faloutsos et al., 2001] described a priority- that simulate passive rigid bodies, such as [Kačić-Alesić et al.,
based control scheme and used support vector machines to automat- 2003]. Of relation to our work are those that focus on dynamics and
ically determine the appropriate dynamic controller for the charac- the usage of control mechanism for humanoid animation. A limited
ter’s state. [Yang et al., 2004] layered different levels of controllers number of commercial systems support the creation of physically
to achieve dynamics-based swimming. [Zordan et al., 2004] used animated motion. Havok Behaviors [Havok Inc., 2007] and Mas-
simple controllers for breathing. [Pollard and Zordan, 2005] used sive Prime [Regelous, 2005] provide support for physically tracking
passive controllers for grasping and gripping. [Smith, 2003] used a existing animation (such as from motion capture) and using simple
neural net to generate a stable walking cycle. Dynamic controllers passive control (”rag-doll”) when the motion diverges sufficiently
that use proportional derivative (PD) control strategies tend to pro- from the target trajectory. NaturalMotion’s Endorphin [NaturalMo-
duce motion that appears robotic. [Neff and Fiume, 2002; Neff tion Ltd., 2007] goes further by providing a variety of parameter-
and Fiume, 2003; Neff and Fiume, 2004] used dynamic control ized controllers to perform simple actions such as standing, jump-
algorithms in order to achieve natural-looking motion and create ing and tackling. While none of these commercial products allow
expressive animation with human-like fluidity. the user to design new controllers, DANCE [Shapiro et al., 2005], a
research system, does support the creation of dynamic controllers,
Our work integrates many techniques developed for dynamic con- but by providing a low-level C++ interface. Our work differs from
trol into a usable, interactive system. these in that we are providing a toolset and interface for creating
Another set of methods leverage well known motion constraints, entirely new dynamic controllers.
such as those from motion capture or keyframing, to modify or Several commercial and research systems are available to assist the
guide dynamic motion. [Komura et al., 2004] and [Zordan and development of controllers for physical and physically simulated
Hodgins, 2002] enabled reactive motions by tracking motion cap- robots, for example, the Webots platform [Michel, 2004] and the
ture and responding to physical disturbances. [Yin et al., 2003] Microsoft Robotics Studio [Microsoft Corp., 2007]. Both provide
tracks motion capture by fixing the root of the character then ap- physical simulation and support legged mechanisms. Our work
plying dynamic effects on the rest of the body through physical differs in that we focus on the development of controllers for an-
simulation. [Oore et al., 2002] presented localized dynamic models imated characters, not robots. In this respect, we have the freedom
in combination with kinematics. to change various aspects of the virtual environment. For example,
Hybrid strategies combine the use of motion capture or other data- we can change the presence or effect of gravity, allocate different
driven kinematic motion with physical simulation, depending on collision geometry during the simulation, and so forth. In addition,
which method is more likely to generate the desired effect. [Shapiro our sensors provide unrestricted knowledge of the state of the sys-
et al., 2003] applied kinematic controllers for ordinary motion then tem, and are not limited to information gathered by sensors that
switched to dynamic controllers under physical disturbances, and could be realistically implemented (e.g., range finders, touch sen-
also specified a criteria for determining when such a switch is ap- sors, incremental encoders for wheels, etc.).
propriate. [Mandel, 2004] used the same control strategy under
physical contact and emphasized reactive motions, such as falling 3 Pose-Based Control
and recovering. [Zordan et al., 2005] switched from motion capture
to physical simulation, tracked the projected path using a simple Keyframing is a popular kinematic technique that can automatically
pose-based controller, then blended the motion to match the begin- generate sequences of animation from a small set of user-described
ning of another motion capture sequence. [Wrotek et al., 2006] poses. Physically simulated characters can also use keyframed
tracked motion capture data using global-space instead of local- poses by treating the keyframe as the desired pose and using propor-
space under an environment with modified physics. tional derivative (PD) control to drive the character to the desired
position. Our dynamic poses are defined as a 3-tuple as:
Other research handles the problem of interaction with humanoid
characters during simulation. [Laszlo et al., 2000] interactively Φ = (ψ, σ, δ) (1)
controlled 2-D characters with the keyboard and mouse. A
physically-based skier was controlled through basic input of the
mouse or keyboard causing a 2-D character to crouch, lean or jump where ψ is the set of desired pose orientations for all the character’s
in the Ski Stunt Simulator [van de Panne and Lee, 2003]. [Zhao joints (except for the root joint which is not actuated), σ is the set
and van de Panne, 2005] used a control pad and interactive con- of gain values, and δ is the set of damping values.
trols to control a 3-D humanoid character during diving and skiing.
We obtain the amount of force, τp applied to each connected body
Most recently, [Joe Laszlo, 2005] used predictive feedback to de-
of our character as derived from the pose as:
termine the best control strategy for a 2-D character. Our toolkit
allows the interactive control of 3-D characters through a combi-
nation of pose-based control, reactive controllers and script-based τp = ks (θ − θd ) − kd (θ̇) (2)
controllers.
Kinematic motion can also be parameterized in order to approx- where τp is the torque to be applied to the body. θ represents the
imate impacts from external forces. [Arikan et al., 2005] syn- current angle between joints, θd is the desired angle, ks is the gain
constant, kd is the damping constant and θ̇ is the rate of change of
the joint angle. The gain constant is determined by:
where ksj is the gain of the joint, ksg is a global gain term and ksp
is the gain of the desired pose. The ksp term is used to describe
how quickly and how strongly the character should attain the pose.
In order to maintain joint limits, we also apply exponential spring
forces, τe to the bodies if the joints have passed their limits:
where kse is the gain constant for the exponential springs, θlimit is
the joint limit, kde is the damping term for the exponential springs.
Laszlo, J., van de Panne, M., and Fiume, E. (1996). Limit cycle control and its ap- Zordan, V. B., Celly, B., Chiu, B., and DiLorenzo, P. C. (2004). Breathe easy: Model
plication to the animation of balancing and walking. In Computer Graphics (SIG- and control of simulated respiration for animation. In SCA ’04: Proceedings of the
GRAPH ’96 Proceedings), pages 155–162. 2004 ACM SIGGRAPH/Eurographics symposium on Computer animation, pages
29–37. ACM Press.
Laszlo, J., van de Panne, M., and Fiume, E. (2000). Interactive control for physically-
based animation. In SIGGRAPH ’00: Proceedings of the 27th annual conference Zordan, V. B. and Hodgins, J. K. (2002). Motion capture-driven simulations that hit
on Computer graphics and interactive techniques, pages 201–208, New York, NY, and react. In SCA ’02: Proceedings of the 2002 ACM SIGGRAPH/Eurographics
USA. ACM Press/Addison-Wesley Publishing Co. symposium on Computer animation, pages 89–96, New York, NY, USA. ACM
Press.
Liu, C. K., Hertzmann, A., and Popović, Z. (2005). Learning physics-based motion
style with nonlinear inverse optimization. ACM Trans. Graph., 24(3):1071–1081. Zordan, V. B., Majkowska, A., Chiu, B., and Fast, M. (2005). Dynamic response for
motion capture animation. ACM Trans. Graph., 24(3):697–701.
Liu, C. K. and Popović, Z. (2002). Synthesis of complex dynamic character motion
from simple animations. In SIGGRAPH ’02: Proceedings of the 29th annual con-
ference on Computer graphics and interactive techniques, pages 408–416, New
York, NY, USA. ACM Press.
Mandel, M. (2004). Virtual humans. Master’s thesis, School of Computer Science.
Michel, O. (2004). Webots(tm): Professional mobile robot simulation. International
Journal of Advanced Robotic Systems, 1(1):39–42.
Microsoft Corp. (2007). Microsoft robotics studio.
http://msdn.microsoft.com/robotics/.