Rotazioni - Home@Ladispe · In inglese si chiama reference frame. Il sdr si caratterizza con il...
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
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
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