ESERCIZI VI TARATURA DI SISTEMI INERZIALI

Documenti analoghi
ESERCITAZIONE MATLAB

Introduzione a Matlab Costruzione di Macchine 2 Prof. Sergio Baragetti

j B Dati: ω1=100 rad/s velocità angolare della manovella (1); l = 250 mm (lunghezza della biella 2); r = 100 mm (lunghezza della manovella 1).

Analisi dei dati corso integrato - Algebra lineare,

Architettura Software di un Sistema di Controllo per Multirotore

Sensori Fisici.

L errore percentuale di una misura è l errore relativo moltiplicato per 100 ed espresso in percentuale. Si indica con e p e risulta: e ( e 100)%

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

Esame di FONDAMENTI DI AUTOMATICA (9 crediti) SOLUZIONE

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Prove d esame Esercizi con Matlab

ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB

ˆ b, si usa la convenzione di prendere. come verso positivo quello antiorario e come verso negativo quello orario.

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

SISTEMI DI CONTROLLO CINEMATICA E DINAMICA DEI ROBOT

INTEGRALI TRIPLI Esercizi svolti

Risposta in vibrazioni libere di un sistema lineare viscoso a più gradi di libertà. Prof. Adolfo Santini - Dinamica delle Strutture 1

Esercitazione 4: Vettori e Matrici

, c di modulo uguale sono disposti in modo da formare un triangolo equilatero come mostrato in fig. 15. Si chiarisca quanto vale l angolo formato da

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari

Tesi di laurea di primo livello in Ingegneria Meccanica

Strumentazione e misure Elettroniche 03EMN Ponte di Wheatstone

Matematica Finanziaria 29 novembre 2000

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

Sistemi vibranti ad 1 gdl

Nel Sistema Internazionale l unità di misura dell angolo è il radiante

Appunti su Indipendenza Lineare di Vettori

0Tecniche di Controllo e Diagnosi Progetti proposti per le Esercitazioni

Inversione della cinematica differenziale

Esercizi sulle affinità - aprile 2009

La matrice delle correlazioni è la seguente:

Mini-Corso di Informatica

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

A = Quindi > b=a(:) b =

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 24 Gennaio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA

1 - Matrice delle masse e delle rigidezze

Dispositivi Minimamente Invasivi

Geometria analitica del piano pag 32 Adolfo Scimone

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

Introduzione. MATLAB è l acronimo di MATrix LABoratory

A. Introduzione a Matlab

Laboratorio di Strumentazione per Bioimmagini A.A

Integrazione numerica

Controllo LQG/LTR di un Aereo. Corso di Controllo Multivariabile Prof. Francesco Amato

Esercitazione 5: Sistemi a risoluzione immediata.

Teorema di Thevenin generalizzato

Esercitazione di Analisi Matematica II

Formulazione delle equazioni del moto per un sistema lineare a tre gradi di libertà. Proprietà delle matrici di rigidezza e di flessibilità

VETTORI NELLO SPAZIO ORDINARIO ,

Anno 4 Matrice inversa

Densità di probabilità del prodotto di due variabili casuali distribuite uniformemente

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Esercitazione 1-I parte

Grandezze Fisiche, Sistema Internazionale e Calcolo Vettoriale

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab

Rette e piani nello spazio

Modello dinamico dei robot: approccio di Newton-Eulero

Esercitazioni di Analisi e Simulazione dei Processi Chimici

che sommato ai vettori v

IL CRITERIO DELLA MASSIMA VEROSIMIGLIANZA

Corso di Percezione Robotica Modulo B. Fondamenti di Robotica

4 Sistemi di equazioni.

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Una libreria di funzioni per la geometria analitica

Diario delle lezioni di Calcolo e Biostatistica (O-Z) - a.a. 2013/14 A. Teta

Laboratorio di Sperimentazioni di Fisica I MOD A. 14 ottobre 2009

Cinematica Angolare! FONDAMENTI DI BIOINGEGNERIA - ING.FRANCESCO SGRO!

Introduzione al MATLAB c Parte 3 Script e function

MATLAB - Programmazione - 2. Antonino Polimeno

Soluzione del laboratorio 13 Formule di quadratura

Esercitazione ENS su processi casuali (13 e 14 Maggio 2008)

Controlli Automatici L-A - Esercitazione

8 Introduzione MATLAB

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014

Realizzazione, taratura e verifica di un sensore inerziale per l analisi del movimento

ESERCIZI STATISTICA DESCRITTIVA

Soluzione del laboratorio 11 Metodi di punto fisso e sistemi di equazioni non lineari

Programmazione Matlab

Introduzione al MATLAB c Parte 2

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

Esercitazione 1 Conversione di base

Corso di Calcolo Numerico

Lettura Moto uniformemente accelerato

+2 3 = = =3 + =3 + =8 =15. Sistemi lineari. nelle stesse due incognite. + = + = = = Esempi + =5. Il sistema è determinato

= (cioè le due terne di numeri direttori ( devono essere ) proporzionali). Tale uguaglianza non è verificata, poiché risulta ρ

Progetto del regolatore per un levitatore magnetico. 1. Linearizzazione del modello del levitatore magnetico

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω

Esercitazione su filtro di Sobel per l elaborazione delle immagini

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

Teorema di Gauss per il campo elettrico E

Appendice 1. Spazi vettoriali

ESECUZIONE DI UN TEST CON PUNTA SISMICA G1-CONE 2S DOTATA DI DOPPIO RICEVITORE ED ANALISI DEI DATI RACCOLTI

EQUAZIONE DELLA LINEA ELASTICA

Segmentazione di immagini in scala di grigio basata su clustering

Sistemi d equazioni lineari

Determinazione degli Elementi Orbitali di un Corpo Celeste noti i Vettori r e V all istante t. Giuseppe Matarazzo

Transcript:

Esercizi VI 1 ESERCIZI VI TARATURA DI SISTEMI INERZIALI Esercizio I.1. Introduzione Lo scopo della presente esercitazione è di implementare diverse tecniche di taratura per i sensori inerziali che equipaggiano le IMU. Esercizio I.2. Taratura statica di un accelerometro MEMS monoassiale. [file di riferimento: accel_mono.m] Nel file accel_data_monoaxial.mat sono salvati i segnali in uscita dall accelerometro monoassiale in corrispondenza di ingressi pari a g e g. Si elabori lo script accel_mono.m per ricavare i valori di S (V/g) e di O (V). edit accel_mono Per un accelerometro monoassiale si ha: V S( g) O (I.1) Per cui indicando con: V S( g) O 1 V S( g) O 2 (I.2) è possibile ricavare S ed O: O 2 2 V V V V S 1 2 1 2 (I.3) accel_mono.m load accel_data_monoaxial; %carica i dati salvati (V_g e V_menog; sono entrambi nfx1); V1=%ottengo il valore medio sui frame del segnale d'uscita in modo da minimizzare l'effetto del rumore V2= %ottengo il valore medio sui frame del segnale d'uscita in modo da minimizzare l'effetto del rumore S=%calcolare la sensibilità O=%calcolare l offset

0: Taratura di un accelerometro MEMS triassiale, in maniera non ridondante. 2 Esercizio I.3. Taratura di un accelerometro MEMS triassiale, in maniera non ridondante. [file di riferimento: ] Nel file accel_data_triaxial.mat sono salvati i segnali in uscita (variabile V [nfx3xnp]) dall accelerometro corrispondenti a sei diverse posizioni, secondo la tabella 1. Si implementi lo script accel.m per il calcolo della matrice S [V/g] di sensibilità ed il vettore O [V] di offset, utilizzando i dati relativi alle prime quattro posizioni. Si utilizzino poi le restanti due posizioni per la verifica. Ricavare inoltre i versori stimati I I I ns 1 n s2 n s3, e verificare l ortogonalità dei tre versori. Tabella 1 roll ( ) pitch ( ) 0 0 90 0 0 90-90 0 0-90 180 0 edit accel_tri Taratura Occorre pertanto ricavare i valori di 9 incognite scalari per la matrice S e tre per il vettore O, occorreranno pertanto 12 equazioni scalari, corrispondenti a 4 equazioni vettoriali. L espressione da implementare è: I I I I 1 gˆ ˆ ˆ ˆ 1 g2 g3 g 4 1 2 3 4 S O V V V V (I.4) 1 1 1 1 Dove:

0: Taratura di un accelerometro MEMS triassiale, in maniera non ridondante. 3 0 s g R g R cs (I.5) 1 cc I I 0 T ˆ 0 zyx 0 Infatti trattandosi di angoli intorno ad assi fissi la matrice di rotazione si esprime come: c c s s c c s c s c s s R zyx R z ( ) R y ( ) R x( ) c s s s s c c c s s s c s s c c c (I.6) La prima cosa da fare è costruire la matrice V dai segnali salvati nel file. Per ogni posizione è stata acquisita la tensione in uscita dai tre canali per qualche secondo, e memorizzata nella variabile V; è necessario pertanto mediare l uscita lungo i frame: clear all; load accel_data_triaxial; %carica i dati relativi alle sei posizioni (V [nfx3xnp]); V= %media sui frame per ridurre il rumore V=permute%V diventa una [3xnp] V_t=V(%utilizzo per la taratura solo le prime 4 posizioni V_c=V(%memorizzo gli ultimi 2 vettori di tensione per la verifica Dalla tabella si costruiscono i valori di e necessari a ricavare la matrice G mediante la formula: I I I I gˆ ˆ ˆ ˆ 1 g2 g3 g 4 G 1 1 1 1 (I.7) phi=[0 pi/2 0 -pi/2 0 pi]'; %costruisco il vettore phi secondo la tabella (pi è una costante già presente in MATLAB) theta=[0 0 pi/2 0 -pi/2 0]'; %costruisco il vettore theta G=cat(2,-sin(theta),; %si costruisce la trasposta della matrice delle posizioni A G=G'; %traspongo G( %si aggiunge la quarta riga di 1 G_t=G(:, %utilizzo per la taratura solo le prime 4 posizioni Si ricava S O dalla (V.4): B= %ricavo la matrice che contiene sensibilità e offset S= %estraggo la matrice S O=%estraggo il vattore di offset

0: Taratura di un accelerometro MEMS triassiale, in maniera ridondante. 4 L ortogonalità si verifica ricavando gli angoli formati dai versori. Ricordando che: I I I S Sx ns 1 S y ns2 S z n s3 (I.8) Pertanto calcolando modulo e versore di ogni colonna di S è possibile ricavare i versori e le sensibilità dei singoli assi: [S_x n_1]=%ricavo modulo e versore [S_y n_2]= %ricavo modulo e versore [S_z n_3]= %ricavo modulo e versore alfa=acos(dot( %calcolo l'angolo in gradi di disallineamento tra n_1 ed n_2 beta=acos(dot( %calcolo l'angolo in gradi di disallineamento tra n_2 ed n_3 gamma=acos(dot( %calcolo l'angolo in gradi di disallineamento tra n_3 ed n_1 Verifica Verifichiamo ora la calibrazione utilizzando le altre due posizioni. Occorre valutare l errore tra gli angoli di inclinazione stimati e quelli noti. Gli angoli stimati si ottengono dai versori ĝ mediante la VII.5. I versori ĝ,invece, si ottengono dalla: 0 ˆ g R 0 S V O (I.9) 1 I I 1 0 G_c=S^-1*( %valori di inclinazione stimati per le due posizioni restanti theta_stim=atan2(-%ricavo i due valori di theta (in radianti!) phi_stim=atan2(; %ricavo i due valori di phi (in radianti!) theta_stim= %esprimo theta in gradi phi_stim= %esprimo phi in gradi È possibile notare come il valore di stimato per l ultima posizione presenti un errore inaccettabile. Ciò è dovuto ai limite della rappresentazione minimale (gimbal lock), che si raggiunge nel caso in cui è prossimo a, come nel caso della quinta 2 posizione. A questo punto salvo le variabili V e G per il prossimo esercizio: save('dati_cal','v','g'); Esercizio I.4. Taratura di un accelerometro MEMS triassiale, in maniera ridondante. [file di riferimento: accel_tri_ls.m]

0: Calibrazione di un giroscopio MEMS monoassiale. 5 Si esegua, mediante implementazione dello script accel_tri_ls.m, la calibrazione del sensore utilizzando i segnali acquisiti in tutte e sei le posizioni. Si calcolino infine i residui: ˆ V ˆ S O G. V V, con edit accel_tri_ls clear all load dati_cal %carico le matrici V e A dell'esercizio precedente nel workspace accel_tri_ls.m In questo caso si utilizzano tutte le posizioni di misura e per questo la matrice G non è più quadrata. Per ricavare S e O occorre utilizzare la pseudo-inversa: B= %oppure più semplicemente B=V*pinv(A) S= %calcolare sensibilità O= %calcolare offset accel_tri_ls.m Si calcolano i residui: V_stim= %calcolare l output stimato res=v- %calcolare il residuo accel_tri_ls.m Esercizio I.5. Calibrazione di un giroscopio MEMS monoassiale. [file di riferimento: gyro_calibration.m, integral.m] Nei file gyro_data.mat sono salvati i segnali in uscita dal giroscopio nel caso statico (variabile V_fixed [nfx1]) e durante una rotazione di 90 (variabile V_rot [nfx1]), con t1 e t2 sono registrati gli istanti di inizio e fine della rotazione. Si utilizzino i file per ottenere il valore di sensibilità [Vs/ ] ed il valore di offset [V], implementando lo script gyro_calibration.m. Si riporti infine l andamento del segnale giroscopico [ /s] durante la prova di rotazione; e l andamento del segnale integrato [ ] nel tempo edit gyro_calibration Ricordando che per un giroscopio monoassiale si ha: V S O (I.10)

0: Calibrazione di un giroscopio MEMS monoassiale. 6 Essendo: t2 z zdt t1 (I.11) dalla (V.10) si ottiene: t2 V O z dt t 1 S (I.12) e quindi: t2 S ( V O) dt z t1 (I.13) gyro_calibration.m clear all load gyro_data %caricare il dato del giroscopio O=mean %calcolare offset f1= %ricavo il frame di inizio rotazione f2= %ricavo il frame di fine rotazione theta=pi/2; S=trapz( %la funzione trapz calcola l'integrale definito mediante integrazione trapezoidale S=S*; %esprimo S in Vs/ Per poter effettuare la verifica è necessario scrivere una funzione che permetta di ricavare il segnale integrato: edit integral function z=integral(b,fs); integral.m z=nan(length(b),1); %inizializzo z for i=1:length(b); if i==1 ; z(i)=0; %l'integrale parte da zero else z(i)=z(i-1)+trapz( %l iesimo valore di z è pari all area sottesa dal segnale b tra zero e b(i) end; end; A questo punto: V O S (I.14) e:

0: Calibrazione di un giroscopio MEMS monoassiale. 7 V O dt S (I.15) nf=size(v_rot,1); t=(%costruisco il vettore tempo omega=(v_rot %esprimo il segnale calibrato in gradi/s figure plot %grafico di omega nel tempo theta=integral( figure plot( %grafico di theta nel tempo Figura 1. Grafico della velocità angolare misurata[ /s] durante la prova.

0: Calibrazione di un giroscopio MEMS monoassiale. 8 Figura 2. Grafico dell angolo di rotazione [ ] durante la prova.