Rotazioni - Home@Ladispe · In inglese si chiama reference frame. Il sdr si caratterizza con il...

59
Rotazioni Basilio Bona DAUIN-Politecnico di Torino 2008 Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 1 / 59

Transcript of Rotazioni - Home@Ladispe · In inglese si chiama reference frame. Il sdr si caratterizza con il...

Rotazioni

Basilio Bona

DAUIN-Politecnico di Torino

2008

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 1 / 59

Introduzione

Il termine rotazione indica due concetti

un’azione fisica che viene applicata ad un oggetto per modificare ilsuo orientamento nello spazio tridimensionale (interpretazione fisica),

la caratterizzazione matematica di questa azione, che permette distudiarne le proprieta e la rappresentazione attraverso operatorimatematici opportuni (interpretazione astratta o matematica).

A sua volta l’interpretazione fisica e duplice:

1 L’azione viene applicata al corpo per portarlo da un orientamento adun altro.

2 Due oggetti identici hanno orientamenti diversi e vogliamo studiarnela relazione reciproca.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 2 / 59

Corpo rigido

Il legame tra l’interpretazione matematica e l’interpretazione fisica dellarotazione, che si concretizza nella definizione del cosiddetto operatore dirotazione, viene considerevolmente semplificata se si fa riferimento a corpirigidi .

Definizione

Un corpo rigido e insieme (anche infinito) di punti le cui distanzereciproche non variano nel tempo e nello spazio.Un corpo rigido e sempre riconducibile al sistema di riferimento (sdr)ortogonale che lo caratterizza

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 3 / 59

Sistema di riferimento ortogonale

Definizione

Un sistema di riferimento (sdr) ortogonale nello spazio 3D e costituitoda tre versori mutuamente ortogonali applicati ad un’origine comune.In inglese si chiama reference frame.

Il sdr si caratterizza con il simbolo R(O, i, j, k), dove O e l’origine comune,i, j e k sono i tre versori mutuamente ortogonali.

I sdr possono essere destrorsi o sinistrorsi .

Poiche per definizione il prodotto vettoriale i× j = k obbedisce alla regoladella mano destra, i sdr

sono destrorsi se i× j = k

sono sinistrorsi se j× i = k

Useremo solo sdr destrorsi.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 4 / 59

Sistema di riferimento ortogonale

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 5 / 59

Corpo rigido ⇔ sdr

Un corpo rigido A e caratterizzato dal sdr RA ad esso associato.

Ogni generico punto del corpo rigido pi e univocamente definito nel sdrRA dalle coordinate

pAi =

pAi1

pAi2

pAi3

La distanza tra ogni coppia di punti rimane costante sotto qualsiasitrasformazione o azione esterna sul corpo∥∥∥pA

i − pAj

∥∥∥ = dij ≥ 0; ∀ i , j

Pertanto il corpo rigido e completamente determinato dal suo sdr e quandoparliamo di corpo rigido in realta ci riferiamo al sdr che lo caratterizza.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 6 / 59

Corpo rigido ⇔ sdr

Due corpi rigidi, come quelli in Figura, possono essere interpretati comedue oggetti con orientamenti diversi nello stesso istante di tempo, oppurecome lo stesso oggetto in due istanti di tempo diversi.

In entrambi i casi ci interessa studiare la relazione tra i due orientamenti.

Figura: Due corpi rigidi tra loro ruotati.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 7 / 59

Relazione tra sdr

Dati due sdr RA e RB con origine in comune, ma con orientamento (oassetto) differente, la loro reciproca relazione si puo esprimere in due modi

il sdr RB rappresentato in RA

il sdr RA rappresentato in RB

Cosa sia meglio dipende dal significato fisico assegnato ai due riferimenti.

Figura: Due sdr RA e RB con origine comune, ma orientati diversamente.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 8 / 59

Matrici di rotazione

RB rappresentato in RA: rappresentiamo i tre versori iB , jB e kB inRA, ottenendo una matrice 3× 3iAB

jAB

kAB

= RAB

RA rappresentato in RB : rappresentiamo i tre versori iA, jA e kA inRB , ottenendo una matrice 3× 3iBA

jBA

kBA

= RBA

Le due matrici appartengono alla classe delle matrici di rotazione e larelazione tra esse e la seguente

RBA =

(RA

B

)TRA

B =(

RBA

)T

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 9 / 59

Esempio.1

Prendiamo due sdr particolari e calcoliamo la matrice RAB

iAB

=

00−1

;

jAB

=

010

;

kAB

=

100

; RAB =

0 0 10 1 0−1 0 0

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 10 / 59

Esempio.1

Ora calcoliamo la matrice RBAiBA

=

001

;

jBA

=

010

;

kBA

=

−100

; RBA =

0 0 −10 1 01 0 0

Come si vede, le due matrici RA

B e RBA sono l’una la trasposta dell’altra.

Fisicamente possiamo interpretare questa rotazione come

la rotazione di 90◦ intorno al versore jA (asse yA) che porta RA asovrapporsi a RB

la rotazione di −90◦ intorno al versore jB (asse yB) che porta RB asovrapporsi a RA

Diciamo anche che ciascuna rotazione e inversa dell’altra e che l’operatoredi inversione e dato dalla trasposizione della matrice relativa.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 11 / 59

Matrici di rotazione: rappresentazione asse-angolo

Il teorema di Eulero stabilisce che ogni composizione di rotazioni puosempre essere ricondotta ad una rotazione di un angolo θ intorno ad unasse (versore) di rotazione u. Matematicamente si ha questa relazione

Matrice di rotazione intorno ad un generico asse di rotazione

Rot(u, θ) = R(u, θ) = Ru,θ = u21 (1− cθ) + cθ u1u2 (1− cθ)− u3sθ u1u3 (1− cθ) + u2sθ

u1u2 (1− cθ) + u3sθ u22 (1− cθ) + cθ u2u3 (1− cθ)− u1sθ

u1u3 (1− cθ)− u2sθ u2u3 (1− cθ) + u1sθ u23 (1− cθ) + cθ

(1)

dovecθ ≡ cos θ sθ ≡ sin θ

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 12 / 59

Esempio.1

Esempio

Riprendiamo l’Esempio.1

L’asse u coincide con j e l’angolo vale +90◦ =π

2, quindi

u =

010

sθ = 1 cθ = 0

da cui

R =

0 0 10 1 0−1 0 0

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 13 / 59

Matrici di rotazione elementare

Esiste una specie di “base” di matrici di rotazione, che chiamiamoelementari perche sono rotazioni intorno agli assi principali x , y e z del sdr.

Rotazione elementare di un angolo α intorno all’asse x

Rot(x , α) = Rot(i, α) = R(i, α) = Ri,α =1 0 00 cosα − sinα0 sinα cosα

=

1 0 00 cα −sα0 sα cα

(2)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 14 / 59

Matrici di rotazione elementare

Rotazione elementare di un angolo β intorno all’asse y

Rot(y , β) = Rot(j, β) = R(j, β) = Rj,β =cosβ 0 sinβ0 1 0− sinβ 0 cosβ

=

cβ 0 sβ0 1 0−sβ 0 cβ

(3)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 15 / 59

Matrici di rotazione elementare

Rotazione elementare di un angolo γ intorno all’asse z

Rot(z , γ) = Rot(k, γ) = R(k, γ) = Rk,γ =cos γ − sin γ 0sin γ cos γ 00 0 1

=

cγ −sγ 0sγ cγ 00 0 1

(4)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 16 / 59

Composizione di matrici di rotazione

Ogni altra rotazione (e la corrispondente matrice) puo essere ottenutacombinando opportunamente le rotazioni elementari.

Le regole sono semplici: per comporre una rotazione complessa, generatada una serie di rotazioni elementari, occorre

a) scegliere la rotazione elementare,

b) definire l’angolo di rotazione

c) stabilire se la rotazione avviene rispetto agli assi fissi o agli assi mobili

d) se la rotazione avviene rispetto al sdr fisso, allora pre-moltiplicare, seinvece avviene rispetto al sdr mobile, allora post-moltiplicare

Regola di moltiplicazione delle matrici di rotazione

Pre-fisso Post-mobile

I termini “fisso” e “mobile” indicano rispettivamente il sdr che si assumeimmobile e il sdr che si ottiene come risultato della rotazione precedente.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 17 / 59

Composizione di matrici di rotazione

Esempio.2 (1)

Supponiamo di avere due rotazioni da comporre, definite dalle matrici RA

e RB seguenti

RA = Rot(j, π/2) RB = Rot(k,−π/2)

Vogliamo effettuare prima la rotazione RA e successivamente la rotazioneRB rispetto agli assi del sdr di partenza (che chiamiamoconvenzionalmente sdr fisso); dobbiamo percio applicare la regolapre-fisso, ossia pre-moltiplichiamo RA per RB , ottenendo

RBRA =

0 1 0−1 0 00 0 1

0 0 10 1 0−1 0 0

=

0 1 00 0 −1−1 0 0

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 18 / 59

Composizione di matrici di rotazione - RBRA

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 19 / 59

Composizione di matrici di rotazione

Esempio.2 (2)

Ora invece effettuiamo prima la rotazione RA e successivamente larotazione RB rispetto agli assi del sdr cosı ottenuto (che chiamiamoconvenzionalmente sdr mobile); dobbiamo percio applicare la regolapost-mobile, ossia post-moltiplichiamo RA per RB , ottenendo

RARB =

0 0 10 1 0−1 0 0

0 1 0−1 0 00 0 1

=

0 0 1−1 0 00 −1 0

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 20 / 59

Composizione di matrici di rotazione - RARB

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 21 / 59

Composizione di matrici di rotazione

Osservando le Figure precedenti possiamo verificare direttamente cheentrambi i prodotti RARB , RBRA forniscono la rappresentazione del sdr disinistra in quello di destra.

Percio componendo le matrici in qualsiasi ordine, alla fine si ottiene unamatrice prodotto che rappresenta il sdr di “arrivo” rispetto a quello di“partenza”, ovvero, come si preferisce dire, del sdr mobile nel sdr fisso.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 22 / 59

Matrici di rotazione - Trasformazione di vettori

Vediamo ora qual’e l’effetto della rotazione sui vettori rappresentati in duediversi riferimenti RA e RB , uno ruotato rispetto all’altro.

Prima di tutto ricordiamo che i vettori sono enti matematici che possonorappresentare due classi di entita geometriche

1 segmenti orientati−−→MN, mediante la differenza tra le coordinate dei

due estremi

−−→MN = vMN =

[v1 v2 v3

]T= vN − vM =

vN1 − vM1

vN2 − vM2

vN3 − vM3

2 punti geometrici P, mediante le coordinate (di solito cartesiane) della

punta

−→OP ≡ P → vP − vO =

vP1

vP2

vP3

−0

00

=

vP1

vP2

vP3

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 23 / 59

Matrici di rotazione - Trasformazione di vettori

Se i sistemi di riferimento hanno la stessa origine la trasformazione eidentica per i due tipi di vettore, altrimenti deve essere considerata anchela traslazione tra le origini.

Per il momento le traslazioni sono escluse dall’analisi delle trasformazioni.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 24 / 59

Matrici di rotazione - Trasformazione di vettori

1. Punti geometrici: consideriamodue riferimenti Ra e Rb con originein comune e un punto geometrico Pqualunque rappresentato dal vettorevP .

La relazione tra le rappresentazioni vettoriali dello stesso punto P nei duesdr e la seguente

vPa = RabvPb e vPb = Rb

avPa con Rab = (Rb

a)T

La matrice di rotazione e un operatore (lineare) che trasforma lecoordinate di un punto da un sdr ad un altro.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 25 / 59

Matrici di rotazione - Trasformazione di vettori

2. Segmenti orientati: consideria-mo due riferimenti Ra e Rb con ori-gine in comune e un segmento orien-

tato−−→MN rappresentato dal vettore

vMN .

La relazione tra le rappresentazioni vettoriali dello stesso segmento

orientato−−→MN nei due sdr e la seguente

vMNa = RabvMNb e vMNb = Rb

avMNa con Rab = (Rb

a)T

Si ha pertanto la stessa trasformazione lineare vista in precedenza.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 26 / 59

Matrici di rotazione - Cosa rappresentano

Riassumiamo quanto detto sulle matrici di rotazione.Valgono tutte e tre le interpretazioni seguenti:

R rappresenta la rotazione generica Rot(u, θ) di angolo θ intornoall’asse individuato dal versore u; i valori di θ e u non traspaionoimmediatamente dalla matrice, ma si possono ricavare, come vedremomeglio piu avanti;

R fornisce la descrizione del sdr “mobile” nel sdr “fisso”;

R definisce l’operatore lineare che trasforma un vettore dal sdr“mobile” al sdr “fisso”. L’operatore e lineare in quanto erappresentato da una matrice, che obbedisce alla seguente identita

R(λ1xa + λ2xb) = λ1Rxa + λ2Rxb

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 27 / 59

Matrici di rotazione - Proprieta matematiche

Ricordiamo il teorema di Eulero (asse-angolo)

Matrice di rotazione Rot(u, θ)

Rot(u, θ) = R(u, θ) = Ru,θ = u21 (1− cθ) + cθ u1u2 (1− cθ)− u3sθ u1u3 (1− cθ) + u2sθ

u1u2 (1− cθ) + u3sθ u22 (1− cθ) + cθ u2u3 (1− cθ)− u1sθ

u1u3 (1− cθ)− u2sθ u2u3 (1− cθ) + u1sθ u23 (1− cθ) + cθ

(5)

R(u, θ) = R(−u,−θ)

R(u,−θ) = R(u, 2π − θ) = R(−u, θ)

R(u, θ) = R(u,−θ)T

R(−u,−θ) = R(−u, θ)T

R(u, θ1)R(u, θ2) = R(u, (θ1 + θ2))

(6)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 28 / 59

Matrici di rotazione - Proprieta matematiche

Le matrici di rotazione sono matrici ortonormali con determinante unitarioe positivo.

Una matrice si dice ortonormale quando possiede le seguenti proprieta

L’inversa coincide con la trasposta:

RRT = RTR = I (7)

ovveroR−1 = RT (8)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 29 / 59

Matrici di rotazione - Proprieta matematiche

Le colonne di R sono tra loro ortogonali e a norma unitaria. Lo stessovale per le righe. Se

R =

r1

r2

r3

r1 × r2 = r3 r2 × r3 = r1 r3 × r1 = r2

Il determinante di R ha modulo unitario:

|det(R)| = 1 (9)

La rotazione rigida mantiene invariate le distanze tra ogni coppia dipunti e gli angoli tra i segmenti, ossia il prodotto scalare e invariantealla rotazione:

(Rx) · (Ry) = (Rx)T(Ry) = xTRTRy = xTIy = xTy = x · y

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 30 / 59

Matrici di rotazione - Proprieta matematiche

Non tutte le matrici ortonormali sono di rotazione.

Infatti esistono due tipi di matrici ortonormali

quelle a determinante unitario positivo

det R = +1

che sono matrici di rotazione (dette anche di rotazione propria)

quelle a determinante unitario negativo

det R = −1

che sono matrici di riflessione o roto-riflessione

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 31 / 59

Matrici di rotazione - Proprieta matematiche

In uno spazio tridimensionale le rotazioni formano un gruppo noncommutativo rispetto al prodotto matriciale.

Questo gruppo e detto gruppo (speciale) di rotazione (ortonormale) e siindica con

SO(3) ={

R ∈ R3×3 | RTR = I, det R = +1}

In inglese, si chiama Special Orthonormal group of dimension 3 .

Inoltre esiste un’importante differenza tra le rotazioni e le roto-riflessioni:le prime formano un gruppo commutativo continuo; intuitivamente questoequivale a dire che esiste una rotazione infinitesima. Le seconde invecenon formano un gruppo continuo; le riflessioni non possiedono la “qualita”di poter essere rese infinitesime.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 32 / 59

Matrici di rotazione - Proprieta matematiche

Una matrice di rotazione propria R ammette la seguente decomposizionecanonica modale

R = MΛMH =[u v v∗

] 1 0 00 e jθ 00 0 e−jθ

[u v v∗]H

(10)

dove j =√−1 e MH e la matrice hermitiana (trasposta coniugata) di M,

che e la matrice modale, ossia la matrice degli autovettori.

Il primo autovettore u e il versore che individua l’asse di rotazione; gli altridue versori v e v∗ definiscono il piano normale a u.

Su questo piano avviene la rotazione rappresentata dall’operatorecomplesso di rotazione o fasore e jθ.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 33 / 59

Matrici di rotazione - Proprieta matematiche

la matrice R soddisfa le seguenti relazioni:

R(u, θ) = eS(u)θ = I +sin θ

‖u‖S(u) +

1− cos θ

‖u‖2S2(u) (11)

R(u, θ)T = e−S(u)θ = I− sin θ

‖u‖S(u) +

1− cos θ

‖u‖2S2(u)

dove

S(u) =

0 −u3 u2

u3 0 −u1

−u2 u1 0

S2(u) =

−u22 − u2

3 u1u2 u1u3

u1u2 −u21 − u2

3 u2u3

u1u3 u2u3 −u21 − u2

2

La matrice S(u) e antisimmetrica.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 34 / 59

Matrici di rotazione - Proprieta matematiche

Ci chiediamo ora quanti siano i parametri indipendenti che caratterizzanola rotazione.

L’asse di rotazione u e definito da due parametri: si tratta di una direzione(con segno) nello spazio 3D, quindi un sottospazio di dimensione 1, mache richiede 2 parametri per rappresentarlo.

L’angolo di rotazione e definito da 1 parametro.

Quindi una matrice di rotazione e definita da 3 parametri, che sonocontenuti nei 9 elementi che la compongono.

Vedremo piu avanti come si passa da R a (u, θ) e viceversa.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 35 / 59

Matrici di rotazione - Caratteristiche matematiche

Un’altra caratterizzazione di questi 3 parametri si ha quando ad essi siassociano 3 angoli intorno agli assi elementari di rotazione.

Angoli di rotazione

Ogni matrice R puo essere associata a tre rotazioni elementari di angolidistinti:

R = Rot(u1, α1)Rot(u2, α2)Rot(u3, α3)

dove u1,u2,u3 sono scelti tra i tre assi elementari u1 ∈ {i, j, k}.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 36 / 59

Angoli di rotazione

Se due rotazioni contigue sono relative allo stesso asse, si perde un gradodi liberta:

Rot(ui , α1)Rot(ui , α2) = Rot(ui , (α1 + α2))

Occorre quindi escludere questi casi dalle possibili combinazioni dirotazioni elementari.

Infatti, mentreR = Rot(i, α1)Rot(k, α2)Rot(i, α3)

e una scelta ammissibile, il prodotto

R = Rot(i, α1)Rot(k, α2)Rot(k, α3)

non e una scelta ammissibile.

Le possibili combinazioni ammissibili formano i cosiddetti angoli diCardano.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 37 / 59

Angoli di Cardano intorno a tre assi distinti

Vengono riportate le 6 possibili matrici di rotazione, dette di Cardano,ottenibili come prodotto di tre rotazioni elementari distinte intorno a 3 assidistinti; con θ1, θ2 e θ3 sono stati indicati i tre generici angoli di Cardano

R(i, θ1)R(j, θ2)R(k, θ3) angoli di Roll-Pitch-Yaw (versione alternativa)

R(i, θ1)R(k, θ3)R(j, θ2)

R(j, θ2)R(i, θ1)R(k, θ3)

R(j, θ2)R(k, θ3)R(i, θ1)

R(k, θ3)R(i, θ1)R(j, θ2)

R(k, θ3)R(j, θ2)R(i, θ1) angoli di Roll-Pitch-Yaw

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 38 / 59

Angoli di Cardano intorno a due assi distinti

Sono riportate le 6 possibili rotazioni ottenibili dal prodotto di duerotazioni elementari; in questo caso gli angoli di Cardano sono statiindicati con i simboli α, β e γ:

R(i, α)R(j, β)R(i, γ)

R(i, α)R(k, β)R(i, γ)

R(j, α)R(i, β)R(j, γ)

R(j, α)R(k, β)R(j, γ)

R(k, α)R(i, β)R(k, γ) angoli di Eulero

R(k, α)R(j, β)R(k, γ) angoli di Eulero (versione alternativa)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 39 / 59

Angoli di Eulero

Tra gli angoli di Cardano, i piu noti sono gli angoli di Eulero, chedescrivono una generica rotazione nello spazio utilizzando tre angoli, dettiappunto “di Eulero”, simbolicamente rappresentati da ϕ, θ, ψ, secondo laparametrizzazione seguente:

Rφ,θ,ψ = R (φ, θ, ψ) = Rz,φRx ,θRz,ψ = R(k, φ)R(i, θ)R(k, ψ)

=

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θ

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 40 / 59

Angoli di Eulero

Figura: Gli angoli di Eulero.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 41 / 59

Angoli di Eulero

Figura: Esempio di angoli di Eulero.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 42 / 59

Angoli di Eulero

Per ricavare gli angoli di Eulero da una matrice qualsiasi, purcheortogonale e con determinante pari a +1, definita da:

R =

r11 r12 r13

r21 r22 r23

r31 r32 r33

dove i valori rij sono noti, occorre risolvere il seguente sistema di equazioninonlineari:

r11 = cφcψ − sφcθsψr12 = −cφsψ − sφcθcψr13 = sφsθr21 = sφcψ + cφcθsψr22 = −sφsψ + cφcθcψr23 = −cφsθr31 = sθsψr32 = sθcψr33 = cθ

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 43 / 59

Angoli di Eulero

La soluzione del sistema di equazioni si ottiene come segue:

φ = atan2 (r13, −r23)± 2kπψ = atan2 (−cφr12 − sφr22, cφr11 + sφr21)± 2kπθ = atan2 (sφr13 − cφr23, r33)± 2kπ

avendo utilizzato la funzione trigonometrica inversa atan2(y , x)

θ = atan2(y , x) = tan−1(y

x

)=

=

0◦ ≤ θ ≤ 90◦ se x ≥ 0; y ≥ 0

90◦ ≤ θ ≤ 180◦ se x ≤ 0; y ≥ 0−180◦ ≤ θ ≤ −90◦ se x ≤ 0; y ≤ 0−90◦ ≤ θ ≤ 0◦ se x ≥ 0; y ≤ 0

che risulta piu robusta dal punta di vista numerico.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 44 / 59

Angoli di RPY

Un’altra parametrizzazione molto comune e quella data dagli angoli diRoll, Pitch, Yaw (RPY) (in italiano Rollio, Beccheggio, Imbardata) dettianche angoli di Tait-Bryant, simbolicamente rappresentati da θx , θy , θz edefiniti implicitamente come segue

Rθx ,θy ,θz = R (θx , θy , θz) = Rz,θz Ry ,θy Rx ,θx = R(k, θz)R(j, θy )R(i, θx)cθz cθy sθx sθy cθz − cθx sθz cθx sθy cθz + sθx sθzcθy sθz sθx sθy sθz + cθx cθz cθx sθy sθz − sθx cθz−sθy sθx cθy cθx cθy

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 45 / 59

Angoli di RPY

Figura: Angoli RPY.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 46 / 59

Angoli di RPY

Per ricavare gli angoli RPY si applicano ragionamenti analoghi a quelliusati per la soluzione degli angoli di Eulero, ottenendo:

θx = atan2 (r32, r33)± 2kπθz = atan2 (−cθx r12 + sθx r13, cθx r22 − sθx r23)± 2kπθy = atan2 (−r31, sθx r32 + cθx r33)± 2kπ

Altre definizioni di angoli RPY sono possibili, e vengono qualche voltausate; ad esempio, alcuni testi definiscono come angoli RPY quelliassociati alle tre rotazioni elementari che seguono

Rθz ,θy ,θx = R (θz , θy , θx) = Rx ,θx Ry ,θy Rz,θz = R(i, θx)R(j, θy )R(k, θz) cθy cθz −cθy sθz sθysθx sθy cθz + cθx sθz −sθx sθy sθz + cθx cθz −sθx cθy−cθx sθy cθz + sθx sθz cθx sθy sθz + sθx cθz cθx cθy

(12)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 47 / 59

Parametri di Eulero

Data la rotazione R (u, θ), di un angolo θ intorno al versore

u =[u1 u2 u3

]T, si definiscono i quattro parametri di Eulero vi (che

non vanno confusi con gli angoli di Eulero), nel modo seguente:

v1 = u1 sinθ

2, v2 = u2 sin

θ

2, v3 = u3 sin

θ

2, v4 = cos

θ

2

Solo tre di questi parametri sono tra loro indipendenti, in quanto sussiste ilvincolo √√√√ 4∑

i=1

v2i = 1

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 48 / 59

Parametri di Eulero

Dati u e θ e quindi i parametri di Eulero vi , la rappresentazione dellamatrice di rotazione R (u, θ) puo essere ricavata come segue:

R (u, θ) =

v21 − v2

2 − v23 + v2

4 2 (v1v2 − v3v4) 2 (v1v3 + v2v4)2 (v1v2 + v3v4) −v2

1 + v22 − v2

3 + v24 2 (v2v3 − v1v4)

2 (v1v3 − v2v4) 2 (v2v3 + v1v4) −v21 − v2

2 + v23 + v2

4

Viceversa, data R (u, θ) si ottengono i parametri di Eulero come segue:

v4 = ±1

2

√(1 + r11 + r22 + r33)

v1 =1

4v4(r32 − r23)

v2 =1

4v4(r13 − r31)

v3 =1

4v4(r21 − r12)

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 49 / 59

Parametri di Eulero

L’ambiguita di segno presente in v4 si puo eliminare assumendo il vincolo:

−π2≤ θ

2≤ π

2,

ovvero −π ≤ θ ≤ π; in questo modo il parametro v4 puo essere solopositivo.

L’angolo di rotazione si ottiene dalla relazione cos θ = v24 − (v2

1 + v22 + v2

3 )e il versore u come

u =1

sin(θ/2)

v1

v2

v3

I parametri di Eulero si possono calcolare in funzione degli angoli di Euleroφ, θ, ψ come segue:

v1 = sin(φ−ψ

2

)sin(θ2

)v2 = cos

(φ−ψ

2

)sin(θ2

)v3 = sin

(φ+ψ

2

)cos(θ2

)v4 = cos

(φ+ψ

2

)cos(θ2

)Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 50 / 59

Parametri di Eulero

I parametri di Eulero sono una forma di parametrizzazione moltoconveniente: sono piu compatti della matrice R e piu efficaci dal punto divista numerico degli angoli di Eulero, in quanto ricavare R = R (v) nonrichiede l’uso di formule trigonometriche.

Inoltre, date due rotazioni R (va) e R (vb), si possono direttamentecalcolare i parametri di Eulero del prodotto delle rotazioniR (vc) = R (va) R (vb) mediante il seguente prodotto matriciale:

vc = F (va) vb =

va4 −va3 va2 va1

va3 va4 −va1 va2

−va2 va1 va4 va3

−va1 −va2 −va3 va4

vb

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 51 / 59

Quaternioni

Per una descrizione dei quaternioni , delle loro proprieta e dell’uso che sene fa per rappresentare le rotazioni, si vedano le dispense ad essi dedicate.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 52 / 59

Parametri di Cayley-Klein

Un altro modo di rappresentare le rotazioni fu introdotto da Felix Klein(1849-1925).

I parametri di Cayley-Klein (CK) sono elementi di matrici 2× 2

Q =

(α βγ δ

)dove α, β, γ, δ sono variabili complesse. La matrice Q deve essere unitaria,per cui i parametri CK obbediscono alle seguenti condizioni:

α = δ∗

β = −γ∗

e la matrice Q puo venire scritta anche come

Q =

(α β−β∗ α∗

)con la ulteriore condizione di vincolo

det Q = αα∗ + ββ∗ = 1

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 53 / 59

Parametri di Cayley-Klein

Nella matrice Q sono presenti 3 parametri liberi che possono venire usatiper descrivere le rotazioni; dati i parametri CK, e possibile ricavare lamatrice di rotazione nel modo seguente:

R =

1

2(α2 − β2 − γ2 + δ2)

j

2(−α2 − β2 + γ2 + δ2) γδ − αβ

j

2(α2 − β2 + γ2 − δ2)

1

2(α2 + β2 + γ2 + δ2) −j(αβ + γ + δ)

βδ − αγ j(αγ + βδ) αδ + βγ

la matrice R pur contenendo parametri immaginari, risulta reale.

Dati gli angoli di Eulero φ, θ, ψ, i parametri CK si calcolano nel modoseguente:

α = ej(φ+ψ) cos(θ2

)β = jej(φ−ψ) cos

(θ2

)γ = je−j(φ−ψ) cos

(θ2

)δ = e−j(φ+ψ) cos

(θ2

)Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 54 / 59

Parametri di Cayley-Klein

La relazione tra i parametri CK α, β, i parametri di Eulero v1, v2, v3, v4 egli elementi di un quaternione h0, h1, h2, h3 e la seguente:

α = h0 + jh3 = v4 + jv3

β = h2 + jh1 = v2 + jv1

La matrice Q si puo anche esprimere come:

Q = h01 + j (h1σ1 + h2σ2 + h3σ3)

dove 1 e la matrice identita 2× 2 e le σi sono le cosiddette matrici di spindi Pauli (Pauli spin matrices)

σ1 =

[0 11 0

]σ2 =

[0 −jj 0

]σ3 =

[1 00 −1

].

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 55 / 59

Vettori di rotazione – Vettori di Rodrigues

Un altro modo di rappresentare l’assetto di un corpo rigido consistenell’utilizzare tre soli parametri, senza ricadere nelle difficolta associate, adesempio, all’uso degli angoli di Eulero o RPY.

Invece di usare la tecnica dei parametri di Eulero o dei quaternioni, cherichiede quattro parametri, anche se legati da un’equazione di vincolo sullanorma, si usano i cosiddetti vettori di rotazione r, le cui componenti ridescrivono l’asse di rotazione e la cui norma ‖r‖ fornisce il valoredell’angolo di rotazione o di una sua funzione trigonometrica. In generale ilvettore di rotazione r e definito nel modo seguente:

r = γ (θ) u

dove u e il versore a norma unitaria che individua l’asse di rotazione e‖r‖ = γ (θ) e una funzione dispari.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 56 / 59

Vettori di rotazione – Vettori di Rodrigues

La funzione γ (θ) e scelta di solito tra le quattro seguenti alternative:

a) γ (θ) = θ

b) γ (θ) = sin θ

c) γ (θ) = sinθ

2

d) γ (θ) = tanθ

2

Si puo notare che la scelta c) equivale alla definizione dei quaternioni,essendo le tre componenti di r pari agli ultimi tre elementi di unquaternione, ovvero ai primi tre parametri di Eulero.

In questo caso il vettore r si dice vettore (di rotazione) di Eulero, da nonconfondersi con i parametri di Eulero o con gli angoli di Eulero.

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 57 / 59

Vettori di Rodrigues

La scelta d) porta ai cosiddetti vettori (di rotazione) di Rodrigues o diGibbs, anch’essi molto usati nel campo della cinematica teorica.

La relazione tra i vettori di Rodrigues r e i parametri di Eulero v e datadalle seguenti espressioni:

r1 =v1

v4, r2 =

v2

v4, r2 =

v3

v4

Va sottolineato che i vettori di Rodrigues non sono definiti per angoliθ = (2k ± 1)π.

Dati due vettori di Rodrigues ra e rb, il loro “prodotto”, che indicheremocon il simbolo �, si calcola nel modo seguente:

ra � rb =ra + rb − rb × ra

1− rTa rb

Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 58 / 59

Vettori di Rodrigues

Per quanto riguarda l’equivalenza tra matrici di rotazione e vettori diRodrigues, si possono stabilire le seguenti relazioni:

Il prodotto di due rotazioni RaRb equivale al prodotto ra � rb deicorrispondenti vettori di Rodrigues;

Per calcolare R noto r, dopo aver posto v2 = r2, v3 = r3, v4 = 1, si usa larelazione

R (u, θ) =

r21 − r2

2 − r23 2 (r1r2 − r3) 2 (r1r3 + r2)

2 (r1r2 + r3) −r21 + r2

2 − r23 2 (r2r3 − r1)

2 (r1r3 − r2) 2 (r2r3 + r1) −r21 − r2

2 + r23

e poi si dividono gli elementi cosı trovati per

(1 + r2

1 + r22 + r2

3

);

Per calcolare r nota R si costruisce la matrice antisimmetrica S(r)

S(r) =

0 −r3 r2r3 0 −r1−r2 r1 0

=R− RT

1 + tr (R)

da cui si possono poi ricavare immediatamente gli elementi ri .Basilio Bona (DAUIN-Politecnico di Torino) Rotazioni 2008 59 / 59