Lecture 11: IK

by Mike Gleicher on February 17, 2013

2011 Notes

Basic concept:

  • Specific IK (end-effectors to angles)
  • Generalized IK (constraints to poses)
    • multiple constraints
    • other kinds of “rigs” and objects
    • other kinds of constraints
    • priorities, objective functions, …
  • Kinematics vs. Dynamics
    • just the pose – not concerned about how it gets there
    • two kinds of getting there
      • interactive dragging
      • animation (the pose is only 1 frame of a motion)
  • The general math problem
    • Forward kinematics  p=f(q)
    • Inverse kinematics q = f^-1(p)

General Issues

  • Non-Linear
  • May be No Solutions (singular)
  • May be Many Solutions

Features to want

  • generality
    • handles different types of objects / systems
    • handles different types of constraints
    • handles different numbers of constraints
  • robustness (finds a solution if there is one)
    • singularity free
  • chooses good answers (if there are many)
    • provides a good mechanism for saying what is desireable
    • naturalness
    • joint limits
    • priorities / secondary objectives
      • damping (close to previous solution)
  • speed
  • repeatability / predictability

Three general Strategies

  • Analytic
  • Numerical
  • Example-Based

Analytic

  • fast/closed form
  • deal with under-constrained by algorithm design
    • easiest solution to find
    • fewest joints metric
    • easy to implement
    • works OK for small changes (and small numbers of joints)

Numerical

  • Search based hacks
  • Linearization: the jacobian
  • Jacobian transpose (gradient descent)
  • Local linearization – Newton’s method
    • Under-determined system? Least squares!
    • pseudo inverse (J^T J)
  • Conditioning issues
    • singular configurations
    • near-singular configurations
  • Damping
    • limit “velocities” (penalize bigger answers)
    • good: avoids big answers in the under-specified case
    • bad: avoids big answers even when they are necessary

Example-Based

  • lookup table
  • half-way isn’t necessarily half way (since non-linear)
  • interpolate a set of examples
    • regularly spaced examples (Wiley & Hahn)
    • RBF interpolation (Rose ‘01)
  • lots of examples, then interpolation becomes less of an issue
    • but need to choose the right example (could have many far apart)
Print Friendly, PDF & Email

Previous post:

Next post: