• Non ci sono risultati.

Capitolo 3: MEMS e calcolo dell’orientazione

3.5 Calcolo dell’orientazione

3.5.1 Calcolo dell’orientazione mediante accelerometro triassiale

Alcune utili considerazioni iniziali sugli accelerometri sono (30):

1) Gli accelerometri misurano la differenza tra ogni accelerazione lineare nel loro range di misura e l’accelerazione gravitazionale terrestre.

2) In assenza di una qualsiasi accelerazione lineare, l’output totale dell’accelerometro sarà pari al vettore accelerazione gravitazionale e potrà essere utilizzato per calcolare l’angolo di rollio e di beccheggio del sensore.

3) In funzione del modello di rappresentazione di orientazione scelto, gli angoli finali raggiunti sono funzione dell’ordine con cui le rotazioni vengono applicate.

4) Le equazioni per calcolare l’orientazione del sensore nello spazio soffrono di alcuni problemi di instabilità quando il vettore gravità è allineato a uno degli assi del sensore.

Ci sono diversi modi per rappresentare l’orientazione di un vettore nello spazio, come riportato in Appendice, si fa ora riferimento agli angoli di rollio (“roll”), beccheggio (“pitch”) e imbardata (“yaw”) indicati in Fig. 3-14. Cambiamenti dell’orientazione del sensore sono quindi descritti da cambiamenti in uno di questi angolo:

 Di rollio, φ, attorno all’asse x.

 Di beccheggio, θ, attorno all’asse y.

 Di imbardata,ψ, attorno all’asse z.

Fig. 3-14 : angoli di rollio "roll", beccheggio "pitch" e imbardata "yaw".

Assumendo quindi che l’accelerometro sia immerso nel campo gravitazione terrestre e sottoposto a un accelerazione lineare “ar” l’output totale lungo sarà pari a Gp espresso dall’eq.3-10:

Eq. 3-10

Dove R è la matrice di rotazione che esprime l’orientazione del sensore rispetto al sistema di riferimento terrestre.

Dato che le misurazioni dell’orientazione del sensore sono statiche, si può assumere che l’unica accelerazione che grava sul dispositivo sia l’accelerazione di gravità e quindi ar=0. Si

65 assuma inoltre, per semplicità, che l’accelerometro sia inizialmente orientato in modo con l’asse z allineato col vettore gravità.

In questo caso il vettore contente i valori letti lungo gli assi dell’accelerometro sarà pari all’eq.3-11:

Eq. 3-11

Quindi a partire da una certa posizione iniziale, ad esempio quella in cui il vettore gravità è allineato con l’asse z dell’accelerometro, una rotazione lungo una delle tre direzione ne cambia l’output, variando le componenti lungo i tre assi.

Una rotazione attorno ad uno degli assi può essere espressa in termini matriciali secondo le seguenti relazioni :

 Una rotazione attorno all’asse x, di rollio φ, come illustrato in Fig. 3-15 può essere espressa dalla matrice di rotazione :

Eq. 3-12

Fig. 3-15: rotazione attorno all'asse x.

 Una rotazione attorno all’asse y, di beccheggio θ, illustrata in Fig. 3-16 può essere espressa dalla seguente matrice di rotazione :

66

Fig. 3-16 : rotazione attorno all’asse y.

Una rotazione attorno all’asse z, di imbardata ψ, illustrata in Fig. 3-17 può essere

espressa dalla seguente matrice di rotazione :

Eq. 3-14

Fig. 3-17 : rotazione attorno all'asse z.

Ci sono sei possibili ordini con cui queste matrici possono essere composte, tutti ugualmente validi. Le moltiplicazione tra matrici non gode tuttavia della proprietà commutativa, ciò significa che la matrice di rotazione finale dipende dall’ordine con cui sono applicate le rotazioni di rollio, imbardata e beccheggio.

67 A titolo esemplificativo si riportano di seguito le sei possibili combinazioni:

Eq. 3-15 Eq. 3-16 Eq. 3-17 Eq. 3-18 Eq. 3-19 Eq. 3-20

Come evidenziato dall’eq.3-15 all’eq.3-20 le sei matrici composte a partire dalle stesse rotazioni elementari dello stesso vettore gravità sono tutte differenti tra loro. Di conseguenza gli angoli di rollio, beccheggio e imbardata non sono significativi se non viene definito l’ordine con cui sono applicati. Quattro di queste sequenze possono essere però eliminate e non essere utilizzate nel calcolo dell’orientazione del nostro sensore. L’accelerometro ha in uscita tre componenti, ma poiché il vettore gravità ha modulo costante pari a 1[g] in assenza di altre accelerazioni lineari, ha solamente due gradi di libertà. Quindi non è possibile risolvere in maniera univoca le equazioni viste per i tre angoli ψ,θ,φ. Per questo motivo gli ultimi 4 output risultanti dalle eq.3-17, eq.3-18, eq.3-19, eq.3-20, che richiedono la conoscenza di tutte e tre le rotazioni non possono essere risolte con i soli dati dell’accelerometro triassiale.

Al contrario, le due sequenze di rotazioni eq.3-16 e eq.3-15, che dipendono solo dagli angoli di rollio φ e di beccheggio θ possono essere risolte. La mancanza di ogni dipendenza dall’angolo di imbardata ψ è fisicamente facilmente intuibile se pensiamo all’accelerometro nella sua posizione di partenza, cioè con il vettore gravità allineato lungo l’asse z. In questo caso una rotazione attorno a z stesso, quindi un imbardata del sensore, non provocherebbe alcuna variazione delle uscite dell’accelerometro, difatti lungo gli assi x e y l’accelerazione misurata continuerebbe ad essere nulla, mentre g continuerebbe ad essere allineata con l’asse z.

È stato scelto, per convenzione, l’orientazione di partenza con il vettore gravità allineato lungo z, se cosi non fosse stato, cioè se il vettore gravità fosse stato inizialemente parallelo all’asse x o y la trattazione eseguita sarebbe stata la stessa, ma l’angolo non significativo sarebbe stato quello relativo alla rotazione attorno all’asse parallelo a g.

Stando alle ipotesi fatte è possibile risolvere le due eq.3-15 e 3-16. L’eq.3-15 può essere normalizzata rispetto al vettore gravità secondo l’eq.3-21:

68

Eq. 3-21

Da cui possiamo ricavare gli angoli di rollio e beccheggio nel caso la rotazione imposta sia del tipo Rxyz, secondo le eq.3-22 ed eq.3-23:

Eq. 3-22

Eq

. 3-23

L’eq.3-16 può essere normalizzata rispetto al vettore gravità ottenendo l’eq.3-24

Eq. 3-24

Questa equazione può essere quindi risolta per gli angoli di rollio e beccheggio ottenuti in seguito ad una rotazione del tipo Ryxz, ottenendo le eq.3-25 e 3-26:

Eq. 3-25

Eq. 3-26

Le eq.3-22, 3-23 e le eq.2-25, 2-26 danno risultati diversi per gli stessi angoli di rollio e imbardata, derivati dalle stesse letture dell’accelerometro. Ciò è semplicemente conseguenza del fatto che il prodotto tra matrici non gode della proprietà commutativa.

Si noti inoltre come gli angoli espressi dalle equazioni sopra abbiano un numeri infinito di soluzioni, multiple di 2π. Un modo per risolvere questo problema potrebbe essere quello di limitare il range di possibili soluzioni tra ±π. A lato pratico questo non rappresenta un problema per l’implementazione software , dato che la maggior parte dei linguaggi di programmazione contengono la funzione “ATAN2(x,y)” o arcotangente2(x,y), che restituisce automaticamente un angolo espresso in radianti nel quadrante corretto in base al segno dei due argomenti.

Un altro problema riguardante le formulazioni espresse dalle eq.3-22 ed eq.3-25 risiede nell’instabilità matematica delle due formulazioni. Difatti in entrambi i casi può realizzarsi la situazione in cui numeratore e denominatore siano entrambi contemporaneamente nulli. Questa condizione si realizza quando il vettore gravità è disposto parallelamente all’asse x o y dell’accelerometro. Anche se la condizione non è perfettamente realizzata, in un suo intorno le misure risultato dominate dal rumore e ciò da luogo a dei valori instabili ed essenzialmente casuali dell’angolo calcolato.

Non esiste un soluzione perfetta al problema di queste singolarità nel calcolo degli angoli di rollio e beccheggio. Una soluzione adottata nella pratica tecnica è quella di adottare l’eq.3-23 per il calcolo dell’angolo di rollio e l’eq.3-26 modificata come nell’eq.3-27 nel calcolo dell’angolo di beccheggio per le rotazioni Rxyz:

69

Eq. 3-27 Dove µ è un coefficiente inserito a denominatore per evitare che questo possa mai diventare nullo.

Nel caso in cui la rotazione avvenga in un solo piano, la soluzione più semplice è quella di utilizzare la funzione ATAN2(y,x) descritto dall’eq.3-28 :

Eq. 3-28

in particolare se la rotazioni avvengono nei piani perpendicolari agli assi x,y e z, le rotazioni illustrate inFig. 3-18, possono essere espresse dalle eq.3-29, eq.3-30, eq.3-31 :

Fig. 3-18 : angoli di rotazione nel piano perpendicolare agli assi x, y e z.

Eq. 3-29

Eq. 3-30

Eq. 3-31

Alla luce di quanto detto in questo paragrafo, va notato come che il processo di piegatura dei tubi avvenga sempre in un piano e come questo possa costituire un forte elemento semplificativo per il calcolo dell’angolo. Difatti il ritorno elastico avviene come una rotazione attorno ad un unico asse, e non una serie di rotazione attorno ad assi diversi, come evidenziato nel Capitolo 1. Questo argomento verrà ripreso nel capitolo successivo.