# Kinematics ( 運動學) Primer - PowerPoint PPT Presentation

1 / 42

Kinematics ( 運動學) Primer. Jyun-Ming Chen Fall 2009. Contents. General Properties of Transform 2D and 3D Rigid Body Transforms DOF (degree of freedom) Representation Computation Conversion … Transforms for Hierarchical Objects. Explain these concepts via 2D translation

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Kinematics ( 運動學) Primer

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## Kinematics (運動學) Primer

Jyun-Ming Chen

Fall 2009

### Contents

• General Properties of Transform

• 2D and 3D Rigid Body Transforms

• DOF (degree of freedom)

• Representation

• Computation

• Conversion

• Transforms for Hierarchical Objects

Explain these concepts via 2D translation

Verify that the same holds for rotation, 3D, …

### Kinematic Modeling

• Two interpretations of transform

• “Global”:

• An operator that “displaces” a point (or set of points) to desired location

• “Local”:

• specify where objects are placed in WCS by moving the local frame

y

p

x

### Ex: 2D translation (move point)

The transform, as an operator, takes

p to p’, thus changing the coordinate

of p:

Tr(t) p = p’

p’

Tr(t)

y’

y

p’

p

x’

x

### Ex: 2D translation (move frame)

The transform moves the xy-frame to

x’y’-frame and the point is placed

with the same local coordinate.

To determine the corresponding position of p’ in xy-frame:

Tr(t)

Transforms are usually not commutable

TaTb p  TbTa p (in general)

Rigid body transform:

the ones preserving the shape

Two types:

rotation rot(n,q)

translation tr(t)

### Properties of Transform

Rotation axis n passes thru origin

### Rigid Body Transform

• transforming a point/object

• rot(n,q) p; tr(t) p

• not commutable

• rot(n,q) tr(t) p  tr(t) rot(n,q) p

• two interpretations (local vs. global axes, see next pages)

### Hierarchical Objects

• For modeling articulated objects

• Robots, mechanism, …

• Goals:

• Draw it

• Given the configuration, able to compute the (global) coordinate of every point on body

Configuration

Link 1: Box (6,1); bend 45 deg

Link 2: Box (8,1); bend 30 deg

Goals:

Draw it

find tip position

y

x

y

x

Tip pos:(0,8)

Rot(z,45)

Tr(0,6)

Rot(z,30)

Tip Position:

Rot(z,45) Tr(0,6) Rot(z,30)

Rot(z,45)

y”

y’”

y’

x”

x”’

x’

Rot(z”,30)

Tip pos:(0’”,8’”)

Tr(0,6’)

Rot(z,45)

Thus, two views are equivalent

The latter might be easier to

visualize.

Rigid body transform only consists of

Tr(x,y)

Rot(z,q)

Computation:

3x3 matrix is sufficient to realize Tr and Rot

### 2D Kinematics

Consists of two parts

3D rotation

3D translation

The same as 2D

3D rotation is more complicated than 2D rotation (restricted to z-axis)

Next, we will discuss the treatment for spatial (3D) rotation

### DOF (degree of freedom)

• … of a system of moving bodies is the number of independent variables required to specify the configuration

• … is closely related to kinematic representation

• (# of independent variables) = (# of total variables) ̶ (# of equality constraints)

A particle in

R2

R3

A rigid body in

R2

R3

### DOF of …

3

2

6

3

a line in R2

a line in R3

a plane in R3

2

4 (Plucker coordinates)

3

Euler angles

Axis-angle

3X3 rotation matrix

Unit quaternion

Learning Objectives

Representation (uniqueness)

Perform rotation

Composition

Interpolation

Conversion among representations

### 3D Rotation Representations

Roll, pitch, yaw

Gimbal lock: reduced DOF due to overlapping axes

### Euler Angles

Ref: http://www.fho-emden.de/~hoffmann/gimbal09082002.pdf

Previous

[-26, -90, 127]

Next

[71, 68, -105]

### Axis-Angle Representation

• Rot(n,q)

• n: rotation axis (global)

• q: rotation angle (rad. or deg.)

• Rot(n,q)=Rot (-n,-q)

• Problem with null rotation: rot(n,0), any n

• Perform rotation

• Rodrigues formula (next page)

• Interpolation/Composition: poor

• Rot(n2,q2)Rot(n1,q1) =?= Rot(n3,q3)

a

### Rodrigues Formula

r : unit vector (axis)

r

This is the “cross-product matrix”

rL v = r  v

v

v’

v’=R v

References:

http://mesh.caltech.edu/ee148/notes/rotations.pdf

http://www.cs.berkeley.edu/~ug/slide/pipeline/assignments/as5/rotation.html

z

### Rotation Matrix (xy plane)

Rodrigues formula

y,y’

x’

x

z

z’

### Supplemental (rotation matrix & axis-angle)

Rot (a, q)  Q

Q  Rot (a, q)

Ref: url (local)

Three columns of R: the transformed bases

Perform rotation:

x’ = Rx

y,y’

x’

x

z

z’

y

y

x

x

z

z

### Rotation Matrix (example)

z’

x’

z’

y’

x’

y’

Composition: trivial

orthogonalization might be required due to FP errors

Interpolation: ?

### Gram-Schmidt Orthogonalization

• If 3x3 rotation matrix no longer orthonormal, metric properties might change!

Verify!

v = Hu

Translation

Scaling

y

y

x

z

t

x

R

z

### Frame

Object coordinates

Recall how we did the spotlight beam!

i

k

j

### Quaternion

• A mathematical entity invented by Hamilton

• Definition

Operators

Multiplication

Conjugate

Length

### Unit Quaternion

• Define unit quaternion as follows to represent rotation

• Example

• Rot(z,90°)

• q and –q represent the same rotation

• Null rotation: q = [1,0,0,0]

Why “unit”?

DOF point of view!

y

x

z

### Example

x

y

z

Rot (90, 0,0,1) OR Rot (-90,0,0,-1)

### Unit Quaternion (cont)

• Perform Rotation

• Composition

• Interpolation

• Linear

• Spherical linear (slerp, more later)

y,x’

x

y’

z,z’

p(2,1,1)

Rot(z,90°)

y,x’

x

y’

z,z’

y

x,x’

z,y’

z’

### Matrix Conversion (cont)

Find largest qi2; solve the rest

q

r

### Spherical Linear Interpolation

unit sphere in R4

The computed rotation quaternion rotates about a fixed axis at constant speed

References:

http://www.gamedev.net/reference/articles/article1095.asp

http://www.diku.dk/research-groups/image/teaching/Studentprojects/Quaternion/

http://www.sjbrown.co.uk/quaternions.html

http://www.theory.org/software/qfa/writeup/node12.html

### Spatial Displacement

• Any displacement can be decomposed into a rotation followed by a translation

• Matrix

• Quaternion