Translations, rotations and homogeneous coordinates Basilio Bona - - PowerPoint PPT Presentation

translations rotations and homogeneous coordinates
SMART_READER_LITE
LIVE PREVIEW

Translations, rotations and homogeneous coordinates Basilio Bona - - PowerPoint PPT Presentation

Translations, rotations and homogeneous coordinates Basilio Bona DAUIN Politecnico di Torino Semester 1, 2016-17 B. Bona (DAUIN) Roto-translations Semester 1, 2016-17 1 / 12 Translations Translations are rigid displacements that move


slide-1
SLIDE 1

Translations, rotations and homogeneous coordinates

Basilio Bona

DAUIN – Politecnico di Torino

Semester 1, 2016-17

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 1 / 12

slide-2
SLIDE 2

Translations

Translations are rigid displacements that move the origin at another point in space, keeping the axes of the new reference frame parallel to the old

  • nes.

Translab : Ra(O,i,j,k) ⇒ Rb(O′,i,j,k) where − − → OO′ = ta

b is the translation vector represented in Ra.

Composition of rotations is simply a vector sum ta

c = ta b +tb c

Inverse of rotations is simply its negate Transl−1

ab = −ta b

written as tb

a

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 2 / 12

slide-3
SLIDE 3

Example

Figure: Translation.

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 3 / 12

slide-4
SLIDE 4

Roto-translations

Rotations are represented by matrices, translations by vectors. it is possible to use a unique representation for roto-translations using the homogeneous representation of vectors v =   p1 p2 p3   ⇔

  • v def

=    p1 p2 p3 1    Roto-translations are then represented by a 4×4 matrix, called the homogeneous transformation matrix that contains both the rotation matrix Ra

b and the translation vector ta b

Ta

b def

=

  • Ra

b

ta

b

0T 1

  • where

0T def =

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 4 / 12

slide-5
SLIDE 5

Roto-translations

Pure translation Transl(t) def = I t 0T 1

  • Pure rotation

Rot(R) def = R 0T 1

  • Inverse

T−1 =

  • RT

−RTt 0T 1

  • According to the ”pre-fix, post-mobile” rule, a roto-translation can be

factored as the product of a translation followed by a rotation around the mobile axes, or a rotation followed by a translation along the fixed axes Transl(t)·Rot(R) = I t 0T 1 R 0T 1

  • =

R t 0T 1

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 5 / 12

slide-6
SLIDE 6

Roto-translations

Using the homogeneous transformation T one can transform both geometrical vectors (points) and physical vectors Geometrical vectors as pb pb → pb → pa = Ta

b

pb → pa

  • r
  • pa

1

  • =
  • Ra

b

ta

b

0T 1

  • pb

1

  • =
  • Ra

bpb +ta b

1

  • hence

pa = Ra

bpb +ta b

Physical vectors as vb = − → QPb = (pb −qb) pa = Ra

bpb +ta b −Ra bqb −ta b = Ra b(pb −qb) = Ra bvb

Physical vectors are only rotated by the homogeneous transformation.

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 6 / 12

slide-7
SLIDE 7

Rigid Body Representation

A rigid body B can be represented by a reference frame RB associated to it, called ”body frame”. We call pose of a rigid body the set of parameters that uniquely define its position and orientation (attitude) in R3. The pose can be obtained from the homogeneous transformation T0

B

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 7 / 12

slide-8
SLIDE 8

Body Pose

There are sixteen elements in T0

B =

  • R0

B

t0

B

0T 1

  • , but only six are

independent: three elements of the translation vector and three elements

  • ut of nine of the rotation matrix.

The body pose is formally defined as p(t) def =         p1(t) p2(t) p3(t) p4(t) p5(t) p6(t)         =         x1(t) x2(t) x3(t) α1(t) α2(t) α3(t)         =

  • x(t)

α(t)

  • x is a geometrical vector while α cannot be considered a vector since

vector operations are meaningless.

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 8 / 12

slide-9
SLIDE 9

From pose to homogeneous matrix

Given the pose one can compute the homogeneous matrix as follows: gE(α) is the function that computes the matrix R from the Euler angles, the RPY angles, the quaternions, etc., according to the user choice.

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 9 / 12

slide-10
SLIDE 10

From homogeneous matrix to pose

Given the homogeneous matrix we compute the pose as extracting the elements from T: gE(α)−1 is the function that computes the Euler angles, the RPY angles, the quaternions, etc., (according to the user choice) from the matrix R.

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 10 / 12

slide-11
SLIDE 11

Example 1

Given the pose p =

  • x

α

  • where x =

  1 −2 3   α =   45 90 45   the associated homogeneous transformation matrix is T =    r11 r12 r13 1 r21 r22 r23 −2 r31 r32 r33 3 1    where the elements rij of the rotation matrix depend on the chosen representation REul =    0.5 −0.5

√ 2 2

0.5 −0.5 −

√ 2 2 √ 2 2 √ 2 2

   RRPY =   1 1 −1  

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 11 / 12

slide-12
SLIDE 12

Example 2

Given the roto-translation R =  

√ 2 2 √ 2 2

1 −

√ 2 2 √ 2 2

  t =   2 4 6   the associated homogeneous transformation matrix is T =    

√ 2 2 √ 2 2

2 1 4 −

√ 2 2 √ 2 2

6 1     and the pose is x =   2 4 6   αEul =   90 45 −90   αRPY =   45   αquat =    0.9239 0.3827    αu,θ =    1 45   

  • B. Bona (DAUIN)

Roto-translations Semester 1, 2016-17 12 / 12