Sviluppo di un dispositivo giroscopico per facilitare l...

63
Sviluppo di un dispositivo giroscopico per facilitare l’attività sportiva di persone non vedenti Fabrizio Conflitti 0166028 Ingegneria Meccanica 30/04/2014

Transcript of Sviluppo di un dispositivo giroscopico per facilitare l...

Sviluppo di un dispositivo giroscopico perfacilitare l’attività sportiva di persone non

vedenti

Fabrizio Conflitti0166028

Ingegneria Meccanica

30/04/2014

Indice

Introduzione 5

1 Il senso dell’orientamento 61.1 Il senso del movimento . . . . . . . . . . . . . . . . . . . . . . . . 81.2 La propriocezione . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2.1 I fusi neuromuscolari: il senso della posizione e dellavelocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2.2 I recettori del Golgi: il senso dello sforzo . . . . . . . . . 91.2.3 I recettori cutanei: il senso del tatto . . . . . . . . . . . . 10

1.3 Il sistema vestibolare . . . . . . . . . . . . . . . . . . . . . . . . . 101.3.1 I canali semicircolari: un referente euclideo fondamentale 111.3.2 Il sistema otolitico: la distinzione tra inclinazione e ac-

celerazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4 L’ambiguità delle informazioni vestibolari . . . . . . . . . . . . 12

1.4.1 Problema della differenziazione gravito-inerziale . . . . 131.5 Individuazione del movimento attraverso la vista . . . . . . . . 15

1.5.1 Le illusioni della vista . . . . . . . . . . . . . . . . . . . . 151.6 Visibile e tangibile: vedere con la propria pelle . . . . . . . . . . 161.7 La memoria topografica . . . . . . . . . . . . . . . . . . . . . . . 17

1.7.1 La memoria delle rotazioni . . . . . . . . . . . . . . . . . 171.7.2 La memoria delle traslazioni . . . . . . . . . . . . . . . . 181.7.3 La memoria del cammino . . . . . . . . . . . . . . . . . . 181.7.4 La memoria del percoso: la navigazione inerziale . . . . 19

2 Sviluppo del dispositivo 21

3 Matrice dei coseni direttori 263.1 DCM (Matrice dei Coseni Direttori) . . . . . . . . . . . . . . . . 27

3.1.1 Proprietà della DCM . . . . . . . . . . . . . . . . . . . . . 29

4 Unità di Misura Inerziale (IMU) 304.1 Accelerometro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.1.1 ADXL-345 . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.1.2 Calibrazione dell’accelerometro . . . . . . . . . . . . . . 36

4.2 Magnetometro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.1 HMC-5883L . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.2 Calibrazione del magnetometro . . . . . . . . . . . . . . 42

1

4.3 Giroscopio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.3.1 ITG-3200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.3.2 Calibrazione del giroscopio . . . . . . . . . . . . . . . . . 45

4.4 Vantaggi vs. Svantaggi . . . . . . . . . . . . . . . . . . . . . . . . 454.5 Comunicazione I2C . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Algoritmo di sensor fusion 495.1 Calcolo degli angoli euleriani dai segnali giroscopici . . . . . . 50

5.1.1 Calcolo della matrice di rotazione DCM(t + dt) . . . . . 515.2 Normalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3 Correzione del drift . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6 Risultati 57

2

Elenco delle figure

1.1 Schema dell’organizzazione cerebrale del controllo del movi-mento proposto da Bernstein . . . . . . . . . . . . . . . . . . . . 7

1.2 I recettori sensoriali che partecipano al senso del movimento. . 81.3 Organo tendineo del Golgi del calcagno umano. . . . . . . . . . 101.4 Rappresentazione dell’orecchio interno. . . . . . . . . . . . . . . 111.5 Struttura e funzionamento del sistema otolitico . . . . . . . . . 131.6 Illusioni del sistema vestibolare. . . . . . . . . . . . . . . . . . . 141.7 Lo SLED nel laboratorio spaziale SpaceLab . . . . . . . . . . . . 19

2.1 Modalità di funzionamento del dispositivo sviluppato. . . . . . 232.2 Componenti del dispositivo. . . . . . . . . . . . . . . . . . . . . . 242.3 Schemi del dispositivo sviluppato. . . . . . . . . . . . . . . . . . 25

3.1 Rappresentazione degli angoli euleriani Yaw, pitch e roll . . . . 26

4.1 La scheda GY-85. . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.2 Modello dell’accelerometro in differenti configurazioni . . . . . 324.3 Inclinazione di un accelerometro a un asse. . . . . . . . . . . . . 334.4 Output dell’accelerometro vs. Angolo di inclinazione per un

accelerometro a un asse . . . . . . . . . . . . . . . . . . . . . . . 344.5 Angolo di inclinazione e segno dell’accelerazione per ogni qua-

drante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.6 Angoli per la determinazione della posizione. . . . . . . . . . . 364.7 Angolo di errore dovuto all’offset dell’accelerometro. . . . . . . 374.8 Angolo di errore dovuto al mismatch della sensibilità dell’acce-

lerometro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.9 Modello dei circuiti resistivi del magnetometro a tre assi. . . . . 404.10 Bussola inclinata rispetto al piano orizzontale terrestre. . . . . . 414.11 Letture a 360◦ delle componenti x e y del campo magnetico

terrestre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.12 Drift del giroscopio . . . . . . . . . . . . . . . . . . . . . . . . . . 444.13 Un master I2C con uno più slave I2C. . . . . . . . . . . . . . . . . 464.14 Esempio di trasmissione I2C completa. . . . . . . . . . . . . . . 474.15 Schema dei collegamenti Arduino− GY− 85 . . . . . . . . . . . 48

5.1 Diagramma a blocchi dell’algoritmo . . . . . . . . . . . . . . . . 505.2 Correzione del drift attraverso il magnetometro. . . . . . . . . . 54

3

5.3 Correzione del drift per pitch e roll attraverso l’accelerometro. . 56

6.1 Andamento delle misure dell’angolo di imbardata ψ con il sen-sore immobile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Elenco delle tabelle

4.1 Vantaggi vs. Svantaggi dei sensori adottati . . . . . . . . . . . . 454.2 Collegamenti Arduino - GY-85 . . . . . . . . . . . . . . . . . . . 47

6.1 Errore medio e e deviazione standard σ per variazioni angolaridi imbardata ψ fisse e inclinazioni del sensore varie. . . . . . . 58

6.2 Errore medio e e deviazione standard σ per angolo di imbardataψ fisso e variazione di inclinazione. . . . . . . . . . . . . . . . . 59

4

Introduzione

5

1

Il senso dell’orientamento

Le teorie motorie della percezione hanno subito molteplici evoluzioni negliultimi secoli. Sin dal 1852 Lotze affermava che l’organizzazione spaziale del-le sensazioni visive è il risultato della loro integrazione con informazioni diorigine muscolare. L’idea cardine era che la percezione non fosse solamenteun’interpretazione dei messaggi sensoriali: essa è condizionata dall’azione, èuna simulazione interna, è anticipazione delle conseguenze dell’azione1.Un maestro della fisiologia moderna è il russo Bernstein che si occupò delmovimento naturale e ne introdusse alcune regole generali riguardo il fun-zionamento del cervello. In primo luogo introdusse una descrizione dellaregolazione della coordizione del movimento come:

• Previsione;

• Preparazione;

• Esecuzione;

• Controllo.

In seguito concepì l’idea di un ciclo azione-reazione, mostrato in fig. 1.1, incui l’elemento fondamentale è il comparatore. Questo elemento assolve a trefunzioni, efficacemente illustrate da Berthoz2:

• offre la misura dello scarto tra il movimento realizzato e il movimentoprevisto, così da indurre una correzione;

• permette di riconoscere che un atto è stato compiuto;

• rende possibile la correzione dei programmi in corso di esecuzione.

Il concetto fondamentale della teoria di Bernstein è quello di considerare ilprocesso di controllo del movimento non più continuo ma discreto proprio invirtù del funzionamento stesso del comparatore. Il cervello, dunque, recepisce

1Alain Berthoz, “Il senso del movimento”, Mc Graw Hill, 1a edizione (1998), pag. 1.2Alain Berthoz, op. cit. [1], pag. 5.

6

danielecarnevale
Barra
danielecarnevale
Testo inserito
movimenti?

1. IL SENSO DELL’ORIENTAMENTO 7

Figura 1.1: Schema dell’organizzazione cerebrale del controllo del movimentoproposto da Bernstein. Immagine tratta da [1].

le informazione dai sensi e, fondendole, le controlla e fornisce informazionisulle condizioni esterne e sui movimenti necessari.

La teoria del comparatore ha notevolmente influenzato i fisiologi. SecondoSchmidt esistono delle strutture di movimento, definiti “schemi”, che vengo-no immagazzinati dal cervello. Tali schemi non sono degli elementi sensoriali,ma delle relazioni memorizzate. In sintesi, il cervello elabora dei modelli inter-ni di integrazione delle informazioni sensoriali per prevedere le conseguenzedell’azione. Esempio classico è lo sciatore che non aspetta di affrontare lacurva per modificare la sua posizione, bensì anticipa le informazioni senso-riali per regolare i suoi movimenti. Si è passati quindi da una fisiologia dellesensazioni a una fisiologia della percezione che agisce non considerando piùi sensi come dei recettori passivi.

1. IL SENSO DELL’ORIENTAMENTO 8

1.1 Il senso del movimento

Il senso del movimento, o cinestesia, si serve di vari tipi di recettori. Conriferimento alla figura 1.2 possiamo distiguere:

• i recettori situati nel muscolo, che misurano i movimenti degli arti nelloro complesso;

• i recettori cutanei, che misurano le pressioni e gli attriti sulla pelle;

• i recettori vestibolari, che identificano i movimenti della testa;

• la vista, che misura lo scorrimento dell’immagine del mondo sulla reti-na, la posizione degli oggetti nello spazio, la forma , il colore ecc.

Figura 1.2: I recettori sensoriali che partecipano al senso del movimento.Immagine tratta da [1].

Nel seguito del capitolo verranno analizzati i pincipi di funzionamento ditali recettori, evidenziandone le capacità e i limiti per comprendere come pro-

1. IL SENSO DELL’ORIENTAMENTO 9

gettare un dispositivo che aiuti una persona non vedente a praticare l’attivitàsportiva del katà.

1.2 La propriocezione

La propriocezione è la capacità di percepire e riconoscere la posizione delproprio corpo nello spazio e lo stato di contrazione dei propri muscoli. Sononecessari diversi tipi di recettori:

• i fusi neuromuscolari;

• i recettori di Golgi;

• i recettori del tatto.

1.2.1 I fusi neuromuscolari: il senso della posizione e dellavelocità

Nei muscoli del nostro corpo sono presenti dei recettori, posizionati parallela-mente alle fibre muscolari, detti fusi neuromuscolari. Questi sono in grado dipercepire l’allungamento muscolare trasmettendo in continuazione impulsi almidollo spinale e alla corteccia cerebrale. I fusi misurano non solo l’allunga-mento ma anche la velocità (derivata prima dell’allungamento)3.Tali recettori non sono però dei recettori puramente passivi. Il cervello puòmodificarne la sensibilità essendo accessibili all’intenzione motoria: sono pre-senti dei motoneuroni γ subordinati alla volontà e all’intenzione motoria. L’at-tivazione del motoneurone γ permette al cervello di simulare una contrazioneo un allungamento del muscolo così da ottenere un aumento di attività o inalternativa un riposo4.Come riassunto efficacemente da Berthoz «Il cervello dispone con i motoneuroniγ di uno strumento per modulare l’informazione sensoriale all’origine, adattarla alleesigenze del movimento e simulare un movimento. Durante la locomozione, il cervelloprovoca una modulazione della sensibilità dinamica dei fusi»5. Potremmo dunqueaffermare che tali recettori difendono l’integrità anatomica del muscolo rego-landone la lunghezza come risposta riflessa agli stimoli esterni o a seguito diordini del sistema nervoso centrale al fine di adattare la postura.

1.2.2 I recettori del Golgi: il senso dello sforzo

Lo sforzo esercitato dal muscolo sull’articolazione viene misurato da recettoridetti organi tendinei di Golgi (vedi fig. 1.3). Essi rispondono alla tensionemuscolare, ma sono insensibili all’allungamento del muscolo. Quando vie-ne applicata una forza all’estremità del muscolo questi recettori si scaricano,anche a lunghezza costante. Sembrerebbero dunque dei recettori di forzama non ci sono certezze su tale meccanismo. É infatti possibile che la forza

3Alain Berthoz, op. cit. [1], pag. 18.4Alain Berthoz, op. cit. [1], pag. 20.5Alain Berthoz, op. cit. [1], pag. 21.

1. IL SENSO DELL’ORIENTAMENTO 10

non venga direttamente percepita e misurata; i recettori del Golgi potrebberotrasmettere i valori di variazione di forza e, trasmessi al midollo e quindi al-la corteccia cerebrale, il cervello riesce a ricavari i valori assoluti della forzaagente.

Figura 1.3: Organo tendineo del Golgi del calcagno umano. Immagine trat-ta da http://en.wikipedia.org/wiki/Golgi_tendon_organ aggiornato al 14Marzo 2014.

1.2.3 I recettori cutanei: il senso del tatto

La nostra pelle contiene numerosi recettori sensibili a differenti aspetti delcontatto con il mondo esterno. Tra i vari possiamo trovare: i recettori di Meis-sner e di Pacini sensibili alla pressione e alle sue variazioni anche rapide, irecettori sensibili all’attrito attivati dall’inclinazione dei peli, i termorecettoriche riconoscono caldo e freddo, i nocicettori in grado di trasferire la sensazio-ne di dolore ecc. Questa modalità sensoriale è notevolmente ricca e raffinataed è in grado di anticipare gli avvenimenti, visto che tali recettori sono ingrado di misurare variazioni rapide di determinate grandezze (dalle forze dipressione alla velocità di scivolamento di un oggetto sulla pelle)6.La distribuzione dei recettori sulla pelle è disomogenea. Li si trovano concen-trati nelle parti del corpo coinvolte maggiormente nella funzione tattile. Ogniregione della pelle attiva dei neuroni particolari situati nella corteccia somato-sensoriale.I recettori tattili contribuiscono alla percezione della forza, ma non possonodistringuere tra una forza esercitata e una forza subita della stessa intensi-tà. Altre informazioni centrali come il senso dello sforzo o la conoscenza delcomando morotio che viene trasmesso ai muscolo sciolgono questa ambiguità.

1.3 Il sistema vestibolare

Il cervello conosce i movimenti dei segmenti corporei selezionando e modu-lando le informazioni provenienti dai recettori della propriocezione che peròforniscono misure riguardo ai moti relativi delle masse corporee tra loro. Perrealizzare movimenti complessi però il cervello ha bisogno di informazioni

6Alain Berthoz, op. cit. [1], pag. 22

1. IL SENSO DELL’ORIENTAMENTO 11

nel riferimento assoluto7. Il corpo umano ha sviluppato quindi dei recettori ingrado di misurare le forze d’inerzia: i recettori vestibolari. Ne esistono di duetipi:

• i canali semicircolari;

• il sistema otolitico.

Questi, per gli essere umani, sono situati nell’orecchio interno, rappresen-tato nella figura 1.4.

Figura 1.4: Rappresentazione dell’orecchio interno. Immagine trat-ta da http://www.amadeux.net/sublimen/dossier/nozioni_di_acustica_psicofisica.html aggiornato al 14 Marzo 2014.

1.3.1 I canali semicircolari: un referente euclideo fondamen-tale

I canali semicircolari sono cavità a forma di anello riempite di endolfina, unliquido viscoso. A un’estremità del canale si trova un rigonfiamento, la cupo-la, che contiene i recettori sensoriali che sono sensibili alla pressione esercitatadall’endolfina su specifiche strutture ciliari. Le grandezze meccaniche cheproducono la variazione di pressione, attivando i recettori, sono le accelera-zioni angolari della testa. La misura ottenuta è quindi la derivata secondadello spostamento angolare8.La sensibilità di questi recettori è molto alta: misurano accelerazioni sino aqualche decina di gradi per secondo quadro. Inoltre, conoscendo le derivateseconde degli spostamenti angolari sono in grado di prevedere le posizionifuture della testa.Questi recettori sono sottoposti a un controllo centrifugo da parte del sistema

7Alain Berthoz, op. cit. [1], pag. 24.8Alain Berthoz, op. cit. [1], pag. 25.

1. IL SENSO DELL’ORIENTAMENTO 12

centrale, il quale modula le loro proprietà, ma il meccanismo esatto di con-trollo non è ancora perfettamente conosciuto9. Il messaggio sensoriale è, comenel caso dei recettori adibito alla propriocezione, manipolato dal cervello sindalla sua origine.

Una delle funzioni essenziali dei canali vestibolari è dunque quella di mi-surare i movimenti della testa in un sistema di riferimento euclideo, il più van-taggioso per descrivere le accelerazioni angolari. Questi sono quindi posizio-nati approssimativamente su tre piani approssimativamente perpendicolari,come mostrato nella figura 1.4.

1.3.2 Il sistema otolitico: la distinzione tra inclinazione e ac-celerazione

Un otolite è un piccolissimo aggregamento di carbonato di calcio inglobatonell’endolfina. Quando un otolite si sposta, a seguito dell’applicazione di unaforza

−→F come in figura 1.5-a, stimola le cellule ciliate che forniscono i dati al

sistema nervoso centrale.Il sistema otolitico non è altro che un accelerometro. Esso individua la dire-

zione dell’accelerazione di gravità e quindi l’angolo di inclinazione della testa.

Attraverso gli otoliti e i canali semicircolari vestibolari misuriamo i movi-menti della testa nello spazio senza avere bisogno di un punto di appoggio,costituendo un vero e proprio centro di inerzia. Inoltre, attraverso l’uso esclu-sivo degli otoliti, si ottengono informazioni riguardo l’inclinazione statica del-la testa tenendo come riferimento il vettore accelerazione di gravità.

1.4 L’ambiguità delle informazioni vestibolari

L’accelerazione di gravità, come dimostrato da Einstein nel 1911, è indistingui-bile da una qualsiasi accelerazione lineare. Questa caratteristica ha notevoliripercussioni sulle interpretazioni dei segnali provenienti dal sistema vesti-bolare. Per chiarire questo aspetto consideriamo, con riferimento alla figura1.5-b, due situazioni differenti10:

• Caso A: la testa accelera in avanti e dunque vi agisce una forza inerziale.La combinazione di tale forza e quella esercitata dalla gravità produceuna forza inclinata verso il basso. Il cervello avrà l’illusione che questarisultante sia la gravità. Essendo inclinata rispetto al vettore gravitàterreste ne deduce che la testa è inclinata;

• Caso B: la testa è immobile ma inclinata all’indietro. Una componentedella gravità nel piano del recettore dà l’impressione di un’accelerazionein avanti.

9Alain Berthoz, op. cit. [1], pag. 27.10Alain Berthoz, op. cit. [1], pag. 32.

1. IL SENSO DELL’ORIENTAMENTO 13

(a) Il recettore otolitico (b) Ambiguità tra accelerazione e inclina-zione.

Figura 1.5: Immagini tratte da [1].

Appare chiaro che i recettori vestibolari non sono sufficienti e fornisconoinformazioni ambigue che possono essere risolte solo in virtù di informa-zioni tattili e visive. Il problema dell’impossibile distinzione tra inclinazio-ne della testa e un’accelerazione lineare è conosciuto come «problema delladifferenziazione gravito-inerziale».

1.4.1 Problema della differenziazione gravito-inerziale

Esistono delle condizioni in cui le accelerazioni si combinano dando luogo adelle illusioni estremamente gravi.

Con riferimento alla figura 1.6-a, viene mostrato come la forza centrifugadovuta alla rotazione ω si combini con la forza peso dando origine a unaforza gravito-inerziale Ayz. Tale forza viene intesa come verticale vera dandol’impressione all’uomo di essere esso stesso inclinato. A questo fenomenosono correlate differenti illusioni, molto intense e pericolose nell’ambito, adesempio, del volo acrobatico ad esempio.

Illusione del capovolgimento

Tale illusione si presenta durante la stabilizzazione dell’aereoplano dopo unarapida salita. La forza centrifuga agente, terminata la fase di ascensione (incui la traiettoria finale è di tipo parabolica con la concavità verso il basso), sicombina con la forza dovuta alla gravità terrestre generando una forza verso

1. IL SENSO DELL’ORIENTAMENTO 14

(a) Illusione di inclinazione del corpo su una centrifuga

(b) Illusione del cimitero

Figura 1.6: Illusioni del sistema vestibolare. Immagini tratte da [1].

1. IL SENSO DELL’ORIENTAMENTO 15

l’alto (se la componente della forza centrifuga parallela a −→g è maggiore dellaforza peso). In tale condizione il pilota avrà la sensazione di stare capovolto,con la testa all’ingiù11.

Illusione del cimitero

Al momento del decollo l’aereoplano accelera ed è anche inclinato. Come mo-strato nella figura 1.6-b, agendo una forza d’inerzia e la gravità avremo unarisultante che sarà la verticale percepita dal pilota. Questa risultante com-porterà la percezione di un’inclinazione maggiore dell’aeroplano rispetto allarealtà in mancanza, come vedremo, di riferimenti visivi come nel casso diprensenza di nebbia intensa. Questo problema è ormai risolto grazie a sistemidi controllo che forniscono l’inclinazione esatta del mezzo12.

1.5 Individuazione del movimento attraverso la vi-sta

La retina codifica lo scorrimento dell’immagine retinica ricevendo delle in-formazioni di enorme complessità. Quando ci si sposta nel mondo reale,l’immagine si sposta e si deforma in maniera molto difficile da rappresentare.Questa deformazione è definita come flusso ottico e può essere rappresentatotramite un vettore velocità in ogni punto della retina che indica la direzione ela velocità del punto nell’ambiente visivo che si proietta su di essa13.

Lo psicologo James J. Gibson definì e studiò, per conto dell’aeronauticamilitare americana, i meccanismi di percezione visiva e estrapolazione delleinformazioni per quanto riguarda l’equilibrio e il movimento. Constatò comeil flusso ottico sia molto semplice per quanto riguarda un moto di rotazione (aogni punto corrisponde lo stesso vettore) mentre per una traslazione in avanti(come un atterraggio per un aeroplano e nella classica camminata) si presentasotto forma di un’espansione del campo vettoriale da un punto detto fuocodi espansione. Tutte queste informazioni vengono analizzate e utilizzate dallacorteccia cerebrale per predire il movimento proprio e degli ogetti esterni.

1.5.1 Le illusioni della vista

Come già visto per il sistema vestibolare anche il senso della vista presentadei limiti e può fornire delle informazioni non corrette. Per evidenziare taleconcetto vengono proposti due esperimenti molto significativi riportati ancheda Berthoz.

11Alain Berthoz, op. cit. [1], pag. 237.12Alain Berthoz, op. cit. [1], pag. 239.13Alain Berthoz, op. cit. [1], pag. 52.

1. IL SENSO DELL’ORIENTAMENTO 16

Come far oscillare l’Università di Edinburgo

L’esperimento di Lee e Lisham del 1927 consisteva nel sospendere, nell’anfi-teatro dell’Università di Edimburgo, una grande scatola aperta superiormentein cui si trovava un uomo. Oscillando lievemente la scatola il soggetto aveva apercezione che l’intera sala si muovesse invece di captare il moto relativo trascatola e la terra14.

L’esperimento di Nashner e Berthoz

Ancor più complicato e significativo è l’esperimento ideato da Lewis Nashnere Alain Berthoz nel 1978. Il dispositivo è descritto dallo stesso Berthoz in talmodo: «Il soggetto era in piedi su una piattaforma che poteva essere bruscamente spo-stata [. . . ] L’astuzia consisteva nel mettere intorno alla testa del soggetto una scatolain polistirolo leggero che poteva scorrere avanti e indietro. Questa scatola poteva esse-re fissa nello spazio o resa improvvisamente solidale al movimento della testa tramiteun comando elettronico: si applicava la perturbazione, il soggetto cadeva in avanti e,proprio in questo momento, un dispositivo elettronico provocava l’accoppiamento trala testa e la scatola» 15. Il soggetto si trovava quindi in una situazione in cui nonpercepiva alcun movimento tramite la vista e l’unica fonte di informazionesulla propria posizione poteva arrivare dai recettori vestibolari e dai proprio-cettori muscolari e delle articolazioni.Si ottenne che, in queste condizioni, per brevi intervalli temporali, la reazionemuscolare era nulla.

Da queste esperienze se ne deduce che, quando agisce la vista, il cervelloagisce attendendo in primis informazioni dalla vista. La vista è quindi unrecettore provilegiato16.

Si è giunti quindi a una fisiologia proiettiva in cui «il controllo multisensoria-le non è dovuto a una semplice catena di risposte a degli stimoli. Implica il confrontodello stato dei recettori con una predizione»17. Il cervello è in grado di rioganizza-re attivamente le configurazione dei recettori sulle quali fonda le sue decisionee le sue attenzioni.

Nel tentativo di “sostituire” le informazioni provenienti naturalmente dallavista attraverso segnali uditivi o tattili sarà quindi necessario considerare l’a-spetto proiettivo dell’attività cerebrale considerando il problema della coerenzadei segnali.

1.6 Visibile e tangibile: vedere con la propria pelle

L’alfabeto Braille permette ai soggetti non vedenti la lettura. Questo è unesempio di sostituzione sensoriale e di un’equivalenza tra il senso del tatto e

14Alain Berthoz, op. cit. [1], pag. 206.15Alain Berthoz, op. cit. [1], pag. 210.16Alain Berthoz, op. cit. [1], pag. 211.17Alain Berthoz, op. cit. [1], pag. 211.

1. IL SENSO DELL’ORIENTAMENTO 17

della vista. Questa equivalenza funzionale tra visibile e tangibile fu dimostra-ta da Paul Bach-y-Rita che, attraverso l’utilizzo di piccole vibrazioni, mise apunto un tecnica di sostituzione visiva nei ciechi.Gli esperimenti pioneristici di Bach-y-Rita consistevano nella stimolazionedella pelle attraverso una matrice di piccoli vibratori attivati dall’immaginedi una telecamera18. Si creava così un’immagine vibratoria in diversi puntidel corpo come le mani, il ventre, la schiena. . . Se ne è dedotto che la perce-zione indotta da queste immagini tattili ha le stesse proprietà della percezionevisiva come la parallasse, la prospettiva e la valutazione della profondità. At-traverso un sistema del genere è stato possibile permettere a un non vedentedi prevedere la posizione della pallina per una versione semplificata del ping-pong19. Come espresso da Berthoz possiamo affermare «che le informazionitattili hanno accesso ai centri del cervello che trattano le informazioni visive [...] Ab-biamo visto come tangibile e visibile si coniugano nella percezione delle forme»20.

É stata introdotta quindi l’equivalenza tra stimolazione visiva e tattile tantoche, come affermò Merleau-Ponty, filosofo francese grande esponente dellaphénoménologie del Novecento: «la vista è davvero palpazione tramite lo sguardo»21.

1.7 La memoria topografica

Abbiamo già visto nella sezione 1.4 a pagina 12 i limiti sistematici del siste-ma vestibolare e le gravi illusioni che avvengono se queste sono le unicheinformazioni disponibili, caso simile a quello delle persone ipovedenti e nonvedenti. Esistono però dei limiti ulteriori per le persone affette da tale di-sabilità che si basano sulla limitata possibilità di memorizzare e misurare imovimenti da parte dei recettori vestibolari e propriocettivi. Occorre però fa-re una distinzione tra la possibilità di memorizzare le rotazioni, le traslazioni,un generico cammino e un intero percorso in quanto, a seconda dei casi, siottengono risultati diversissimi.

1.7.1 La memoria delle rotazioni

Ciò che si vuole analizzare è la capacità del cervello di memorizzare le ro-tazioni utilizzando le sole informazioni vestibolari. Sono stati effettuati daifisiologi numerosi esperimenti di cui viene riportato il più caratteristico.

L’esperimento del saccadico vestibolare memorizzato

L’esperimento viene riportato da Berthoz in questi termini: «Il soggetto è sedu-to su una sedia girevole davanti a due bersagli visivi. Uno è fisso rispetto alla Terra,l’altro rispetto alla sua testa. Gli si domanda di guardare il primo e di memorizzare la

18Alain Berthoz, op. cit. [1], pag. 75.19Paul Bach-y-Rita, “Vision substitution by tactile image projection”, Nature, No. 221, 1989.20Alain Berthoz, op. cit. [1], pag. 76.21Maurice Merleau-Ponty, “Le visible e l’invisible”, Gallimard, Paris, 1964 (trad. it. “Il visibile e

l’invisibile”, Bompiani, Milano, 1969).

1. IL SENSO DELL’ORIENTAMENTO 18

sua localizzazione nello spazio. Poi si spengono le luci, a parte quella del bersaglio, chegira con lui e impedisce ai suoi occhi di muoversi durante la rotazione. [...] Quandola sedia girevole è immobilizzata, si spegne il bersaglio fissato alla testa del soggetto,che si trova completamente al buio. Si aspettano alcuni secondi in modo che gli effettivestibolari siano attenuati, poi gli si domanda di ricordare dov’era il bersaglio fissato aTerra e di muovere lo sguardo dal punto in cui si è fermata la poltrona»22. Il risultatoottenuto è che, per soggetti normodotati, si è in grado di valutare la rotazio-ne della testa in maniera molto precisa. Ciò avviene anche se si attende variminuti nell’oscurità prima di indicare il punto di riferimento di partenza. Lostesso test, eseguito da pazienti con lesioni a carico della corteccia cerebrale,fornisce invece risultati non positivi.

I risultati ottenuti evidenziano come la corteccia cerebrale non sia implicatanella sola memoria visiva, ma anche nella memoria vestibolare per quantoriguarda le rotazioni.

1.7.2 La memoria delle traslazioni

Come per il caso della memoria delle rotazioni sono stati sviluppati numerosiesperimenti per dimostrare la possibilità di memorizzazione delle traslazioniattraverso il sistema vestibolare. Ad esempio attraverso la slitta spaziale SLED,rappresentata in figura 1.7, è stato effettuato dai fisiologi un esperimento ana-logo al saccadico vestibolare memorizzato. Il soggetto doveva memorizzare laposizione di un oggetto e, dopo una traslazione nell’oscurità, gli veniva chie-sto di puntare lo sguardo verso il punto originario. Anche in questo caso,i risultati per soggetti normodotati sono eccellenti. Ciò accade anche se ilprofilo delle accelerazioni della traslazione non è costante ma, ad esempio,triangolare o quadrato ad esempio23.

Attraverso il sistema vestibolare si è dunque in grado di memorizzare letraslazioni come le rotazioni.

1.7.3 La memoria del cammino

Quanto detto nei paragrafi 1.7.1 e 1.7.2 dimostra il ruolo fondamentale delsistema vestibolare nella memoria degli spostamenti nel caso che questi sianoimposti passivamente. Nel caso di una camminata i recettori della proprioce-zione agiscono in maniera determinante. Un semplice esperimento, elaboratoda Thomson, consiste nel raggiungere un punto prestabilito nell’oscurità. Iltest per i normodotati dà risultati positivi, anche se viene chiesto al soggettodi effettuare una o più variazioni di traiettoria. Inoltre tale percorso è ripeti-bile, sempre nell’oscurità, parecchie volte. Da questo apetto se ne deduce chel’informazione è stata immagazzinata.

22Alain Berthoz, op. cit. [1], pag. 108-109.23Alain Berthoz, op. cit. [1], pag. 110.

1. IL SENSO DELL’ORIENTAMENTO 19

Figura 1.7: Lo SLED nel laboratorio spaziale SpaceLab. Immagine tratta da [1].

Possiamo spiegare questo meccanismo considerando la possibilità di ricavaregli spostamenti effettuati attraverso tre fonti di informazioni24:

• i recettori della propriocezione;

• la memoria dei comandi motori del passo;

• la memoria delle informazioni vestibolari.

L’ultima possibilità presuppone una capacità intrinseca del cervello di in-tegrare le informazioni sulle accelerazioni per arrivare agli spostamenti: ciòche Poincarè defini come «integrazione dei percorsi».

Secondo Berthoz è possibile affermare che «la memoria degli spostamenti èsenza dubbio una vera memoria dinamica la cui attivazione induce una simulazio-ne interna del percorso. Il cervello non si accontenta di comparare le informazionisensoriali alle informazioni memorizzate, aziona dei meccanismi di anticipazione»25.

1.7.4 La memoria del percoso: la navigazione inerziale

Dalle analisi svolte nel paragrafo precedente sembrerebbe che non ci sianolimiti al senso dell’orientamento attraverso le informazioni dei recettori pro-priocettivi e vestibolari e che sia possibile una qualsiasi funzione di navigazionememorizzata. Con il termine navigazione, si intende la capacità di trovare unastrada sul mare mentre per estensione sulla terra e nell’aria. Già nel 1873 Dar-win si interessò ai meccanismi impressionanti di navigazione degli animali nei

24Alain Berthoz, op. cit. [1], pag. 112.25Alain Berthoz, op. cit. [1], pag. 113.

1. IL SENSO DELL’ORIENTAMENTO 20

loro viaggi e nelle loro migrazioni evidenziando però l’incapacità di tali im-prese negli esseri umani. Tuttavia nessun animale in grado di tali spostamentipossiede strumenti e strutture organiche non presenti anche nel’organismoumano. Si è quindi ipotizzata la possibilità che il nostro sistema vestibolarepossa fungere anche da sistema di navigazione inerziale. Su tale argomentoi fisiologi dibattono ancora e non si è giunti ancora alla conoscenza certa deimeccanismi che forniscono tali informazioni e capacità.

In conclusione Berthoz afferma che «la navigazione non è quindi che la realiz-zazione di un piano interno basato sull’esperienza passata, e i sensi vengono utilizzati[...] per verificare che il piano si svolga secondo le previsioni e per effettuare dellecorrezioni»26.

Proprio da questa ultima analisi è evidenziabile il fatto che, nel caso di unnon vedente costretto a eseguire un gesto tecnico prolungato e molto compli-cato, la perdita dell’orientamento è inevitabile dato che non è possibile utiliz-zare il senso della vista come verifica del piano interno basato sull’esperienzae correggere eventuali problemi. Questo aspetto risulta ancora più evidentericordando le analisi svolte nel paragrafo 1.5 in cui il ruolo della vista è statodefinito come privilegiato rispetto a tutti gli altri. Inoltre è da sottolineare il fat-to che i gesti tecnici eseguiti necessitano di un modello interno estremamentemolto complicato in cui, inoltre, possono interferire le ambiguità e le illusionitipiche del sistema vestibolare mostrate nel paragrafo 1.4.

26Alain Berthoz, op. cit. [1], pag 114.

2

Sviluppo del dispositivo

Nel precedente capitolo sono stati mostrati quali sono i meccanismi carat-teristici del senso dell’equilibrio e dell’orientamento umano evidenziandone ilimiti dovuti all’assenza della vista. É stato visto, inoltre, come le informazioniprovenienti dai recettori vestibolari e della propriocezione possano sopperirea tale mancanza.

Il kata è un esercizio individuale che rappresenta un combattimento realecontro più avversari. L’esercizio consiste in un succedersi di tecniche di paratae attacco prestabilite. Senza addentrarci tecnicamente nel vasto e antico mon-do del karate e dei suoi molteplici stili, per avere un’idea della complessitàsequenziale di tali esercizi, vengono riportati, a titolo di esempio, i passaggidel kata Taikyoku Shoda, il più semplice dello stile Shotokan1:

1. Saluto (Rei) Musubi dachi;

2. Dichiarazione nome del kata Taikyoku Shoda;

3. Yoi Hachiji-dachi;

4. Verso sinistra Gedan Barai Zenkutsu-dachi sinistro;

5. Passo in avanti Zenkutsu-dachi destro oi-zuki chudan;

6. Rotazione di 180° Zenkutsu-dachi destro Gedan Barai;

7. Avanzando Zenkutsu-dachi sinistro colpire oi-zuki chudan;

8. Spostando la gamba sinistra di 90° in senso antiorario parare GedanBarai sinistro in Zenkutsu-dachi sinistro;

9. Avanzando Zenkutsu-dachi destro colpire oi-zuki chudan;

10. Avanzando Zenkutsu-dachi sinistro colpire oi-zuki chudan;

11. Avanzando Zenkutsu-dachi destro colpire oi-zuki chudan con KIAI;

1http://it.wikipedia.org/wiki/Taikyoku_Shodan aggiornato al 2 Aprile 2013

21

danielecarnevale
Testo inserito
Shodan (dovrebbe esserci la n)

2. SVILUPPO DEL DISPOSITIVO 22

12. Ruotare, tenendo fermo il piede anteriore, di 270° di spalle Gedan Baraisinistro in Zenkutsu-dachi sinistro;

13. Avanzando Zenkutsu-dachi destro Oi-zuki chudan;

14. Rotazione di 180° Zenkutsu-dachi destro Gedan Barai destro;

15. Avanzando Zenkutsu-dachi sinistro Oi-zuki chudan;

16. Spostando la gamba sinistra di 90° in senso antiorario parare GedanBarai sinistro in Zenkutsu-dachi sinistro;

17. Avanzando Zenkutsu-dachi destro Oi-zuki chudan;

18. Avanzando Zenkutsu-dachi sinistro Oi-zuki chudan;

19. Avanzando Zenkutsu-dachi destro Oi-zuki chudan con KIAI;

20. Ruotare, tenendo fermo il piede anteriore, di 270° di spalle Gedan Baraisinistro in Zenkutsu-dachi sinistro;

21. Avanzando Zenkutsu-dachi destro Oi-zuki chudan;

22. Spostando il piede anteriore ruotare di 180° in senso orario Gedan Baraidestro in Zenkutsu-dachi; destro;

23. Avanzando Zenkutsu-dachi sinistro Oi-zuki chudan;

24. Yoi;

25. Saluto Musubi dachi;

26. Yame.

É da sottolineare che nell’esecuzione del kata riveste fondamentale impor-tanza la qualità formale delle tecniche, delle posizioni e degli spostamenti.Non è tollerabile che un atleta concluda l’esercizio in una posizione differenterispetto a quella di partenza. É dunque molto complicato, ancor più per katadi difficoltà superiore, creare dei modelli interni da eseguire senza l’ausilio diun controllo visivo (come già visto nel paragrafo 1.7).

Le funzionalità del dispositivo

Il dispositivo sviluppato si pone come obiettivo quello di fornire un riferimen-to per l’orientamento dell’atleta sotto forma di segnale vibratorio o acustico.Questo è in grado di memorizzare una posizione di riferimento, rappresenta-ta da un valore dell’angolo di imbardata (yaw). Quando l’atleta si trova nellaposizione fissata verrà fornito un segnale percepibile.É necessario stabilire un grado di tolleranza per la posizione di riferimento edè stato fissato pari a circa 10° in senso antiorario e orario (vedi la figura 2.1a).É stata, alternativamente, sviluppata anche la possibilità di fornire un doppioriferimento: uno analogo al precedente e l’altro a 180° (vedi la figura 2.1b).

2. SVILUPPO DEL DISPOSITIVO 23

(a) Riferimento unico. (b) Doppio riferimento.

Figura 2.1

I componenti del dispositivo

Il dispositivo realizzato è composto dai seguenti componenti:

• Arduino UNO (fig. 2.2a);

• Sensore GY-85 (fig. 2.2b);

• Motore a vibrazione VPM2 della Solarbotics (fig. 2.2c);

• Buzzer sonoro piezoelettrico PS1240 della Adafruit Industries (fig.2.2d);

• Due pulsanti On/Off;

• Pulsante a pressione.

Attraverso il pulsante a pressione viene memorizzato l’angolo di imbar-data di riferimento. I due pulsanti On/Off sono necessari all’accensione deldispositivo e alla scelta del tipo di segnale di output (vibratorio o sonoro).

Nelle figure 2.3a e 2.3b sono riportati gli schemi di collegamento e il cir-cuito elettrico relativo.

2. SVILUPPO DEL DISPOSITIVO 24

(a) Arduino UNO. (b) GY-85.

(c) VPM2. (d) PS140.

Figura 2.2: Componenti del dispositivo. Immagini tratte da:(a): http://arduino.cc/en/Main/arduinoBoardUno(b): http://www.dx.com/p/gy-85-6dof-9dof-imu-sensor-module-for-arduino-148436.Uzr7qVdtUY0(c): http://www.robot-italy.com/it/vpm2-vibrating-disk-motor.html(d): http://www.adafruit.com/products/160aggiornati al 25 Marzo 2014.

2. SVILUPPO DEL DISPOSITIVO 25

(a) Schema dei collegamenti.

(b) Schema circuitale.

Figura 2.3: Schemi del dispositivo sviluppato.

3

Matrice dei coseni direttori

Vengono definiti due sistemi di riferimento:

• 0-XYZ: sistema di riferimento fisso (Ground);

• 0-xyz: sistema di riferimento mobile (solidale con l’utente).

Il nostro problema è come indentificare l’orientamento di un sistema diriferimento mobile rispetto a un riferimento fisso. Sarà necessario identificarel’entità delle rotazioni relative tra i due sistemi di riferimento.Con riferimento alla figura 3.1, Vengono introdotti tre angoli caratteristici,detti angoli di Eulero:

• Roll φ (Rollio): rotazione attorno all’asse x;

• Pitch θ (Beccheggio): rotazione attorno all’asse y;

• Yaw ψ (Imbardata): rotazione attorno all’asse z.

Figura 3.1: Yaw, pitch e roll.

Attraverso queste tre rotazioni è possibile rappresentare ogni tipo di tra-sformazione in un sistema a 9 gradi di libertà.

26

3. MATRICE DEI COSENI DIRETTORI 27

3.1 DCM (Matrice dei Coseni Direttori)

Un fondamentale strumento per rappresentare le rotazioni nello spazio tridi-mensionali è la matrice dei coseni direttori (DCM). Questa matrice permettedi conoscere le coordinate di un vettore nel riferimento fisso partendo dallecoordinate dello stesso nel riferimento mobile attraverso la seguente relazione:

−→a G = R · −→a M (3.1)

In cui:

• −→a G: vettore~a espresso nel riferimento fisso (Ground);

• −→a M: vettore −→a espresso nel riferimento mobile;

• R: matrice di rotazione (DCM).

La matrice dei coseni direttori può essere ottenuta componendo le matricidi singole rotazioni degli angoli di Eulero:

• La rotazione attorno all’asse x di un angolo φ (roll) è rappresentata dallamatrice seguente:

Rφ =

1 0 00 cos φ − sin φ0 sin φ cos φ

• La rotazione attorno all’asse y di un angolo θ (pitch) è rappresentata

dalla matrice seguente:

Rθ =

cos θ 0 sin θ0 1 0

− sin θ 0 cos θ

• La rotazione attorno all’asse z di un angolo ψ (yaw) è rappresentata dalla

matrice seguente:

Rψ =

cos ψ − sin ψ 0sin ψ cos ψ 0

0 0 1

La matrice di rotazione completa degli angoli di Eulero viene ricavata

calcolando il prodotto delle matrici appena scritte ottenendo:

R =

cos θ cos ψ − cos φ sin ψ + sin φ sin φ sin θ cos ψ sin ψ sin φ + cos φ sin θ cos ψcos θ sin ψ cos φ cos ψ + sin φ sin θ sin ψ − sin φ cos ψ + cos φ sin θ sin ψ− sin θ sin φ cos θ cos φ cos θ

(3.2)

La matrice di rotazione R può essere ricavata anche in maniera differente.Le coordinate del vettore −→a nel riferimento fisso possono essere scritte infunzione delle sue coordinate nel riferimento mobile:

3. MATRICE DEI COSENI DIRETTORI 28

aG

x = aMx I · i + aM

y I · j + aMz I · k

aGy = aM

x J · i + aMy J · j + aM

z J · kaG

z = aMx K · i + aM

y K · j + aMz K · k

In cui:

• aGx , aG

y e aGz sono le coordinate del vettore−→a nel riferimento fisso (Ground);

• aMx , aM

y e aMz sono le coordinate del vettore −→a nel riferimento mobile;

• I, J e K sono i versori che caratterizzano il riferimento fisso;

• i, j e k sono i versori che caratterizzano il riferimento mobile.

Il sistema può essere scritto in forma matriciale come nell’eq. 3.1 in cui:

R =

I · i I · j I · kJ · i J · j J · kK · i K · j K · k

(3.3)

Sviluppando i prodotti scalari (ricordando che i tutti i versori hanno mo-dulo pari all’unità) avremo:

R =

cos αIi cos αI j cos αIkcos αJi cos αJ j cos αJkcos αKi cos αKj cos αKk

(3.4)

Gli angoli αMm sono gli angoli compresi tra i gli assi dei due differenti sitemidi riferimento.Appare evidente, con questa definizione, la ragione della denominazione ditale matrice come «matrice dei coseni direttori».

I nove angoli αMm non sono tutti indipendenti ma solamente tre di questilo sono. Conformemente alla teoria di Eulero si sceglieranno i tre angoli indi-pendenti come i già difiniti yaw, pitch e roll.

Conoscendo la DCM sarà allora banale ricavare i nostri angoli eulerianiattraverso le seguenti relazioni:

• pitch: θ = − arcsin R[3; 1]

• roll: φ = atan2(R[3; 2], R[3; 3])

• yaw: ψ = atan2(R[2, 1], R[1; 1])

3. MATRICE DEI COSENI DIRETTORI 29

3.1.1 Proprietà della DCM

Caratteristica che tornerà utile in seguito è che le righe di tale matrice rappre-sentano le proiezioni dei versori degli assi del sistema fisso su quello mobile,viceversa le colonne rappresentano le proiezioni dei versori degli assi del si-stema mobile su quello fisso.É possibile ripetere gli stessi passaggi effettuatiper definire la DCM volendo però definire le coordinate di un vettore nel ri-ferimento mobile in funzione delle sue coordinate nel riferimento fisso. Inquesto caso si otterrà la matrice RG. Questa matrice sarà pari alla traspostadella matrice R già calcolata. Possiamo quindi scrivere:

−→a M = RG · −→a G (3.5)

Considerando le equazioni 3.1 e 3.5 appare chiaro che:

R−1 = Rt = RG (3.6)

Sono allora valide le seguenti relazioni:

R · Rt = R · RG = I (3.7)

Questa relazione evidenzia l’ortogonalità delle due matrici di rotazione,proprietà che sarà preziosa nel seguito della trattazione.

4

Unità di Misura Inerziale(IMU)

Un’unità di misura inerziale (nota anche come Inertial Measurement Unit, oIMU), è un sistema elettronico basato su sensori inerziali come accelerometri,magnetometri e giroscopi e, recentemente ricevitori GPS. Le IMU sono diven-tate i componenti principali per i sistemi di navigazione in ambito aeromobile,aerospaziale, navale e molti altri sistemi di movimentazione. Ultimamente,inoltre, le tecnologie di rilevamento del movimento sono apparse ovunque,dai telefoni cellulari ai telecomandi TV.

La scheda IMU adottata è la GY-85 che è composta da tre sensori moltoutilizzati:

• Accelerometro a tre assi ADXL-345;

• Magnetometro a tre assi HMC-5883L;

• Giroscopio a tre assi ITG-3200.

Nel corso di questo capitolo verrà inizialmente introdotto il funzionamentodi ogni tipo di sensore per poi passare alla caratterizzazione tecnica e alla pro-cedura di calibrazione di ognuno per la scheda GY-85. Infine verrà analizzitoil protocollo di comunicazione seriale I2C (Inter-Integrated-Circuit), comune aitre sensori.

4.1 Accelerometro

Un accelerometro è uno strumento di misura in grado di rilevare e misura-re l’accelerazione. Gli accelerometeri sono stati i primi sensori presenti nelleapplicazioni di massa permettendo, ad esempio, l’uso degli air-bag nelle auto-mobili. I moderni accelerometri sono dei MEMS, acronimo per Micro Electro-Mechanical Systems (micro sistemi elettro-meccanici).A livello generale la struttura fisica della maggior parte degli accelerometri è

30

4. UNITÀ DI MISURA INERZIALE (IMU) 31

(a) (b)

Figura 4.1: La scheda GY-85. Immagine tratta da http://www.dx.com/p/gy-85-6dof-9dof-imu-sensor-module-for-arduino-148436.Uzr7qVdtUY0aggiornata al 25 Marzo 2014.

rappresentabile come una massa sospesa da molle all’interno di un cubo comein figura 4.2-a.

Muovendo il cubo nello spazio, la sfera si sposterà all’interno comprimen-do e allungando le molle. Da tale deformazione sarà possibile risalire alla for-za agente e quindi all’accelerazione presente utilizzando l’equazione di Hookee il primo principio della dinamica:

−→F = k · −→δ = m · −→a (4.1)

Gli assi di riferimento dell’accelerometri si originano al centro delle cubo.Possiamo quindi avere valori negativi dell’accelerazione, come nel caso statico.Se il corpo resta immobile allora è soggetto alla sola forza di gravità. Lamassa sospesa sarà allora spostata verso il basso come riportato in figura 4.2-bcomprimendo la molla sottostante.

Il sensore, in questa situazione, misura un valore dell’accelerazione paria 1g, ovvero circa 9, 82 m/s2 lungo l’asse verticale z. Immaginando di ruo-tare il cubo attorno all’asse x è chiaro come saranno deformato più mollecontemporaneamente (vedi figura 4.2-c).

Gli accelerometri sono utilizzati spessissimo per applicazioni di tilt sensing:conoscendo l’entità delle deformazioni delle varie molle sarà possibile risali-re all’inclinazione del corpo stesso rispetto all’orizzonte (l’unica accelerazioneagente deve però essere −→g ).

Le stesse case produttrici di tali sensori forniscono delle informazioni ri-guardo all’utilizzo dei componenti tracciando delle linee guida per gli utenti.Nel seguito del lavoro svolto, le relazioni tra l’output dell’accelerometro el’orientamento del sistema verranno ricavate gradualmente seguendo le ana-lisi e le indicazioni presenti in “Using an Accelerometer for Inclination Sensing”di Christopher J. Fisher1della Analog-Devices che fornisce informazioni anche

1Christopher J. Fisher, “Using an Accelerometer for Inclination Sensing”, AN-1057 ApplicationNote, Analog Devices, 2010.

4. UNITÀ DI MISURA INERZIALE (IMU) 32

(a) Assenza di gravità

(b) Sottoposto alla sola forza di gravità

(c) Dopo una rotazione attorno all’asse x

Figura 4.2: Modello dell’accelerometro in differenti configurazio-ni. Immagine tratta da http://www.settorezero.com/wordpress/cosa-sono-come-funzionano-e-a-cosa-servono-gli-accelerometri/aggiornato al 5 Marzo 2014.

4. UNITÀ DI MISURA INERZIALE (IMU) 33

per quanto riguarda la calibrazione dello strumento che si vedrà in seguito nelparagravo 4.1.2 a pagina 36. Si analizzerà progressivamente il funzionamentodell’accelerometro a un asse, due assi e tre assi.

Accelerometro a un asse

In prima istanza vogliamo ricavare l’angolo di rotazione di un corpo attornoall’asse x utilizzando un semplice accelerometro monoassiale (fig. 4.3).

Figura 4.3: Inclinazione di un accelerometro a un asse. Immagine tratta da [5].

Attraverso delle basilari analisi trigonometriche è possibile ricavare il va-lore della proiezione del vettore gravità lungo l’asse x2.:

ax = 1g · sin θ (4.2)

Conoscendo il valore di ax (offerto dall’accelerometro ovviamente) saràpossibile ricavare il valore della rotazione θ. L’accelerometro a un asse presen-ta però un problema di sensibilità vista la natura sinusoidale dell’andamentodella proiezione di −→g lungo x (output) rispetto all’angolo di inclinazione θ(fig. 4.4). É evidente come delle piccole variazioni dell’output ax attorno a va-lori di θ pari a circa ±90◦ possano portare a variazioni significative per quantoriguarda l’angolo di inclinazione θ rispetto alla stessa variazione ax per caloridi θ vicini allo zero. Un altro limite dell’accelerometro a un asse è l’impossibi-lità di ottenere misure a 360◦ visto che si ottiene lo stesso output ax per θ paria N e 180◦ − N3.

Proprio per queste problemi si passa a un accelerometro a due assi

Accelerometro a due assi

L’accelerometro a due assi si compone di due accelerometri a un asse po-sizionati ortogonalmente. Oltre all’output ax (definito come in precedenza)otteniamo anche ay che altro non è che la proiezione del vettore accelerazionedi gravità −→g lungo l’asse y. Possiamo allora scrivere4:

ay = 1g · cos θ (4.3)

2Christopher J. Fisher, op. cit. [5], pag. 3.3Christopher J. Fisher, op. cit. [5], pag. 4.4Christopher J. Fisher, op. cit. [5], pag. 5.

4. UNITÀ DI MISURA INERZIALE (IMU) 34

Figura 4.4: Output dell’accelerometro vs. Angolo di inclinazione per unaccelerometro a un asse. Immagine tratta da [5].

Con riferimento alle eq. 4.2 e 4.3 possiamo scrivere:

ax

ay=

sin θ

cos θ= tan θ (4.4)

E quindi:

θ = arctanax

ay(4.5)

Questa relazione restituisce un valore di θ molto più preciso rispetto aquello ottenuto attraverso il solo accelerometro a un asse. Inoltre come evi-denziato nella fig. 4.5, anche se ci sono coppie di valori di θ uguali in moduloper inclinazioni differenti, le combinazioni differenti di segni permettono didistinguere le situazioni differenti. L’accelerometro a due assi permette quindidi ottenere misure a 360◦5.

Nonostante l’accelerometro a due assi risolva i problemi appena citati, nonpuò definire da solo la posizione di un corpo nello spazio. Sarà necessarioadottare un accelerometro a tre assi.

Accelerometro a tre assi

L’accelerometro a tre assi si ottiene aggiungendo un terzo asse perpendicolareagli altri due già presenti. É possibile definire tale posizione attraverso diversitipi di coordinate come ad esempio le coordinate polari o attraverso gli angolieuleriani già introdotti nei precendenti capitoli.Con riferimento alla fig. 4.6 possiamo ricavare gli angoli pitch e roll6:

θ = arctanax√

a2y + a2

z

(4.6)

5Christopher J. Fisher, op. cit. [5], pag. 6.6Christopher J. Fisher, op. cit. [5], pag. 7.

4. UNITÀ DI MISURA INERZIALE (IMU) 35

Figura 4.5: Angolo di inclinazione e segno dell’accelerazione per ogniquadrante. Immagine tratta da [5].

φ = arctanay√

a2x + a2

z(4.7)

É importante sottolineare che l’angolo α rappresentato nella fig. 4.6 non èl’angolo yaw ψ introdotto precedentemente.

L’angolo ψ non può essere misurato attraverso un solo accelerometro a treassi a causa della struttura stessa del sensore. Ricordando la struttura internae immaginando di ruotare l’accelerometro attorno all’asse parrallelo al vettore−→g con velocità costante, le molle all’interno non si deformeranno.Altro difetto classico per gli accelerometri è l’ipersensibilità al movimento cau-sando un tremito nel gesto.

4.1.1 ADXL-345

L’ADXL-345 è un accelerometro a tre assi piccolo, sottile e a bassissima po-tenza con risoluzione delle misure molto alta (13 bit). Può arrivare, con altarisoluzione, a effettuare misure sino a ±16g. É in grado di misurare sia l’ac-celerazione dinamica dovuta al movimento, sia l’accelerazione statica , comela gravità, che permette di essere usato come un sensore di pendenza (tilt sen-sor).7

7“Data Sheet ADXL345”, Analog Devices, 2013, pag. 1.

4. UNITÀ DI MISURA INERZIALE (IMU) 36

Figura 4.6: Angoli per la determinazione della posizione. Immagine tratta da[5].

Il sensore è una microstruttura sospesa attraverso molle in polisilicio supiastrine in silicio. La deformazione delle molle, necessaria per determinarel’accelerazione agente, è rilevata attraverso l’utilizzo di vari condensatori dif-ferenziali. L’accelerazione devia la massa di prova e sbilancia i condensatoridifferenziali producendo un output proporzionale all’accelerazione8.

4.1.2 Calibrazione dell’accelerometro

Tutte le analisi effettuate nel paragrafo 4.1 sono state effettuate assumendol’accelerometro come ideale e quindi con una perfetta sensibilità e senza offsetdove:

• il termine sensibilità indica il rapporto tra la variazione del valore misu-rato A e la variazione del valore reale E della grandezza considerata:

S =dAdB

Viene espressa in mV/g nel nostro caso;

• il termine offset, detto anche slittamento, indica la differenza rispettoa un valore di riferimento che nel caso dell’accelerometro può essereil valore 0g (perpendicolare al vettore accelerazione di gravità) o ±1g(parallelo al vettore accelerazione di gravità) come vedremo in seguito.

Ovviamente queste due sorgenti di errore non sono le uniche ma sono pre-ponderanti.

8“Data Sheet ADXL345”, Analog Devices, 2013, pag. 13.

4. UNITÀ DI MISURA INERZIALE (IMU) 37

Sebbene i sensori vengano rettificati, i dispositivi sono di natura meccani-ca, ciò comporta che qualsiasi stress statico delle parti assemblate del sistemapotrebbe portare effetti sull’offset e sulla sensibilità. Questo aspetto, unitocon i limiti della calibrazione di fabbrica, porta a errori considerevoli tuttaviacorreggibili9.

Effetti dovuti all’errore di offset

L’errore dovuto all’offset può essere considerevole. Consideriamo, per sempli-cità, un accelerometro a due assi con una perfetta sensibilità per l’asse y macon un offset di 50 mg per l’asse x.Per un’inclinazione di 0◦, rispetto a un piano orizzonatale, lungo l’asse x sileggerà un valore pari a 50 mg, mentre l’asse y riporterà 1 g. Attraverso l’e-quazione 4.5 a pagina 34 calcoleremo il valore dell’inclinazione θ = 2.9◦ cheovviamente dovrebbe essere nullo. In figura 4.7 viene riportato l’andamentodi questo errore in funzione dell’angolo di inclinazione θ.

Figura 4.7: Angolo di errore dovuto all’offset dell’accelerometro.

L’errore non è molto alto ma è variabile e ciò comporta una difficoltà nellacalibrazione in quanto non sarà possibile apportare lo stesso fattore correttivoper ogni valore di θ10.

Effetti dell’errore di mismatch della sensibilità

La componente di errore principale per un accelerometro è dovuta alla diver-sa sensibilità tra gli assi. Dovendo utilizzare il rapporto tra gli output del-l’accelerometro, se la sensibilità fosse la stessa per i tre sensori, la gran partedell’errore si cancellerebbe.Consideriamo un accelerometro a due assi in cui l’asse y è perfettamente sen-sibile mentre l’asse x ha un 5% di sensibilità. Ciò comporta che con l’asse y

9Christopher J. Fisher, op. cit. [5], pag. 7.10Christopher J. Fisher, op. cit. [5], pag. 7.

4. UNITÀ DI MISURA INERZIALE (IMU) 38

rivolto verso l’altro ottengo un valore pari a 1g dalla lettura di questo, mentrocon l’asse x verso l’alto ottendo un valore pari a 1.05g.Procedendo, come nel caso dell’offset, calcolando θ attraverso l’equazione 4.5otterremo un andamento dell’errore rispetto all’inclinazione come in figura4.811.

Figura 4.8: Angolo di errore dovuto al mismatch della sensibilitàdell’accelerometro. Immagine tratta da [5].

Analogamente al caso dell’offset (fig. 4.7) l’errore varia in un intervallo dirotazione rendendo difficile la compensazione dell’errore dell’angolo calcola-to. Variando il mismatch delle sensibilità tra gli assi avremo sempre più unintervallo di errore migliore.

Tecnica di calibrazione

Quando gli errori dovuti all’offset e al mismatch di sensibilità si combinano,l’errore può diventare abbastanza grande e ben oltre i limiti accettabili nelleapplicazioni di tilt sensing. Per ridurre questo errore, l’offset e la sensibilitàdevono essere calibrati.Includendo gli effetti dell’offset e della sensibilità, l’output dell’accelerometrosarà12:

AOUT [g] = AOFF + (K · AAct) (4.8)

in cui:

• AOFF è l’errore dovuto all’offset, in funzione di g;

11Christopher J. Fisher, op. cit. [5], pag. 8.12Christopher J. Fisher, op. cit. [5], pag. 8.

4. UNITÀ DI MISURA INERZIALE (IMU) 39

• K è il guadagno dell’accelerometro (per un accelerometro ideale è pariall’unità);

• AAct è il valore dell’accelerazione realmente agente sull’accelerometro(ciò che vogliamo conoscere), in funzione di g.

Un semplice metodo di calibrazione consiste nell’assumere che il guada-gno sia pari a 1 così da misurare il termine relativo all’offset. Questa calibrazio-ne può essere effettuata posizionando l’asse in questione tale che il valore sianullo (perpendicolarmente al vettore accelerazione di gravità); l’output saràpari a AOFF: valore, inevitabilmente diverso da zero, che sarà quindi sottrattoall’output dell’accelerometro prima dell’elaborazione del segnale.

Un metodo maggiormente accurato consiste nell’usare due punti di rife-rimento per ogni asse (saranno quindi in totale sei punti). Ogni asse dovràessere posizionato parallelamente al vettore accelerazione di gravità con ver-so prima concorde e poi discorde. Otterremo quindi un valore per la misuramassimo Amax e per la misura minima Amin che, se l’accelerometro fosse idea-le, sarebbero pari rispettivamente a +1g e −1g. Utilizzando l’equazione 4.8per queste due misure avremo:

Amax[g] = AOFF + (1g · K) (4.9)

Amin[g] = AOFF − (1g · K) (4.10)

dove il valore AOFF è espresso in funzione di g.

Misurando i due valori Amax[g] e Amin[g], è possibile utilizzarli per deter-minare AOFF e K utilizzando proprio le relazioni precedenti:

Ao f f [g] =Amax + Amin

2(4.11)

K =12· Amax − Amin

1g(4.12)

Questi valori possono essere sostituiti nell’equazione 4.8 esplicitando ilvalore reale dell’accelerazione:

Aact[g] =AOUT − AOFF

K(4.13)

dove ancora AOUT e AOFF sono espressi in funzione di g.Questo tipo di calibrazione permette anche di minimizzare l’effetto negati-vo dovuto alla sensibilità degli assi ortogonali che durante la misurazione diAmax[g] e Amin[g] registrano valori vicino a 0g13.

Ovviamente queste misurazioni e questi passaggi matematici devono es-sere effettuati per ogni asse dell’accelerometro per ottenere dei risultati atten-dibili e precisi.

13Christopher J. Fisher, op. cit. [5], pag. 8.

4. UNITÀ DI MISURA INERZIALE (IMU) 40

4.2 Magnetometro

Il magnetometro è lo strumento di misura del campo magnetico. Ne esisto-no moltissime tipologie che sfruttano diversi fenomeni fisici. Nel nostro caso(HMC-5883L), il sensore è composto da tre circuiti magnetoresistivi che misu-rano le componenti del campo magnetico su tre direzioni perpendicolari dellospazio. Un modello schematizzato del sistema è mostrato in fig. 4.9.

Figura 4.9: Modello dei circuiti resistivi del magnetometro a tre assi. Imma-gine tratta da http://en.wikipedia.org/wiki/Magnetometer aggiornata al 7Marzo 2014.

L’HMC-5883L effettua le misure sfruttando il fenomeno dell’induzione elet-tromagnetica in una bobina. Ponendo infatti una bobina piana in un campomagnetico si osserva ai suoi capi una tensione elettrica:

V = −dφ

dt= −d

−→B · ndt

S (4.14)

In cui:

• φ: flusso del campo magnetico attraverso la bobina;

• n: versore normale alla superficie della bobina;

• S: area della spira.

Il problema principale per i sensori magnetici è che misurano tutti i cam-pi magnetici, non solamente il campo magnetico terrestre. I campi magneticiesterni, inevitabilmente presenti come ad esempio quelli prodotti da batteriee da campi indotti, distorcono il campo vicino ai sensori. Questi disturbi, sestazionari, possono essere presi in considerazione e compensati attraverso lacalibrazione mentre, se momentanei, non possono essere prevedibili e correg-gibili.

Partendo dalle sole componenti del campo magnetico sugli assi non è pos-sibile determinare il valore dell’angolo di imbardata yaw se non conoscendo

4. UNITÀ DI MISURA INERZIALE (IMU) 41

Figura 4.10: Bussola inclinata rispetto al piano orizzontale terrestre. Immaginetratta da [7].

l’orientamento del sensore nello spazio. Sarà necessario compensare le misurea seconda dell’inclinazione dell’oggetto. L’utilizzo del magnetometro risultautile solo in presenza di un accelerometro a tre assi in quanto, noti gli an-goli roll φ e pitch θ, è possibile determinare l’angolo yaw ψ attraverso delleconsiderazioni trigonometriche (vedi figura 4.10)14:

Mx = mx · cos φ + Mz · cos φ (4.15)

My = mx · sin θ · sin φ + my · cos θ −mz · sin θ · cos φ (4.16)

ψ = atan2(My, Mx) (4.17)

in cui mi rappresenta la componente del campo magnetico lungo gli assix, y e z rispettivamente.

Il magnetometro a tre assi HMC-5883L è un modulo multi-chip progetta-to per rilevare campi magnetici molto bassi. Il sensore utilizza la tecnologiaAMR, sono molto economici e permettono di avere misure molto precise da0.08 mG sino a 8 G rispetto al flusso del campo magnetico15.

4.2.1 HMC-5883L

L’HMC-5883L è costituito da un circuito con tre magnetoresistori e applicazio-ni specifiche per misurare il campo magnetico terrestre. Esso converte ognicampo magnetico incidente ai tre assi in una variazione di tensione che èl’output del componente. Lo schema strutturale del modello è proprio quellomostrato nella figura 4.9 dove il materiale della spira è una lega di nichel e

14Michael J. Caruso, “Applications of Magnetoresistive Sensors in Navigation Systems”, HoneywellInternational Inc., Febbraio 1997, pag. 5.

15“3-Axis Digital Compass IC HMC5883L”, Honeywell International Inc., Marzo 2011, pag.1

4. UNITÀ DI MISURA INERZIALE (IMU) 42

ferro16.

4.2.2 Calibrazione del magnetometro

Il problema del magnetometro, come già detto, è che il campo magnetico ter-restre viene distorto dagli altri campi agenti. Questi effetti possono essereconsiderati preventivamente e l’errore compensato.

La figura 4.11-a mostra le letture delle componenti x e y del campo ma-gnetico quando il magnetometro viene fatto ruotare di 360◦ su un piano oriz-zontale. Nel caso di assenza di interferenze con il campo magnetico terrestre.É evidente come, stampando tutte le letture, si formi una circonferenza concentro l’origine. Viene inoltre mostrato la risposta in seno e coseno per lecomponenti x e y rispettivamente durante la rotazione.

La figura 4.11-b mostra le stesse grandezze ma nel caso di una distorsio-ne del campo magnetico terrestre. Il campo magnetico non è più circolarema assume una forma ad ellisse con centro non coincidente con l’origine.Oviamente gli andamenti delle componenti non sono più in seno e coseno.

Per correggere le misure provenienti dal sensore è sufficiente applicare laseguente trasformazione17:

Mact = MOUT ·Ms f + MOFF (4.18)

in cui:

• Mact: valore corretto del magnetometro;

• MOUT : lettura del magnetometro;

• Ms f : fattore di scala;

• MOFF: offset del magnetometro.

Il termine Ms f viene introdotto per compensare l’errore dovuto alla formaa ellisse del campo magnetico mentre MOFF è la misura dello spostamento delcentro dell’ellisse dall’origine.Per il calcolo di queste ultime due componenti è sufficiente effettuare 3 rota-zioni ognuna caratterizzata da un asse diverso parallelo al vettore accelerazio-ne di gravità. Al termine di ogni rotazione il fattore di scala e l’offset vengonocalcolati attraverso le seguenti relazioni18:

Ms fi=

max(Mj)−min(Mj)

max(Mi)−min(Mi)(4.19)

16“3-Axis Digital Compass IC HMC5883L”, Honeywell International Inc., Marzo 2011, pag.8.17Michael J. Caruso, “Applications of Magnetoresistive Sensors in Navigation Systems”, Honeywell

International Inc, Febbraio 1997, pag. 5.18Michael J. Caruso, op. cit. [7], pag. 7.

4. UNITÀ DI MISURA INERZIALE (IMU) 43

(a) Non distorto

(b) Distorto

Figura 4.11: Letture a 360◦ delle componenti x e y del campo magneticoterrestre. Immagini tratte da [7].

Mo f fi=

(max(Mi)−min(Mj)

2−max(Mi)

)·Ms fi

(4.20)

Una semplice procedura di calibrazione è la seguente:

• Posizionare il magnetometro in posizione orizzontale;

• Determinare il massimo e il minimo valore delle letture sugli assi i e j;

• Calcolare attraverso le equazioni 4.19 e 4.20 i fattori di scala Ms f e dioffset MOFF per ogni asse;

Ripetendo questa procedura per ogni coppia di assi (x; y), (x; z) e (y; z)avremo note tutte le grandezze per la calibrazione di ogni asse attraverso lacorrezione dell’equazione 4.18.

4.3 Giroscopio

Un sensore giroscopio a tre assi fornisce la velocità di rotazione attorno ai treassi cartesiani. La struttura interna di questo sensore si è evoluta enormemen-te sin dagli inizi del XIX secolo. Il sistema di rilevazione è molto complesso

4. UNITÀ DI MISURA INERZIALE (IMU) 44

e sfrutta dei cristalli piezoelettrici molto più sensibili rispetto ai sistemi giro-scopici meccanici tradizionali che sono stati ormai quasi inutilizzati. Quandoi giroscopi ruotano attorno a un asse, l’accelerazione di Coriolis causa una de-flessione che è individuata da un circuito capacitivo sotto forma di variazionedi tensione.

Come gli altri due sensori, anche il giroscopio ha dei difetti sistematici:

• non forniscono dati nel riferimento assoluto;

• l’errore presente in ogni misurazione si accumula nel tempo. Tale fe-nomeno è denominato drift. Con riferimento alla figura 4.12, viene mo-strato come le misurazioni della velocità angolare di un corpo immobilesiano diverse da zero dopo l’istante iniziale e che l’errore aumento neltempo.

Figura 4.12: Drift del giroscopio. Immagine tratta da [5].

4.3.1 ITG-3200

Il sensore ITG-3200 è il primo giroscopio a tre assi in un unico chip, con unoutput digitale e un’interfaccia per la comunicazione I2C. Il componente pos-siede una migliore stabilità al variare della temperatura esterna e permette diottenere risultati precisi anche senza un’accurata calibrazione. Il rumore difondo è di gran lunga minore rispetto ai dispositivi di generazione preceden-te, semplificandone le applicazioni.L’ITG-3200 presenta un sensore di temperatura interno rispetto al quale av-vengono le regolazioni dell’output.

Il componente consiste in tre indipendenti giroscopi MEMS (Micro Electro-Mechanical Systems) che individuano le velocità angolari attorno ai tre assi X,Y e Z. I segnali, ottenuti come variazione di tensione del ciruito capacitivo

4. UNITÀ DI MISURA INERZIALE (IMU) 45

interno, vengono amplificati e filtrati sino a produrre una tensione proporzio-nale alla variazione degli angoli di rotazione. Questa tensione è digitalizzatautilizzando degli Analog to Digital Converters (ADCs) per ogni asse19.

Il massimo valore fornibile è programmabile sino a ±8000 ◦/s.

4.3.2 Calibrazione del giroscopio

La calibrazione del giroscopio è stata effettuata limitando l’errore di offset.Una semplice procedura consiste nel mantenere immobile il sensore che ide-lamente dovrebbe fornire come output un valore nullo per ogni asse. Questoerrore può essere compensato, per ogni asse, attraverso la relazione:

gAct = gOUT − gOFF (4.21)

in cui:

• gAct: misura corretta del giroscopio;

• gOUT : output del giroscopio non calbrato;

• gOFF: misura dell’offset.

4.4 Vantaggi vs. Svantaggi

Dopo queste analisi appare chiaro come ogni sensore abbia dei vantaggi edegli svantaggi, riassunti nella tabella 4.1. Per identificare istante per istantel’orientamento assoluto sarà necessario unire le informazioni dei tre sensoriattraverso un algoritmo di sensor fusion che verrà introdotto nel capitolo 5.

Sensore Vantaggi Svantaggi

AccelerometroRapida trasmissione Non può misurare lo yaw

Misure assolute per pitch e roll Errori dovuto a rumore di fondo

Magnetometro Misura assoluta per yaw Distorsioni del campo magnetico

GiroscopioRapida trasmissione Misure in riferimento relativo

Misure relative a tutti e tre gli assi Accumulo di errore (drift)

Tabella 4.1

4.5 Comunicazione I2C

Lo standard I2C, sviluppato inizialmente dalla Philips e portato avanti anchedall’Intel, è stato concepito per facilitare il trasferimento delle informazioni

19“ITG-3200. Product Specification”, InvenSense Inc., 4a revisione, Maggio 2009, pag. 5.

4. UNITÀ DI MISURA INERZIALE (IMU) 46

digitali tra i sensori e i microcontroller come Arduino. Questo sistema di co-municazione è molto utilizzato, infatti sono state sviluppate intere librerie diArduino che permettono un utilizzo più rapido e semplice di questo proto-collo.

Il vantaggio principale di I2C è la semplicità dei collegamenti: si richiedeche si colleghino solamento due linee di segnale tra il microcontrollore e ilsensore. Attraverso queste solo due linee è possibile ottenere i segnali di piùsensori contemporaneamente. Lo svantaggio principale è la velocità di co-municazione inferiore rispetto ad altri protocolli di comunicazione come SPI.Inoltre i dati possono viaggiare solamento in una direzione per cui la loro ve-locità diminuisce ancora se è necessaria una comunicazione a due vie20

I due collegamenti del canale di comunicazione (bus) I2C si chiamano SCL(Serial Clock Line) e SDA (Serial Data Line) che offrono rispettivamente il se-gnale di tempistica di sincronizzazione detto clock, e i dati. Queste due lineesono collegate al dispositivo attraverso resistenze pull-up così da permettereal dispostivo di modificare il valore ottenuto facilmente.

Il bus classico I2C è composto da almeno un master e uno slave. La fun-zione del master è coordinare il trasferimento delle informazioni tra gli altridispositivi slave che sono collegati. Nel nostro caso avremo una struttra com-posta da un master (Arduino) e tre slave (i tre sensori). Il circuito interno èschematizzato in figura 4.13.

Figura 4.13: Un master I2C con uno più slave I2C. Immagine tratta da [4].

Ogni dispositivo collegato alle due linee SCL e SDA è dotato di un indiriz-zo caratteristico univoco, di 7 o 10 bit, e può agire da master o da slave secondole funzioni previste al suo interno. Questi due componenti possono assumereil ruolo di trasmittente o ricevente.Il trasferimento di dati avviene in due differenti modalità a cui corrispondonodifferenti fasi:

• A trasmette i dati a B:20Michael Margolis, “Arduino. Progetti e soluzioni”, O’Reilly & Tecniche nuove, 2a edizione, 2013,

pag. 422.

4. UNITÀ DI MISURA INERZIALE (IMU) 47

Arduino GY-85

3.3 V VCC INGround Ground

A4 SDAA5 SCL

Tabella 4.2: Collegamenti Arduino - GY-85

1. il master A spedisce l’indirizzo dello slave B sul bus;

2. A trasmette i dati a B;

3. A termina il trasferimento.

• A riceve i dati da B:

1. il master A spedisce l’indirizzo dello slave B sul bus;

2. B spedisce i dati ad A;

3. A termina il trasferimento.

Un esempio di trasmissione completa è mostrata in figura 4.14. La trasmis-sione inizia con la generazione di un segnale di start, immesso sulla linea dalmaster. La condizione di start consiste nel lasciare la linea SCL allo stato altomentre la linea SDA subisce una variazione dallo stato 1 allo stato 0. Dopolo start comincia la trasmissione di dati vera e propria. Fondamentalmenteil primo byte è composto dall’indirizzo dello slave a cui viene aggiunto unvalore che indica al ricevente l’operazione richiesta o l’informazione inviata aseconda della casistica. L’ordine dei bit trasmessi và dal più significativo (B1)al meno significativo (Bn), criterio seguito per tutta la durata della trasmissio-ne. Infine arriverà la condizione di stop, analoga alla condizione di start.

Figura 4.14: Esempio di trasmissione I2C completa. Immagine tratta da http://it.wikipedia.org/wiki/I2C aggiornato al 14 Marzo 2014.

A livello pratico, il corretto collegamento tra il microcontrollore Arduinoe il sensore GY-85 (come ogni sensore che supporta I2C) viene mostrato nellatabella 4.2. Una schematizzazione dei collegamenti è mostrata inoltre in figura4.15.

4. UNITÀ DI MISURA INERZIALE (IMU) 48

Figura 4.15

5

Algoritmo di sensor fusion

Il metodo si pone come obiettivo quello di mettere a disposizione una matriceDCM utilizzando i risultati del giroscopio, dell’accelerometro e del magneto-metro più vicina alla realtà rispetto alla matrice DCM ottenibile utilizzandosingolarmente i vari sensori (vedi le equazioni 4.6, 4.7 e 4.17).

Tale metodo è stato messo a punto di recente da Premerlani e Blizard1 ba-sandosi sulle teorie precedentemente mostrate negli articoli “A ComplementaryFilter for Attitude Estimation of a Fixed-Wing UAV”2 e “Nonlinear ComplementaryFilters on the Special Orthogonal Group”3.

A livello generale si procede seguendo i seguenti passaggi4:

• utilizzando le informazioni derivanti dal giroscopio (fonte primaria del-le informazioni sull’orientamento) viene integrata l’equazione differen-ziale non lineare della cinematica che lega l’intervallo 4t temporaledi integrazione e le velocità di rotazione del corpo con l’orientamentoattuale;

• vengono corretti i valori delle velocità angolari ricavati con il solo gi-roscopio (misure soggette al drift tipico di questo sensore) attraversole informazioni dell’accelerometro e del magnetometro. Viene dunquecalcolata la DCM per l’istante di tempo t + 1 avendo già nota, da unprecedente ciclo, la DCM all’istante t;

• viene imposta la condizione di ortogonalità della DCM e infine, calcolatol’errore, verranno ulteriormente corretti i valori della DCM.

Nella figura 5.1 è raffigurato il diagramma a blocchi dell’algoritmo inquestione.

1William Premerlani e Paul Bizard, “Direction Cosine Matrix IMU: Theory”, 2009, URL:https://github.com/ptrbrtz/razor-9dof-ahrs/wiki/Tutorial aggiornato al 13/03/2014.

2Mark Euston, Paul Coote, Robert Mahony, Jonghyuk Kim e Tarek Hamel, “A ComplementaryFilter for Attitude Estimation of a Fixed-Wing UAV”, Intelligent Robots and Systems, 2008.

3Robert Mahony, Tarek Hamel e Jean-Michel Pflimlin, “Nonlinear Complementary Filters on theSpecial Orthogonal Group”, IEEE transaction on automatic control, Vol. 53, No. 5, Giugno 2008.

4William Premerlani e Paul Blizard, op. cit. [11], pag. 2.

49

5. ALGORITMO DI SENSOR FUSION 50

Figura 5.1: Diagramma a blocchi dell’algoritmo. Immagine tratta [11].

5.1 Calcolo degli angoli euleriani dai segnali giro-scopici

Dal giroscopio otteniamo un valore proporzionale alla velocità di rotazioneattorno a ciascun asse di rotazione. Non è però possibile, con una sempliceintegrazione di questi tre valori, risalire agli angoli di Eulero.Dalla cinematica sappiamo che:

d−→r (t)dt

= −→ω (t)×−→r (t) (5.1)

Essendo l’equazione 5.1 non lineare si evidenzia che ogni approccio linearealla soluzione del problema sarà un’approssimazione del fenomeno reale. Éinoltre fondamentale che ogni vettore scritto sia espresso nelle coordinate delsistema fisso.

Conoscendo le condizioni iniziali del vettore velocità angolare possiamointegrare numericamente l’equazione 5.1:

−→r (t) = −→r (0) +∫ t

0d−→θ (τ)×−→r (τ) (5.2)

In cui:

• d−→θ (τ) = −→ω (τ) · dτ;

• −→r (0): valore di partenza del vettore −→r (t).

Il primo ostacolo è che il vettore che noi vogliamo tracciare (−→r ) e il vet-tore della velocità di rotazione (−→ω ) non sono misurati nello stesso sistema diriferimento. Il giroscopio infatti offre risultati nel sistema di riferimento mo-bile mentre noi vogliamo conoscere le coordinate assolute dello spostamento.Una soluzione semplice per risolvere la questione è ricavabile considerandola simmetria della rotazione nei differenti sistemi: nel sistema di riferimento

5. ALGORITMO DI SENSOR FUSION 51

mobile il riferimento fisso ruota in maniera uguale e opposta rispetto al riferi-mento fisso nel riferimento mobile. Cambiando il segno del vettore −→ω questoproblema verrà risolto5. Analogamente, data l’antisimmetricità del prodottovettoriale, basterà invertire l’ordine del prodotto vettoriale. Possiamo quindiriscrivere l’eq. 5.2 come:

−→r (t) = −→r (0) +∫ t

0

−→r (τ)× d−→θ (τ) (5.3)

Questa equazione può essere scritta in forma differenziale e per un gene-rico istante t come:

−→r (t + dt) = −→r (t) +−→r (t)× d−→θ (t) (5.4)

Dove si ricorda che d−→θ (t) = −→ω (t) · dt.

Un altro aspetto da considerare è la correzione del vettore −→ω (t) necessariaa evitare i problemi di drift. La compensazione avverrà considerando le mi-surazioni dell’accelerometro e del magnetometro e verrà analizzata in seguitonel paragrafo «Correzione del drift» a pagina 53. Il vettore velocità angolare−→ω (t) sarà quindi6:

−→ω (t) = −→ω gyro(t) +−→ω corr(t) (5.5)

In cui:

• −→ω gyro(t): vettore delle velocità angolari calcolate attraverso i soli segnalidel giroscopio;

• −→ω corr(t): vettore delle correzioni delle velocità angolari.

5.1.1 Calcolo della matrice di rotazione DCM(t + dt)

Conoscendo le velocità angolari rispetto agli assi del sistema di riferimen-to fisso all’istante t possiamo stimare la DCM per l’istante immediatamentesuccessivo t + dt:

R(t + dt) = R(t) ·

1 −dθz dθydθz 1 −dθx−dθy dθx 1

(5.6)

In cui:

• dθx = ωx · dt;

• dθy = ωy · dt;

• dθz = ωz · dt.

Ovviamente essende un processo iterativo, minore è il passo di integrazio-ne dt, più attendibili saranno i risultati ottenuti.

5William Premerlani e Paul Bizard, op. cit. [11], pag. 14.6William Premerlani e Paul Bizard, op. cit. [11], pag. 15.

danielecarnevale
Testo inserito
devi chiamarlo in qualche altro modo o si fa confusione
danielecarnevale
Testo inserito
non vorrei essere troppo formale ma in realtà solo questa di seguito di espressione è formalmente corretta, seppure in termini di infinitesimi. Mentre se integri numericamente, usare il termine integrale poi nella 5.2 è un po un a forzatura...quando fai vedere le slide, passa subito a questa.

5. ALGORITMO DI SENSOR FUSION 52

5.2 Normalizzazione

Gli inevitabili errori numerici porteranno gradualmente a una perdita dellecondizioni di ortogonalità della DCM. Questa condizione non è stata infattinè utilizzata nè imposta. Fortunatamente, l’accumulo dell’errore è molto len-to e dunque è semplice operare in anticipo7.

Per semplicità di scrittura viene ridefinita la matrice R come:

R =

rxx rxy rxzryx ryy ryzrzx rzy rzz

(5.7)

Vengono quindi definiti i vettori:

•−→X =

rxxrxyrxz

•−→Y =

ryxryyryz

In accordo all’equazione 3.7 (caratteristica delle matrici normalizzate) teo-

ricamente dovrebbe essere valida l’equazione 5.8.

−→X t · −→Y = 0 (5.8)

Partendo da un’integrazione numerica di un’equazione differenziale, unerrore (anche si minimo) è sempre presente. Sarà quindi vero:

−→X t · −→Y = e (5.9)

Il fattore e è una misura dell’errore della matrice. Apportando la correzio-ne dell’eq. 5.10 e 5.11 si potrà verificare che, ripetendo il calcolo dell’eq. 5.9,l’errore sarà diminuito considerevolmente.

−→X ⊥ =

−→X − e

2· −→Y (5.10)

−→Y ⊥ =

−→Y − e

2· −→X (5.11)

Si sottolinea come anche i vettori−→X ⊥ e

−→Y ⊥ non saranno perfettamente

ortogonali e forniranno un errore di entità minore di quello precedente.

Il passo successivo è il calcolo del vettore−→Z ⊥:

rxxrxyrxz

=−→Z ⊥ =

−→X ⊥ ×

−→Y ⊥ (5.12)

7William Premerlani e Paul Bizard, op. cit. [11], pag. 16.

danielecarnevale
Testo inserito
per indicare l'operazione di trasposizione usa "T" o un apice " ' ", non "t"

5. ALGORITMO DI SENSOR FUSION 53

L’ultimo passaggio sarà normalizzare la nuova DCM ottenuta. Un metodoconsiste nel dividere ogni elemento di ogni riga per la radice quadrata dellasomma dei quadrati di ogni elemento della riga stessa. Un altro metodo chefornisce risultati molto simili si basa sull’utilizzo degli sviluppi di Taylor:

−→X norm = 1

2 (3−−→X ⊥ ·

−→X ⊥) ·

−→X ⊥−→

Y norm = 12 (3−

−→Y ⊥ ·

−→Y ⊥) ·

−→Y ⊥−→

Z norm = 12 (3−

−→Z ⊥ ·

−→Z ⊥) ·

−→Z ⊥

(5.13)

5.3 Correzione del drift

In questa sezione verrà spiegato il termine correttivo −→ω corr(t) dell’eq. 5.5.I passi da seguire sono essenzialmente tre8:

• usare i vettori di riferimento per l’orientamento (ricavati attraverso l’ac-celerometro e il magnetometro) per individuare l’errore tra la grandezzacalcolata e la grandezza misurata. Viene individuato quindi un vetto-re di rotazione (differente a seconda dell’entità dell’errore) che portaall’allineamento tra i due vettori;

• calcolare il vettore di correzione della rotazione attraverso il classicoalgoritmo di controllo Proporzionale-Integrale-Derivativo (PID);

• aggiungere (o sottrarre a seconda del segno e della convenzione) l’out-put del controllo PID all’attuale risultato ottenuto con la DCM utilizzan-do i dati del solo giroscopio.

Gli accelerometri si usano per fornire un vettore di riferimento per l’asse Zdel corpo mobile mentre attraverso i magnetometri si arriva a un riferimentoper l’asse X.

Per entrambi i vettori di riferimento, l’errore di orientamento è individua-to attraverso il prodotto vettoriale tra il vettore misurato e il vettore stimatoattraverso la DCM. Il prodotto vettoriale è particolarmente appropriato perdue ragioni:

• è proporzionale al seno dell’angolo tra i due vettori;

• la direzione del vettore è perpendicolare a entrambi.

Queste caratteristiche fanno sì che il vettore derivante rappresenti un assee una misura della rotazione necessaria affinchè il vettore misurato diventiparallelo al vettore calcolato. Possiamo quindi considerare questo vettore dirotazione uguale all’opposto dell’errore di rotazione di cui noi abbiamo biso-gno (vogliamo trovare l’errore del vettore calcolato con la DCM!). Invertendo

8William Premerlani e Paul Bizard, op. cit. [11], pag. 17.

5. ALGORITMO DI SENSOR FUSION 54

l’ordine del prodotto vettoriale (ricordando ancora che il prodotto vettoriale èantisimmetrico) otteniamo proprio l’errore da aggiungere ai dati ottenuti uti-lizzando solamente il giroscopio.

In tal modo otteniamo un vettore ω(t) corretto attraverso delle misureindipendenti e immuni all’errore di drift che verrà dunque limitato.

Correzione dell’angolo yaw attraverso il magnetometro

Il magnetometro a tre assi fornisce una correzione per quanto riguarda l’an-golo di yaw . Con riferimento alla figura 5.2 avremo9:

• xb, yb, zb: assi di riferimento mobile;

• xe, ye, ze: assi di riferimento fisso;

• xPb : versore che indica la direzione della proiezione dell’asse xb sul piano

(xe − ye);

•−→M: vettore di riferimento indicato dal magnetometro;

• ψ: angolo yaw calcolato attraverso la DCM (da correggere);

• ψm: angolo yaw misurato utilizzando il magnetometro.

Figura 5.2: Correzione del drift attraverso il magnetometro. Immagine trattada [11].

Il vettore di errore di rotazione−→C Ground

ψ viene allora definito come:

−→C Groundψ = xP

b ×−→M (5.14)

9William Premerlani e Paul Bizard, op. cit. [11], pag. 22.

5. ALGORITMO DI SENSOR FUSION 55

In cui xPb è proprio la colonna X della matrice di rotazione R (DCM):

xPb =

rxxryxrzx

Sviluppando il prodotto vettoriale, l’unica componente non nulla è ovvia-

mente la componente z che è pari a:

CGroundψz = rxx cos ψm − ryx sin ψm (5.15)

Questa correzione è però calcolata nel riferimento fisso mentre è necessa-rio correggere il vettore ω(t) che è definito nel riferimento mobile. É alloranecessario trasformare la correzione moltiplicandola per la riga z della DCM:

−→C Planeψ = CGround

ψz ·

rzxrzyrzz

(5.16)

Il vettore di correzione dello yaw appena ottenuto verrà combinato con lecorrezioni di roll e pitch che otterremo utilizzando l’accelerometro.

Correzione degli angoli roll e pitch attraverso l’accelerometro

L’accelerometro a tre assi viene usato per la correzione del drift per quan-to riguarda gli angoli di roll e pitch. Procedendo come nel caso dell’angoloyaw, abbiamo bisogno di una misura diretta (con l’accelerometro) e calcolata(attraverso la DCM) dello stesso vettore di riferimento (in questo caso l’acce-lerazione di gravità −→g .

Con riferimento alla figura 5.3 avremo10:

• xb, yb, zb: assi di riferimento mobile misurato con l’accelerometro;

• xeb, ye

b, zeb: assi di riferimento mobile calcolati attraverso la DCM;

• ze: vettore −→g misurato con l’accelerometro;

• zee: vettore −→g calcolato attraverso la DCM;

• 4θ errore angolare tra i due vettori sul pitch;

• 4φ errore angolare tra i due vettore sul roll.

La riga z della DCM rappresenta la proiezione, sul riferimento fisso, delvettore −→g . Moltiplicando vettorialmente i due vettori ottenuti, come nell’eq.5.17, si ottiene il vettore errore di rotazione nel riferimento mobile.

−→C Planeθ,φ =

rzxrzyrzz

×−→g (5.17)

10William Premerlani e Paul Bizard, op. cit. [11], pag. 26.

5. ALGORITMO DI SENSOR FUSION 56

Figura 5.3: Correzione del drift per pitch e roll attraverso l’accelerometro.Immagine tratta da [11].

Controllo e calcolo della correzione

Finalmente abbiamo tutti gli strumenti per calcolare il fattore −→ω corr(t) dell’eq.5.5.

In primo luogo si calcola una media pesata di entrambe le correzioni dellarotazione11.

−→C tot = WRP ·−→C Plane

θ,φ + WY ·−→C Plane

ψ (5.18)

Dunque, si passa la correzione totale ottenuta nel controllo PID:

−→ω PCorr = KP ·−→C tot (5.19)

−→ω ICorr =−→ω ICorr + KIdt · −→C tot (5.20)

−→ω Corr =−→ω PCorr +

−→ω ICorr (5.21)

La scelta dei pesi e dei guadagni è un compromesso tra l’accuratezza e lavelocità di recupero dai disturbi dei sensori.

11William Premerlani e Paul Bizard, op. cit. [11], pag. 27.

6

Risultati

Nel capitolo 4 sono state introdotte le formule 4.6, 4.7 e 4.17 per determinarerispettivamente gli angoli di beccheggio φ (pitch), di rollio θ (roll) e di imbar-data ψ (yaw). É già stato evidenziato come queste relazioni non tengano contodelle informazioni provenienti dal giroscopio triassiale. Sarebbe dunque suf-ficiente un sensore a 6 gradi di libertà per individuare i tre angoli euleriani.Nel capitolo 5 è stato introdotto un algoritmo di sensor fusion che unisce leinformazioni provenienti da tutti e tre i sensori a disposizione (sistema a 9gradi di libertà).In questo capitolo verrà mostrato che l’algoritmo a 9 g.d.l. fornisce risultatimigliori rispetto al metodo a 6 g.d.l. .

Perchè il dispostivo sia efficace è necessario che le variazioni dell’angolodi imbardata ψ siano attendibili. Le grandezze di riferimento saranno:

• Errore medio ee = |x− x| (6.1)

• Deviazione standard σ

σ =

√∑n

i=1(xi − x)2

n− 1(6.2)

In cui:

• x: valore medio;

• x: valore atteso;

• n: numero di misurazioni;

• xi: i-esima misurazione eseguita.

I risultati ottenuti sono riportati nelle due tabelle seguenti in cui:

• Tabella 6.1: il sensore viene fatto ruotare di un angolo di imbardata ψpari a 90◦, 180◦ e 270◦ rispetto a una generica posizione iniziale per va-lori degli angoli di rollio θ e beccheggio φ costanti. La stessa proceduraviene ripetuta per valori dei due angoli appena citati differenti;

57

6. RISULTATI 58

• Tabella 6.2: il sensore viene mantenuto in un certo angolo di imbardataψ e viene variata la sua inclinazione (angolo di rollio θ o di beccheggioφ). Si ripetono le stesse misure per angoli differenti di ψ.

Inclinazione ∆ψ 90o 180o 270o

φ = 0◦ ∧ θ = 0◦9 g.d.l

e 1,2 0,9 1,85σ 0,410 0,447 0,366

6 g.d.le 4,45 0,592 7,5σ 2,585 1,387 2,685

φ = 0◦ ∧ θ = 30◦9 g.d.l

e 1 0,8 1,95σ 0,459 0,523 0,224

6 g.d.le 8,1 0,35 5,85σ 2,222 1,387 1,899

φ = 0◦ ∧ θ = 45◦9 g.d.l

e 1,05 0,85 1,8σ 0,394 0,366 0,523

6 g.d.le 4,8 0,35 3,9σ 3,427 1,387 2,882

φ = 0◦ ∧ θ = 60◦9 g.d.l

e 1,15 1,55 0,85σ 0,366 0,945 0,366

6 g.d.le 6,35 0,1 5,4σ 2,700 2,075 2,210

φ = 30◦ ∧ θ = 0◦9 g.d.l

e 1,1 0,8 1,23σ 0,421 0,442 0,392

6 g.d.le 5,33 0,67 8,1σ 2,776 1,523 2,634

φ = 45◦ ∧ θ = 0◦9 g.d.l

e 1,1 1,1 1,65σ 0,342 0,345 0,324

6 g.d.le 6,8 0,92 6,32σ 2,453 1,789 2,011

φ = 60◦ ∧ θ = 0◦9 g.d.l

e 1,2 1,4 0,8σ 0,231 0,249 0,456

6 g.d.le 6,87 1,23 9,6σ 2,781 2,342 1,857

Tabella 6.1: Errore medio e e deviazione standard σ per variazioni angolari diimbardata ψ fisse e inclinazioni del sensore costanti.

Da tali tabelle è evidente come in ogni caso l’errore medio e la deviazionestandard sono di gran lunga maggiori nel caso a 6 g.d.l. rispetto al caso a 9g.d.l. . Le misure ottenute attraverso l’algoritmo di sensor fusion sono quindipiù vicine al valore atteso e, inoltre, più stabili. Tale aspetto è evidente ancheanalizzando le figure 6.1-a e 6.1-b. Queste figure sono state ottenute mante-nendo il sensore immobile per due inclinazioni differenti per un angolo di

6. RISULTATI 59

ψ=

0◦ψ=

90◦

ψ=

180◦

ψ=

360◦

∆θ

30◦

45◦

60◦

30◦

45◦

60◦

30◦

45◦

60◦

30◦

45◦

60◦

9g.

d.l.

e0,

050,

350,

050,

250,

20,

051,

751,

953,

150,

150,

41

σ0,

394

0,74

50,

224

0,44

40,

894

0,51

00,

550

0,94

51,

954

0,36

60,

598

0,45

9

6g.

d.l.

e2,

250,

352,

551,

41,

40,

651,

752,

53

15,6

11,7

515

,45

σ1,

832

2,94

32,

114

3,11

93,

119

2,51

92,

789

2,41

72,

734

1,98

42,

074

2,35

0

∆φ

30◦

45◦

60◦

30◦

45◦

60◦

30◦

45◦

60◦

30◦

45◦

60◦

9g.

d.l.

e0,

150,

261,

420,

310,

220,

151,

852,

054,

250,

450,

411,

0,28

40,

641

0,52

60,

451

0,82

10,

529

0,51

00,

965

1,47

40,

382

0,91

60,

659

6g.

d.l.

e2,

891,

496,

561,

42,

46,

661,

752,

53,

213

,62

14,2

512

,82

σ1,

812

2,67

42,

345

3,12

33,

562

2,23

53,

015

2,56

22,

568

2,16

32,

373

2,05

2

Tabe

lla6.

2:Er

rore

med

ioe

ede

viaz

ione

stan

dard

σpe

ran

golo

diim

bard

ata

ψfis

soe

vari

azio

nedi

incl

inaz

ione

.

6. RISULTATI 60

imbardata pari a zero. In entrambi i casi è riscontrabile una maggiore stabilitàdelle misure filtrate mentre le altre misure oscillano continuamente (il valoremedio non è inoltre pari a zero).

6. RISULTATI 61

(a) Sensore inclinato con φ = 0o e θ = 0o .

(b) Sensore inclinato con φ = 60o e θ = 0o .

Figura 6.1: Andamento delle misure dell’angolo di imbardata ψ con il sensoreimmobile.

danielecarnevale
Nota
strano...
danielecarnevale
Nota
...che non si ripeti anche qui....mah!

Bibliografia

[1] Alain Berthoz, “Il senso del movimento”, Mc Graw Hill, 1a edizione (1998).

[2] Maurice Merleau-Ponty, “Le visible e l’invisible”, Gallimard, Paris, 1964(trad. it. “Il visibile e l’invisibile”, Bompiani, Milano, 1969).

[3] Paul Bach-y-Rita, “Vision substitution by tactile image projection”, Nature,No. 221, 1989.

[4] Michael Margolis, “Arduino. Progetti e soluzioni”, O’Reilly & Tecnichenuove, 2a edizione, 2013.

[5] Christopher J. Fisher, “Using an Accelerometer for Inclination Sensing”, AN-1057 Application Note, Analog Devices, 2010.

[6] “Data Sheet ADXL345”, Analog Devices, 2013.

[7] Michael J. Caruso, “Applications of Magnetoresistive Sensors in NavigationSystems”, Honeywell International Inc, Febbraio 1997.

[8] Michael J. Caruso, “Applications of Magnetic Sensors for Low Cost CompassSystems”, Honeywell International Inc., SSEC, 2010.

[9] “3-Axis Digital Compass IC HMC5883L”, Honeywell International Inc.,Marzo 2011.

[10] “ITG-3200. Product Specification”, InvenSense Inc., 4a revisione, Maggio2009.

[11] William Premerlani e Paul Bizard, “Direction Cosine Matrix IMU: Theo-ry”, 2009, URL: http://github.com/ptrbrtz/razor-9dof-ahrs/wiki/Tutorial aggiornato al 13 Marzo 2014 .

[12] Robert Mahony, Tarek Hamel e Jean-Michel Pflimlin, “Nonlinear Com-plementary Filters on the Special Orthogonal Group”, IEEE transaction onautomatic control, Vol. 53, No. 5, Giugno 2008.

[13] Mark Euston, Paul Coote, Robert Mahony, Jonghyuk Kim e Tarek Ha-mel, “A Complementary Filter for Attitude Estimation of a Fixed-Wing UAV”,Intelligent Robots and Systems, 2008.

62