Kinematics ( ???) Primer

1 / 42

# Kinematics ( ???) Primer - PowerPoint PPT Presentation

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.

## PowerPoint Slideshow about 'Kinematics ( ???) Primer' - donnan

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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### 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

3D Kinematics
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

Weird Interpolation …

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

Rodrigues formula

y,y’

x’

x

z

z’

Rotation Matrix
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’

Rotation Matrix

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: ?

Rotation Matrix (cont)
Gram-Schmidt Orthogonalization
• If 3x3 rotation matrix no longer orthonormal, metric properties might change!

Verify!

Transformation Matrices

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

Quaternion (cont)
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’

Example

p(2,1,1)

Rot(z,90°)

y,x’

x

y’

z,z’

Example

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