2013-04-02 36 views
5

Il mio progetto:Cercando di filtrare (tonnellate di) rumore da accelerometri e giroscopi

sto sviluppando una macchina di slot con accelerometro a 3 assi e giroscopio, cercando di stimare la macchina posa (x, y, z, imbardata, passo) ma ho un grosso problema con il mio rumore di vibrazione (mentre la macchina è in funzione, gli ingranaggi provocano vibrazioni e anche la pista peggiora) perché il rumore assume valori compresi tra ± 4 [g] (dove g = 9.81 [m/s^2]) per gli accelerometri, per esempio.

so (perché l'osservo), il rumore è correlata per tutti i miei sensori

Nel mio primo tentativo, ho provato a lavorare fuori con un filtro di Kalman, ma non ha funzionato perché i valori dei miei vettori di stato ha avuto un rumore davvero grande.

EDIT2: nel mio secondo tentativo ho provato un filtro passa-basso prima del filtro Kalman, ma ha solo rallentato il mio sistema e non ha filtrato i componenti bassi del rumore. A questo punto ho capito che questo rumore potrebbe essere composto da componenti a bassa e alta frequenza.

Stavo imparando i filtri adattivi (LMS e RLS) ma mi sono reso conto che non ho un segnale di rumore e se uso un segnale dell'accelerometro per filtrare l'accelerometro di altri assi, non ottengo valori assoluti, quindi non funziona

EDIT: Sto riscontrando problemi nel tentativo di trovare codice di esempio per i filtri adattivi. Se qualcuno sa qualcosa di simile, sarò molto grato.

Ecco la mia domanda:

Qualcuno sa di un filtro o avere alcuna idea su come avrei potuto risolvere il problema e filtrare correttamente miei segnali?

Grazie mille in anticipo,

xnor

PD: Mi scuso per qualsiasi errore che ho potuto, l'inglese non è la mia lingua madre

risposta

1

La prima cosa che farei sarebbe quella di eseguire una DFT sul segnale del sensore e vedere se c'è effettivamente una componente di alta e bassa frequenza dei segnali dell'accelerometro.

Con una DFT si dovrebbe essere in grado di determinare una frequenza di taglio ottimale del filtro passa-basso/passa-banda.

Se si dispone di un componente costante sull'asse Z, è possibile che non sia stata filtrata la gravità. Si noti che se c'è un'intonazione o un rotolo significativo, questa costante può essere vista anche sugli assi X e Y

Generalmente la stima di posa con un accelerometro non è una buona idea in quanto è necessario integrare i segnali di accelerazione due volte per ottenere un posa. Se il segnale è disturbato, i problemi si verificano già dopo un paio di secondi se il rumore non è distribuito uniformemente al 100% tra + e -.

Se supponiamo che non ci sia alcun rumore proveniente dalle tue marce, anche la precisione di conversione dell'Accelerometro potrebbe iniziare a rovinare la tua posa dopo un paio di minuti.

Utilizzerei sicuramente un secondo sensore, ad esempio una bussola/encoder in combinazione con il modello matematico e combinare tutti i dati del sensore in un filtro kalmann (fusione sensore).

Potresti anche essere in grado di ricavare un modello di scatola nera del tuo rumore assumendo che sia correlato ai tuoi motori RPM. (Box-Jenkins/Arma/Arima).

+0

Ciao Sigurd, grazie per la tua risposta. Ho deciso di ripianare la mia stima di posa, perché si è scoperto che il rumore non era correlato (ma sembrava). Ho un encoder e penso con un filtro particella che usa la geometria della traccia come una riscrittura e leggere i tag per la posizione assoluta potrebbe funzionare, ma non mi sento abbastanza sicuro di questo modello, quindi leggerò su questa scatola nera (Box -jenkins/Arma/Arima) e provare il filtro kalman solo misurando la velocità (lineare e angolare) e utilizzare questi per propagare il mio filtro particella e aggiornarlo con le restrizioni e le etichette del brano. – XNor

0

Hai provato un filtro passa-basso semplice sui dati? Direi che la frequenza delle vibrazioni è molto più alta delle frequenze nei normali dati di accelerazione dell'automobile. Almeno nella guida normale. Gli arresti potrebbero essere un'altra storia ...

+0

Ciao japreiss, grazie per la risposta. Sì, ho provato un normale filtro passa-basso, è così che ho capito che sono correlati perché è un rumore ad alta frequenza, ma ancora implementandolo, si è scoperto che non è abbastanza perché rallenta il mio sistema e non filtra il basso componenti del rumore, ecco perché ho pensato ai filtri adattivi. – XNor

1

Ho avuto problemi simili con il rumore con le basse e alte frequenze e sono riuscito a rimuoverlo decentemente senza rimuovere anche un buon segnale utilizzando un supporto universale per microfono. In particolare, fa un buon lavoro con il giroscopio, soprattutto se ne trovi uno adatto (oppure puoi metterlo in una valigetta e poi montarlo) Fondamentalmente usa stringhe elastiche per rimuovere urti e vibrazioni. Universal shock mount

+0

Questo non avrebbe funzionato nel mio progetto ma è un approccio molto interessante :) – XNor