1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)

Slides:



Advertisements
Similar presentations
COMP Robotics: An Introduction
Advertisements

Lecture 5 Newton-Raphson Method
Optimization : The min and max of a function
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Classification and Prediction: Regression Via Gradient Descent Optimization Bamshad Mobasher DePaul University.
1Notes  Questions?  Assignment 1 should be ready soon (will post to newsgroup as soon as it’s out)
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)
1cs542g-term Notes  Assignment 1 due tonight ( me by tomorrow morning)
1cs542g-term Notes  Extra class this Friday 1-2pm  If you want to receive s about the course (and are auditing) send me .
Motion Analysis (contd.) Slides are from RPI Registration Class.
Methods For Nonlinear Least-Square Problems
1cs426-winter-2008 Notes  More papers to read: T. Duff, "Compositing 3-D rendered images", SIGGRAPH 1985 R. Cook, "Distributed ray tracing", SIGGRAPH.
CSci 6971: Image Registration Lecture 4: First Examples January 23, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
Motion Analysis (contd.) Slides are from RPI Registration Class.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
CSCE 689: Forward Kinematics and Inverse Kinematics
Advanced Topics in Optimization
Why Function Optimization ?
Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
1cs533d-winter-2005 Notes  Assignment 2 instability - don’t worry about it right now  Please read D. Baraff, “Fast contact force computation for nonpenetrating.
Tier I: Mathematical Methods of Optimization
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Principles of the Global Positioning System Lecture 10 Prof. Thomas Herring Room A;
역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application 서울대학교 전기공학부 휴먼애니메이션연구단 최광진
Lecture 10Slide Fall 2003 Animation. Lecture 10Slide Fall 2003 Conventional Animation Draw each frame of the animation great control tedious.
UNCONSTRAINED MULTIVARIABLE
Collaborative Filtering Matrix Factorization Approach
Neural Networks Lecture 8: Two simple learning algorithms
456/556 Introduction to Operations Research Optimization with the Excel 2007 Solver.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Inverse Kinematics.
Simulation and Animation
Numerical Methods Applications of Loops: The power of MATLAB Mathematics + Coding 1.
Non-Linear Models. Non-Linear Growth models many models cannot be transformed into a linear model The Mechanistic Growth Model Equation: or (ignoring.
Progress in identification of damping: Energy-based method with incomplete and noisy data Marco Prandina University of Liverpool.
Goal Seek and Solver. Goal seeking helps you n Find a specific value for a target cell by adjusting the value of one other cell whose value is allowed.
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.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
Solution of Nonlinear Functions
559 Fish 559; Lecture 5 Non-linear Minimization. 559 Introduction Non-linear minimization (or optimization) is the numerical technique that is used by.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Non-Linear Models. Non-Linear Growth models many models cannot be transformed into a linear model The Mechanistic Growth Model Equation: or (ignoring.
CHAPTER 10 Widrow-Hoff Learning Ming-Feng Yeh.
Exam 1 Oct 3, closed book Place ITE 119, Time:12:30-1:45pm
Optimization in Engineering Design 1 Introduction to Non-Linear Optimization.
Rick Parent - CIS681 Reaching and Grasping Reaching control synthetic human arm to reach for object or position in space while possibly avoiding obstacles.
INTRO TO OPTIMIZATION MATH-415 Numerical Analysis 1.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Numerical Methods for Inverse Kinematics Kris Hauser ECE 383 / ME 442.
Fundamentals of Computer Animation
CSCE 441: Computer Graphics Forward/Inverse kinematics
Inverse Kinematics.
Character Animation Forward and Inverse Kinematics
Animation Lecture 10 Slide 1.
Bowei Tang, Tianyu Chen, and Christopher Atkeson
Chapter 6.
Non-linear Least-Squares
Collaborative Filtering Matrix Factorization Approach
CSCE 441: Computer Graphics Forward/Inverse kinematics
Chapter 6.
Presentation transcript:

1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)

2cs426-winter-2008 IK issues 2  Target impossible (or just barely possible) --- not enough degrees of freedom Try to get as close as possible to the target in some sense Also penalize bad joint angles, huge differences from initial pose  So if pose is only just possible, via some weird unrealistic angles, we don’t do it

3cs426-winter-2008 How do you do IK?  Simple skeletons: analytic solutions may exist Look up formulas from papers Not fun, not flexible  More generally: numerical solution of optimization problem Minimize difference between actual end- effector pose and the target Possibly include constraints  E.g. joint angle limits, collisions Possibly penalize awkward or jerky poses

4cs426-winter-2008 IK as optimization  Unconstrained optimization problem:  In our case: theta is a vector of all the joint angles f(.) is a measure of the distance between the pose of the end-effector and the target (plus optionally penalty term on bad poses)  Start from an initial guess, use algorithms to steadily make better guesses until close enough

5cs426-winter-2008 Line Search Approach  Say we have guess  k  Pick a “direction” d k to search along  Look for new guess as  k+1 =  k +  d k  Line search: figure out a scalar  (the “step size”) that will make f(  k+1 ) smaller than f(  k )  Assuming d k is scaled properly, simplest algorithm: Check  =1: if it’s an improvement stop Otherwise halve  and try again  If d k is “downhill” d k  f<0 then guaranteed to improve if  is small enough

6cs426-winter-2008 Picking the direction  Cyclic Coordinate Descent: in each direction, pick a different axis to move along (adjust just one angle at a time) Problem 1: scaling isn’t clear Problem 2: extremely inefficient, might not converge at all  Steepest Descent: use the direction that f(.) is decreasing most rapidly in: -  f Problem 1: scaling isn’t clear Problem 2: inefficient for difficult f

7cs426-winter-2008 More on Steepest Descent  Typically we have a nonlinear least-squares problem:  In this case, -  f=J T (x target -x(  )) where J=∂x/∂  is the Jacobian  Then sometimes this is called the “Jacobian method”

8cs426-winter-2008 Gauss-Newton  Can approximate the nonlinear term with a linear function (Taylor series with the Jacobian!) and get a linear least squares problem: Gauss-Newton  Much more efficient, though we need to solve a (small) linear system to get the direction

9cs426-winter-2008 Evaluating Jacobians  Simplest approach in code: numerically approximate with a finite difference  Can also work out derivative analytically by hand (a little painful)

10cs426-winter-2008 When to stop  In our case, absolute minimum of f(.) is zero: stop when it’s smaller than some tolerance  It might be impossible to get to zero, but at the minimum  f=0: stop when |  f| is small enough  Or give up when maximum number of iterations reached

11cs426-winter-2008 Character Rigging  A “rig” is a model together with a UI for posing it  At its simplest, a skeleton with joint angles available for motion curves  May simplify DOF by enforcing relationships between joints E.g. hand and fingers  May define standard poses (especially for facial expressions!) that can be mixed together Then can set sliders to, say, 70% happy, 20% surprised, … Take weighted linear combination of pose angles

12cs426-winter-2008 What’s left?  We now have the basics of animation  Plan for rest of course: Rendering animations (Semi-)automatic animation  Dynamics for rigid bodies  Particle systems  Skinning, morphing, blending  Motion capture  Motion control