* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Motion Synthesis for Articulated Bodies
Survey
Document related concepts
Newton's theorem of revolving orbits wikipedia , lookup
First class constraint wikipedia , lookup
Brownian motion wikipedia , lookup
Analytical mechanics wikipedia , lookup
Classical mechanics wikipedia , lookup
Dirac bracket wikipedia , lookup
Centripetal force wikipedia , lookup
Classical central-force problem wikipedia , lookup
Hunting oscillation wikipedia , lookup
Seismometer wikipedia , lookup
Rigid body dynamics wikipedia , lookup
Transcript
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 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 • Ball-and-socket: 3 DoF • Saddle: 2 DoF • Hinge: 1 Dof • Each joint i is 1 DoF • Ball-and-socket and saddle can be represented by some 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 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 GaussSeidel, 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 Optimization based motion synthesis [Sumit09] 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 [Liu05] 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 p: target position qv: slow spline: perpendicular to ground cp: CoM balance cf: support feet position c: friction relaxFoot 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 Human motion control model 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 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 [Sumit09] – 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) • CoM feedback Basic controller (default target) Continuous feedback General form for multiple joints (matrix form) Control summary • 2D to 3D: – sagittal and coronal planes Feedback and feedforward torques Simulation result • • • • • • • • demo Overview Downhill Drunk Limp Spin Boxes Different friction Reference • • • • • • • • • • • • • • • [Edmond08] Planning tangling motions for humanoids [Nancy05] Physically Based Grasping Control from Example [Yin08] SIMBICON: Simple Biped Locomotion Control [Katsu04] Synthesizing Animations of Human Manipulation Tasks [Russell07] Efficient Motion Planning of Highly Articulated Chains using Physicsbased sampling [Kris06] Using motion primitives in probabilistic sample-based planning for humanoid robots [Teran05] Creating and Simulating Skeletal Muscle from the Visible Human Data Set [Alexandrov05] Feedback equilibrium control during human standing [Christine07] Bipedal locomotion: toward unified concepts in robotics and neuroscience [Evangelos04] Practical Physics for Articulated Characters [Shin’schiro07] Constraint-based dynamics simulator for humanoid robots with shock absorbing mechanics [Featherstone] Robot Dynamics Algorithms [Andreas] Practical Optimization [Eran03] Nonconvex Rigid Bodies with Stacking [Danny08] Staggered Projections for Frictional Contact in Multibody Systems • • • • • • [Sumit09] Optimization-based interactive motion synthesis [Liu05] Towards a generative model of natural motion [Baraff89] Analytical methods for dynamics simulation of non-penetrating rigid bodies [Yin03] Motion Perturbation Based on Simple Neuromotor Control Models [Kenny09] Velocity-based shock progagation for multibody dynamics animation [Miguel09] Implicit Contact Handling for Deformable Objects