Implémentation d'un filtre de Kalman pour la position, la vitesse, l'accélération

9

J'ai utilisé des filtres Kalman pour diverses choses dans le passé, mais je suis maintenant intéressé à en utiliser un pour suivre la position, la vitesse et l'accélération dans le contexte de la position de suivi pour les applications de smartphone. Il me semble que cela devrait être un exemple de manuel d'un simple filtre de Kalman linéaire, mais je n'arrive pas à trouver de liens en ligne qui en parlent. Je peux penser à différentes façons de le faire, mais plutôt que de le rechercher à partir de zéro, peut-être que quelqu'un ici peut me diriger dans la bonne direction:

  1. Quelqu'un connaît-il la meilleure façon de mettre en place ce système? Par exemple, compte tenu de l'histoire récente des observations de position, quelle est la meilleure façon de prédire le prochain point dans l'espace d'état du filtre de Kalman? Quels sont les avantages et les inconvénients d'inclure l'accélération dans l'espace d'état? Si toutes les mesures sont en position, alors si la vitesse et l'accélération sont dans l'espace d'état, le système peut-il devenir instable? Etc ...
  2. Alternativement, quelqu'un connaît-il une bonne référence pour cette application de filtres Kalman?
Merci

Stochastiquement
la source
Wikipedia a un exemple simple ici . C'est assez simple pour vous d'obtenir les détails. Pour répondre à votre première question, vous prédisez l'état suivant en utilisant l'état actuel et votre modèle dynamique du comportement du système.
Jason R
@JasonR merci pour le commentaire, mais je cherche plus que ce qui est sur Wikipedia. J'ai utilisé beaucoup de filtres Kalman auparavant, donc je recherche le plus de détails possible sur les meilleures approches et les pièges de cette application particulière.
Stochastiquement le
2
Les filtres de Kalman sont un sujet suffisamment mature pour que vous ayez du mal à trouver un exemple contemporain détaillé comme vous le souhaitez. En bref: même si vous ne mesurez que la position, il est utile d'inclure des dérivées comme la vitesse et l'accélération dans votre vecteur d'état. La quantité de dérivés que vous suivez est liée à l'ordre polynomial des changements dans l'état que votre filtre pourra suivre sans erreur statique.
Jason R
@JasonR merci beaucoup, en l'absence d'autre chose, c'est certainement un pointeur très utile :-).
Stochastiquement le
Ce n'est pas tout à fait ce que vous recherchez, mais cette réponse à une question similaire peut vous aider.
Peter K.

Réponses:

4

C'est le meilleur que je connaisse

Dérivation complète avec explication

Kalman

Ceci est une bonne ressource pour en savoir plus sur le filtre de Kalman. Si vous êtes plus soucieux de faire fonctionner l'application pour smartphone, je vous suggère de rechercher une implémentation préexistante du filtre Kalman. Pourquoi réinventer la roue? Par exemple, si vous développez pour Android, openCV a une implémentation du filtre Kalman. Voir Android OpenCV

Bradski et Kaehler est une bonne ressource sur le traitement d'image en général et comprend une section sur le filtre de Kalman comprenant des exemples de code.

sav
la source