The Spacetime “Philosophy”
- Motion synthesis as constrained optimization in space and time
- Specify “What” with constraints
- Specify “How” with objectives
- Obeying physics as a constraint
The “Philosophy” of Witkin and Kass in 1988
- Biological motions are energy minimal
- Animation principles try to capture this
- Our perception of motion is tuned to appreciate these qualities (smoothness, …)
- Physical optimal is a good starting point
My philosophy
- constraints are great for specifying what
- objectives offer the potential for “how” – if we can only figure out what they are
- grace, style, quality, efficiency, …
Mathematical Formulation
- Physics / Motion = Ordinary Differential Equation
- Two point boundary problems (know start and end)
- other unknowns (what forces)
- Variational Optimization (Variational Calculus)
- Minimum principle over a curve
- Looking for a curve as the answer
- trajectory
- control
- Optimal Control
- Do the right thing (as possible)
- local decision making vs. planning
Solution methods?
- Discretization
- Splines (discrete set of control points)
- enforces smoothness
- create more coupling between times (easier basis to solve in)
- can allow the times of the control points (knots) to change
Big, non-linear, constrained optimization
Examples
Particle
- F=ma
- force = jet engine, gravity
- Constraints
- where to begin and end
- initial velocities (otherwise could just coast)
- State = q(t)=x,v,f
- Set of discrete points
- q(0), q(1), … (could be control points of a spline)
- could approximate v by fine differences
- could approximate a by finite differences
- f = ma may for may not be true
- make it a constraint
- really must hold at ALL times (variational constraint)
- approximate by making it hold at the sample times
- Constraints
- obey physics (f=ma)
- initial and final positions (and maybe places in between)
- get to the end at the right time
- or let time “float”
- Objective function
- use the engine as little as possible (sum=integral of F->work)
- smoothness, …
- big messy set of equations
- state for all time samples
- constraints for each time sample
- objective is sum over all time samples
Luxo Lamp
- They did it in 2D – 3D was just for picture making
- Luxo lamp has angles and 1 position (and different masses for different parts)
- heavy base demo
- Equations of motion
- f=ma is just for particles
- lagrangian dynamics (not lagrange multipliers)
- need to create the “equations of motion” for the model
- could have made simpler pieces and connected them with constraints
- Constraints and objective functions get very complicated, very quickly
- Non-linear optimization
Automatic Differentiation
- functions are modular
- function blocks
- function composition
- evaluation is easy
- derivatives by automatic differentiation (composition) – compare with symbolic
Other Papers and Variants
Better Implementations of the same thing
- Liu, Gortler, Cohen, (1994) “Hierarchical Spacetime Constraints”
- B-Spline Basis
Spacetime Controllers
- Controllers vs. motions
- van de Panne and Fiume (1990)
- Ngo & Marks (1993)
- Sims (1994)
Control of more complicated characters (real 3D)
- Popovic (1999, and follow ons)
- human is too complicated
- simplify (pogo stick, …)
- do spacetime on simpler thing
- motion edit to make changes to dynamics work on real motion
- Fang and Pollard (2003)
- Taking derivatives of the dynamics equations can be expensive
- Pick to optimize things that can be computed (and differentiated) efficiently
- important since requires lots of evals to do optimization
- can’t do torque minimization (since a torque can affect all bones, leading to costly things) – forces take linear time to compute their effects, and can be minimized
My Stuff
- Kinematic Spacetime (not my term)
- Kinematic constraints (on potentially many frames)
- IK
- non-overlap
- “Dynamics constraints” (on the movement paths)
- smoothness (of changes)
- minimalness (of changes – over all frames)
- To make fast, do B-Splines (to represent displacement maps)
- also guarantees smoothness
- optimization problem over whole motion
- non-linear constraints (kinematics on frames, frames from B-Splines)
- Editing (interactive)
- Retargeting
Beyond My Stuff…
- PFIK+F
- Lee & Shin