* Watch the [http://homes.cs.washington.edu/~todorov/index.php?video=MordatchSIGGRAPH12&paper=Mordatch,%20SIGGRAPH%202012 movies!
Discovery of complex behaviors through contact-invariant optimization]
- Complex movements tend to have phases within which the set of active contacts (hands, feet) remains invariant (hence can exert forces on the objects they are contacting, or vice versa).
- Discovering suitable contact sets is the central goal of optimization in our approach.
- Once this is done, optimizing the remaining aspects of the movement tends to be relatively straightforward.
- They do this through axillary scalar variables which indicate whether the a contact is active or not, hence whether to enable contact forces.
- Allows the optimizer to 'realize' that movements should have phases.
- Also "shapes the energy landscape to be smoother and better behaved"
- Initial attempts to make these contact axillary variables discrete -- when and where -- which was easy for humans to specify, but made optimization intractable.
- Motion between contacts was modeled as a continuous feedback system.
- Instead, the contact variables have to be continuous.
- Contact forces are active only when is 'large'.
- Hence all potential contacts have to be enumerated in advance.
- Then, parameterize the end effector (position) and use inverse kinematics to figure out joint angles.
- Optimization:
- Break the movement up into a predefined number of phases, equal duration.
- Interpolate end-effector with splines
- Physics constraints are 'soft' -- helps the optimizer : 'powerful continuation methods'
- That is, weight different terms differently in phases of the optimization process.
- Likewise, appendages are allowed to stretch and intersect, with a smooth cost.
- Contact-invariant cost penalizes distortion and slip (difference between endpoint and surface, measured normal, and velocity relative to contact point)
- Contact point is also 'soft' and smooth via distance-normalized weighting.
- All contact forces are merged into a vector, which includes both forces and torques. Hence contact force origin can move within the contact patch, which again makes the optimization smoother.
- Set where maps generalize (endpoint) velocities to contact-point velocities, and f above are the contact-forces. is to map control forces to the full space.
- -- M is inertia matrix, C is Coriolis matrix, g is gravity.
- This means: forces need to add to zero. (friction + control = inertia + coriolis + gravity)
- Hence need to optimize and .
- Use friction-cone approximation for non-grab (feet) contact forces.
- These are optimized within a quadratic programming framework.
- LBFGS algo.
- Squared terms for friction and control, squared penalization for penetrating and slipping on a surface.
- Phases of optimization (continuation method):
-
- task term only: wishful thinking.
- all 4 terms, physcics lessened -- gradually add constraints.
- all terms, no hint, full physics.
- Total time to simulate 2-10 minutes per clip (only!)
- The equations of the paper seem incomplete -- not clear how QP eq fits in with the , and how fits in with
|