Top Banner
Motion Synthesis for Articulated Human Bodies
61

Motion Synthesis for Articulated Human Bodies. Contents.

Jan 15, 2016

Download

Documents

Jack Harrison
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Motion Synthesis for Articulated Human Bodies. Contents.

Motion Synthesis for Articulated Human Bodies

Page 2: Motion Synthesis for Articulated Human Bodies. Contents.

Contents

• Human motion synthesis: Zoo

• Articulated body mechanicsArticulated body mechanics

• Optimization based motion synthesisOptimization based motion synthesis

• Feedback based balance controlFeedback based balance control

Page 3: Motion Synthesis for Articulated Human Bodies. Contents.

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 speedNeuron Muscle Tedon Bone

Page 4: Motion Synthesis for Articulated Human Bodies. Contents.
Page 5: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 6: Motion Synthesis for Articulated Human Bodies. Contents.

Human motion model (II)

• Deformable model– Skin mesh motored by skeleton or captured

skin animation– Muscle shape representation

Page 7: Motion Synthesis for Articulated Human Bodies. Contents.

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!

Page 8: Motion Synthesis for Articulated Human Bodies. Contents.

Human motion model (IV)

• Visible Human data set (realistic musculature and flesh) [Teran05]

Page 9: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 10: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 11: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 12: Motion Synthesis for Articulated Human Bodies. Contents.

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]

Page 13: Motion Synthesis for Articulated Human Bodies. Contents.

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]

Page 14: Motion Synthesis for Articulated Human Bodies. Contents.

Contents

• Human motion synthesis: ZooHuman motion synthesis: Zoo

• Articulated body mechanics

• Optimization based motion synthesisOptimization based motion synthesis

• Feedback based balance controlFeedback based balance control

Page 15: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 16: Motion Synthesis for Articulated Human Bodies. Contents.

A special case of multi-body dynamics

Yin’s work gives

an example

Joint makes impulse

and penalty difficult

Page 17: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 18: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 19: Motion Synthesis for Articulated Human Bodies. Contents.

Forward dynamics

• Known: q, , f, τ

• Unknown:

• More difficult– 3 loops

[Evangelos04]

Page 20: Motion Synthesis for Articulated Human Bodies. Contents.

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.

Page 21: Motion Synthesis for Articulated Human Bodies. Contents.

Linear complementarity problem (LCP) [Andreas]

• One of the standard methods to handle contact and constraints.

Page 22: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 23: Motion Synthesis for Articulated Human Bodies. Contents.

Solution to LCP: iterative method

• LCP can be represented by QP, so can be solved by iterative methods, like Gauss-Seidel, Newton

Page 24: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 25: Motion Synthesis for Articulated Human Bodies. Contents.

LCP model for constraints

• Unilateral constraint (force exists only when contacting)

• Joint Limit

• LCP guarantees zero virtual work for contact forces

• w = Mz + q?

Page 26: Motion Synthesis for Articulated Human Bodies. Contents.

Extended LCP model for frictions

• Coulomb cone

• Dynamic friction Static friction

• Solved by extending iterative LCP solver

Page 27: Motion Synthesis for Articulated Human Bodies. Contents.

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]

Page 28: Motion Synthesis for Articulated Human Bodies. Contents.

Impact constraints

• Non-interpenetrate constraint

• Collision reaction

• Impulse or force modeling

• See David Baraff’s papers and note.

Page 29: Motion Synthesis for Articulated Human Bodies. Contents.

Simulation loops

LCP solver

forward dynamics

Ode solver

Collision detector

Contact response

Page 30: Motion Synthesis for Articulated Human Bodies. Contents.

Contents

• Human motion synthesis: ZooHuman motion synthesis: Zoo

• Articulated body mechanicsArticulated body mechanics

• Optimization based motion synthesis

• Feedback based balance controlFeedback based balance control

Page 31: Motion Synthesis for Articulated Human Bodies. Contents.

Optimization based motion synthesis [Sumit09]

Page 32: Motion Synthesis for Articulated Human Bodies. Contents.

System overview

Page 33: Motion Synthesis for Articulated Human Bodies. Contents.

Lagrange mechanics

• Lagrange mechanics for rigid body

• Lagrange mechanics for articulated body

Lagrange function

Generalized force

Gravity, contact force, external force

Page 34: Motion Synthesis for Articulated Human Bodies. Contents.

Complete force modeling [Liu05]

Page 35: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 36: Motion Synthesis for Articulated Human Bodies. Contents.

Passive controller

• Muscle controller– Limited torque / force

– Limited torque / force change rate

• Contact controller– Static friction– Dynamic friction– Non-penetration

Page 37: Motion Synthesis for Articulated Human Bodies. Contents.

Optimization with passive controller

• Why (minimize q variation)?– Avoid trivial solution, like sliding or break-off

• Zero virtual work guarantee– Roll back

Page 38: Motion Synthesis for Articulated Human Bodies. Contents.

User controller specification

• Balance controller

• Climb controller

• Swing controller

• Multiple controller composition

• controller example

Page 39: Motion Synthesis for Articulated Human Bodies. Contents.

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.

Page 40: Motion Synthesis for Articulated Human Bodies. Contents.

Balance controller

balance

takeStep relaxFoot

p: target position

qv: slow

spline: perpendicular to ground

cp: CoM balance

cf: support feet position

c: friction

Page 41: Motion Synthesis for Articulated Human Bodies. Contents.

Climb controller

allSupport

moveHand

relaxHand

moveFoot

relaxFoot

com: change CoM

Page 42: Motion Synthesis for Articulated Human Bodies. Contents.

Swing controller

passiveSwingtrySwing

Page 43: Motion Synthesis for Articulated Human Bodies. Contents.

Visual sensor

• Reachable objects search

Page 44: Motion Synthesis for Articulated Human Bodies. Contents.

Contents

• Human motion synthesis: ZooHuman motion synthesis: Zoo

• Articulated body mechanicsArticulated body mechanics

• Optimization based motion synthesisOptimization based motion synthesis

• Feedback based balance control

Page 45: Motion Synthesis for Articulated Human Bodies. Contents.

Human motion control model

Page 46: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 47: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 48: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 49: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 50: Motion Synthesis for Articulated Human Bodies. Contents.

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

Page 51: Motion Synthesis for Articulated Human Bodies. Contents.

Simulation result

• Perturbation by a ball

Page 52: Motion Synthesis for Articulated Human Bodies. Contents.

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)

Page 53: Motion Synthesis for Articulated Human Bodies. Contents.

Motion FSM

• Difference with FSM in [Sumit09]

– For control torque heuristics– More robust (precision, static)

Page 54: Motion Synthesis for Articulated Human Bodies. Contents.

Feed-forward: Feed-back error learning

• Cyclic motion (function of phase)

• Learn inverse model dynamically (system identification)

Page 55: Motion Synthesis for Articulated Human Bodies. Contents.

Feed-back control (I)

• PD control

• Contact control (support leg)

Low gain

Follow mocap data: high gain

Page 56: Motion Synthesis for Articulated Human Bodies. Contents.

Feed-back control (II)

• COM feedback

+v

+v

+

d<0

v=0+

d>0

v=0

COM velocity

COM position

v>0 or d > 0 forward step quickly

Page 57: Motion Synthesis for Articulated Human Bodies. Contents.

Feed-back control (III)

• CoM feedback

Basic controller(default target)

Continuous feedback

General form for multiple joints (matrix form)

Page 58: Motion Synthesis for Articulated Human Bodies. Contents.

Control summary

• 2D to 3D:– sagittal and coronal planes

Feedback and feedforward torques

Page 59: Motion Synthesis for Articulated Human Bodies. Contents.

Simulation result

• demo• Overview• Downhill• Drunk• Limp• Spin• Boxes• Different friction

Page 60: Motion Synthesis for Articulated Human Bodies. Contents.

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 Physics-

based 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

Page 61: Motion Synthesis for Articulated Human Bodies. Contents.

• [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