PPT

doutfanaticalΜηχανική

14 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

53 εμφανίσεις

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