Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.

Post on 04-Jan-2016

217 views 2 download

Tags:

Transcript of Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.

Rotation and Orientation:Fundamentals

Jehee Lee

Seoul National University

What is Rotation ?

• Not intuitive– Formal definitions are also confusing

• Many different ways to describe– Rotation (direction cosine) matrix– Euler angles– Axis-angle– Rotation vector– Helical angles– Unit quaternions

Orientation vs. Rotation

• Rotation– Circular movement

• Orientation– The state of being oriented– Given a coordinate system, the orientation of an

object can be represented as a rotation from a reference pose

Analogy

(point : vector) is similar to (orientation : rotation)

Both represent a sort of (state : movement)

Reference coordinate system

Analogy

(point : vector) is similar to (orientation : rotation)

Both represent a sort of (state : movement)

Reference coordinate system

point : the 3d location of the bunnyvector : translational movement

Analogy

(point : vector) is similar to (orientation : rotation)

Both represent a sort of (state : movement)

Reference coordinate system

point : the 3d location of the bunnyvector : translational movement

orientation : the 3d orientation of the bunnyrotation : circular movement

2D Orientation

0

2

2

or

Polar Coordinates

2D Orientation

Although the motion is continuous, its representation could be discontinuous

0

2

2

or

)(t

Time

2D Orientation

Many-to-one correspondences between 2D orientations and their representations

0

2

2

or

)(t

Time

Extra Parameter

),( yx

X

Y122 yx

Extra Parameter

),( yx

X

Y122 yx

cossin

sincos

2x2 Rotation matrix is yet another method of using extra parameters

Complex Number

iyx

Real

Imaginary

Complex Exponentiation

iyx

Real

Imaginary

ie

iiyx

sincos

2D Rotation

• Complex numbers are good for representing 2D orientations, but inadequate for 2D rotations

• A complex number cannot distinguish different rotational movements that result in the same final orientation

– Turn 120 degree counter-clockwise– Turn -240 degree clockwise– Turn 480 degree counter-clockwise

Real

Imaginary

2

2D Rotation and Orientation

• 2D Rotation– The consequence of any 2D rotational movement can be

uniquely represented by a turning angle

• 2D Orientation– The non-singular parameterization of 2D orientations requires

extra parameters• Eg) Complex numbers, 2x2 rotation matrices

Operations in 2D

• (orientation) : complex number• (rotation) : scalar value• exp(rotation) : complex number

2D Rotation and Displacement

iyxc 1

Real

Imaginary

2D Rotation and Displacement

iyxc 1

Real

Imaginary

i

i

ecc

or

ecc

2

11

12

2c

2D Orientation Composition

Real

Imaginary

1c2c

)(21 undefinedcc

2D Rotation Composition

iii eee )(

Real

Imaginary

Analogy

X

Y

Z

X

Y

Z

3D Rotation

• Given two arbitrary orientations of a rigid object,

3D Rotation

• We can always find a fixed axis of rotation and an angle about the axis

Euler’s Rotation Theorem

In other words,• Arbitrary 3D rotation equals to one rotation

around an axis• Any 3D rotation leaves one vector unchanged

The general displacement of a rigid body withone point fixed is a rotation about some axis

Leonhard Euler (1707-1783)

Euler angles

• Gimble– Hardware implementation of

Euler angles– Aircraft, Camera

Euler Angles

• Rotation about three orthogonal axes– 12 combinations

• XYZ, XYX, XZY, XZX

• YZX, YZY, YXZ, YXY

• ZXY, ZXZ, ZYX, ZYZ

• Gimble lock– Coincidence of inner most

and outmost gimbles’ rotation axes

– Loss of degree of freedom

Euler Angles

• Euler angles are ambiguous– Two different Euler angles can represent the same

orientation

– This ambiguity brings unexpected results of animation where frames are generated by interpolation.

),2

,0 and )0,2

, 21 (R(θ),r,r(rR zyx

Ranges

• Euler angles in ZXZ– Z-axis by – X’-axis by – Z’’-axis by

Dependence

• Compare– Rotation about z-axis by 180 degree– Rotation about y-axis by 180 degree, followed by

another rotation about x-axis by 180 degree

• Rotations about x-, y-, and z-axes are dependent

Rotation Vector

• Rotation vector (3 parameters)

• Axis-Angle (2+1 parameters)

),,(ˆ zyx vv )ˆ,( v

anglescalar :

runit vecto : ˆ

v

3D Orientation

• Unhappy with three parameters – Euler angles

• Discontinuity (or many-to-one correspondences)• Gimble lock

– Rotation vector (a.k.a Axis/Angle)• Discontinuity (or many-to-one correspondences)

Using an Extra Parameter

• Euler parameters

2sinˆ

2cos

3

2

1

0

v

e

e

e

e

axisrotation :ˆ

anglerotation :

v

Quaternions

• William Rowan Hamilton (1805-1865)– Algebraic couples (complex number) 1833

iyx 12 iwhere

Quaternions

• William Rowan Hamilton (1805-1865)– Algebraic couples (complex number) 1833

– Quaternions 1843

iyx 12 iwhere

kzjyixw

jikikjkji

jkiijkkij

ijkkji

,,

,,

1222where

Quaternions

William Thomson“… though beautifully ingenious, have been an

unmixed evil to those who have touched them in any way.”

Arthur Cayley“… which contained everything but had to be

unfolded into another form before it could be understood.”

Unit Quaternions

• Unit quaternions represent 3D rotations

),(

),,,(

v

q

w

zyxw

kzjyixw

12222 zyxw

3S

Rotation about an Arbitrary Axis

• Rotation about axis by angle

1 qpqp ),,,0( zyxpwhere

),,( zyx

),,( zyx

Purely Imaginary Quaternion

2sinˆ,

2cos

vq

Unit Quaternion Algebra

• Identity

• Multiplication

• Inverse

– Opposite axis or negative angle

• Unit quaternion space is– closed under multiplication and inverse,

– but not closed under addition and subtraction

),(

),)(,(

2112212121

221121

vvvvvv

vvqq

wwww

ww

)/(),,,(

)/(),,,(2222

22221

zyxwzyxw

zyxwzyxw

q

)0,0,0,1(q

Unit Quaternion Algebra

• Antipodal equivalence– q and –q represent the same rotation

– ex) rotation by about opposite direction– 2-to-1 mapping between S and SO(3)– Twice as fast as in SO(3)

)()( pp qq RR

3

3D Orientations and Rotations

Orientations and rotations are different in coordinate-invariant geometric programming

Use unit quaternions for orientation representation– 3x3 orthogonal matrix is theoretically identical

Use 3-vectors for rotation representation

Tangent Vector(Infinitesimal Rotation)

3SqT

q

Tangent Vector(Infinitesimal Rotation)

3SqT

q

1q

Tangent Vector(Infinitesimal Rotation)

3SIT

),,,( 0001I

),,,( zyx0

qq 1

2

1

Angular Velocity

Exp and Log

log exp

I

)sinˆ,(cos)ˆexp()exp( vvv

Exp and Log

log exp

I

)sinˆ,(cos)ˆexp()exp( vvv

2sinˆ

2cos

3

2

1

0

v

e

e

e

e

Eulerparameters

Rotation Vector

1p

12 ppu

2p

2q

)( 121

12

ppp

upp

1q3S3R

21

11

12

logexp

)exp(

qqq

vqq

Rotation Vector

3S

21

1 qq

11

1 qqI 1p

12 ppu

2p

)( 121

12

ppp

upp

3R

21

11

12

logexp

)exp(

qqq

vqq

Rotation Vector

21

1 qq

11

1 qqI

21

11

12

logexp

)exp(

qqq

vqq

21

1log qqv

1p

12 ppu

2p

)( 121

12

ppp

upp

3R

Rotation Vector

• Finite rotation– Eg) Angular displacement– Be careful when you add two rotation vectors

• Infinitesimal rotation– Eg) Instantaneous angular velocity– Addition of angular velocity vectors are meaningful

vuvu eee

Spherical Linear Interpolation

• SLERP [Shoemake 1985]– Linear interpolation of two orientations

t

t1

))(logexp(t

)(),(slerp

21

11

21

1121

qqq

qqqqq

tt

Spherical Linear Interpolation

))(logexp(t

)(),(slerp

21

11

21

1121

qqq

qqqqq

tt

Coordinate-Invariant Operations

Adding Rotation Vectors

Affine Combination of Orientations

Analogy

• (point : vector) is similar to (orientation : rotation)

Rotation Matrix vs. Unit Quaternion

• Equivalent in many aspects– Redundant, No singularity– Exp & Log, Special tangent space

• Why quaternions ?– Fewer parameters, Simpler algebra– Easy to fix numerical error

• Cf) matrix orthogonalization (Gram-shmidt process, QR, SVD decomposition)

• Why rotation matrices ?– One-to-one correspondence– Handle rotation and translation in a uniform way

• Eg) 4x4 homogeneous matrices

Rotation Conversions

• In theory, conversion between any representations is always possible

• In practice, conversion is not straightward because of difference in convention

• Quaternion to Matrix

1000

02222

02222

02222

2222000

02222

00

002222

0

zyxxzyyzx

xzyzyxzyx

yzxzyxzyx

qqqqqqqqqqqq

qqqqqqqqqqqq

qqqqqqqqqqqq

R