(angoli di Eulero e roll-pitch-yaw) Trasformazioni omogeneedeluca/rob1/08_EuleroRPYOmogenee.pdf ·...

13
Robotica 1 1 Corso di Robotica 1 Rappresentazioni alternative dell’orientamento (angoli di Eulero e roll-pitch-yaw) Trasformazioni omogenee Prof. Alessandro De Luca

Transcript of (angoli di Eulero e roll-pitch-yaw) Trasformazioni omogeneedeluca/rob1/08_EuleroRPYOmogenee.pdf ·...

Robotica 1 1

Corso di Robotica 1

Rappresentazioni alternative dell’orientamento

(angoli di Eulero e roll-pitch-yaw) Trasformazioni omogenee

Prof. Alessandro De Luca

Rappresentazioni “minimali”

  matrici di rotazione: 9 elementi - 3 relazioni ortogonalità - 3 relazioni unitarietà = 3 grandezze indipendenti

  sequenza di 3 rotazioni intorno ad assi indipendenti   fissi (ai) o mobili (a’i)   12 + 12 sequenze possibili distinte (ad es., XYX)   di fatto solo 12 perché

{(a1 α1), (a2 α2), (a3 α3)} ≡ { (a’3 α3) , (a’2 α2), (a’1 α1)}

problema inverso

pro

blem

a di

rett

o

Robotica 1 2

x’’

y’’

z’’≡z’’’

x’’’

y’’’

ψ

ψ

cos ψ - sin ψ 0 sin ψ cos ψ 0 0 0 1

Rz” (ψ) =

Angoli di Eulero ZX’Z’’

x

z≡z’

y

x’

y’ φ

φ

cos φ - sin φ 0 sin φ cos φ 0 0 0 1

Rz(φ) =

y’ θ

θ

x’≡x’’

y’’

z’ z’’

Rx’(θ) =

1 0 0 0 cos θ -sin θ 0 sin θ cos θ

SR SR’

SR”

SR”’

1 2

3

Robotica 1 3

Angoli di Eulero ZX’Z’’

  Problema diretto: dati φ , θ , ψ ; ricavare R

RZX’Z’’ (φ, θ, ψ) = RZ (φ) RX’ (θ) RZ’’ (ψ)

  dato un vettore v”’= (x”’,y”’,z”’) espresso in SR”’ le sue coordinate in SR sono date da

v = RZX’Z’’ (φ, θ, ψ) v”’

  l’orientamento di SR”’ è lo stesso che si avrebbe con la sequenza di rotazioni:

ψ intorno a z, θ intorno a x (fisso), φ intorno a z (fisso)

cφ cψ - sφ cθ sψ - cφ sψ - sφ cθ cψ sφ sθ sφ cψ + cφ cθ sψ - sφ sψ - cφ cθ cψ - cφ sθ sθ sψ sθ cψ cθ

= ordine di definizione della concatenazione

Robotica 1 4

Angoli di Eulero ZX’Z’’

  Problema inverso: data R = {rij}; ricavare φ , θ , ψ

  r132 + r23

2 = s2θ, r33 = cθ ⇒ θ = ATAN2{ ± √ r132 + r23

2, r33 }

  se sθ ≠ 0

r31/sθ = sψ , r32/sθ = cψ ⇒ ψ = ATAN2{ r31/sθ, r32/sθ }

  analogamente: φ = ATAN2{ r13/sθ, -r23/sθ }   si ottiene sempre una coppia di soluzioni   c’è sempre una singolarità (qui θ = 0, ± π)

cφ cψ - sφ cθ sψ - cφ sψ - sφ cθ cψ sφ sθ sφ cψ + cφ cθ sψ - sφ sψ - cφ cθ cψ - cφ sθ sθ sψ sθ cψ cθ

= r11 r12 r13 r21 r22 r23 r31 r32 r33

due valori che differiscono per il segno

Robotica 1 5

z’’’

x’’’

y’’’

Angoli di Roll-Pitch-Yaw

x≡x’

z

y

y’

φ

φ

θθ

y’’ z’’

RX(ψ) = 1 0 0 0 cos ψ - sin ψ 0 sin ψ cos ψ

1 2

3

ψ

ψ z’

z’

y’ y’

x’ x’’

y

ROLL PITCH

YAW

y’’ z’’

x’’

z

con RY(θ) =

cos θ 0 sin θ 0 1 0 - sin θ 0 cos θ

C1RY(θ)C1T

con RZ(φ) = C2RZ(φ)C2

T cos φ - sin φ 0 sin φ cos φ 0 0 0 1

Angoli di Roll-Pitch-Yaw (su XYZ fissi)   Problema diretto: dati ψ , θ , φ ; ricavare R

RRPY (ψ, θ, φ) = RZ (φ) RY (θ) RX (ψ)

  Problema inverso: data R = {rij}; ricavare ψ , θ , φ

  r322 + r33

2 = c2θ, r31 = -sθ ⇒ θ = ATAN2{-r31, ± √ r322 + r33

2}

  se cθ ≠ 0

r32/cθ = sψ, r33/cθ = cψ ⇒ ψ = ATAN2{r32/cθ, r33/cθ}

  analogamente: φ = ATAN2{ r21/cθ, r11/cθ }   singolarità per θ = ± π/2 + k π

cφ cθ cφ sθ sψ - sφ cψ cφ sθ cψ + sφ sψ sφ cθ sφ sθ sψ + cφ cψ sφ sθ cψ - cφ sψ - sθ cθ sψ cθ cψ

= ordine di definizione

due valori simmetrici rispetto a π/2

⇐ notare l’ordine!

Robotica 1 7

… perché in questo ordine?

  occorre riportare ogni rotazione della sequenza sull’asse fisso originario

RRPY (ψ, θ, φ) = RZ (φ) RY (θ) RX (ψ)

ordine di definizione ordine “inverso” nel prodotto

RRPY (ψ, θ, φ) = [RX (ψ)] [RXT(ψ) RY (θ) RX (ψ)]

[RXT(ψ) RY

T(θ) RZ (φ) RY (θ) RX (ψ)] = RZ (φ) RY (θ) RX (ψ)

concatenazione di tre rotazioni: [ ] [ ] [ ]…

Robotica 1 8

Trasformazioni omogenee

P • 

OA

OB

Ap

Bp

ApAB

SRA

SRB

Ap = ApAB + ARB Bp

relazione ‘affine’

Ap ARB ApAB Bp

= 1 0 0 0 1 1

= ATB Bphom Aphom =

vettore in coordinate omogenee

matrice 4X4 di trasformazione omogenea

relazione lineare

Robotica 1 9

Proprietà della matrice T

  descrive la relazione (posizione e orientamento relativi) tra sistemi di riferimento

  trasforma la rappresentazione di un vettore posizione (applicato) da un riferimento ad un altro

  è un operatore di roto-traslazione su vettori nello spazio

  è sempre invertibile (ATB)-1 = BTA

  è componibile, cioè ATC = ATB BTC ← attenzione, non commuta!

Robotica 1 10

Inversa di una trasformazione omogenea

Ap = ApAB + ARB Bp Bp = BpBA + BRA Ap = - ARB

T ApAB + ARBT Ap

ARB ApAB

0 0 0 1

ARBT - ARB

T ApAB

0 0 0 1

BRA BpBA

0 0 0 1 =

ATB (ATB)-1 BTA

Robotica 1 11

Descrizione di un compito

•  •  •  1

2 3

SRW

SRB

SRE

SRT

WTT = WTB BTE ETT

descrizione assoluta del task

nota, montato il robot

descrizione del task relativa all’end-effector

cinematica diretta del braccio (funzione di q)

BTE(q) = WTB-1 WTT ETT

-1 = cost

Robotica 1 12

Commenti finali sulle matrici T

  sono lo strumento principale per il calcolo della cinematica diretta dei robot manipolatori

  si usano in molti settori applicativi (robotici e non)

  nel posizionamento di una telecamera (matrice bTc con i parametri estrinseci di posa)

  in computer graphics, per le trasformazioni di visualizzazione di solidi 3D al variare del punto di osservazione

ARB ApAB

αx αy αz σ ATB =

coefficienti di deformazione prospettica

coefficiente di scalatura

tutti nulli in robotica

sempre unitario in robotica

Robotica 1 13