Robotica e automazione/Matrici di rotazione

Indice del libro

Una matrice di rotazione è una matrice di trasformazione che esegue una rotazione nello spazio euclideo. Per esempio, utilizzando la seguente convenzione, la matrice


Una rotazione antioraria di un vettore attraverso l'angolo , dove il vettore è inizialmente allineato con l'asse .

ruota i punti nel piano in senso antiorario di un angolo rispetto all'origine di un sistema di coordinate cartesiane bidimensionale.

Per eseguire la rotazione su un punto del piano con coordinate standard , è necessario moltiplicare la matrice per il vettore stesso, ottenendo:

Se e rappresentano le coordinate finali di un vettore, dove è il coseno e è il seno, le equazioni precedenti diventano l'identità trigonometrica. Infatti, una matrice di rotazione può essere letta come le formule trigonometriche della somma degli angoli in forma matriciale. Un modo per capirlo è supporre di avere un vettore con un angolo di 30° rispetto all'asse e volerlo ruotare di altri 45°. È sufficiente calcolare le coordinate del punto finale del vettore a 75°.

Le matrici di rotazione sono matrici quadrate con elementi reali. Più specificatamente, possono essere caratterizzate come matrici ortogonali con determinante pari a 1; pertanto, una matrice quadrata è una matrice di rotazione se e solo se e . L'insieme di tutte le matrici ortogonali di dimensione con determinante +1 è una rappresentazione di un gruppo noto come gruppo ortogonale speciale . Un esempio è il gruppo di rotazione in tre dimensioni .

Singola rotazione bidimensionale

modifica

Come premesso, nelle due dimensioni, la matrice di rotazione standard assume la seguente forma:

 

La rotazione dei vettori avviene mediante la seguente moltiplicazione di matrici,

 

Pertanto, le nuove coordinate   di un punto   dopo la rotazione sono:

 

La direzione di rotazione del vettore è antioraria se   è positivo (per esempio 90°), e oraria se   è negativo (ad esempio −90°) per  . Pertanto, la matrice di rotazione in senso orario si determina con

 

Tipiche rotazioni bidimensionali

modifica

Particolarmente utili risultano essere le matrici

 

equivalenti alle rotazioni in senso antiorario di 90°, 180° e 270°. Naturalmente, la rotazione di un angolo giro è data dalla matrice identità.

Singola rotazione tridimensionale

modifica

Per ottenere una rotazione tridimensionale di base (nota anche rotazione elementare) si procede con una rotazione attorno a uno degli assi di un sistema di coordinate. Pertanto, si hanno tre matrici di rotazione di base che ruotano i vettori di un angolo   attorno agli assi  ,   o

 

Per i vettori, ciascuna di queste rotazioni di base appare in senso antiorario quando l'asse, attorno al quale si verificano, punta verso l'osservatore, il sistema di coordinate è destrorso e l'angolo   è positivo.  , per esempio, ruoterebbe verso l'asse   un vettore allineato con l'asse  , come si può facilmente verificare operando con   sul vettore  :

 

Ciò è simile alla rotazione prodotta dalla matrice di rotazione bidimensionale menzionata precedentemente.

Rotazioni tridimensionali generalizzate

modifica

Combinando queste tre matrici si possono ottenere altre matrici di rotazione tridimensionali utilizzando il prodotto matriciale. Per esempio, il prodotto

 

rappresenta una rotazione i cui angoli di imbardata, beccheggio e rollio sono rispettivamente  ,   e  . Più formalmente, si tratta di una rotazione i cui angoli di Eulero sono  ,   e  , rispetto agli assi  ,   e  .