Je suis intéressé par l'implémentation d'un filtre de Kalman en Python. Tout d'abord, j'ai programmé une version très simple d'un filtre K - un seul état (position dans la direction Y). Ma matrice de transition d'état ressemble à :

X <- X + v * t 

Avec v et t sont des constantes.

Je simule la mesure avec une simple fonction linéaire

y = mx + b

Et ajoutez-y du bruit :

y1 = np.random.normal(y, sigma, Nsamples).

Cela fonctionne plutôt bien, je peux redéfinir R et Q pour modifier la valeur du bruit de mesure et de traitement (jusqu'à présent, ce n'est pas une matrice).

Maintenant j'ai une idée...

Que se passe-t-il si j'avais une deuxième mesure?

    y2 = np.random.normal(y, sigma2, Nsamples)

Comment pourrais-je le gérer? Dois-je préfiltrer la mesure comme :

(y1 + y2) / 2

Ou existe-t-il une méthode/solution plus appropriée qui implique le filtre de Kalman ?

2
Mat 13 févr. 2020 à 12:05

1 réponse

Meilleure réponse

Il existe de nombreuses façons de gérer la fusion de plusieurs mesures de capteurs à l'aide du filtre de Kalman. Une façon de le faire serait de mettre à jour séquentiellement le filtre de Kalman avec de nouvelles mesures.

Consultez les diapositives du pionnier de la fusion de capteurs Hugh Durrant-Whyte trouvées dans cette réponse pour découvrir plusieurs façons de fusionner les données des capteurs.

1
Malefitz 17 févr. 2020 à 16:24