Kinematics
ILE5030 Computer Animation and Special Effects
2
Kinematics
The branch of mechanics concerned with the
motions of objects without regard to the forces
that cause the motion
Why kinematics?
Hierarchical articulated model
Posing a character
ILE5030 Computer Animation and Special Effects
3
Degrees of Freedom (DOF)
The minimum number of coordinates required to
specify completely the motion of an object
6 DOF: x, y, z, raw, pitch, yaw
pitch
roll
yaw
ILE5030 Computer Animation and Special Effects
4
Degrees of Freedom in Human Model
Root: 3 translational DOF + 3 rotational DOF
Rotational joints are commonly used
Each joint can have up to 3 DOF
Shoulder: 3 DOF
Wrist: 2 DOF
Knee: 1 DOF
1 DOF
3 DOF
ILE5030 Computer Animation and Special Effects
5
Revolute Joints
3 DOF joint
gimbal
ball and socket
2 DOF joint
universal
ILE5030 Computer Animation and Special Effects
6
Hierarchical Articulated Model
Represent an articulated figure as a series of links
connected by joints
Enforce limb connectivity in a tree

like structure
root
ILE5030 Computer Animation and Special Effects
7
Joint Space vs. Cartesian Space
Joint space
space formed by joint angles
position all joints
—
fine level control
Cartesian space
3D space
specify environment interactions
ILE5030 Computer Animation and Special Effects
8
1
2
P
P
Forward and Inverse Kinematics
Forward kinematics
mapping from joint space to cartesian space
Inverse kinematics
mapping from cartesian space to joint space
)
,
(
2
1
f
P
Forward Kinematics
)
(
,
1
2
1
P
f
Inverse Kinematics
ILE5030 Computer Animation and Special Effects
9
Forward and Inverse Kinematics (cont.)
Forward kinematics
rendering
Inverse kinematics
good for specifying environment interaction
good for controlling a character
—
fewer parameters
ILE5030 Computer Animation and Special Effects
10
Forward Kinematics
?
Base
End Effector
ILE5030 Computer Animation and Special Effects
11
Forward Kinematics by
Composing Transformations
End Effector
Relative rotation from the local coordinate of parent link to
the local coordinate of the child link
ILE5030 Computer Animation and Special Effects
12
Tree Traversal
T
1.1
T
1.2
T
2.1
T
2.2
T
0
M = I
M = T
0
M = T
0
*T
1.1
M = T
0
*T
1.1
*T
2.1
M = T
0
M = T
0
*T
1.2
M = T
0
*T
1.2
*T
2.2
M = T
0
*T
1.1
ILE5030 Computer Animation and Special Effects
13
Inverse Kinematics
Base
End Effector
=P
ILE5030 Computer Animation and Special Effects
14
Redundancy in IK
Our example
2 equations (constraints)
3 unknowns
Multiple solutions exist!
This is not uncommon!
see how you can move your elbow while keeping
your finger touching your nose
ILE5030 Computer Animation and Special Effects
15
Other problems in IK
Infinite solutions
ILE5030 Computer Animation and Special Effects
16
Other problems in IK
No solutions
ILE5030 Computer Animation and Special Effects
17
Why is IK hard?
Redundancy
Natural motion
joint limits
minimum jerk
style?
Singularities
ill

conditioned matrix
shown later
ILE5030 Computer Animation and Special Effects
18
Solving Inverse Kinematics
analytic method
inverse

Jacobian method
optimization

based method
example

based method
ILE5030 Computer Animation and Special Effects
19
Analytic Method
(X,Y)
L1
L2
1
2
Goal
ILE5030 Computer Animation and Special Effects
20
Analytic Method
(X,Y)
L1
L2
1
T
180

2
X
Y
x
2
y
2
ILE5030 Computer Animation and Special Effects
21
Cosine Law
A
B
C
a
AB
C
B
A
2
)
cos(
2
2
2
a
ILE5030 Computer Animation and Special Effects
22
Analytic Method
(X,Y)
L1
L2
1
T
180

2
X
Y
x
2
y
2
2
2
)
cos(
Y
X
X
T
2
2
1
cos
Y
X
X
T
2
2
1
2
2
2
2
2
1
1
2
)
cos(
Y
X
L
L
Y
X
L
T
T
Y
X
L
L
Y
X
L
)
2
(
cos
2
2
1
2
2
2
2
2
1
1
1
2
1
2
2
2
2
2
1
2
2
)
180
cos(
L
L
Y
X
L
L
)
2
(
cos
180
2
1
2
2
2
2
2
1
1
2
L
L
Y
X
L
L
ILE5030 Computer Animation and Special Effects
23
Inverse

Jacobian method
When linkage is complicated
Iteratively change the joint angles to approach
the goal position and orientation
ILE5030 Computer Animation and Special Effects
24
Jacobian
Jacobian is the
n
by
m
matrix relating differential
changes of
to
differential changes of
P
(
dP
)
Jacobian maps velocities in joint space to
velocities in cartesian space
P
f
)
(
dP
d
J
)
(
usually)
6
(
n
R
P
n
)
DOFs
(
m
R
m
j
i
ij
f
J
V
J
)
(
ILE5030 Computer Animation and Special Effects
25
An Example of Jacobian Matrix
ILE5030 Computer Animation and Special Effects
26
Linearize about
k
locally
Small increments
Iteratively Solving
)
(
1
P
f
)
(
J
V
V
J
)
(
1
V
tJ
k
k
k
)
(
1
1
P
P+dP
P
goal
ILE5030 Computer Animation and Special Effects
27
Jacobian may not be invertible!
Non

square matrix
pseudo inverse
Singularity
causes infinite joint velocities
occurs when any cannot achieve a given
V
ILE5030 Computer Animation and Special Effects
28
Pseudo Inverse of the Jacobian
V
J
J
J
J
J
V
J
J
J
J
J
V
J
J
V
T
T
T
T
T
T
1
1
)
(
)
(
J
(
J
T
J
)
1
J
T
J
T
(
J
J
T
)
1
ILE5030 Computer Animation and Special Effects
29
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
0
)
(
J
J
nullspace
z
I
J
J
V
J
V
J
)
(
ILE5030 Computer Animation and Special Effects
30
A solution of this form
…doesn’t affect the
desired configuration
But it can be used to bias
The solution vector
0
0
)
(
)
(
)
(
)
(
V
z
V
z
J
J
V
z
J
J
JJ
V
z
I
J
J
J
V
J
V
z
I
J
J
When put into this formula
Like this
After some manipulation,
you can show that it…
ILE5030 Computer Animation and Special Effects
31
Utility of Null Space
The null space can be used to reach
secondary goals
Or to find
natural
pos
e / control stiffness of joints
)
(
min
)
(
G
z
I
J
J
V
J
z
i
natural
i
i
i
G
2
))
(
)
(
(
)
(
a
ILE5030 Computer Animation and Special Effects
32
Optimization

based Method
Formulate IK as an nonlinear optimization problem
Example
Objective function
Constraint
Iterative algorithm
Nonlinear programming method by Zhao & Badler,
TOG 1994
ILE5030 Computer Animation and Special Effects
33
Objective Function
“distance” from the end effector to the goal
position/orientation
Function of joint angles : G(
)
Base
End Effector
Goal
distance
ILE5030 Computer Animation and Special Effects
34
Objective Function
Position Goal
Orientation Goal
Position/Orientation Goal
weighted sum
ILE5030 Computer Animation and Special Effects
35
Nonlinear Optimization
Constrained nonlinear optimization problem
Solution
standard numerical techniques
MATLAB or other optimization packages
usually a local minimum
depends on initial condition
joint limits
limb coordination
ILE5030 Computer Animation and Special Effects
36
Example

based Method
Utilize motion database to assist IK solving
IK using interpolation
Rose et al., “Artist

directed IK using radial basis function
interpolation,” Eurographics’01
ILE5030 Computer Animation and Special Effects
37
Example

based Method (cont.)
IK using constructed statistical model
Grochow et al., “Style

based inverse kinematics,”
SIGGRAPH’04
Provide the most likely pose based on given constraints
ILE5030 Computer Animation and Special Effects
38
Videos
“Style

based inverse kinematics”
ILE5030 Computer Animation and Special Effects
39
Assignment 1
Keyframing using different interpolation
approaches and orientation representations
Due at 11:59 PM on Oct 15 (Sun)
An ASF/AMC viewer is provided
No need to be panic on FK implementation!
See the course web for details
Quick tutorial given by TA on Thursday
ILE5030 Computer Animation and Special Effects
40
Notes on ASF/AMC format
Developed by Acclaim
ASF
skeleton file
defines tree hierarchy
defines rotation axes of a joint
represented in global coordinate
defines bone length
AMC
motion file
Euler angles
ILE5030 Computer Animation and Special Effects
41
Example Results
Comments 0
Log in to post a comment