* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Physically-Based Motion Synthesis in Computer Graphics
Laplace–Runge–Lenz vector wikipedia , lookup
Centripetal force wikipedia , lookup
Hunting oscillation wikipedia , lookup
Seismometer wikipedia , lookup
N-body problem wikipedia , lookup
Four-vector wikipedia , lookup
Classical central-force problem wikipedia , lookup
Newton's laws of motion wikipedia , lookup
Analytical mechanics wikipedia , lookup
Equations of motion wikipedia , lookup
First class constraint wikipedia , lookup
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 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 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 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 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 Results Beginning and ending points for a transition Effect of constraints on support links Generated transition Running time – .6 seconds, Computation time – 72 seconds Interpolation vs. spacetime constraints Efficient Generation of Motion Transitions Using Spacetime Constraints 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 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 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 Results Eggs collide and drop into their respective buckets Mug tumbles across the floor without tipping over Table and tetrahedron collide, table lands on its legs, Tetrahedron lands on table Scissors bounce, flip, and land on the rack Animations available at http://graphics.lcs.mit.edu/~jovan/rbedit.html Interactive Manipulation of Rigid Body Simulations Compare and Contrast Motion Transitions Interactive Manipulation Animating the human body (kinematic tree) 44 DOF 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 Interactive Real time Converges to local minimum (maybe) Length of animations: less than 1 sec. Requires pre-existing motions Interactive Not real time (in 1996) Converges to local minumum (maybe) 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