rotation and orientation - seoul national...

Post on 17-Apr-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Rotation and Orientation:Fundamentals

Jehee LeeSeoul 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)

2D Orientation

0

2p

2p

-

p

p

-or

q

Polar Coordinates

2D Orientation

Although the motion is continuous, its representation could be discontinuous

0

2p

2p

-

p

p

-or

)(tq p

p-

q

Time

2D Orientation

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

0

2p

2p

-

p

p

-or

)(tq p

p-

q

Time

Extra Parameter

q

),( yx

X

Y 122 =+ yx

Extra Parameter

q

),( yx

X

Y 122 =+ yx

÷÷ø

öççè

æ -qqqq

cossinsincos

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

Complex Number

q

iyx +

Real

Imaginary

Complex Exponentiation

q

iyx +

Real

Imaginary

q

qqie

iiyx=

+=+ sincos

Rotation Composition

fqfq iii eee =+ )(

Real

Imaginary

fq +

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

q

pq 2-

2D Rotation and Orientation• 2D Rotation

– The consequence of any 2D rotational movement can be uniquely represented by a turning angle

– A turning angle is independent of the choice of the reference orientation

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

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

– The parameterization is dependent on the choice of the reference orientation

X

Y

Z

X ¢

Y ¢

Z ¢

3D Rotation

• Given two arbitrary orientations of a rigid object,

How many rotations do we need to transform one

orientation to the other ?

q

3D Rotation

• Given two arbitrary orientations of a rigid object,

we can always find a fixed axis of rotation and a rotation 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• Gimbal

– 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

• Gimbal lock– Coincidence of inner most

and outmost gimbals’ rotation axes

– Loss of degree of freedom

Rotation Vector

• Rotation vector (3 parameters)

• Axis-Angle (2+1 parameters)

q

),,(ˆ zyx== vv q)ˆ,( vq

anglescalar : runit vecto : ˆ

qv

3D Orientation• Unhappy with three parameters

– Euler angles• Discontinuity (or many-to-one correspondences)• Gimbal lock

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

pp-

Using an Extra Parameter

• Euler parameters

÷øö

çèæ=

úúú

û

ù

êêê

ë

é

÷øö

çèæ=

2sinˆ

2cos

3

2

1

0

q

q

veee

e

axisrotation :ˆ

anglerotation :

v

q

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

jikikjkjijkiijkkij

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

wzyxw

kzjyixw

==

+++=

12222 =+++ zyxw

3S

q

Rotation about an Arbitrary Axis

• Rotation about axis by angle

1-=¢ qpqp ),,,0( zyx=pwhere

),,( zyx),,( zyx ¢¢¢

Purely Imaginary Quaternion

v̂ q

÷øö

çèæ=

2sinˆ,

2cos qq vq

Unit Quaternion Algebra

• Identity

• Multiplication

• Inverse

• Unit quaternion space is– closed under multiplication and inverse,– but not closed under addition and subtraction

),(),)(,(

2112212121

221121

vvvvvvvvqq

´++×-==

wwwwww

)/(),,,()/(),,,(

2222

22221

zyxwzyxwzyxwzyxw

+++-=

+++---=-q

)0,0,0,1(=q

Unit Quaternion Algebra

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

– 2-to-1 mapping between S and SO(3)– Twice as fast as in SO(3)

)()( pp qq -= RR

3

Coordinate Free Concepts

• Orientation– Unit quaternions parameterize 3D orientations without

singularity• (Finite) Rotation

– Unit quaternions can represent 3D rotation, but– More convenient to use 3D vectors

• Infinitesimal Rotation– Can be represented by 3D vectors

Tangent Vector(Infinitesimal Rotation)

3SqT

q

Tangent Vector(Infinitesimal Rotation)

3SqT

q

1-q

Tangent Vector(Infinitesimal Rotation)

3SIT),,,( 0001=I

),,,( zyx0

qq !12 -=wAngular Velocity

Exp and Log

log exp

I

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

Exp and Log

log exp

I

)sinˆ,(cos)ˆexp()exp( qqq vvv == ÷øö

çèæ=

úúú

û

ù

êêê

ë

é

÷øö

çèæ=

2sinˆ

2cos

3

2

1

0

q

q

veee

e

Eulerparameters

Rotation Vector

1p

12 ppu -=

2p2q

)( 121

12

pppupp

-+=+=

1q3S3R

Rotation Vector

3S

211 qq-

111 qqI -=

1p

12 ppu -=

2p

)( 121

12

pppupp

-+=+=

3R

Rotation Vector

211 qq-

111 qqI -=

( )( )2111

12

logexp

)exp(

qqqvqq

-=

=

( )211log qqv -=

1p

12 ppu -=

2p

)( 121

12

pppupp

-+=+=

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

tt-1

))(logexp(t

)(),(slerp

2111

211121

qqqqqqqq

-

-

×=

= tt

Spherical Linear Interpolation

))(logexp(t

)(),(slerp

2111

211121

qqqqqqqq

-

-

×=

= tt

Coordinate-Invariant Operations

Adding Rotation Vectors

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

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

• In practice, conversion is not simple because of different conventions

• Quaternion to Matrix

÷÷÷÷÷

ø

ö

ççççç

è

æ

+--+---+-++---+

=

1000022220222202222

2222000

02222

00

002222

0

zyxxzyyzx

xzyzyxzyx

yzxzyxzyx

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

R

top related