Presentation is loading. Please wait.

Presentation is loading. Please wait.

Physically-Based Motion Synthesis in Computer Graphics

Similar presentations


Presentation on theme: "Physically-Based Motion Synthesis in Computer Graphics"— Presentation transcript:

1 Physically-Based Motion Synthesis in Computer Graphics
Efficient Generation of Motion Transitions Using Spacetime Constraints C. Rose, B. Guenter, B. Bodenheimer, M. Cohen SIGGRAPH 1996 Interactive Manipulation of Rigid Body Simulations J. Popovic, S. Seitz, M. Erdmann, Z. Popovic, A. Witkin SIGGRAPH 2000 Svetlana Lazebnik October 16, 2001

2 Overview Efficient Generation of Motion Transitions Using Spacetime Constraints Goal: to generate natural transitions between pre-existing “basis motions” and to create cyclic motions from basis motions (running, walking, etc.) Model: kinematic tree with 44 degrees of freedom Method: inverse kinematics and spacetime constraints Interactive Manipulation of Rigid Body Simulations Goal: give animator intuitive, interactive control over motions of rigid bodies Model: generalized state vector consisting of positions and velocities of all the bodies in the system Method: user interface + fast differential updates + rigid body simulator

3 Efficient Generation of Motion Transitions Using Spacetime Constraints
Human Body Model y z x Root (6 DOF) Support points 44 DOF: 38 (joint angles) + 6 (position and orientation) State space: joint angle function Efficient Generation of Motion Transitions Using Spacetime Constraints

4 Efficient Generation of Motion Transitions Using Spacetime Constraints
Key Techniques Inverse kinematics for highly articulated figures [Zhao, Badler 94] Easy problem: compute the position of the body given all the joint angles Hard problem: compute the joint angles to accomplish a desired configuration of the body In particular, we wish to compute joint angles to keep the feet on the floor in the desired positions Method: solve a high-dimensional nonlinear optimization problem Spacetime constraints [Witkin, Kass 88] Problem structure: Goals – constraints on initial, final, intermediate positions Optimality criteria – smoothness, efficiency, etc. Physical constraints – Newton’s laws, collision prevention, etc. Physical resources – aspects of the system capable of exerting forces Spacetime formulation: solve for the motion and the forces over the whole time interval of interest, allow constraints to propagate forward and backward in time Efficient Generation of Motion Transitions Using Spacetime Constraints

5 Generating Transitions
Root motion Linearly interpolate between initial and final velocities, integrate velocities over desired time interval to get position Support limb motion (inverse kinematics) Minimize deviations of constrained coordinate frames from their desired positions BFGS optimization algorithm is used to find joint angle functions that minimize R Optimizing the transition (spacetime constraints, inverse dynamics) Joint torques are used to approximate metabolic energy of the body: Torques are a function of joint angle functions, and their first and second derivatives Computing the gradient of e requires finding angular velocities, accelerations, etc. – O(n2) partial derivatives at each iteration Recursive inverse dynamics method [Balafoutis 91] used to find required physical quantities in O(n) time Efficient Generation of Motion Transitions Using Spacetime Constraints

6 Efficient Generation of Motion Transitions Using Spacetime Constraints
Results Beginning and ending points for a transition Generated transition Running time – .6 seconds, Computation time – 72 seconds Effect of constraints on support links Interpolation vs. spacetime constraints Efficient Generation of Motion Transitions Using Spacetime Constraints

7 Interactive Manipulation of Rigid Body Simulations
Framework Generalized state vector q(t) Includes each body’s position, orientation, linear velocity, angular velocity: q  R3  SO(3)  R3  R3 Control vector u Shapes, masses, surface normals, coefficients of elasticity, etc. Evolution of the system: Simulation function: Collision function: Animator specifies an incremental change to the state vector, and the system approximates the corresponding update to the control vector: Interactive Manipulation of Rigid Body Simulations

8 Manipulation Without Discontinuities
Local linearization of the simulation function: Need to find all its partial derivatives with respect to components of the control vector: Decompose S into differential components related to the path of the object: S(tfinal, u) = Spost-collision (tfinal, u) ○ Scollision (tcollision, u) ○ Spre-collision (tcollision, u) Use automatic differentiation to find derivatives of each component and compose them into a single Jacobian using chain rule Differential update: solve linear system above for  u If system is underconstrained, solve a quadratic minimization problem: Types of user-imposed constraints: Fixed constraints, expression constraints, floating constraints Interactive Manipulation of Rigid Body Simulations

9 Manipulation With Discontinuities
In general, the simulation function will have discontinuities with respect to the control parameters (due to polygonal approximation of objects) Smooth component: set of control vectors for which the simulation function is continuously differentiable Discontinuities restrict the set of states attainable by the system Use additional control parameters to vary surface normals Use finer meshes or curvature-dependent approximations Basic system will converge only if there exists a path between initial and desired configurations within a single smooth component With discontinuities present, system must search different smooth components When simulation goes off the edge of one smooth component, system samples nearby control vectors to find the most promising new component User has to guide the system between distant smooth components (e.g. different collision sequences) Interactive Manipulation of Rigid Body Simulations

10 Interactive Manipulation of Rigid Body Simulations
Results Eggs collide and drop into their respective buckets Table and tetrahedron collide, table lands on its legs, Tetrahedron lands on table Mug tumbles across the floor without tipping over Scissors bounce, flip, and land on the rack Animations available at Interactive Manipulation of Rigid Body Simulations

11 Compare and Contrast Motion Transitions Interactive Manipulation
Animating the human body (kinematic tree) 44 DOF Length of animations: less than 1 sec. Requires pre-existing motions Interactive Not real time (in 1996) Converges to local minumum (maybe) Interactive Manipulation Animating a collection of interacting rigid bodies DOF depends on number of bodies, control parameters Length of animations: a few seconds Generates motions from scratch Real time Converges to local minimum (maybe)

12 Discussion Differences from traditional motion planning
Dynamic constraints (Newton’s laws, etc.) Motion generation is not fully automatic Emphasis on interaction, “subjective” optimality criteria Efficient Generation of Motion Transitions Using Spacetime Constraints Needs pre-existing motions as input Model of human body dynamics is not accurate Can the techniques be extended to generate complex, long motions from scratch? Interactive Manipulation of Rigid Body Simulations Has convergence problems in the presence of discontinuities Does not perform discrete search between different motion sequences Interactivity requirement limits complexity of systems, motions Is not appropriate for some multi-body problems


Download ppt "Physically-Based Motion Synthesis in Computer Graphics"

Similar presentations


Ads by Google