Top Banner
Animation CS 551 / 651 Kinematics Kinematics Lecture 09 Lecture 09 Sarcos Humanoid
50

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

Dec 21, 2015

Download

Documents

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: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

AnimationCS 551 / 651

KinematicsKinematics

Lecture 09Lecture 09

KinematicsKinematics

Lecture 09Lecture 09

Sarcos Humanoid

Page 2: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Kinematics

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

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

Page 3: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Degrees of Freedom(DOFs)

The variables that affect an object’s The variables that affect an object’s orientationorientation

How many degrees of How many degrees of freedom when flying?freedom when flying?

The variables that affect an object’s The variables that affect an object’s orientationorientation

How many degrees of How many degrees of freedom when flying?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

Page 4: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Degrees of Freedom

How about this robot arm?How about this robot arm?How about this robot arm?How about this robot arm?

• Six again

• 2-base, 1-shoulder, 1-elbow, 2-wrist

Page 5: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

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

Configuration Space

Page 6: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Work Space vs. Configuration Space

Work spaceWork space• The space in which the object existsThe space in which the object exists

• DimensionalityDimensionality

– RR33 for most things, R for most things, R22 for planar arms for planar arms

Configuration spaceConfiguration 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 The number of parameters that necessary and sufficient to define position in configurationdefine position in configuration

Work spaceWork space• The space in which the object existsThe space in which the object exists

• DimensionalityDimensionality

– RR33 for most things, R for most things, R22 for planar arms for planar arms

Configuration spaceConfiguration 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 The number of parameters that necessary and sufficient to define position in configurationdefine position in configuration

Page 7: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

More examples

A point on a planeA point on a plane

A point in spaceA point in space

A point moving on a A point moving on a line in spaceline in space

A point on a planeA point on a plane

A point in spaceA point in space

A point moving on a A point moving on a line in spaceline in space

Page 8: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

A matter of control

If your animation adds energy at a particular If your animation adds energy at a particular DOF, that is a DOF, that is a controlled DOFcontrolled DOF

If your animation adds energy at a particular If your animation adds energy at a particular DOF, that is a DOF, that is a controlled DOFcontrolled DOF

High DOF, no controlLow DOF, high control

Page 9: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Hierarchical Kinematic Modeling

A family of parent-child spatial relationships A family of parent-child spatial relationships are functionally definedare functionally defined

• Moon/Earth/Sun movementsMoon/Earth/Sun movements

• Articulations of a humanoidArticulations of a humanoid

A family of parent-child spatial relationships A family of parent-child spatial relationships are functionally definedare 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

Page 10: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Robot Parts/Terms

LinksLinks

End effectorEnd effector

FrameFrame

Revolute JointRevolute Joint

Prismatic JointPrismatic Joint

LinksLinks

End effectorEnd effector

FrameFrame

Revolute JointRevolute Joint

Prismatic JointPrismatic Joint

Page 11: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

More Complex Joints

3 DOF joints3 DOF joints

• GimbalGimbal

• Spherical Spherical (doesn’t possess (doesn’t possess singularity)singularity)

2 DOF joints2 DOF joints

• UniversalUniversal

3 DOF joints3 DOF joints

• GimbalGimbal

• Spherical Spherical (doesn’t possess (doesn’t possess singularity)singularity)

2 DOF joints2 DOF joints

• UniversalUniversal

Page 12: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Hierarchy Representation

Model bodies (links) as nodes of a treeModel bodies (links) as nodes of a tree

All body frames are local (relative to parent) 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 Transformations affecting any node affect all its childrenchildren

Model bodies (links) as nodes of a treeModel bodies (links) as nodes of a tree

All body frames are local (relative to parent) 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 Transformations affecting any node affect all its childrenchildren

ROOT

Page 13: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Forward vs. Inverse Kinematics

Forward KinematicsForward Kinematics• Compute configuration (pose) given individual DOF Compute configuration (pose) given individual DOF

valuesvalues

– Good for simulationGood for simulation

Inverse KinematicsInverse Kinematics• Compute individual DOF values that result in Compute individual DOF values that result in

specified end effector positionspecified end effector position

– Good for controlGood for control

Forward KinematicsForward Kinematics• Compute configuration (pose) given individual DOF Compute configuration (pose) given individual DOF

valuesvalues

– Good for simulationGood for simulation

Inverse KinematicsInverse Kinematics• Compute individual DOF values that result in Compute individual DOF values that result in

specified end effector positionspecified end effector position

– Good for controlGood for control

Page 14: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Forward Kinematics

Traverse kinematic tree and Traverse kinematic tree and propagate transformations propagate transformations downwarddownward

• Use stackUse stack

• Compose parent transformation with Compose parent transformation with child’schild’s

• Pop stack when leaf is reachedPop stack when leaf is reached

Traverse kinematic tree and Traverse kinematic tree and propagate transformations propagate transformations downwarddownward

• Use stackUse stack

• Compose parent transformation with Compose parent transformation with child’schild’s

• Pop stack when leaf is reachedPop stack when leaf is reached

Page 15: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Denavit-Hartenberg (DH) Notation

A kinematic representation (convention) A kinematic representation (convention) inherited from roboticsinherited from robotics

A kinematic representation (convention) A kinematic representation (convention) inherited from roboticsinherited from robotics

Page 16: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Z-axis aligned with joint

Page 17: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

X-axis aligned with outgoing limb

Page 18: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Y-axis is orthogonal

Page 19: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Joints are numbered to represent hierarchy Ui-1 is parent of Ui

Page 20: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Parameter ai-1 is outgoing

limb length of joint Ui-1

Page 21: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Joint angle, i, is rotation of xi-1

about zi-1 relative to xi

Page 22: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Link twist, i-1, is the rotation of ith z-axis about

xi-1-axis relative to z-axis of i-1th frame

Page 23: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Link offset, di-1, specifies the distance along the

zi-1-axis (rotated by i-1) of the ith frame from the

i-1th x-axis to the ith x-axis

Page 24: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Inverse Kinematics (IK)

Given end effector position, compute Given end effector position, compute required joint anglesrequired joint angles

In simple case, analytic solution existsIn simple case, analytic solution exists

• Use trig, geometry, and algebra to solveUse trig, geometry, and algebra to solve

Given end effector position, compute Given end effector position, compute required joint anglesrequired joint angles

In simple case, analytic solution existsIn simple case, analytic solution exists

• Use trig, geometry, and algebra to solveUse trig, geometry, and algebra to solve

Page 25: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

What is Inverse Kinematics?

Forward KinematicsForward KinematicsForward KinematicsForward Kinematics

Base

End Effector

?

Page 26: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

What is Inverse Kinematics?

Inverse KinematicsInverse KinematicsInverse KinematicsInverse Kinematics

Base

End Effector

Page 27: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

What does look like?

?

Base

End Effector

Page 28: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Solution to

Our exampleOur exampleOur exampleOur example

Number of equation : 2

Unknown variables : 3

Infinite number of solutions !

Page 29: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Redundancy

System DOF > End Effector DOF

Our example

System DOF = 3End Effector DOF = 2

Page 30: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

• Analytic solution of 2-link inverse kinematics

2

1

a1

a2

O2

O1

O0

x1

x0

x2

y1

y2

y0

(x,y)

2

22

221

22

22222

211

2

222

21

22

22222

21

22

21

2221

22

21

222122

21

22

21

22

2

22122

21

22

tan2

2

2

cos1

cos1

2tan

accuracygreater for

2cos

)cos(2

aayx

yxaa

aayx

yxaa

aayxaa

aayxaa

aa

aayx

aaaayx

Page 31: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Failures of simple IK

Multiple SolutionsMultiple SolutionsMultiple SolutionsMultiple Solutions

Page 32: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Failures of simple IK

Infinite solutionsInfinite solutionsInfinite solutionsInfinite solutions

Page 33: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Failures of simple IK

Solutions may not existSolutions may not existSolutions may not existSolutions may not exist

Page 34: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Iterative IK Solutions

Frequently analytic solution is infeasibleFrequently analytic solution is infeasible

Use Use JacobianJacobian• 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 outputIf y is function of three inputs and one output

Frequently analytic solution is infeasibleFrequently analytic solution is infeasible

Use Use JacobianJacobian• 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 outputIf y is function of three inputs and one output

33

22

11

321 ),,(

xx

fx

x

fx

x

fy

xxxfy

• Represent Jacobian, J(X), as a 1x3 matrix of partial Represent Jacobian, J(X), as a 1x3 matrix of partial derivativesderivatives

• Represent Jacobian, J(X), as a 1x3 matrix of partial Represent Jacobian, J(X), as a 1x3 matrix of partial derivativesderivatives

Page 35: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Jacobian

In another situation, In another situation,

end effector has 6 end effector has 6 DOFs and robotic DOFs and robotic arm has 6 DOFsarm has 6 DOFs

f(xf(x11, …, x, …, x66) = (x, y, z, ) = (x, y, z, r, p, y)r, p, y)

Therefore J(X) = 6x6 Therefore J(X) = 6x6 matrixmatrix

In another situation, In another situation,

end effector has 6 end effector has 6 DOFs and robotic DOFs and robotic arm has 6 DOFsarm has 6 DOFs

f(xf(x11, …, x, …, x66) = (x, y, z, ) = (x, y, z, r, p, y)r, p, y)

Therefore J(X) = 6x6 Therefore J(X) = 6x6 matrixmatrix

1

1

1

1

1

654321

x

fx

fx

fx

fx

fx

f

x

f

x

f

x

f

x

f

x

f

y

p

r

z

y

xxxxxx

Page 36: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Jacobian

Relates velocities in parameter space to Relates velocities in parameter space to velocities of outputsvelocities of outputs

If we know YIf we know Ycurrentcurrent and Y and Ydesireddesired, then we , then we subtract to compute Ysubtract to compute Ydotdot

Invert Jacobian and solve for XInvert Jacobian and solve for Xdotdot

Relates velocities in parameter space to Relates velocities in parameter space to velocities of outputsvelocities of outputs

If we know YIf we know Ycurrentcurrent and Y and Ydesireddesired, then we , then we subtract to compute Ysubtract to compute Ydotdot

Invert Jacobian and solve for XInvert Jacobian and solve for Xdotdot

XXJY )(

Page 37: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Turn to PDF slides

Slides from O’Brien and ForsythSlides from O’Brien and Forsyth

• CS 294-3: Computer GraphicsCS 294-3: Computer GraphicsStanfordStanfordFall 2001Fall 2001

Slides from O’Brien and ForsythSlides from O’Brien and Forsyth

• CS 294-3: Computer GraphicsCS 294-3: Computer GraphicsStanfordStanfordFall 2001Fall 2001

Page 38: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Differential Kinematics

Is Is JJ always invertible? No! always invertible? No!

• Remedy : Pseudo InverseRemedy : Pseudo Inverse

Is Is JJ always invertible? No! always invertible? No!

• Remedy : Pseudo InverseRemedy : Pseudo Inverse

Page 39: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Null space

The null space of J is the set of vectors The null space of J is the set of vectors which have no influence on the constraintswhich have no influence on the constraints

The pseudoinverse provides an operator The pseudoinverse provides an operator which projects any vector to the null space of Jwhich projects any vector to the null space of J

The null space of J is the set of vectors The null space of J is the set of vectors which have no influence on the constraintswhich have no influence on the constraints

The pseudoinverse provides an operator The pseudoinverse provides an operator which projects any vector to the null space of Jwhich projects any vector to the null space of J

0)( JJnullspace

zJJIxJ

xJ

)(

Page 40: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Utility of Null Space

The null space can be used to reach The null space can be used to reach secondary goalssecondary goals

Or to find comfortable positionsOr to find comfortable positions

The null space can be used to reach The null space can be used to reach secondary goalssecondary goals

Or to find comfortable positionsOr to find comfortable positions

)(min

)(

f

zJJIxJ

z

i

comfort iif 2))()(()(

Page 41: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Calculating Pseudo Inverse

Singular Value DecompositionSingular Value DecompositionSingular Value DecompositionSingular Value Decomposition

Page 42: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Redundancy

A redundant system has infinite number of A redundant system has infinite number of solutionssolutions

Human skeleton has 70 DOFHuman skeleton has 70 DOF

• Ultra-super redundantUltra-super redundant

How to solve highly redundant system?How to solve highly redundant system?

A redundant system has infinite number of A redundant system has infinite number of solutionssolutions

Human skeleton has 70 DOFHuman skeleton has 70 DOF

• Ultra-super redundantUltra-super redundant

How to solve highly redundant system?How to solve highly redundant system?

Page 43: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Redundancy Is Bad

Multiple choices for one goalMultiple choices for one goal

• What happens if we pick any of them?What happens if we pick any of them?

Multiple choices for one goalMultiple choices for one goal

• What happens if we pick any of them?What happens if we pick any of them?

Page 44: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Redundancy Is Good

We can exploit redundancyWe can exploit redundancy

Additional objectiveAdditional objective

• Minimal ChangeMinimal Change

• Similarity to Given ExampleSimilarity to Given Example

• NaturalnessNaturalness

We can exploit redundancyWe can exploit redundancy

Additional objectiveAdditional objective

• Minimal ChangeMinimal Change

• Similarity to Given ExampleSimilarity to Given Example

• NaturalnessNaturalness

Page 45: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Naturalness

Based on observation of natural human Based on observation of natural human posture posture

Neurophysiological experimentsNeurophysiological experiments

Based on observation of natural human Based on observation of natural human posture posture

Neurophysiological experimentsNeurophysiological experiments

Page 46: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Conflict Between Goals

base

ee 2ee 1

Page 47: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Conflict Between Goals

base

ee 2ee 1

Goal 1

Page 48: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Conflict Between Goals

base

ee 2

Goal 2

ee 1

Page 49: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Conflict Between Goals

base

ee 2ee 1

Goal 1Goal 2

Page 50: Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.

Conflict Between Goals

base

ee 2ee 1

Goal 1Goal 2