Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Similar documents
Articulated Characters

CS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods

Motion Capture. Motion Capture in Movies. Motion Capture in Games

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

CS 231. Inverse Kinematics Intro to Motion Capture. 3D characters. Representation. 1) Skeleton Origin (root) Joint centers/ bones lengths

Inverse Kinematics Programming Assignment

02/22/02. Assignment 1 on the web page: Announcements. Test login procedure NOW!

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

Lecture 18 Kinematic Chains

Jacobian: Velocities and Static Forces 1/4

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC

Introduction to Robotics

Announcements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation

Computer Animation. Rick Parent

CS 231. Inverse Kinematics Intro to Motion Capture

SM2231 :: 3D Animation I :: Basic. Rigging

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1

Advanced Graphics and Animation

Kinematics of Closed Chains

Animation, Motion Capture, & Inverse Kinematics. Announcements: Quiz

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Jacobian: Velocities and Static Forces 1/4

Interactive Computer Graphics

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

animation computer graphics animation 2009 fabio pellacini 1

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30

Theory of Robotics and Mechatronics

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Lecture «Robot Dynamics»: Kinematic Control

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Example-Based Skeleton Extraction. Scott Schaefer Can Yuksel

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

autorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

Lecture «Robot Dynamics»: Kinematics 3

Kinematics. Why inverse? The study of motion without regard to the forces that cause it. Forward kinematics. Inverse kinematics

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

Lecture «Robot Dynamics»: Multi-body Kinematics

Control of industrial robots. Kinematic redundancy

A Detailed Look into Forward and Inverse Kinematics

Lecture «Robot Dynamics»: Kinematics 3

CS 231. Basics of Computer Animation

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Kinematics, Kinematics Chains CS 685

CS 4620 Program #2: Character Animation

animation projects in digital art animation 2009 fabio pellacini 1

MTRX4700 Experimental Robotics

Industrial Robots : Manipulators, Kinematics, Dynamics

Maya Lesson 8 Notes - Animated Adjustable Desk Lamp

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Human body animation. Computer Animation. Human Body Animation. Skeletal Animation

3. Manipulator Kinematics. Division of Electronic Engineering Prof. Jaebyung Park

Robotics kinematics and Dynamics

Kinematic Model of Robot Manipulators

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

Game Programming. Bing-Yu Chen National Taiwan University

Animation Lecture 10 Slide Fall 2003

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Motion Control Methods for Skeleton Daniel Thalmann

Serially-Linked Parallel Leg Design for Biped Robots

Robotics I. March 27, 2018

Manipulator trajectory planning

Animation, Motion Capture, & Inverse Kinematics

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Reading. Topics in Articulated Animation. Character Representation. Animation. q i. t 1 t 2. Articulated models: Character Models are rich, complex

Character Animation COS 426

CS 523: Computer Graphics, Spring Shape Modeling. Skeletal deformation. Andrew Nealen, Rutgers, /12/2011 1

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Design and Optimization of the Thigh for an Exoskeleton based on Parallel Mechanism

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Animation COM3404. Richard Everson. School of Engineering, Computer Science and Mathematics University of Exeter

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Lecture VI: Constraints and Controllers

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Kinematical Animation.

Chapter 5.2 Character Animation

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

CSE452 Computer Graphics

1. Introduction 1 2. Mathematical Representation of Robots

CS-184: Computer Graphics. Today. Forward kinematics Inverse kinematics. Wednesday, November 12, Pin joints Ball joints Prismatic joints

Jacobians. 6.1 Linearized Kinematics. Y: = k2( e6)

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Dynamics Analysis for a 3-PRS Spatial Parallel Manipulator-Wearable Haptic Thimble

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

Motion Capture & Simulation

TIEA311 Tietokonegrafiikan perusteet kevät 2018

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Skeletal deformation

4 DIFFERENTIAL KINEMATICS

Local Coordinate Systems From Motion Capture Data

Kinematics: Intro. Kinematics is study of motion

Open Access The Kinematics Analysis and Configuration Optimize of Quadruped Robot. Jinrong Zhang *, Chenxi Wang and Jianhua Zhang

Kinematics and Orientations

Lecture 30 of 41. Animation 3 of 3: Inverse Kinematics Control & Ragdoll Physics

Kinematics & Motion Capture

Transcription:

Kinematics CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Kinematics Kinematics: The science of pure motion, considered without reference to the matter of objects moved, or to the force producing or changing the motion. Oxford English Dictionary

Skeletal animation We animate skeletons of characters Tree structure Vertices are joints Edges are bones (or links) A mesh is created from a skeleton every frame by skinning A vertex is expressed as a combination of a number of positions relative to respective joints

Skeletons Joints and bones define transformations. (Left) Can represent with tree structure that associates joint transformations with edges and bone transformations with vertices. (Right)

Human joints Human body contains over 100 types of joints, characterized by the types of induced movement. We represent joint configurations as rigid-body transformations. Types of joints correspond to different sets of allowed transformations. Picture from http://www.cumc.columbia.edu/dept/rehab/musculoskeletal_health/anatomy.html

Kinematics of skeletons Forward Kinematics: Compute configuration of a bone (end effector) in the global coordinate frame given configurations of all ancestor joints. Inverse Kinematics: Given configuration of a bone (end effector) in the global coordinate frame, compute configurations of all ancestor joints.

Kinematics of skeletons Forward kinematics forms a basic step for many techniques. Necessary. Always specifying all joint configurations manually can be tedious and unnecessary. Inverse kinematics used for more intuitive, higher-level specification of keys. Walk character by placing feet in the right places on the ground Create boxing animation by positioning fists In practice, animators go back and forth. (Position foot, adjust knee, rotate hip, reposition foot, adjust some more,...)

Forward Kinematics Configuration of any bone in the global coordinate frame can be determined by tree traversal.

Forward Kinematics What is the configuration of the right hand? C =

Forward Kinematics J 0 What is the configuration of the right hand? C = J 0

Forward Kinematics J 0 J 1 What is the configuration of the right hand? C = J 0 J 1

Forward Kinematics J 0 J 1 What is the configuration of the right hand? C = J 0 J 1 B 1

J 1 J 2 Forward Kinematics J 0 What is the configuration of the right hand? C = J 0 J 1 B 1 J 2

J 1 J 2 Forward Kinematics J 0 What is the configuration of the right hand? C = J 0 J 1 B 1 J 2 B 2

J 1 J 2 Forward Kinematics J 0 J 3 What is the configuration of the right hand? C = J 0 J 1 B 1 J 2 B 2 J 3

J 1 J 2 Forward Kinematics J 0 J 3 What is the configuration of the right hand? C = J 0 J 1 B 1 J 2 B 2 J 3 B 3

J 1 J 2 Forward Kinematics J 0 J 3 J 4 What is the configuration of the right hand? C = J 0 J 1 B 1 J 2 B 2 J 3 B 3 J 4

J 1 J 2 Forward Kinematics J 0 J 3 J 4 What is the configuration of the right hand? C = J 0 J 1 B 1 J 2 B 2 J 3 B 3 J 4 B 4

J 1 J 2 Forward Kinematics J 0 J 3 J 4 J 5 What is the configuration of the right hand? C = J 0 J 1 B 1 J 2 B 2 J 3 B 3 J 4 B 4 J 5

Inverse Kinematics interactive demonstration

Simple example l 1 θ 2 (x, y) l 2 θ 1 Given l 1, l 2, and the position (x, y) of the end effector, compute and θ 1 θ 2

Simple example l 2 θ 2 l 1 (x, y) θ 1 l 3 l 3 = x 2 + y 2 θ 2 = arccos l2 1 + l 2 2 (x 2 + y 2 ) 2l 1 l 2 θ 1 = arctan y x + arccosl2 1 +(x 2 + y 2 ) l 2 2 2l 1 x2 + y 2

General considerations Closed-form analytical solution generally not available. Solution might not exist. (End effector configuration not reachable.) Number of solutions could be infinite. (Number of variables greater than number of constraints.) We will approximate a solution iteratively. Will try to find small steps, each bringing us closer to the goal.

Iterative method t θ 2 θ 3 s θ 1 (θ 1,..., θ n ) (s 1,..., s k ) (t 1,..., t k ) - joint configurations (e.g., angles) - end effector configurations (e.g., positions) - target end effector configurations

Iterative method t e θ 2 θ 3 s θ 1 s s(θ) θ Express as a function of We want to take a step θ, so that s(θ + θ) is closer to We will find θ through a differential of a hypothetical motion θ(τ), where τ is time We want to find θ(τ) that yields ṡ = e, where e = t s. θ t

t Iterative method θ 2 θ 3 s e ṡ = ( ds1 dτ,..., ds k dτ ) T θ 1 ds i dτ = d dτ s i(θ) = d dτ s i(θ 1 (τ),..., θ n (τ)) = s i dθ 1 θ 1 dτ + + s i dθ n θ n dτ ( si =,..., s )( i dθ1 θ 1 θ n dτ,..., dθ ) T n dτ ds 1 dτ ds 2 dτ. ds k dτ = s 1 s 1 θ 1 s 2 s 2 θ 1. s k θ 1 θ 2... θ 2....... s k θ 2... s 1 θ n s 2 θ n. s k θ n dθ 1 dτ dθ 2 dτ. dθ n dτ ṡ = J s (θ) θ

t Iterative method J s (θ) θ = e θ 2 θ 3 s e θ 1 We can compute J s (θ) and e directly. We are looking for θ such that If J s (θ) is invertible, the solution is Otherwise the solution is given by the pseudo-inverse:, and then look into the pseudo- Let s see first how to compute inverse. J s (θ) θ = e J s (θ) θ = J 1 s (θ)e θ = J + s (θ)e

Computing the Jacobian We consider the case where s are end-effector positions and θ are orientations of hinge joints. s i θ j is the linear velocity of the rotation induced on end-effector i by hinge j. If end-effector i is unaffected by the rotation of j, the velocity is 0. Otherwise, s i θ j = v j (s i p j ) where p j is the position of joint j and v j is the unit vector pointing along the axis of rotation according to the right hand rule. s i θ j s i p j

Computing the pseudo-inverse θ Need to find such that J θ = e. If J has rank k (gradients for distinct end-effectors are linearly independent), then is invertible. Consider JJ T J + = J T (JJ T ) 1 and θ = J + e Then J θ = JJ T (JJ T ) 1 e = e

Euler integration Choose small constant α. Update θ := θ + αj + e Verify that end-effector moved closer to goal. Otherwise reduce α.

Redundant degrees of freedom When the space of joint configurations has higher dimensionality than the space of end-effector configurations, there is generally an infinite number of solutions to IK. We can try to optimize within the space of solutions to get a solution with desirable properties. J(I J + J)z =0 for any vector z. We set where H = H(θ) θ = J + e +(I J + J) H is some function we wish to minimize. Then and every step J θ = e θ := θ + α ( J + e +(I J + J) H ) not only brings us closer to the goal end-effector configuration, but also decreases the secondary error function H.

Redundant degrees of freedom If we wish to limit joint angles to a certain range, or keep joint angles close to specific desirable values, we can set H = n β i (θ i θi 0 ) 2 i=1 where θ 0 is the optimal joint configuration and β i are weights that act as stiffness parameters.

Singularities and Numerical Instability

Other techniques: Optimization Can be formulated as an optimization problem in the joint configuration space. Objective function is distance to target. A wide range of possible constraints. (Joint limits.) At any point in the space, can evaluate objective function and its partial derivatives.