Filtre de Kalman - Façon optimale de gérer les mesures «dérivées»?


13

C'est-à-dire, si vous avez comme variables d'état la position ( p ) et la vitesse ( v ), et que je fais des mesures à basse fréquence de p , cela me donne aussi indirectement des informations sur v (puisque c'est la dérivée de p ). Quelle est la meilleure façon de gérer une telle relation?

A) À l'étape de mise à jour, dois-je seulement dire que j'ai mesuré p et me fier au processus de filtrage et à ma matrice de covariance d'état ( P ) accumulée pour corriger v ?

B) Dois-je créer une étape de prédiction "supplémentaire", soit après ou avant mon étape de mise à jour pour la mesure de p , qui utilise mon p mesuré et le delta-temps (relativement grand) pour faire une prédiction de variance élevée de v ?

C) Dans mon étape de mise à jour / mesure, dois-je dire que j'ai fait une mesure de p et v , puis encoder en quelque sorte des informations sur leur interdépendance dans la matrice de co-variance de mesure ( R )?


Pour un peu plus de contexte, voici la situation spécifique dans laquelle j'ai rencontré le problème:

Je travaille avec un système où je veux estimer la position ( p ) d'un objet, et je fais des mesures fréquentes de l'accélération ( a ) et des mesures peu fréquentes et bruyantes de p .

Je travaille actuellement avec une base de code qui le fait avec un filtre de Kalman étendu, où il conserve comme variables d'état p et v . Il exécute une étape de "prédiction" après chaque mesure d'accélération, dans laquelle il utilise le temps a et delta mesuré pour intégrer et prédire de nouveaux p et v . Il exécute ensuite une étape "mise à jour" / "mesure" pour chaque mesure p (peu fréquente) .

Le problème est le suivant: j'obtiens occasionnellement des mesures à haute erreur de a , ce qui se traduit par un v très erroné . De toute évidence, de nouvelles mesures de a ne corrigeront jamais cela, mais les mesures de p devraient s'en débarrasser. Et, en fait, cela semble se produire ... mais TRÈS lentement.

Je pensais que cela peut être en partie parce que la seule façon dont p affecte v dans ce système est à travers la matrice de covariance P - c'est-à-dire la méthode A) d'en haut - qui semble assez indirecte. Je me demandais s'il y aurait une meilleure façon d'intégrer notre connaissance de cette relation entre p et v dans le modèle, afin que les mesures de p corrigent v plus rapidement.

Merci!


1
une

2
pvpk+1=pk+vkΔt

Réponses:


3

Dans un monde idéal, vous auriez le bon modèle et l'utiliseriez.
Dans votre cas, le modèle n'est pas parfait.
Pourtant, les étapes que vous proposez sont basées sur une connaissance que vous avez du processus - que vous devez intégrer dans votre équation de processus en utilisant votre matrice de modèle dynamique:

  1. La manière classique et correcte donnée à la matrice F est construite correctement selon vos connaissances.

  2. L'étape de prédiction "Extra" ne donnera rien, car Fjek=FjejFjk et si vous réduisez le délai, vous devez modifier Q et R en conséquence ce qui devrait vous amener à la fin de la chaîne de petits pas le même P_k_k-1.

  3. Si vous ne mesurez pas V, vous devez «l'estimer» d'une manière ou d'une autre. Pourtant, par définition, si votre cas relève des hypothèses de Kalman, l'utilisation du filtre de Kalman donnerait les meilleurs résultats.

Dans l'ensemble, restez avec le "Classic".

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.