1 / 34

Dynamo Dynamic, Data-driven Character Control with Adjustable Balance

Dynamo Dynamic, Data-driven Character Control with Adjustable Balance. Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College. First, a video…. Character Motion. An integral part of modern video games. FIFA 2006 (EA). San Andreas (Rockstar).

cassia
Download Presentation

Dynamo Dynamic, Data-driven Character Control with Adjustable Balance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamo Dynamic, Data-driven Character Control with Adjustable Balance Pawel WrotekElectronic Arts Chad Jenkins Brown University Morgan McGuireWilliams 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 • (+) 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)

  6. 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]

  7. 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

  8. 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 Controller Physics

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

  10. 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 (xd[t]) • Motion Control: desired motion (xd[t]), current state (x[t]) → motor forces (u[t]) • Physics: current state (x[t]) → next state (x[t+1]) xd[t]=AI(x[t]) u[t]=MC(xd[t]-x[t]) x[t+1]=P(x[t],u[t]) Decision Making xd[t] Motion Control u[t] Physics objectives x[t+1]

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

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

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

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

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

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

  17. Segway Analogy

  18. Segway Analogy

  19. Segway Analogy

  20. . . u[t]=kp(θd[t] - θ[t])+ kd(θd[t] - θ[t]) Feedback 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

  21. World Space PD-Servo • τ = 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

  22. A 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 2[rotation]/t2 • …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:

  23. Early Results • Gain Tuning • Cartwheel with object

  24. 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

  25. Root-spring control • Spring only opposes gravity (no rotation about FG) • Torque-limited and breaks under excessive strain Applied Torque t t = maximum t =tbalance t = 0 tbalance Torque limit Breaking point

  26. 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

  27. Results • Obstacle course • Parent space • Personspace • User interaction • Balance comparison • Ballistic • Person space (meathook) • Person space (root spring), Parent space • In-game boxing

  28. Results • Obstacle course • Parent space • Personspace • User interaction • Balance comparison • Ballistic • Person space (meathook) • Person space (root spring), Parent space • In-game boxing

  29. Results • Obstacle course • Parent space • Personspace • User interaction • Balance comparison • Ballistic • Person space (meathook) • Person space (root spring), Parent space • In-game boxing

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

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

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

  33. 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

  34. RoboCup Dynamical Soccer • cjenkins@cs.brown.edu • morgan@cs.williams.edu

More Related