Title: Dynamo Dynamic, Data-driven Character Control with Adjustable Balance
1Dynamo Dynamic, Data-driven Character Control
with Adjustable Balance
- Pawel Wrotek Electronic Arts
- Chad Jenkins Brown University
- Morgan McGuire Williams College
2First, a video
3Character Motion
- An integral part of modern video games
FIFA 2006 (EA)
San Andreas (Rockstar)
Antigrav (Harmonix)
4Kinematic Character Motion
- Expressed by rigid body kinematics
- Rigid bodies connected by joints
- Character pose defined by rotation
- of joints
- Vector ?(t) represents pose
- at a given instant of time
5Motion GenerationMocap and Keyframing
- Motion capture
- Manual keyframing
- () path of least resistance
- () absolute control, wyciwyg
- (-) not physically dynamic
- such motion is a static and partial snapshot of
the dynamics occurred at the time of
collection/creation Analogously, video is a
snapshot of the physics of light - Great for production animation, not so great for
interactive virtual environments
6Motion GenerationMocap and Keyframing
- () path of least resistance
- () absolute control wyciwyg
- (-) not physically dynamic
- static and partial snapshot of the dynamics
occurred at the time of creation - Production animation, not interactive games
God of War 2 (Sony)
7Motion GenerationProcedural Animation
- Rules/algorithms to automatically generate motion
- Three categories of approaches
- Indirectly emulate physical plausibility
- Perlin,Goldberg 94 Popovic, Witkin 99 Kovar
et al. 02 - Simulate physics only when necessary
- Shapiro et al. 03 Zordan et al. 05
- Simulate physics directly and persistently
- Hodgins et al. 95 Laszlo et al. 00
8Procedural Animation
- Indirectly emulate physical plausibility
- Scripting Perlin,Goldberg 94
- Blending Rose et al. 98
- Optimization Liu et al. 05 Arikan et al. 03
- () creators retain control
- Creators define all rules for movement
- (-) violates the checks and balances of motion
- Motion control abuses its power over physics
- (-) limits emergent behavior
9Procedural Animation
- Simulate physics directly
- Ragdolls
- Controllers to generate motor forces
- Zordan, Hodgins 02 Faloutsos et al.
01 Popovic et al. 00 - () proper separation of powers
- Physics, control, AI
- Allows for emergent, natural interactions
- (-) inherit problems that plague robotics
Physics
Controller
10Procedural Animation
- Simulate physics only when necessary
- Dynamic response
- Shapiro et al. 03 Zordan et al. 2005
Natural Motion Endorphin - Mocap for normal dynamics
- Simulation for disturbance dynamics
- () the best of mocap and simulation
- (-) limited to passive response
- Falling, getting hit, etc.
- No persistent interaction
11Fundamental Question
- Can we have practical methods for physically
simulated characters? - Revisit the broader picture for autonomous
control - Decision making (AI) objectives, current state
(xt) ? desired motion (xdt) - Motion Control desired motion (xdt), current
state (xt) ? motor forces (ut) - Physics current state (xt) ? next state
(xt1)
utMC(xdt-xt)
xt1P(xt,ut)
xdtAI(xt)
Physics
Motion Control
Decision Making
ut
xdt
objectives
xt1
12The Autonomous Physical Motion Control Problem
utMC(xdt-xt)
xdtAI(xt)
xt1P(xt,ut)
Motion Control
Decision Making
ut
xdt
Physics
ut
objectives
xt1
13The Autonomous Physical Motion Control Problem
utMC(xdt-xt)
xdtAI(xt)
Motion Control
Decision Making
ut
xdt
objectives
xt1
- Simulating physics
- Download ODE
- Buy Havoc
- Implement Guendelman et al. 03
14The Autonomous Motion Control Problem
utMC(xdt-xt)
Motion Control
ut
xdt
Mocap data
xt1
- AI for autonomous decision making
- Someone elses problem
- Interface point for decision making
- Focus on motion control
- Motion capture as decision making placeholder
15Motion Control Impediments
utMC(xdt-xt)
Motion Control
ut
xdt
Mocap data
xt1
- Gain tuning for motion control
- Balance for upright motion
16Motion Control Impediments
utMC(xdt-xt)
Motion Control
ut
xdt
Mocap data
xt1
- Gain tuning for motion control
- Balance for upright motion
Problem parent space control?
17Motion Control Impediments
utMC(xdt-xt)
Motion Control
ut
xdt
Mocap data
xt1
- Gain tuning for motion control
- Balance for upright motion
Problem parent space control?
Solution world space control?
18Segway Analogy
19Segway Analogy
20Segway Analogy
21Feedback Motion Control
- Parent PD-servo
- Torque u about an axis
- Appropriate kp and kd values are necessary for
stable control - Tedious and difficult
- Holdover from robot rotational sensing
u
D. Brogan
22Parent Space Control
- Moving reference frame
- Interferes with stability
- Lacks consideration of global orientation
23World Space Control
- Fixed global reference frame
- Steady target desireds
- Implicit balance
24World Space PD-Servo
- t kp (v ?) kd (?d ?a)
- Wd desired world space rotation matrix
- Wa actual world space rotation matrix
- T Wd Wa-1 (transformation from Wa to Wd)
- v, ? rotation axis, angle derived from T
- ?d desired world space angular velocity
- ?a actual world space angular velocity
?
Wa
v
Wd
25A Note about Axis-Angle(Source code in the paper)
- Torques determined by desired angular
acceleration - i.e., Proportional to 2nd derivative of rotation
- 1D Hinge Hodgins95 t ? ?2q/?t2
- 3D Ball joint t ? ?2rotation/?t2
- but Matrix/Quat derivatives produce denormalized
results under ODEs Euler integration and are
awkward to convert to torques - Rotation axis is fixed anyway during the Euler
timestep, so reduce to a 1D problem - 3D Ball joint
26Early Results
- Gain Tuning
- Cartwheel with object
27Super-balancing
- An artifact of world space control
- Retain separation of powers
- Desired pose relative to character root (Person
space) - Desired root orientation specified by AI
- Actual position and orientation determined by
physics
28Root-spring control
- Spring only opposes gravity (no rotation about
FG) - Torque-limited and breaks under excessive strain
t maximum
Applied Torque t
t tbalance
t 0
tbalance
Torque limit
Breaking point
29Results
- Obstacle course
- Parent space
- Person space
- User interaction
- Balance comparison
- Ballistic
- Person space (meathook)
- Person space (root spring), Parent space
- In-game boxing
Parent space
Dynamo
30Results
- Obstacle course
- Parent space
- Person space
- User interaction
- Balance comparison
- Ballistic
- Person space (meathook)
- Person space (root spring), Parent space
- In-game boxing
31Results
- Obstacle course
- Parent space
- Person space
- User interaction
- Balance comparison
- Ballistic
- Person space (meathook)
- Person space (root spring), Parent space
- In-game boxing
32Results
- Obstacle course
- Parent space
- Person space
- User interaction
- Balance comparison
- Ballistic
- Person space (meathook)
- Person space (root spring), Parent space
- In-game boxing
33Results
- Obstacle course
- Parent space
- Person space
- User interaction
- Balance comparison
- Ballistic
- Person space (meathook)
- Person space (root spring), Parent space
- In-game boxing
34Future Work
- AI for goal-oriented motion generation
- Experimental parent vs. world analysis
- Biomechanical character constraints
- Embodied perception
35Conclusion
- Physically dynamic characters are practical
- World-space control yields
- Implicit character balance
- Easier gain tuning
- Path to emergent behavior for interactive
characters
36Acknowledgements
- NSF Award IIS-0534858
- Dan Byers
- Sam Howell
- mocap.cs.cmu.edu
- G3D and ODE user communities
- Innovating Game Development
- Guest Lecturers
- A-Lab
37RoboCup Dynamical Soccer
- cjenkins_at_cs.brown.edu
- morgan_at_cs.williams.edu