620 likes | 854 Views
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
E N D
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 DoF with coarse whole body!
Human motion model (IV) • Visible Human data set (realistic musculature and flesh) [Teran05]
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 [Nancy05] • Controller for whole body [Yin08] • Mocap data + motion planning: high level motion: • Manipulating [Katsu04] • Tangling [Edmond08] • Dynamics + motion planning (for articulated model) [Russell07]
Other related • Robotics [Kris06] • Primitive based motion planning use transition motion to balance natural motion and environment constraints. • Biomechanics • Provides many principles for motion control: balance, Locomotion, neuroscience. [Alexandrov05] [Christine07]
Contents • Human motion synthesis: Zoo • Articulated body mechanics • Optimization based motion synthesis • Feedback based balance control
Articulated body dynamics • Each joint i is 1 DoF • Ball-and-socket and saddle can be represented by some 1 DoF • Ball-and-socket: 3 DoF • Saddle: 2 DoF • Hinge: 1 Dof
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 [Evangelos04]
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 well-studied 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 [Eran03] • Extension to LCP • Staggered Projections for Frictional Contact in Multibody Systems [Danny08] • Velocity based shock propagation[Kenny09] • Implicit Contact Handling for Deformable Objects [Miguel09]
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
Lagrange mechanics Generalized force Lagrange function • Lagrange mechanics for rigid body • Lagrange mechanics for articulated body Gravity, contact force, external force
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 • 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 takeStep relaxFoot p: target position qv: slow spline: perpendicular to ground cp: CoM balance cf: support feet position c: friction
Climb controller relaxFoot relaxHand allSupport moveFoot moveHand com: change CoM
Swing controller trySwing passiveSwing
Visual sensor • Reachable objects search
Contents • Human motion synthesis: Zoo • Articulated body mechanics • Optimization based motion synthesis • Feedback based balance control
Feedback based balance control • Balance control under small perturbation [Yin03] • Balance control under large perturbation [Yin08] • 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 generalized-coordinate 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