Download presentation
Presentation is loading. Please wait.
1
Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid
2
Kinematics The study of object movements irrespective of their speed or style of movement
3
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
4
Degrees of Freedom How about this robot arm? Six again 2-base, 1-shoulder, 1-elbow, 2-wrist
5
The set of all possible positions (defined by kinematics) an object can attain Configuration Space
6
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
7
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
8
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
9
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
10
Robot Parts/Terms Links End effector Frame Revolute Joint Prismatic Joint Links End effector Frame Revolute Joint Prismatic Joint
11
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
12
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
13
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
14
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
15
Denavit-Hartenberg (DH) Notation A kinematic representation (convention) inherited from robotics
16
Z-axis aligned with joint
17
X-axis aligned with outgoing limb
18
Y-axis is orthogonal
19
Joints are numbered to represent hierarchy U i-1 is parent of U i
20
Parameter a i-1 is outgoing limb length of joint U i-1
21
Joint angle, i, is rotation of x i-1 about z i-1 relative to x i
22
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
23
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
24
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
25
What is Inverse Kinematics? Forward Kinematics Base End Effector ?
26
What is Inverse Kinematics? Inverse Kinematics Base End Effector
27
What does look like? ? Base End Effector
28
Solution to Our example Number of equation : 2 Unknown variables : 3 Infinite number of solutions !
29
Redundancy System DOF > End Effector DOF Our example System DOF = 3 End Effector DOF = 2
30
Analytic solution of 2-link inverse kinematics 22 11 a1a1 a2a2 O2O2 O1O1 O0O0 x1x1 x0x0 x2x2 y1y1 y2y2 y0y0 (x,y) 22
31
Failures of simple IK Multiple Solutions
32
Failures of simple IK Infinite solutions
33
Failures of simple IK Solutions may not exist
34
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
35
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
36
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
37
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
38
Differential Kinematics Is J always invertible? No! Remedy : Pseudo InverseRemedy : Pseudo Inverse Is J always invertible? No! Remedy : Pseudo InverseRemedy : Pseudo Inverse
39
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
40
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
41
Calculating Pseudo Inverse Singular Value Decomposition
42
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?
43
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?
44
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
45
Naturalness Based on observation of natural human posture Neurophysiological experiments Based on observation of natural human posture Neurophysiological experiments
46
Conflict Between Goals base ee 2 ee 1
47
Conflict Between Goals base ee 2 ee 1 Goal 1
48
Conflict Between Goals base ee 2 Goal 2 ee 1
49
Conflict Between Goals base ee 2 ee 1 Goal 1 Goal 2
50
Conflict Between Goals base ee 2 ee 1 Goal 1 Goal 2
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.