Motion Synthesis for Articulated Human Bodies. Contents.

Slides:



Advertisements
Similar presentations
Capture Point: A Step toward Humanoid Push Recovery
Advertisements

Contact Mechanics B659: Principles of Intelligent Robot Motion Spring 2013 Kris Hauser.
COMP Robotics: An Introduction
The robot structure model design 2 Curse 5. Modeling: the robot AcTrMStTk V(t) T(t)  (t) q(t) x(t)
Mechatronics 1 Weeks 5,6, & 7. Learning Outcomes By the end of week 5-7 session, students will understand the dynamics of industrial robots.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Benjamin Stephens Carnegie Mellon University 9 th IEEE-RAS International Conference on Humanoid Robots December 8, 2009 Modeling and Control of Periodic.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
A Momentum-based Bipedal Balance Controller Yuting Ye May 10, 2006.
Dynamics of Articulated Robots Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
Control Design to Achieve Dynamic Walking on a Bipedal Robot with Compliance Young-Pil Jeon.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Model Predictive Control for Humanoid Balance and Locomotion Benjamin Stephens Robotics Institute.
ME 4135 Fall 2011 R. R. Lindeke, Ph. D. Robot Dynamics – The Action of a Manipulator When Forced.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
UNC Chapel Hill S. Redon - M. C. Lin Rigid body dynamics II Solving the dynamics problems.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Articulated Body Dynamics The Basics Comp 768 October 23, 2007 Will Moss.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Integrated Grasp and Motion Planning For grasping an object in a cluttered environment several tasks need to take place: 1.Finding a collision free path.
1cs533d-winter-2005 Notes  Assignment 2 instability - don’t worry about it right now  Please read D. Baraff, “Fast contact force computation for nonpenetrating.
3.7. O THER G AME P HYSICS A PPROACHES Overview of other game engine physics approaches.
Velocities and Static Force
Definition of an Industrial Robot
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Game Physics – Part IV Moving to 3D
1 CMPUT 412 Motion Control – Wheeled robots Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Human Motion Lecture 3.
Adapting Simulated Behaviors For New Characters Jessica K. Hodgins and Nancy S. Pollard presentation by Barış Aksan.
Robot Dynamics – Slide Set 10 ME 4135 R. R. Lindeke, Ph. D.
BIPEDAL LOCOMOTION Prima Parte Antonio D'Angelo.
T. Bajd, M. Mihelj, J. Lenarčič, A. Stanovnik, M. Munih, Robotics, Springer, 2010 ROBOT CONTROL T. Bajd and M. Mihelj.
Modeling and Solving Constraints Erin Catto Blizzard Entertainment.
12 November 2009, UT Austin, CS Department Control of Humanoid Robots Luis Sentis, Ph.D. Personal robotics Guidance of gait.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Simulating Balance Recovery Responses to Trips Based on Biomechanical Principles Takaaki Shiratori 1,2 Rakié Cham 3 Brooke Coley 3 Jessica K. Hodgins 1,2.
Yoonsang Lee Sungeun Kim Jehee Lee Seoul National University Data-Driven Biped Control.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
ZMP-BASED LOCOMOTION Robotics Course Lesson 22.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Benjamin Stephens Carnegie Mellon University Monday June 29, 2009 The Linear Biped Model and Application to Humanoid Estimation and Control.
Introduction to Biped Walking
1cs426-winter-2008 Notes  Will add references to splines on web page.
Robotics II Copyright Martin P. Aalund, Ph.D.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Lecture Fall 2001 Controlling Animation Boundary-Value Problems Shooting Methods Constrained Optimization Robot Control.
Movement Terminology & Biomechanical Principles Lecture 1 Dr
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Physics 111 Lecture Summaries (Serway 8 th Edition): Lecture 1Chapter 1&3Measurement & Vectors Lecture 2 Chapter 2Motion in 1 Dimension (Kinematics) Lecture.
University of Pisa Project work for Robotics Prof. Antonio Bicchi Students: Sergio Manca Paolo Viccione WALKING ROBOT.
CSE Advanced Computer Animation Short Presentation Topic: Locomotion Kang-che Lee 2009 Fall 1.
Physics-Based Simulation: Graphics and Robotics Chand T. John.
Physically Based Simulations For Games
Physically-Based Motion Synthesis in Computer Graphics
Character Animation Forward and Inverse Kinematics
Computer Animation cgvr.korea.ac.kr.
Manipulator Dynamics 1 Instructor: Jacob Rosen
Multi-Policy Control of Biped Walking
3.7. Other Game Physics Approaches
UMBC Graphics for Games
Synthesis of Motion from Simple Animations
Advanced Games Development Game Physics
Dimitris Valeris Thijs Ratsma
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

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

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 Lecture

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

Optimization based motion synthesis [Sumit09]

System overview

Lagrange mechanics Lagrange mechanics for rigid body Lagrange mechanics for articulated body Lagrange function Generalize d force 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 relaxFoot p: target position qv: slow spline: perpendicular to ground cp: CoM balance cf: support feet position c: friction

Climb controller allSupport moveHand relaxHand moveFoot relaxFoot com: change CoM

Swing controller passiveSwing trySwing

Visual sensor Reachable objects search

Contents

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

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 Contact control (support leg) Low gain Follow mocap data: high gain

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

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

[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