logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-04112011-203838


Tipo di tesi
Tesi di laurea specialistica
Autore
GALGANI, MARCO
URN
etd-04112011-203838
Titolo
Progettazione e realizzazione di un processore integrato per la stima della posizione angolare mediante sensor fusion
Dipartimento
INGEGNERIA
Corso di studi
INGEGNERIA ELETTRONICA
Relatori
relatore Prof. Fanucci, Luca
tutor Ing. Rocchi, Alessandro
Parole chiave
  • processore
  • quaternione
  • Kalman
Data inizio appello
06/05/2011
Consultabilità
Non consultabile
Data di rilascio
06/05/2051
Riassunto
In questo lavoro di tesi, svolto presso l’azienda SensorDynamics, è stato progettato un sistema a microprocessore dedicato alla stima della posizione angolare che ha lo scopo di annullare il drift della posizione angolare stessa quando questa è calcolata mediante la semplice integrazione delle velocità angolari fornite da giroscopi MEMS, che sono affette da un offset, in modo da ottenere il miglior trade-off tra occupazione di area, accuratezza, consumo di potenza e flessibilità in vista di una successiva sintesi su ASIC nella tecnologia standard cell 0.18 μm della TMSC, sia per applicazioni consumer che automotive.
Per convalidare il funzionamento del microprocessore, a livello di front-end, sia con la simulazione funzionale sia grazie ad una sintesi su FPGA, sono stati acquisiti i dati forniti da dei sensori prodotti da SensorDynamics e che integrano al loro interno tre giroscopi ed tre accelerometri a due a due ortogonali. Attraverso l’esecuzione di opportune istruzioni memorizzate internamente in una ROM il sistema realizza l’algoritmo di sensor fusion di Kalman correggendo la posizione stimata utilizzando l’integrazione delle velocità angolari fornite dai giroscopi in base all’errore di stima dell’accelerazione di gravità che viene misurata dagli accelerometri, per cui il sistema complessivo è stato reso in grado di ricostruire l’orientamento di uno specifico sensore 6D nello spazio rispetto ad un sistema di riferimento inerziale.
L’orientamento del sistema è rappresentato sotto forma di quaternione che è un numero ipercomplesso costituito da quattro termini, uno reale e tre immaginari, in modo da avere un ridotto numero di registri per mantenere l’informazione, semplificare il passaggio in altre forme di rappresentazione utili come gli angoli di Eulero e le matrici di rotazione evitando alcuni problemi introdotti da tali tipi di rappresentazione come la presenza di singolarità ed il blocco cardanico e ridurre il numero di operazioni necessarie ad effettuare delle rotazioni vettoriali nel campo delle applicazioni grafiche. Il modello bit-true del filtro di Kalman è stato preliminarmente convalidato mediante delle simulazioni con un modello equivalente in Simulink dopo che è stato ricavato da un modello floating point realizzato da SensorDyamics avente una complessità computazionale superiore.

Nel primo capitolo viene descritto il contesto in cui si colloca questo progetto di tesi per cui inizialmente viene fatto riferimento alle differenti categorie in cui si suddividono i sistemi di misura inerziali mentre, in seguito, l’attenzione si sposta sugli smart sensors che sono utilizzati per la misura della posizione angolare. In particolare dopo una descrizione delle principali caratteristiche dei sensori MEMS che sono comunemente impiegati per la determinazione dell’orientamento viene fatto un breve riferimento ai metodi stessi che possono essere utilizzati per raggiungere tale obiettivo ed infine sono messe in evidenza le prestazioni dei principali dispositivi che rappresentano lo stato dell’arte in termini di ricostruzione della posizione angolare per le applicazioni d’interesse.

Nel secondo capitolo viene descritto come è stato ricavato il modello bit-true del sistema di stima della posizione angolare applicando il filtro di Kalman alle velocità angolari ed alle accelerazioni fornite dai sensori e rappresentando la posizione angolare con il quaternione. In principio viene fatto riferimento al modello floating point del sistema, successivamente si mettono in evidenza le semplificazioni apportate, infine dopo aver stimato la complessità dell’equivalente fully parallel del sistema in fixed point in funzione del numero di bit con cui rappresentarne le variabili viene determinata la quantizzazione ottimale del sistema, cioè quella che comporta il miglior trade-off tra accuratezza e complessità computazionale. Sono anche state messe in luce le variabili critiche del sistema, cioè quelle che richiedono una quantizzazione con un numero superiore di bit rispetto alle altre ed i parametri di configurazione.

Nel terzo capitolo viene descritto il flusso di progetto che ha portato alla determinazione dell’architettura a microprocessore per la realizzazione dell’algoritmo di sensor fusion descritto nel capitolo due in modo da ottenere un ottimo compromesso tra area occupata, consumo di potenza e flessibilità. Viene poi descritta l’architettura che è stata progettata con l’ausilio del linguaggio VHDL ed in seguito ne sono analizzate le relative prestazioni in termini di occupazione di area su silicio, i dati relativi al timing del sistema, ed il consumo i potenza stimato dopo la sintesi nella tecnologia di riferimento per l’implementazione su ASIC. Infine è descritto come tale architettura è stata collaudata in fase di simulazione.

Nel quarto ed ultimo capitolo viene descritto come è stato collaudato il sistema dopo averlo sintetizzato su FPGA ed averlo interfacciato sia con il sensore SD746 di SensorDynamics sia con un personal computer per l’acquisizione dei quaternioni elaborati. Mediante la conversione da quaternione ad angoli di Eulero vengono mostrati i risultati di alcune prove significative che sono state effettuate per caratterizzare e convalidare il sistema, che è stato ulteriormente testato grazie ad una elaborazione real time dei dati associata ad una visualizzazione 3D degli spostamenti del sensore.

File