Animation CS 551 / 651

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

description

Animation CS 551 / 651. Kinematics Lecture 09. 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?. - PowerPoint PPT Presentation

Transcript of Animation CS 551 / 651

Page 1: Animation CS 551 / 651

AnimationCS 551 / 651

KinematicsKinematicsLecture 09Lecture 09

Sarcos Humanoid

Page 2: Animation CS 551 / 651

KinematicsThe 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

Degrees of Freedom(DOFs)The variables that affect an object’s The variables that affect an object’s

orientationorientationHow 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

Degrees of FreedomHow 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

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

Configuration Space

Page 6: Animation CS 551 / 651

Work Space vs. Configuration SpaceWork 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

More examplesA point on a planeA point on a planeA point in spaceA point in spaceA point moving on a A point moving on a

line in spaceline in space

Page 8: Animation CS 551 / 651

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

High DOF, no controlLow DOF, high control

Page 9: Animation CS 551 / 651

Hierarchical Kinematic ModelingA 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

Robot Parts/TermsLinksLinksEnd effectorEnd effectorFrameFrameRevolute JointRevolute JointPrismatic JointPrismatic Joint

Page 11: Animation CS 551 / 651

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

Page 12: Animation CS 551 / 651

Hierarchy RepresentationModel bodies (links) as nodes of a treeModel bodies (links) as nodes of a treeAll 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

Forward vs. Inverse KinematicsForward 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

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

Denavit-Hartenberg (DH) NotationA kinematic representation (convention) A kinematic representation (convention)

inherited from roboticsinherited from robotics

Page 16: Animation CS 551 / 651

Z-axis aligned with joint

Page 17: Animation CS 551 / 651

X-axis aligned with outgoing limb

Page 18: Animation CS 551 / 651

Y-axis is orthogonal

Page 19: Animation CS 551 / 651

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

Page 20: Animation CS 551 / 651

Parameter ai-1 is outgoinglimb length of joint Ui-1

Page 21: Animation CS 551 / 651

Joint angle, i, is rotation of xi-1 about zi-1 relative to xi

Page 22: Animation CS 551 / 651

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

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

Inverse Kinematics (IK)Given end effector position, compute Given end effector position, compute

required joint anglesrequired joint anglesIn 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

What is Inverse Kinematics?Forward KinematicsForward Kinematics

Base

End Effector

?

Page 26: Animation CS 551 / 651

What is Inverse Kinematics?Inverse KinematicsInverse Kinematics

Base

End Effector

Page 27: Animation CS 551 / 651

What does look like?

?

Base

End Effector

Page 28: Animation CS 551 / 651

Solution to Our exampleOur example

Number of equation : 2Unknown variables : 3

Infinite number of solutions !

Page 29: Animation CS 551 / 651

Redundancy

System DOF > End Effector DOF

Our example

System DOF = 3End Effector DOF = 2

Page 30: Animation CS 551 / 651

• 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

22

cos1cos1

2tan

accuracygreater for 2

cos

)cos(2

aayx

yxaa

aayxyxaa

aayxaaaayxaa

aaaayx

aaaayx

Page 31: Animation CS 551 / 651

Failures of simple IKMultiple SolutionsMultiple Solutions

Page 32: Animation CS 551 / 651

Failures of simple IKInfinite solutionsInfinite solutions

Page 33: Animation CS 551 / 651

Failures of simple IKSolutions may not existSolutions may not exist

Page 34: Animation CS 551 / 651

Iterative IK SolutionsFrequently analytic solution is infeasibleFrequently analytic solution is infeasibleUse 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 ),,(

xxfx

xfx

xfy

xxxfy

• 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

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

1

1

1

1

1

654321

xfxfxfxfxf

xf

xf

xf

xf

xf

xf

y

p

r

z

y

xxxxxx

Page 36: Animation CS 551 / 651

JacobianRelates 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

Turn to PDF slidesSlides from O’Brien and ForsythSlides from O’Brien and Forsyth• CS 294-3: Computer GraphicsCS 294-3: Computer Graphics

StanfordStanfordFall 2001Fall 2001

Page 38: Animation CS 551 / 651

Differential KinematicsIs Is JJ always invertible? No! always invertible? No!

• Remedy : Pseudo InverseRemedy : Pseudo Inverse

Page 39: Animation CS 551 / 651

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

0)( JJnullspace

zJJIxJ

xJ

)(

Page 40: Animation CS 551 / 651

Utility of Null SpaceThe 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

Calculating Pseudo InverseSingular Value DecompositionSingular Value Decomposition

Page 42: Animation CS 551 / 651

RedundancyA 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

Redundancy Is BadMultiple 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

Redundancy Is GoodWe 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

NaturalnessBased on observation of natural human Based on observation of natural human

posture posture Neurophysiological experimentsNeurophysiological experiments

Page 46: Animation CS 551 / 651

Conflict Between Goals

base

ee 2ee 1

Page 47: Animation CS 551 / 651

Conflict Between Goals

base

ee 2ee 1

Goal 1

Page 48: Animation CS 551 / 651

Conflict Between Goals

base

ee 2

Goal 2

ee 1

Page 49: Animation CS 551 / 651

Conflict Between Goals

base

ee 2ee 1

Goal 1Goal 2

Page 50: Animation CS 551 / 651

Conflict Between Goals

base

ee 2ee 1

Goal 1Goal 2