Presentation is loading. Please wait.

Presentation is loading. Please wait.

World Space Servoing for Character Animation Under Simulation Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College.

Similar presentations


Presentation on theme: "World Space Servoing for Character Animation Under Simulation Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College."— Presentation transcript:

1 World Space Servoing for Character Animation Under Simulation Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College

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

3 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

4 First, a video…

5 Issues with Canned Motion Canned Mocap Physically Simulated

6 Issues with Canned Motion Canned Mocap Physically Simulated

7 Issues with Canned Motion Canned Mocap Physically Simulated

8 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

9 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)

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

11 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

12 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

13 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

14 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])

15 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])

16 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])

17 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

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

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

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

21 Segway Analogy Parent space – Wheel-centric coordinates

22 Segway Analogy Parent space – Wheel-centric coordinates Wheel rotation = you falling

23 Segway Analogy Parent space – Wheel-centric coordinates Wheel rotation = you falling Artifact of rotational sensing

24 Segway Analogy World space – Earth-centric coordinates – Sensed by MEMS accelerometers – Separate rider and wheel orientation

25 Parent PD-servo – Torque u about an axis Appropriate k p and k d values need for stable control – Tedious and difficult to find critical damping Feedback Motion Control u u[t]=k p (θ d [t] - θ[t]) + k d (θ d [t] - θ[t]).. D. Brogan

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

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

28 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 θ

29 A Note about Axis-Angle (Source code in our Sandbox 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:

30 Early Results Gain Tuning Cartwheel with object

31 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

32 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 

33 More Recent Results Obstacle course – Parent space – World space User interaction Balance comparison In-game boxing Parent space Dynamo

34 More Recent Results Obstacle course User interaction Balance comparison In-game boxing

35 More Recent Results Obstacle course User interaction Balance comparison – Green: world space – Orange: person space – Purple: person w/ knockout In-game boxing

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

37 More Recent Results Obstacle course User interaction Balance comparison In-game boxing

38 More Recent Results Obstacle course User interaction Balance comparison In-game boxing

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

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

41 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

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


Download ppt "World Space Servoing for Character Animation Under Simulation Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College."

Similar presentations


Ads by Google