Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamo Dynamic, Data-driven Character Control with Adjustable Balance Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams.

Similar presentations


Presentation on theme: "Dynamo Dynamic, Data-driven Character Control with Adjustable Balance Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams."— Presentation transcript:

1 Dynamo Dynamic, Data-driven Character Control with Adjustable Balance Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College

2 First, a video…

3 Character Motion An integral part of modern video games FIFA 2006 (EA) San Andreas (Rockstar) Antigrav (Harmonix)

4 Kinematic 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

5 Motion Generation: Mocap 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

6 Motion Generation: Mocap 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)

7 Motion Generation: Procedural 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]

8 Procedural 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

9 Procedural 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 PhysicsController

10 Procedural 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

11 Fundamental Question Can we have practical methods for physically simulated characters? Revisit the broader picture for autonomous control – Decision making (AI): objectives, current state (x[t]) → desired motion (x d [t]) – Motion Control: desired motion (x d [t]), current state (x[t]) → motor forces (u[t]) – Physics: current state (x[t]) → next state (x[t+1]) Physics Motion Control Decision Making objectives x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t])x[t+1]=P(x[t],u[t])x d [t]=AI(x[t])

12 The Autonomous Physical Motion Control Problem Motion Control Decision Making objectives x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t])x d [t]=AI(x[t]) Physics u[t] x[t+1]=P(x[t],u[t])

13 The Autonomous Physical Motion Control Problem Simulating physics – Download ODE – Buy Havoc – Implement Guendelman et al. 03 Motion Control Decision Making objectives x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t])x d [t]=AI(x[t])

14 The Autonomous Motion Control Problem AI for autonomous decision making – Someone else’s problem – Interface point for decision making – Focus on motion control Motion capture as decision making placeholder Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data

15 Motion Control: Impediments Gain tuning for motion control Balance for upright motion Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data

16 Motion Control: Impediments Gain tuning for motion control Balance for upright motion Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data Problem: parent space control?

17 Motion Control: Impediments Gain tuning for motion control Balance for upright motion Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data Problem: parent space control? Solution: world space control?

18 Segway Analogy

19

20

21 Parent PD-servo – Torque u about an axis Appropriate k p and k d values are necessary for stable control – Tedious and difficult – Holdover from robot rotational sensing Feedback Motion Control u u[t]=k p (θ d [t] - θ[t]) + k d (θ d [t] - θ[t]).. D. Brogan

22 Parent Space Control Moving reference frame: – Interferes with stability – Lacks consideration of global orientation θ parent θ d parent

23 World Space Control Fixed global reference frame: – Steady target desireds – Implicit balance θ parent θ d parent θ world θ d world

24 World Space PD-Servo τ = k p (v · θ) + k d (ω d – ω a ) W d = desired world space rotation matrix W a = actual world space rotation matrix T = W d * W a -1 (transformation from W a to W d ) v, θ = rotation axis, angle derived from T ω d = desired world space angular velocity ω a = actual world space angular velocity WdWd WaWa v θ

25 A Note about Axis-Angle (Source code in the paper) Torques determined by desired angular acceleration – i.e., Proportional to 2 nd derivative of rotation 1D Hinge [ Hodgins95 ]:    2  /  t 2 3D Ball joint:    2 [rotation]/  t 2 – …but Matrix/Quat derivatives produce denormalized results under ODE’s 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:

26 Early Results Gain Tuning Cartwheel with object

27 Super-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

28 Root-spring control Spring only opposes gravity (no rotation about F G ) Torque-limited and breaks under excessive strain  balance Torque limitBreaking point  balance  maximum  = 0 Applied Torque 

29 Results 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

30 Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing

31 Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing

32 Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing

33 Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing

34 Future Work AI for goal-oriented motion generation Experimental parent vs. world analysis Biomechanical character constraints Embodied perception

35 Conclusion Physically dynamic characters are practical World-space control yields – Implicit character balance – Easier gain tuning Path to emergent behavior for interactive characters

36 Acknowledgements NSF Award IIS-0534858 Dan Byers Sam Howell mocap.cs.cmu.edu G3D and ODE user communities “Innovating Game Development” Guest Lecturers A-Lab

37 RoboCup Dynamical Soccer cjenkins@cs.brown.edu morgan@cs.williams.edu


Download ppt "Dynamo Dynamic, Data-driven Character Control with Adjustable Balance Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams."

Similar presentations


Ads by Google