Download Physically-Based Motion Synthesis in Computer Graphics

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Laplace–Runge–Lenz vector wikipedia , lookup

Inertia 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

Spacetime wikipedia , lookup

Kinematics wikipedia , lookup

Equations of motion wikipedia , lookup

First class constraint wikipedia , lookup

Dirac bracket wikipedia , lookup

Rigid body dynamics wikipedia , lookup

Transcript
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