Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Slides:



Advertisements
Similar presentations
Inverse Kinematics Professor Nicola Ferrier ME 2246,
Advertisements

Outline: Introduction Link Description Link-Connection Description
Links and Joints.
Introduction University of Bridgeport 1 Introduction to ROBOTICS.
University of Bridgeport
Review: Homogeneous Transformations
Introduction to Robotics
Denavit-Hartenberg Convention
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Inverse Kinematics Set goal configuration of end effector
Forward Kinematics. Focus on links chains May be combined in a tree structure Degrees of Freedom Number of independent position variables (i.e. joints.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Time to Derive Kinematics Model of the Robotic Arm
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Ch. 3: Forward and Inverse Kinematics
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Ch. 3: Forward and Inverse Kinematics
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Introduction to Robotics Lecture II Alfred Bruckstein Yaniv Altshuler.
Introduction to ROBOTICS
CSCE 689: Forward Kinematics and Inverse Kinematics
Serial and Parallel Manipulators
Introduction to ROBOTICS
Inverse Kinematics Jacobian Matrix Trajectory Planning
An Introduction to Robot Kinematics
KINEMATICS ANALYSIS OF ROBOTS (Part 1) ENG4406 ROBOTICS AND MACHINE VISION PART 2 LECTURE 8.
More details and examples on robot arms and kinematics
역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application 서울대학교 전기공학부 휴먼애니메이션연구단 최광진
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Advanced Graphics (and Animation) Spring 2002
Definition of an Industrial Robot
KINEMATICS ANALYSIS OF ROBOTS (Part 3). This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Chap 5 Kinematic Linkages
Inverse Kinematics Kris Hauser
Lecture 2: Introduction to Concepts in Robotics
Chapter 2 Robot Kinematics: Position Analysis
Simulation and Animation
KINEMATICS ANALYSIS OF ROBOTS (Part 2)
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
Review: Differential Kinematics
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
What is Kinematics. Kinematics studies the motion of bodies.
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
Outline: Introduction Solvability Manipulator subspace when n<6
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
KINEMATICS ANALYSIS OF ROBOTS (Part 5). This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this.
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
COMP322/S2000/L111 Inverse Kinematics Given the tool configuration (orientation R w and position p w ) in the world coordinate within the work envelope,
Kinematics Intro :a branch of dynamics that deals with aspects of motion apart from considerations of mass and force Merriam-Webster.
COMP322/S2000/L81 Direct Kinematics- Link Coordinates Questions: How do we assign frames? At the Joints? At the Links? Denavit-Hartenberg (D-H) Representation.
An Introduction to Robot Kinematics Renata Melamud.
Fundamentals of Computer Animation
Robotics Chapter 3 – Forward Kinematics
Kinematics 제어시스템 이론 및 실습 조현우
CSCE 441: Computer Graphics Forward/Inverse kinematics
Character Animation Forward and Inverse Kinematics
Computer Animation Algorithms and Techniques
Introduction to manipulator kinematics
CSE4421/5324: Introduction to Robotics
Inverse Kinematics, Jacobians
CSCE 441: Computer Graphics Forward/Inverse kinematics
Computer Animation Algorithms and Techniques
Outline: Introduction Solvability Manipulator subspace when n<6
Presentation transcript:

Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid

Kinematics The study of object movements irrespective of their speed or style of movement

Degrees of Freedom (DOFs) The variables that affect an object’s orientation How many degrees of freedom when flying? The variables that affect an object’s orientation How many degrees of freedom when flying? Six x, y, and z positions roll, pitch, and yaw So the kinematics of this airplane permit movement anywhere in three dimensions

Degrees of Freedom How about this robot arm? Six again 2-base, 1-shoulder, 1-elbow, 2-wrist

The set of all possible positions (defined by kinematics) an object can attain Configuration Space

Work Space vs. Configuration Space Work space The space in which the object existsThe space in which the object exists DimensionalityDimensionality –R 3 for most things, R 2 for planar arms Configuration space The space that defines the possible object configurationsThe space that defines the possible object configurations Degrees of FreedomDegrees of Freedom –The number of parameters that necessary and sufficient to define position in configuration Work space The space in which the object existsThe space in which the object exists DimensionalityDimensionality –R 3 for most things, R 2 for planar arms Configuration space The space that defines the possible object configurationsThe space that defines the possible object configurations Degrees of FreedomDegrees of Freedom –The number of parameters that necessary and sufficient to define position in configuration

More examples A point on a plane A point in space A point moving on a line in space A point on a plane A point in space A point moving on a line in space

A matter of control If your animation adds energy at a particular DOF, that is a controlled DOF High DOF, no controlLow DOF, high control

Hierarchical Kinematic Modeling A family of parent-child spatial relationships are functionally defined Moon/Earth/Sun movementsMoon/Earth/Sun movements Articulations of a humanoidArticulations of a humanoid A family of parent-child spatial relationships are functionally defined Moon/Earth/Sun movementsMoon/Earth/Sun movements Articulations of a humanoidArticulations of a humanoid Limb connectivity is built into model (joints) and animation is easier

Robot Parts/Terms Links End effector Frame Revolute Joint Prismatic Joint Links End effector Frame Revolute Joint Prismatic Joint

More Complex Joints 3 DOF joints GimbalGimbal Spherical (doesn’t possess singularity)Spherical (doesn’t possess singularity) 2 DOF joints UniversalUniversal 3 DOF joints GimbalGimbal Spherical (doesn’t possess singularity)Spherical (doesn’t possess singularity) 2 DOF joints UniversalUniversal

Hierarchy Representation Model bodies (links) as nodes of a tree All body frames are local (relative to parent) Transformations affecting root affect all childrenTransformations affecting root affect all children Transformations affecting any node affect all its childrenTransformations affecting any node affect all its children Model bodies (links) as nodes of a tree All body frames are local (relative to parent) Transformations affecting root affect all childrenTransformations affecting root affect all children Transformations affecting any node affect all its childrenTransformations affecting any node affect all its children ROOT

Forward vs. Inverse Kinematics Forward Kinematics Compute configuration (pose) given individual DOF valuesCompute configuration (pose) given individual DOF values –Good for simulation Inverse Kinematics Compute individual DOF values that result in specified end effector positionCompute individual DOF values that result in specified end effector position –Good for control Forward Kinematics Compute configuration (pose) given individual DOF valuesCompute configuration (pose) given individual DOF values –Good for simulation Inverse Kinematics Compute individual DOF values that result in specified end effector positionCompute individual DOF values that result in specified end effector position –Good for control

Forward Kinematics Traverse kinematic tree and propagate transformations downward Use stackUse stack Compose parent transformation with child’sCompose parent transformation with child’s Pop stack when leaf is reachedPop stack when leaf is reached Traverse kinematic tree and propagate transformations downward Use stackUse stack Compose parent transformation with child’sCompose parent transformation with child’s Pop stack when leaf is reachedPop stack when leaf is reached

Denavit-Hartenberg (DH) Notation A kinematic representation (convention) inherited from robotics

Z-axis aligned with joint

X-axis aligned with outgoing limb

Y-axis is orthogonal

Joints are numbered to represent hierarchy U i-1 is parent of U i

Parameter a i-1 is outgoing limb length of joint U i-1

Joint angle,  i, is rotation of x i-1 about z i-1 relative to x i

Link twist,  i-1, is the rotation of i th z-axis about x i-1 -axis relative to z-axis of i-1 th frame

Link offset, d i-1, specifies the distance along the z i-1 -axis (rotated by  i-1 ) of the i th frame from the i-1 th x-axis to the i th x-axis

Inverse Kinematics (IK) Given end effector position, compute required joint angles In simple case, analytic solution exists Use trig, geometry, and algebra to solveUse trig, geometry, and algebra to solve Given end effector position, compute required joint angles In simple case, analytic solution exists Use trig, geometry, and algebra to solveUse trig, geometry, and algebra to solve

What is Inverse Kinematics? Forward Kinematics Base End Effector ?

What is Inverse Kinematics? Inverse Kinematics Base End Effector

What does look like? ? Base End Effector

Solution to Our example Number of equation : 2 Unknown variables : 3 Infinite number of solutions !

Redundancy  System DOF > End Effector DOF Our example System DOF = 3 End Effector DOF = 2

Analytic solution of 2-link inverse kinematics 22 11 a1a1 a2a2 O2O2 O1O1 O0O0 x1x1 x0x0 x2x2 y1y1 y2y2 y0y0   (x,y) 22

Failures of simple IK Multiple Solutions

Failures of simple IK Infinite solutions

Failures of simple IK Solutions may not exist

Iterative IK Solutions Frequently analytic solution is infeasible Use Jacobian Derivative of function output relative to each of its inputsDerivative of function output relative to each of its inputs If y is function of three inputs and one output Frequently analytic solution is infeasible Use Jacobian Derivative of function output relative to each of its inputsDerivative of function output relative to each of its inputs If y is function of three inputs and one output Represent Jacobian, J(X), as a 1x3 matrix of partial derivativesRepresent Jacobian, J(X), as a 1x3 matrix of partial derivatives

Jacobian In another situation, end effector has 6 DOFs and robotic arm has 6 DOFs f(x 1, …, x 6 ) = (x, y, z, r, p, y) Therefore J(X) = 6x6 matrix In another situation, end effector has 6 DOFs and robotic arm has 6 DOFs f(x 1, …, x 6 ) = (x, y, z, r, p, y) Therefore J(X) = 6x6 matrix

Jacobian Relates velocities in parameter space to velocities of outputs If we know Y current and Y desired, then we subtract to compute Y dot Invert Jacobian and solve for X dot Relates velocities in parameter space to velocities of outputs If we know Y current and Y desired, then we subtract to compute Y dot Invert Jacobian and solve for X dot

Turn to PDF slides Slides from O’Brien and Forsyth CS 294-3: Computer Graphics Stanford Fall 2001CS 294-3: Computer Graphics Stanford Fall 2001 Slides from O’Brien and Forsyth CS 294-3: Computer Graphics Stanford Fall 2001CS 294-3: Computer Graphics Stanford Fall 2001

Differential Kinematics Is J always invertible? No! Remedy : Pseudo InverseRemedy : Pseudo Inverse Is J always invertible? No! Remedy : Pseudo InverseRemedy : Pseudo Inverse

Null space The null space of J is the set of vectors which have no influence on the constraints The pseudoinverse provides an operator which projects any vector to the null space of J The null space of J is the set of vectors which have no influence on the constraints The pseudoinverse provides an operator which projects any vector to the null space of J

Utility of Null Space The null space can be used to reach secondary goals Or to find comfortable positions The null space can be used to reach secondary goals Or to find comfortable positions

Calculating Pseudo Inverse Singular Value Decomposition

Redundancy A redundant system has infinite number of solutions Human skeleton has 70 DOF Ultra-super redundantUltra-super redundant How to solve highly redundant system? A redundant system has infinite number of solutions Human skeleton has 70 DOF Ultra-super redundantUltra-super redundant How to solve highly redundant system?

Redundancy Is Bad Multiple choices for one goal What happens if we pick any of them?What happens if we pick any of them? Multiple choices for one goal What happens if we pick any of them?What happens if we pick any of them?

Redundancy Is Good We can exploit redundancy Additional objective Minimal ChangeMinimal Change Similarity to Given ExampleSimilarity to Given Example NaturalnessNaturalness We can exploit redundancy Additional objective Minimal ChangeMinimal Change Similarity to Given ExampleSimilarity to Given Example NaturalnessNaturalness

Naturalness Based on observation of natural human posture Neurophysiological experiments Based on observation of natural human posture Neurophysiological experiments

Conflict Between Goals base ee 2 ee 1

Conflict Between Goals base ee 2 ee 1 Goal 1

Conflict Between Goals base ee 2 Goal 2 ee 1

Conflict Between Goals base ee 2 ee 1 Goal 1 Goal 2

Conflict Between Goals base ee 2 ee 1 Goal 1 Goal 2