* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Motion Synthesis for Articulated Bodies
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
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