Title: Spacetime Constraints
1Spacetime Constraints
2The challenge of kinematics
- Successful animation requires control, but looks
real - Traditional principles of animation look right
3Problem
Control
Accuracy
- Keyframe animation
- Artist controls each pose
- Time consuming
- Takes an expert to make it look good
- Physics simulations
- Looks realistic
- Almost no kinematic control
- Forward simulation using time-dependent force
functions looks bad
4If only
- We could produce motion to achieve a goal, rather
than just simulate starting conditions - The solution would show how a real model would
move
5The Spacetime Solution
- Represent motion as a set of equations
- Set constraints to represent physical forces and
goals (e.g. start at Pi, end at Pf) - Optimize solution with respect to some objective
(e.g. minimize force)
6Propelled Particle Example
- We want to animate a particle that is affected by
gravity and has jet propulsion force that can
propel it - We want to be able to specify a starting position
and ending position and want a program to figure
out how to propel itself so that it uses the
least amount of energy
7Basic Terminology
- Governing Equation
- Particle affected by gravity and a jet force
- Boundary Conditions
- Given start and end position
- Objective Function
- Minimize consumed energy
8Translate to Continuous Functions
- Governing Equation (affected by gravity and
propulsion force function) - Boundary Conditions (given start and end
position) - Objective Function (minimize consumed energy)
9Translate to Discrete Functions
- We want to represent x(t) and f(t) as a set of
independent variables that we can solve for - Do this by discretizing x(t) and f(t) into n 1
samples with h step size - Then translate all other equations
10Discretizing the Governing Equation
- Translate
- New Governing Equation
11Discretizing the Rest
- Boundary Conditions
- Objective Function
12Goal
- Find values for f0, f1, fn that minimizes R
while adhering to constraints - Do this by finding f values where
13Sequential Quadratic Programming
- Essentially, the method computes a second-order
Newton-Raphson step in R, and a first-order
Newton-Raphson step in the (constraint
functions), and combines the two steps by
projecting the first onto the null space of the
second (that is, onto the hyperplane for which
all the constraint functions are constant to
first order)
14Newton-Raphson Method
- An iterative process used to attempt to converge
on a root of an function given the function and
its derivative - Start with a guess, call it x0
- We converge on the answer by finding
source http//www.shodor.org/UNChem/math/newton/i
ndex.html
15NR Example
- So lets say were trying to find one root of
- We then guess at a value
- Then begin iterating
source http//www.shodor.org/UNChem/math/newton/i
ndex.html
16NR Example contd
xn f(xn) f(xn) dx xn-dx
x0 6 32 12 2.67 3.33
x1 3.33 7.09 6.66 1.06 2.27
x2 2.27 1.15 4.54 0.26 2.01
x3 2.01 0.04 4.02 .01 2.00
x4 2.00 0 4.00 0 2.00
source http//www.shodor.org/UNChem/math/newton/i
ndex.html
17NR Graphical Representation
source http//www.shodor.org/UNChem/math/newton/i
ndex.html
18NR Graphical Representation
source http//www.shodor.org/UNChem/math/newton/i
ndex.html
19NR Graphical Representation
source http//www.shodor.org/UNChem/math/newton/i
ndex.html
20NR Graphical Representation
source http//www.shodor.org/UNChem/math/newton/i
ndex.html
21SQP and NR
- With SQP we are performing the Newton-Raphson
method on our constraint functions and our
objective function - Assuming our system is not over-constrained we
should be able to get close
22The SQP Notation
- Represent each guess as Si, a vector of all
independent parameters at each iteration - Turn all of the boundary conditions into
constraint functions, call the set of them C - C(S) and R(S) must equal 0 so we can use NR
23Step 1 Second Order NR on R
- For now, ignore constraints
- Start with an initial guess S0
- Find Hessian of objective function (do once)
- In our example
24Step 1 Continued
- Recall Taylor expansion
- With our equation
- We know that
25Step 1 Continued
- Our new equation becomes
- We can calculate and solve for (S -
S0) - S - S0 is the difference between the actual
solution (root) and S0 - Because our Taylor series expansion is not
complete (i.e. infinite), the value that we
actually get is only an approximation of (S - S0)
26Step 1 Continued
- Adding our approximation of (S - S0) (call it ?S)
to our current guess S0 should bring us closer to
the actual solution - True to the Newton Raphson method, our new guess
at the end of this iteration is - This new S1 ignores our constraint conditions
27Step 2 First Order NR on C
- If Ci(S1) 0 for all constraint functions we are
done - Otherwise, we must similarly converge onto an S
value that will make C(S)0 - Find the Jacobian of each Ci
- Use Taylor Expansion on each Ci
28Step 2 Continued
- We rewrite it in terms of the Jacobian and set
C(S)0 - Once again, we solve for (S - S1) which is again
an approximation that we can call ?S - After this iteration, our new guess becomes
29Iterating
- This new S2 value is fed back into Step 1
- The process repeats until C(Sx)0 and any further
decrease in R requires violating the constraints
30Graphical Explanation of SQP
C(S)
S1
S2
S2
S
S0
S1
Slide taken from http//www.cs.virginia.edu/gfx/c
ourses/2005/Animation.spring.05/
31Using constraints to animate Luxo
- Define the model and its laws of motion
- Set constraints for desired result
- Choose a criteria and optimize solution
32Define model
- Define model
- Four rigid massive links
- Derive laws of motion
- Muscles Three springs produce arbitrary
time-dependent joint forces
33Constraints
- Initial and final positions and poses
- No motion in contact with floor (simulates
inelastic collision)
34Solving
- Set optimization criteria
- Minimize applied muscle power (muscle force times
angular velocity)
35Adding different constraints
36 37Ski Jump
- Removed Constraints
- Base free to slide
- Initial velocity
- Added Constraints
- Base tangent to surface
- Height of base in air at one time step
- Optimization includes style
38More about Spacetime
- Original paper by Witkins and Kass written in
1988 - A number of applications and further
optimizations studied since
39Spacetime Constraints Revisited
- J. Thomas Ngo, Harvard, Joe Marks, Cambridge 1993
- Instead of using perturbational analysis, use
global search to find optimal solution - Generate possible solutions and use a genetic
search algorithm to find the best
source http//citeseer.ist.psu.edu/cache/papers/c
s/1776/httpzSzzSzwww.merl.comzSzpeoplezSzmarkszSz
spacetime.pdf/ngo93spacetime.pdf
40Human Motion with Spacetime Constraints
- Charles Rose, Brian Guenter, Bobby Bodenheimer,
Michael Cohen, Microsoft Research 1996 - Using Inverse Kinematics and Spacetime
Constraints, the Microsoft team was able to
simulate realistic human motion with 44 degrees
of freedom - Biggest problem with so many degrees of freedom
and so many constraints, difficult to do quickly
source http//research.microsoft.com/cohen/Effic
ientSIG96.pdf
41Human Motion with Spacetime Constraints
source http//research.microsoft.com/cohen/Effic
ientSIG96.pdf
42Motion Editing with Spacetime Constraints
- Michael Gleicher, Apple Research Laboratories
1997 - Summary
- Given an animation, allow the animator to use
direct manipulation to edit any joint in any time
step and, using spacetime constraints, a program
figures out, in real time, what the new animation
will be, attempting to mimic the style of the
original as best as possible
source http//www.cs.wisc.edu/graphics/Papers/Gle
icher/California/SpacetimeEditing.pdf
43Motion Editing with Spacetime Constraints
- Best or optimal motion is one where as much of
the style is preserved as possible - Animator can specify what parts of the animation
she wants to preserve - Uses spacetime techniques to propagate changes
across entire animation
source http//www.cs.wisc.edu/graphics/Papers/Gle
icher/California/SpacetimeEditing.pdf
44Spacetime Constraints for Biomechanical Movements
- David Brogan, Kevin Granata, Pradip Sheth,
University of Virginia, 2002 - Use the Spacetime method to see how pathological
constraints can affect movement
source http//www.cs.virginia.edu/dbrogan/Public
ations/Papers/iasted02.pdf
45Arm Motion with Spacetime Constraints
- Dengming Zhu, Zhaoqi Wang, He Huang, Min Shi,
Chinese Academy of Sciences 2003 - Simulate natural arm movement using Spacetime
Constraints
source http//vh.ict.ac.cn/news/upload/2003Arm.do
c
46Questions?