Le filtre de Kalman en pratique


17

J'ai lu la description du filtre de Kalman, mais je ne sais pas comment il se combine dans la pratique. Il semble viser principalement les systèmes mécaniques ou électriques car il veut des transitions d'états linéaires et qu'il n'est pas utile pour la détection d'anomalies ou la localisation de transitions d'états pour la même raison (il veut des transitions d'états linéaires), est-ce exact? Dans la pratique, comment trouve- t-on généralement les composants qui devraient être connus à l'avance pour utiliser un filtre de Kalman. J'ai répertorié les composants, veuillez me corriger si ma compréhension de ce qui doit être connu à l'avance est incorrecte.

Je pense qu'il n'est pas nécessaire de les connaître "à l'avance":

  • Bruit de processus w
  • Bruit d'observation v
  • État réel (c'est ce que le filtre de Kalman essaie d'estimer)x

Je crois que ceux-ci doivent être connus "à l'avance" pour utiliser un filtre de Kalman:

  • Le modèle de transition d'état linéaire que nous appliquons à (nous devons le savoir à l'avance, donc nos états doivent être régis par des lois connues, c'est-à-dire que le filtre de Kalman est utile pour corriger les mesures lorsque la transition d'un état à un autre est bien comprise et déterministe jusqu'à un peu de bruit - ce n'est pas un chercheur d'anomalie ou un outil pour trouver des changements d'état aléatoires)x
  • Vecteur de contrôle u
  • Modèle d'entrée de contrôle qui est appliqué pour contrôler le vecteur (nous devons le savoir à l'avance, donc pour utiliser un filtre de Kalman, nous devons également savoir à l'avance comment nos valeurs de contrôle affectent le modèle, jusqu'à un maximum de bruit gaussien, et le l'effet doit être linéaire)u
  • Covariance du bruit de processus (qui semble dépendre du temps dans l'article de wikipedia, c'est-à-dire qu'il dépend du temps k ) - il semble que nous devons le savoir à l'avance et au fil du temps, je suppose qu'en pratique, il est considéré comme constant ?Qk
  • Un modèle d'observation (linéaire) H
  • Covariance (qui semble également dépendre du temps dans l'article de wikipedia) - problèmes similaires à QRQ

PS Et oui, je sais que beaucoup d'entre eux dépendent du temps, je viens de laisser tomber tout l'encombrement des indices. N'hésitez pas à imaginer une petite lettre à droite et en bas de chaque nom de variable si vous le souhaitez.k


Réponses:


18

Pour un certain contexte, revenons aux équations du filtre de Kalman:

.X(k+1)=F(k)X(k)+g(k)u(k)+w(k)z(k)=H(k)X(k)+v(k)

Bref, pour un KF nature vanille:

doit être entièrement défini. Cela vient directement des équations différentielles du système. Sinon, vous avez unproblème d'estimation double(c.-à-d. Estimez à la fois l'état et le modèle du système). Si vous n'avez pas d'équations différentielles du système, alors un KF n'est pas pour vous!F(k)

est, par définition, inconnaissable. Après tout, si vous le saviez, ce ne serait pas un problème d'estimation!X(k)

u(k)g(k)

w(k)Q(k)Q

H(k)z(k)

v(k)R(k)

Il existe un grand nombre de "trucs" qui peuvent être faits pour contourner les restrictions dans un KF ordinaire vanille, mais ceux-ci sont bien au-delà de la portée de cette question.


Après coup:

Alors que googler pour "Kalman Filter" génère un million de visites, il y a quelques points qui, à mon avis, méritent d'être examinés. La page wikipedia est trop encombrée pour apprendre efficacement :(

Sur AVR Freaks , il y a une intro "sans équation" dans le filtre de Kalman que j'ai écrite il y a quelque temps pour essayer d'introduire son utilisation réelle.

Si vous n'avez pas peur des mathématiques, il existe plusieurs livres qui valent la peine d'être lus et qui se situent au premier cycle du premier cycle / au premier cycle. Essayez soit Brown et Hwang qui comprend toute la théorie et de nombreux exemples de systèmes. L'autre qui est fortement recommandé mais que je n'ai pas lu est Gelb , qui a le net avantage d'être bon marché!


1
+1 pour le lien AVR Freaks! Très bien fait. Sera probablement utiliser cela en classe. :-)
Peter K.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.