Spacetime Constraints David Coyne Joe Ishikura. The challenge of kinematics Successful animation requires control, but looks real Traditional principles.

Slides:



Advertisements
Similar presentations
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
Advertisements

Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Physically Based Motion Transformation Zoran Popović Andrew Witkin SIGGRAPH ‘99.
Chapter 4 Roots of Equations
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
Function Optimization Newton’s Method. Conjugate Gradients
Ch. 7: Dynamics.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
CSCE 689: Forward Kinematics and Inverse Kinematics
Retargetting Motion to New Characters Michael Gleicher SIGGRAPH 98.
Advanced Topics in Optimization
1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)
Mechanical Energy and Simple Harmonic Oscillator 8.01 Week 09D
3.7. O THER G AME P HYSICS A PPROACHES Overview of other game engine physics approaches.
Velocities and Static Force
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Solving Non-Linear Equations (Root Finding)
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Retargeting Motion to New Characters By Dr. Michael Gleicher Aaron CrickenbergerCS551 Spring ‘02.
ENCI 303 Lecture PS-19 Optimization 2
Simulation and Animation
Spacetime Constraints Revisited Joe Marks J. Thomas Ngo Using genetic algorithms to find solutions to spacetime constraint problems in 2D.
Chapter 7 Energy of a System. Introduction to Energy A variety of problems can be solved with Newton’s Laws and associated principles. Some problems that.
Loop Application: Numerical Methods, Part 1 The power of Matlab Mathematics + Coding.
MA/CS 375 Fall MA/CS 375 Fall 2002 Lecture 31.
Lecture 6 Numerical Analysis. Solution of Non-Linear Equations Chapter 2.
Motion Capture Motion Capture. Motion Capture Motion capture, Motion Tracking or Mocap, is a technique of digitally recording movements for entertainment,
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Optimization & Constraints Add mention of global techiques Add mention of calculus.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Chapter 3 Roots of Equations. Objectives Understanding what roots problems are and where they occur in engineering and science Knowing how to determine.
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Numerical Methods.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Spacetime Constraints Andrew Witkin Michael Kass Presenter: Fayun Luo.
Outline: Introduction Solvability Manipulator subspace when n<6
Rick Parent - CIS681 Motion Capture Use digitized motion to animate a character.
Advanced Engineering Mathematics, 7 th Edition Peter V. O’Neil © 2012 Cengage Learning Engineering. All Rights Reserved. CHAPTER 4 Series Solutions.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Chapter 2-OPTIMIZATION G.Anuradha. Contents Derivative-based Optimization –Descent Methods –The Method of Steepest Descent –Classical Newton’s Method.
ECE 530 – Analysis Techniques for Large-Scale Electrical Systems Prof. Hao Zhu Dept. of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Computer Graphics Chapter 12 Computer Animation.
Lecture Fall 2001 Controlling Animation Boundary-Value Problems Shooting Methods Constrained Optimization Robot Control.
Canonical Equations of Motion -- Hamiltonian Dynamics
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Searching a Linear Subspace Lecture VI. Deriving Subspaces There are several ways to derive the nullspace matrix (or kernel matrix). ◦ The methodology.
Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.
Numerical Methods for Inverse Kinematics Kris Hauser ECE 383 / ME 442.
Fundamentals of Computer Animation
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Advanced Computer Graphics Rigid Body Simulation
Physically-Based Motion Synthesis in Computer Graphics
CSCE 441: Computer Graphics Forward/Inverse kinematics
Character Animation Forward and Inverse Kinematics
Computer Animation cgvr.korea.ac.kr.
INVERSE MANIPULATOR KINEMATICS
3.7. Other Game Physics Approaches
CSCE 441: Computer Graphics Forward/Inverse kinematics
6.5 Taylor Series Linearization
Synthesis of Motion from Simple Animations
Outline: Introduction Solvability Manipulator subspace when n<6
Computer Animation Algorithms and Techniques
1 Newton’s Method.
Presentation transcript:

Spacetime Constraints David Coyne Joe Ishikura

The challenge of kinematics Successful animation requires control, but looks real Traditional principles of animation look “right”

Problem Keyframe animation Artist controls each pose Time consuming Takes an expert to make it look good ControlAccuracy Physics simulations Looks realistic Almost no kinematic control  Forward simulation using time- dependent force functions looks bad

If 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

The Spacetime Solution Represent motion as a set of equations Set constraints to represent physical forces and goals (e.g. start at P i, end at P f ) Optimize solution with respect to some objective (e.g. minimize force)

Propelled 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

Basic Terminology Governing Equation Particle affected by gravity and a “jet” force Boundary Conditions Given start and end position Objective Function Minimize consumed energy

Translate to Continuous Functions Governing Equation (affected by gravity and propulsion force function) Boundary Conditions (given start and end position) Objective Function (minimize consumed energy)

Translate 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

Discretizing the Governing Equation Translate New Governing Equation

Discretizing the Rest Boundary Conditions Objective Function

Goal Find values for f 0, f 1, … f n that minimizes R while adhering to constraints  Do this by finding f values where

Sequential 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)”

Newton-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 x 0 We converge on the answer by finding source:

NR Example source: So let’s say we’re trying to find one root of We then guess at a value Then begin iterating…

NR Example cont’d xnxn f(x n )f’(x n )dxx n -dx x0x x1x x2x x3x x4x source:

NR Graphical Representation source:

NR Graphical Representation source:

NR Graphical Representation source:

NR Graphical Representation source:

SQP 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

The SQP Notation Represent each guess as S i, 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

Step 1: Second Order NR on R For now, ignore constraints Start with an initial guess S 0 Find Hessian of objective function (do once) In our example:

Step 1 Continued Recall Taylor expansion With our equation: We know that

Step 1 Continued Our new equation becomes We can calculate and solve for (S - S 0 ) S - S 0 is the difference between the actual solution (root) and S 0 Because our Taylor series expansion is not complete (i.e. infinite), the value that we actually get is only an approximation of (S - S 0 )

Step 1 Continued Adding our approximation of (S - S 0 ) (call it ΔS) to our current guess S 0 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 “S 1 ” ignores our constraint conditions

Step 2: First Order NR on C If C i (S 1 ) = 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 C i Use Taylor Expansion on each C i

Step 2 Continued We rewrite it in terms of the Jacobian and set C(S)=0 Once again, we solve for (S - S 1 ) which is again an approximation that we can call ΔS After this iteration, our new guess becomes

Iterating This new S 2 value is fed back into Step 1 The process repeats until C(S x )=0 and any further decrease in R requires violating the constraints

Graphical Explanation of SQP S0S0 S1’S1’ S1S1 S2’S2’ S2S2 C(S) S Slide taken from

Using constraints to animate Luxo Define the model and its laws of motion Set constraints for desired result Choose a criteria and optimize solution

Define model Define model: Four rigid massive links  Derive laws of motion “Muscles”: Three springs produce arbitrary time- dependent joint forces

Constraints Initial and final positions and poses No motion in contact with floor (simulates inelastic collision)

Solving Set optimization criteria  Minimize applied muscle power (muscle force times angular velocity)

Adding different constraints Landing force Height of jump

Increase mass

Ski Jump Added Constraints:  Base tangent to surface  Height of base in air at one time step Optimization includes “style” Removed Constraints:  Base free to slide  Initial velocity

More about Spacetime Original paper by Witkins and Kass written in 1988 A number of applications and further optimizations studied since

“Spacetime 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:

Human 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:

Human Motion with Spacetime Constraints source:

Motion 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:

Motion 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:

Spacetime 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:

Arm 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:

Questions?