Motion Synthesis for Articulated Human Bodies Contents Human
Motion Synthesis for Articulated Human Bodies
Contents • • Human motion synthesis: Zoo Articulated body mechanics Optimization based motion synthesis Feedback based balance control
Human motion components • • Bone (skeleton): ~206 (motion invariant) Joint (articulation): limitation Tendon and ligament: elasticity / plasticity Muscle: ~639, works in group, limitation – uni-articulate and bi-articulate (passive inefficiency) – parallel or perpendicular shape • Neuron-system: reflection speed Neuron Muscle Tedon Bone
Human motion model (I) • Pure articulated model – Simplified skeleton (hand / foot / tibia-fibula) – Directly control force and torque on joints – Convenient for high-level control
Human motion model (II) • Deformable model – Skin mesh motored by skeleton or captured skin animation – Muscle shape representation
Human motion model (III) • Tendons and muscles model – Musculoskeletal models and simulation – Muscle-tendon model (strand) Hand can have similar Do. F with coarse whole body!
Human motion model (IV) • Visible Human data set (realistic musculature and flesh) [Teran 05]
Methods for motion synthesis (I) • Data-driven based synthesis – – Captured motion skeleton data Captured deformable data (face / skin) Motion dynamics and naturalness is trivial Limited response to environment • Blending, Editing, Style transfer; no guarantee for physics correctness – Captured data is sparse • [pose, time] space is huge – Difficult to obtain data • High dynamic motion • Outdoor environment
Methods for motion synthesis (II) • Pure generative-based synthesis – Physics constraint can be guaranteed – Easy to interact with dynamic environment – Hard to be natural • Naturalness is a subset of physics correctness – Dynamics simulator complexity • E. g. stable / dynamic frictions – Computational complexity and stableness • High gain means high stiffness – Controller design • Mutual controller is difficult to design and hard to generalize
Methods for motion synthesis (III) • Pure motion planning – Can obtain solution in constrained environment – High-level path planning – Solution has no continuous or physics guarantee – Still time consuming • High dimension of human skeleton
Combined methods • Mocap data + physics: better controller – Controller for hand [Nancy 05] – Controller for whole body [Yin 08] • Mocap data + motion planning: high level motion: – Manipulating [Katsu 04] – Tangling [Edmond 08] • Dynamics + motion planning (for articulated model) [Russell 07]
Other related • Robotics [Kris 06] – Primitive based motion planning use transition motion to balance natural motion and environment constraints. • Biomechanics – Provides many principles for motion control: balance, Locomotion, neuroscience. [Alexandrov 05] [Christine 07]
Contents • • Human motion synthesis: Zoo Articulated body mechanics Optimization based motion synthesis Feedback based balance control
Articulated body dynamics • Ball-and-socket: 3 Do. F • Saddle: 2 Do. F • Hinge: 1 Dof • Each joint i is 1 Do. F • Ball-and-socket and saddle can be represented by some 1 Do. F
A special case of multi-body dynamics Yin’s work gives an example Joint makes impulse and penalty difficult
Parameters for articulated body • State of root (position, rotation, linear / angular velocity) • Configuration of joints (q, , ) • Inertia matrix (for articulated body, inertia matrix is an equivalent inertia matrix: give a test force, get an acceleration inertia) • Lecture in COMP 790 -058
Inverse dynamics • Known: q, , • Unknown: f, τ • Simple: recursive [Featherstone] – Compute v and a; compute net force on a link, similar to f = ma (downwards) – Compute force and torque on a joint (upwards) – Root’s p, v, a – End effector’s force and torque
Forward dynamics • Known: q, , f, τ • Unknown: • More difficult – 3 loops [Evangelos 04]
Limitation of basic algorithms • Many things are simplified in algorithms – Joint limitation – Unilateral constraint (ground constraint) – Friction (kinetic, static, rolling and spinning) – Non-interpenetrate constraint – Collision response • Modeling contact and constraint is a wellstudied problem for rigid body simulation. – See David Baraff’s papers and note.
Linear complementarity problem (LCP) [Andreas] • One of the standard methods to handle contact and constraints.
Solution to LCP: pivot method • Basic idea: if q is positive or zero, solution is trivial: (w = q, z = 0) • Pivot q and w to make it true • where
Solution to LCP: iterative method • LCP can be represented by QP, so can be solved by iterative methods, like Gauss. Seidel, Newton
Pros and Cons • Pivot method – Convergence is guaranteed after limited steps – suffer from numerical problem, especially for large-scale and/or ill-conditioned problems • Iterative method – easier to implement and – numerically robust – convergence is proven only for a limited class of M matrix
LCP model for constraints • Unilateral constraint (force exists only when contacting) • Joint Limit • LCP guarantees zero virtual work for contact forces • w = Mz + q?
Extended LCP model for frictions • Coulomb cone • Dynamic friction Static friction • Solved by extending iterative LCP solver
Other possible solutions • Recent there are many new algorithms other than LCP to deal with unilateral constraints and friction – Nonconvex Rigid Bodies with Stacking [Eran 03] • Extension to LCP – Staggered Projections for Frictional Contact in Multibody Systems [Danny 08] – Velocity based shock propagation[Kenny 09] – Implicit Contact Handling for Deformable Objects [Miguel 09]
Impact constraints • • Non-interpenetrate constraint Collision reaction Impulse or force modeling See David Baraff’s papers and note.
Simulation loops LCP solver forward dynamics Ode solver Collision detector Contact response
Contents • • Human motion synthesis: Zoo Articulated body mechanics Optimization based motion synthesis Feedback based balance control
Optimization based motion synthesis [Sumit 09]
System overview
Lagrange function Lagrange mechanics Generalize d force • Lagrange mechanics for rigid body • Lagrange mechanics for articulated body Gravity, contact force, external force
Complete force modeling [Liu 05]
Actuated and non actuated joint • Root joint: non (passive) actuated – It’s configuration (position and rotation) is actuated by joint constraints. • Other joints: (active) actuated – It’s configuration is actuated by muscle energy Muscle force
Passive controller • Muscle controller – Limited torque / force change rate • Contact controller – Static friction – Dynamic friction – Non-penetration
Optimization with passive controller • Why (minimize q variation)? – Avoid trivial solution, like sliding or break-off • Zero virtual work guarantee – Roll back
User controller specification • • • Balance controller Climb controller Swing controller Multiple controller composition controller example
Controller protocol • Finite State Machine • Each state has its own constraints (in objective form) • State transition happens when feasible solution can not find or contact breaks.
Balance controller balance take. Step p: target position qv: slow spline: perpendicular to ground cp: Co. M balance cf: support feet position c: friction relax. Foot
Climb controller relax. Foot relax. Hand all. Support move. Foot move. Hand com: change Co. M
Swing controller try. Swing passive. Swing
Visual sensor • Reachable objects search
Contents • • Human motion synthesis: Zoo Articulated body mechanics Optimization based motion synthesis Feedback based balance control
Human motion control model
Feedback based balance control • Balance control under small perturbation [Yin 03] • Balance control under large perturbation [Yin 08] • Similar strategy: feed-back + feed-forward, large perturbation step strategy
System description • The dynamics system does not use generalized coordinate • Instead, use full-coordinate constrained form for dynamics • Traditional style (based on Barraf 1996 paper) • Control is a hybrid of generalizedcoordinate form and full-coordinate form
Full-coordinate constrained matrix form (I) • Constraint i between body a and b • Constraint system (each item in J is 3*3 matrix) Here f is dim-12 vector, every 3 sub-vector is force for body (a, b, c, or d), J is 9*12
Full-coordinate constrained matrix form (II) • For torque, similar • row number of H is number of freedom, its column number is 3 * object number. • Each term is joint i’s torque on all objects
Balance control under small perturbation • Preprocess: use inverse dynamics to compute force for original motion • In each step of dynamic simulation – Forward dynamics: current state – Feedback control – Feedforward control – Net control
Simulation result • Perturbation by a ball
Balance control under large perturbation • Two differences: – Motion is modeled by finite state machine – Under large perturbation, a pre-computed feed -forward input is not suitable (using adaptive control instead)
Motion FSM • Difference with FSM in [Sumit 09] – For control torque heuristics – More robust (precision, static)
Feed-forward: Feed-back error learning • Cyclic motion (function of phase) • Learn inverse model dynamically (system identification)
Feed-back control (I) • PD control Low gain Follow mocap data: high gain • Contact control (support leg)
Feed-back control (II) • COM feedback COM velocity + + v v v=0 d<0 + + v=0 COM position d>0 v>0 or d > 0 forward step quickly
Feed-back control (III) • Co. M feedback Basic controller (default target) Continuous feedback General form for multiple joints (matrix form)
Control summary • 2 D to 3 D: – sagittal and coronal planes Feedback and feedforward torques
Simulation result • • demo Overview Downhill Drunk Limp Spin Boxes Different friction
Reference • • • • [Edmond 08] Planning tangling motions for humanoids [Nancy 05] Physically Based Grasping Control from Example [Yin 08] SIMBICON: Simple Biped Locomotion Control [Katsu 04] Synthesizing Animations of Human Manipulation Tasks [Russell 07] Efficient Motion Planning of Highly Articulated Chains using Physicsbased sampling [Kris 06] Using motion primitives in probabilistic sample-based planning for humanoid robots [Teran 05] Creating and Simulating Skeletal Muscle from the Visible Human Data Set [Alexandrov 05] Feedback equilibrium control during human standing [Christine 07] Bipedal locomotion: toward unified concepts in robotics and neuroscience [Evangelos 04] Practical Physics for Articulated Characters [Shin’schiro 07] Constraint-based dynamics simulator for humanoid robots with shock absorbing mechanics [Featherstone] Robot Dynamics Algorithms [Andreas] Practical Optimization [Eran 03] Nonconvex Rigid Bodies with Stacking [Danny 08] Staggered Projections for Frictional Contact in Multibody Systems
• • • [Sumit 09] Optimization-based interactive motion synthesis [Liu 05] Towards a generative model of natural motion [Baraff 89] Analytical methods for dynamics simulation of non-penetrating rigid bodies [Yin 03] Motion Perturbation Based on Simple Neuromotor Control Models [Kenny 09] Velocity-based shock progagation for multibody dynamics animation [Miguel 09] Implicit Contact Handling for Deformable Objects
- Slides: 61