animation cs 551 / 651
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 PresentationTRANSCRIPT
AnimationCS 551 / 651
KinematicsKinematicsLecture 09Lecture 09
Sarcos Humanoid
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
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
Degrees of FreedomHow about this robot arm?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 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
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
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
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
Robot Parts/TermsLinksLinksEnd effectorEnd effectorFrameFrameRevolute JointRevolute JointPrismatic JointPrismatic Joint
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
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
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
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
Denavit-Hartenberg (DH) NotationA kinematic representation (convention) A kinematic representation (convention)
inherited from roboticsinherited from robotics
Z-axis aligned with joint
X-axis aligned with outgoing limb
Y-axis is orthogonal
Joints are numbered to represent hierarchy Ui-1 is parent of Ui
Parameter ai-1 is outgoinglimb length of joint Ui-1
Joint angle, i, is rotation of xi-1 about zi-1 relative to xi
Link twist, i-1, is the rotation of ith z-axis about xi-1-axis relative to z-axis of i-1th frame
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
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
What is Inverse Kinematics?Forward KinematicsForward Kinematics
Base
End Effector
?
What is Inverse Kinematics?Inverse KinematicsInverse Kinematics
Base
End Effector
What does look like?
?
Base
End Effector
Solution to Our exampleOur example
Number of equation : 2Unknown variables : 3
Infinite number of solutions !
Redundancy
System DOF > End Effector DOF
Our example
System DOF = 3End Effector DOF = 2
• 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
Failures of simple IKMultiple SolutionsMultiple Solutions
Failures of simple IKInfinite solutionsInfinite solutions
Failures of simple IKSolutions may not existSolutions may not exist
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
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
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 )(
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
Differential KinematicsIs Is JJ always invertible? No! always invertible? No!
• Remedy : Pseudo InverseRemedy : Pseudo Inverse
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
)(
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))()(()(
Calculating Pseudo InverseSingular Value DecompositionSingular Value Decomposition
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?
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?
Redundancy Is GoodWe can exploit redundancyWe can exploit redundancy
Additional objectiveAdditional objective• Minimal ChangeMinimal Change
• Similarity to Given ExampleSimilarity to Given Example
• NaturalnessNaturalness
NaturalnessBased on observation of natural human Based on observation of natural human
posture posture Neurophysiological experimentsNeurophysiological experiments
Conflict Between Goals
base
ee 2ee 1
Conflict Between Goals
base
ee 2ee 1
Goal 1
Conflict Between Goals
base
ee 2
Goal 2
ee 1
Conflict Between Goals
base
ee 2ee 1
Goal 1Goal 2
Conflict Between Goals
base
ee 2ee 1
Goal 1Goal 2