Kinematics primer
This presentation is the property of its rightful owner.
Sponsored Links
1 / 42

Kinematics ( 運動學) Primer PowerPoint PPT Presentation


  • 48 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Kinematics ( 運動學) Primer

An Image/Link below is provided (as is) to download presentation

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

Ex: Two-Link Arm (2D)


Tip pos:(0,8)

Rot(z,45)

Tr(0,6)

Rot(z,30)

Ex: Two-Link Arm

Tip Position:

T for link1:

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

T for link2:

Rot(z,45)


y”

y’”

y’

x”

x”’

x’

Rot(z”,30)

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

Tr(0,6’)

Rot(z,45)

Ex: Two-Link Arm

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.)

    • follow right-handed rule

  • 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)


About y axis

Rodrigues formula

About any axis

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

Rotation (about principal axes)

Translation

Scaling


Translation (math)


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

Addition

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°)


Example (cont)


y,x’

x

y’

z,z’

Example

y

x,x’

z,y’

z’


Matrix Conversion


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


  • Login