Come combinare i dati del giroscopio e dell’accelerometro

Ok,quindi dopo alcuni esperimenti sui differenti approcci sul filtraggio dei dati, ora sono interessato su come mischiare i dati del GYRO e del ACC in modo da ottenere dati ottimizzati.

Come sempre,anche questa volta ho trovato un articolo molto interessante che descrive esattamente questo approccio: kalman filter vs complementary filter.

Qui e’ possibile trovare come impelemtare 2 tipi di filtri complementari e il filtro di  kalman.Se siete interessati al filtro di kalman in particolare ,allora e’ fortemente consigliata la lettura dato che spiega come impelmentarlo in maniera molto semplice. Devo avvisarvi che e’ scritto per arduino , non in python, ma non credo che ci possa allarmare.

Personalmente ho solo implementato il filtro complementare di primo ordine e gia cosi mi ritengo soddisfatto.

IMU_Fusion1

In figura potete vedere il confronto fra l’angolo calcolato dal giroscopio, dal acc,  col filtro complementare e anche col filtro complementare a cui ho passato i dati dell acc in precedenza filtrati con kalman.

Si puo notare a destra come la deriva del gyro sia molto evidente (linea blu) sia compeltamente assente nel dato del angolo con filtro complementare.

IMU_Fusion2

Questa invece e’ l’ingrandimento dell’area di sinistra dove era moloto evidente il rumore del acc. Di nuovo il filtro complementare arrotonda sufficientemente bene il valore..

Quindi in conclusione ho deciso di affidarmi nel mio quadricottero ai dati derivanti dal sensore filtrati con il filtro complementare.

Questo e’ lesempio in cui ancora ci sono inclusi tutti i filtri da me testati: IMU_Test3.

Nota che il filtro compelmentare e’ incluso direttamente nel file imu_test.py code in getAngleCompl() .

Posso quindi considerare questa fase di sviluppo quasi conclusa.Voglio solo creare una classe sensor che possa girare in un thread  in parallelo in modo da potere mostrare sempre i dati sul monitor.

Dopo di che si parte con i test sul PID.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...