Title: Animation CS 551 651
1AnimationCS 551 / 651
Sarcos Humanoid
2Kinematics
- The study of object movements irrespective of
their speed or style of movement
3Degrees of Freedom(DOFs)
- The variables that affect an objects orientation
- How many degrees of freedom when flying?
- So the kinematics of this airplane permit
movement anywhere in three dimensions
- Six
- x, y, and z positions
- roll, pitch, and yaw
4Degrees of Freedom
- How about this robot arm?
- Six again
- 2-base, 1-shoulder, 1-elbow, 2-wrist
5Configuration Space
- The set of all possible positions (defined by
kinematics) an object can attain
6Work Space vs. Configuration Space
- Work space
- The space in which the object exists
- Dimensionality
- R3 for most things, R2 for planar arms
- Configuration space
- The space that defines the possible object
configurations - Degrees of Freedom
- The number of parameters that necessary and
sufficient to define position in configuration
7More examples
- A point on a plane
- A point in space
- A point moving on a line in space
8A matter of control
- If your animation adds energy at a particular
DOF, that is a controlled DOF
High DOF, no control
Low DOF, high control
9Hierarchical Kinematic Modeling
- A family of parent-child spatial relationships
are functionally defined - Moon/Earth/Sun movements
- Articulations of a humanoid
- Limb connectivity is built into model (joints)
and animation is easier
10Robot Parts/Terms
- Links
- End effector
- Frame
- Revolute Joint
- Prismatic Joint
11More Complex Joints
- 3 DOF joints
- Gimbal
- Spherical (doesnt possess singularity)
- 2 DOF joints
- Universal
12Hierarchy Representation
- Model bodies (links) as nodes of a tree
- All body frames are local (relative to parent)
- Transformations affecting root affect all
children - Transformations affecting any node affect all its
children
ROOT
13Forward vs. Inverse Kinematics
- Forward Kinematics
- Compute configuration (pose) given individual DOF
values - Good for simulation
- Inverse Kinematics
- Compute individual DOF values that result in
specified end effector position - Good for control
14Forward Kinematics
- Traverse kinematic tree and propagate
transformations downward - Use stack
- Compose parent transformation with childs
- Pop stack when leaf is reached
15Denavit-Hartenberg (DH) Notation
- A kinematic representation (convention) inherited
from robotics
16Z-axis aligned with joint
17X-axis aligned with outgoing limb
18Y-axis is orthogonal
19Joints are numbered to represent hierarchy Ui-1
is parent of Ui
20Parameter ai-1 is outgoinglimb length of joint
Ui-1
21Joint angle, qi, is rotation of xi-1 about zi-1
relative to xi
22Link twist, ai-1, is the rotation of ith z-axis
about xi-1-axis relative to z-axis of i-1th frame
23Link offset, di-1, specifies the distance along
the zi-1-axis (rotated by ai-1) of the ith frame
from the i-1th x-axis to the ith x-axis
24Inverse Kinematics (IK)
- Given end effector position, compute required
joint angles - In simple case, analytic solution exists
- Use trig, geometry, and algebra to solve
25What is Inverse Kinematics?
26What is Inverse Kinematics?
27What does look like?
28Solution to
Number of equation 2
Unknown variables 3
29Redundancy
- System DOF gt End Effector DOF
30- Analytic solution of 2-link inverse kinematics
x2
y2
(x,y)
O2
?2
y0
y1
a2
?2
x1
?
a1
O1
?
?1
x0
O0
31Failures of simple IK
32Failures of simple IK
33Failures of simple IK
34Iterative IK Solutions
- Frequently analytic solution is infeasible
- Use Jacobian
- Derivative 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 derivatives
35Jacobian
- In another situation, end effector has 6 DOFs
and robotic arm has 6 DOFs - f(x1, , x6) (x, y, z, r, p, y)
- Therefore J(X) 6x6 matrix
36Jacobian
- Relates velocities in parameter space to
velocities of outputs - If we know Ycurrent and Ydesired, then we
subtract to compute Ydot - Invert Jacobian and solve for Xdot
37Turn to PDF slides
- Slides from OBrien and Forsyth
- CS 294-3 Computer GraphicsStanfordFall 2001
38Differential Kinematics
- Is J always invertible? No!
- Remedy Pseudo Inverse
39Null 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
40Utility of Null Space
- The null space can be used to reach secondary
goals - Or to find comfortable positions
41Calculating Pseudo Inverse
- Singular Value Decomposition
42Redundancy
- A redundant system has infinite number of
solutions - Human skeleton has 70 DOF
- Ultra-super redundant
- How to solve highly redundant system?
43Redundancy Is Bad
- Multiple choices for one goal
- What happens if we pick any of them?
44Redundancy Is Good
- We can exploit redundancy
- Additional objective
- Minimal Change
- Similarity to Given Example
- Naturalness
45Naturalness
- Based on observation of natural human posture
- Neurophysiological experiments
46Conflict Between Goals
ee 2
ee 1
base
47Conflict Between Goals
Goal 1
ee 2
ee 1
base
48Conflict Between Goals
Goal 2
ee 2
ee 1
base
49Conflict Between Goals
Goal 2
Goal 1
ee 2
ee 1
base
50Conflict Between Goals
Goal 2
Goal 1
ee 2
ee 1
base