Réglage d'un filtre de kalman
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Réglage d'un filtre de kalman



  1. #1
    haraelendil

    Réglage d'un filtre de kalman


    ------

    Bonjour,

    voici mon problème:
    j'utilise une filtre de Kalman pour estimer des valeurs d'accélération bruitées et biaisées avec des valeurs de positions pour aider. (dans l'optique de réaliser un système de navigation aidé par GPS)

    Le problème est que mon estimation de biais, qui est bonne au début, va varier aussi à chaque changement dans la mesure, alors qu'il faudrait qu'elle reste stable.
    Y a-t-il des méthodes classiques pour résoudre ce genre de problème? La seule solution que j'ai essayé (et donc pas avec d'assez bons résultat) et de baisser la valeur associer au biais dans la matrice de covariance du bruit du modèle, mais ça n'empêche pas mon biais de varier.

    Si quelqu'un peut aider, s'il y a un pro du filtre de Kalman qui passe dans le coin, exprimez vous

    Si ça peut aider, voila les matrices que j'utilise pour le moment:

    -----

  2. #2
    haraelendil

    Re : réglage d'un filtre de kalman

    Devant le déferlement de réponses, je me répond à moi même, une solution basique serait de trouver un moyen de "fixer" le biais quand la valeur mesurée change brusquement, mais y aurait-il une façon "pas trop moche" de faire ça dans mon filtre??

  3. #3
    pat7111

    Re : Réglage d'un filtre de kalman

    Citation Envoyé par haraelendil Voir le message
    j'utilise une filtre de Kalman pour estimer des valeurs d'accélération bruitées et biaisées avec des valeurs de positions pour aider. (dans l'optique de réaliser un système de navigation aidé par GPS)
    OK. Probleme classique

    Citation Envoyé par haraelendil Voir le message
    Le problème est que mon estimation de biais, qui est bonne au début, va varier aussi à chaque changement dans la mesure, alors qu'il faudrait qu'elle reste stable.
    Ca ne me parait pas choquant que l'estimation du biais varie car:
    • dans la vraie vie, il se peut que le biais varie (a cause de la sensibilite a la temperature, sur le long terme il peut y avoir de l'usure...). Comme le biais varie lentement, on prend comme modele un biais constant mais on met un bruit de modele non nul pour ces etats pour justement lui permettre d'etre ajuste. La valeur de ce bruit d'etat depend de la maniere dont on pense que le biais peut varier... Trop grand, le biais sera ajuste pour coller aux mesures bruitees du GPS ; trop faible, on ne lui permet pas de s'ajuster.
    • a l'initialisation, le probleme est que justement on ne connait pas le biais ! Si on le connaissait et qu'il etait constant, on aurait une tres bonne mesure de l'acceleration en soustrayant le biais de l'acceleration mesuree (un accelero est en gal biaise, peu bruite) et on pourrait se passer d'un FdK.
    Ce qui est choquant en revanche (et suggere un mauvais reglage, voire une mauvaise formulation), c'est qu'une estimation qui est bonne se degrade.

    Citation Envoyé par haraelendil Voir le message
    Si quelqu'un peut aider, s'il y a un pro du filtre de Kalman qui passe dans le coin
    Amateur eclaire, dirons-nous...

    Citation Envoyé par haraelendil Voir le message
    Si ça peut aider, voila les matrices que j'utilise pour le moment:
    Qqs remarques:
    • Sur F : ca parait bizarre de voir l'acceleration dans l'etat car tu devrais alors avoir un modele de la derivee de l'acceleration, or rien ne permet de modeliser a priori l'acceleration du vehicule... (precision, tu es sur un seul axe, n'est-ce-pas ? ). Du coup, ca elimine la premiere colonne de F.
    • Sur H : ta formulation est sans doute correcte (acceleration reelle + biais) mais je prefere personnellement plus clair de distinguer l'acceleration reelle et l'acceleration mesuree.
    • Sur Q : je n'ai pas creuse (et n'ai pas le temps de le faire...) mais il est curieux d'avoir du bruit de modele pour les etats de position et vitesse. Les equations cinematiques sont exactes, seules les mesures de positions et accelerations ont une certaine incertitude.
    Plutôt appliquer son intelligence à des conneries que sa connerie à des choses intelligentes...

  4. #4
    haraelendil

    Re : Réglage d'un filtre de kalman

    Citation Envoyé par pat7111 Voir le message
    Ca ne me parait pas choquant que l'estimation du biais varie car:
    • dans la vraie vie, il se peut que le biais varie (a cause de la sensibilite a la temperature, sur le long terme il peut y avoir de l'usure...). Comme le biais varie lentement, on prend comme modele un biais constant mais on met un bruit de modele non nul pour ces etats pour justement lui permettre d'etre ajuste. La valeur de ce bruit d'etat depend de la maniere dont on pense que le biais peut varier... Trop grand, le biais sera ajuste pour coller aux mesures bruitees du GPS ; trop faible, on ne lui permet pas de s'ajuster.
    • a l'initialisation, le probleme est que justement on ne connait pas le biais ! Si on le connaissait et qu'il etait constant, on aurait une tres bonne mesure de l'acceleration en soustrayant le biais de l'acceleration mesuree (un accelero est en gal biaise, peu bruite) et on pourrait se passer d'un FdK.
    Ce qui est choquant en revanche (et suggere un mauvais reglage, voire une mauvaise formulation), c'est qu'une estimation qui est bonne se degrade.
    C'est bien pour ça que je pose mon problème^^
    Je suis bien d'accord que le biais doit varier un peu au court du temps, mais la je parle de gros sauts lors de changements brusques de l'accélération mesurée..

    Citation Envoyé par pat7111 Voir le message
    Qqs remarques:
    • Sur F : ca parait bizarre de voir l'acceleration dans l'etat car tu devrais alors avoir un modele de la derivee de l'acceleration, or rien ne permet de modeliser a priori l'acceleration du vehicule... (precision, tu es sur un seul axe, n'est-ce-pas ? ). Du coup, ca elimine la premiere colonne de F.
    • Sur H : ta formulation est sans doute correcte (acceleration reelle + biais) mais je prefere personnellement plus clair de distinguer l'acceleration reelle et l'acceleration mesuree.
    • Sur Q : je n'ai pas creuse (et n'ai pas le temps de le faire...) mais il est curieux d'avoir du bruit de modele pour les etats de position et vitesse. Les equations cinematiques sont exactes, seules les mesures de positions et accelerations ont une certaine incertitude.
    Pour F: je vois bien ce que tu veux dire, mais maintenant comment tu exprime H si l'accélération n'est pas dans le modèle?
    Et donc un peu lié au final, comment distinguerais-tu l'accélération réelle et celle mesurée?

    Pour Q en revanche, c'est vrai que j'ai mis du bruit de modèle par tout un peu comme ça, je vais voir ce que ça donne en le virant de la vitesse et de la position.

    Et oui même si le but est de faire du 3D complet (ou du moins à peu près 2D), si j'y arrive déjà pas en simulation à 1D, ça sert à rien de s'emballer^^
    Donc pour le moment, restons en 1D

  5. A voir en vidéo sur Futura
  6. #5
    pat7111

    Re : Réglage d'un filtre de kalman

    Citation Envoyé par haraelendil Voir le message
    Pour F: je vois bien ce que tu veux dire, mais maintenant comment tu exprime H si l'accélération n'est pas dans le modèle?
    Et donc un peu lié au final, comment distinguerais-tu l'accélération réelle et celle mesurée?
    Desole, un peu fatigue...

    Dans la formulation du FdK, l'acceleration mesuree est l'entree du modele (le vecteur u). Dans H, tu as seulement la position (il n'y a que cela pour recaler, si on dispose de l'acceleration reelle et de l'acceleration mesuree, le biais se trouverait pas simple soustraction.

    La, le modele (j'ecrit en continu), c'est




    Citation Envoyé par haraelendil Voir le message
    Pour Q en revanche, c'est vrai que j'ai mis du bruit de modèle par tout un peu comme ça, je vais voir ce que ça donne en le virant de la vitesse et de la position.
    Il n'y a pas d'incertitude sur le modele des deux premiers etats (je suppose l'accelero biaise, non bruite) donc Q, la matrice de covariance de w(t) sera donc nulle partout sauf le coeff (3,3) mesurant l'erreur de modelisation du biais constant. Il faut faire une estimation chiffree de la maniere dont on pense que le biais peut varier pour trouver un ordre de grandeur realiste pour Q. C'est l'aspect un peu artisanal du reglage du FdK.

    Si on considere du bruit dans l'accelero, je pense qu'il faudrait aussi le rentrer dans w car je suis quasi certain que l'acceleration ne devrait pas etre un etat sinon on retombe sur le pb de son evolution qu'on a aucun moyen de modeliser, a moins de connaitre les forces qui s'appliquent au mobile. Donc pareil, connaissant le bruit de l'acceleration, quantification de l'erreur fait-on dans le modele en integrant l'acceleration mesuree au lieu de l'acceleration reelle, integration de cette erreur d'evolution dans w et son carre dans Q.

    Citation Envoyé par haraelendil Voir le message
    si j'y arrive déjà pas en simulation à 1D, ça sert à rien de s'emballer^^
    Certes, saine demarche.
    Plutôt appliquer son intelligence à des conneries que sa connerie à des choses intelligentes...

  7. #6
    haraelendil

    Re : Réglage d'un filtre de kalman

    Ok, je vois ce que tu veux dire maintenant, ça donne rien du tout donc j'ai dû faire une bourde quelque part, mais au moins je comprend comment tu vois les choses^^
    Déjà, j'ai remis ça en échantillonné comme ça, ça semble correct (j'ai fait ça par intégration rectangle tout bête)?


    Citation Envoyé par pat7111 Voir le message
    Si on considere du bruit dans l'accelero, je pense qu'il faudrait aussi le rentrer dans w car je suis quasi certain que l'acceleration ne devrait pas etre un etat sinon on retombe sur le pb de son evolution qu'on a aucun moyen de modeliser, a moins de connaitre les forces qui s'appliquent au mobile. Donc pareil, connaissant le bruit de l'acceleration, quantification de l'erreur fait-on dans le modele en integrant l'acceleration mesuree au lieu de l'acceleration reelle, integration de cette erreur d'evolution dans w et son carre dans Q.
    Mais comment la mettre dans Q? J'ai une mesure de variance classique du bruit de mon accéléro, mais comment l'intégrer dans le modèle? en mettant du bruit pour v (donc en 2,2 dans Q)?

    Maintenant, question pour la suite, si je fait tourner l'accelero et le gps à des fréquences différentes, ça pose pas de problème si je fais une prédiction à chaque mesure d'accéléro et une mise à jour à chaque mesure gps, ou il faut s'y prendre autrement?
    Dernière modification par haraelendil ; 20/08/2010 à 09h56.

  8. #7
    haraelendil

    Re : Réglage d'un filtre de kalman

    Bon, j'ai enfin nétoyé mes erreurs, et avec ce modèlé, je n'ai aucun suivit du biais, le biais reste à zéro, donc j'ai surement du zaper un truc quelque part^^

  9. #8
    pat7111

    Re : Réglage d'un filtre de kalman

    Moi j'arrive a


    (Ton modele dit qu'au temps k+1, le biais est nul...)

    Citation Envoyé par haraelendil Voir le message
    Mais comment la mettre dans Q? J'ai une mesure de variance classique du bruit de mon accéléro, mais comment l'intégrer dans le modèle? en mettant du bruit pour v (donc en 2,2 dans Q)?
    C'est ce que j'essayerais de faire, oui. Avec un mesure du bruit de l'accelero, quelle est l'erreur faite sur la vitesse quand on integre. Comme tous ces bruits sont decoreles, on aura le carre de cette erreur dans Q en (2,2)

    Citation Envoyé par haraelendil Voir le message
    Maintenant, question pour la suite, si je fait tourner l'accelero et le gps à des fréquences différentes, ça pose pas de problème si je fais une prédiction à chaque mesure d'accéléro et une mise à jour à chaque mesure gps, ou il faut s'y prendre autrement?
    Pas de probleme, c'est exactement ce qui se passe dans une centrale hybride. On a une mesure GPS toutes les secondes en moyenne mais on integre la mesure de l'accelero beaucoup plus frequemment.
    Plutôt appliquer son intelligence à des conneries que sa connerie à des choses intelligentes...

  10. #9
    pat7111

    Re : Réglage d'un filtre de kalman

    Un truc qui me revient... Je suis beaucoup plus a l'aise dans la formulation continue que discrete mais c'est bien en discret qu'on peut implementer... Pour une raison que j'ai oubliee, le Q en discret n'est pas le meme qu'en continu, il faut multiplier par un truc comme ou ... J'ai ca dans mon rapport de fin d'etudes a la maison et ca doit etre trouvable sur le net.
    Plutôt appliquer son intelligence à des conneries que sa connerie à des choses intelligentes...

  11. #10
    haraelendil

    Re : Réglage d'un filtre de kalman

    Oh la truffe j'ai oublié le 1 du biais. Maintenant ça marche beaucoup mieux merci

    Par contre j'ai vu à différents endroits (enfin il ne me semble pas l'avoir sortit de mon chapeau ça), que certains propagent aussi l'accélération dans la position (comme moi je l'ai fait avec le ), la je fais des simus à 100Hz, j'admets que ça fait pas beaucoup, mais théoriquement parlant, c'est important ou pas fondé?

    Pas de probleme, c'est exactement ce qui se passe dans une centrale hybride. On a une mesure GPS toutes les secondes en moyenne mais on integre la mesure de l'accelero beaucoup plus frequemment.
    Bon, au moins un truc que j'ai compris du premier coup, ça fait plaisir

    Sinon, en commençant à envisager la 2D, se pose le problème de l'angle, si j'en ai besoin dans la matrice H, ça pose problème de la calculer à chaque fois à partir d'un élément de l'état dans un filtre de Kalman, donc faut-il utiliser un filtre non-linéaire (l'EKF n'a pas l'air beaucoup plus compliqué à mettre en œuvre), ou c'est tuer une mouche avec du napalm et autant rester avec un filtre de kalman classqiue?

  12. #11
    pat7111

    Re : Réglage d'un filtre de kalman

    Citation Envoyé par haraelendil Voir le message
    Par contre j'ai vu à différents endroits (enfin il ne me semble pas l'avoir sortit de mon chapeau ça), que certains propagent aussi l'accélération dans la position (comme moi je l'ai fait avec le ), la je fais des simus à 100Hz, j'admets que ça fait pas beaucoup, mais théoriquement parlant, c'est important ou pas fondé?
    Je pense que ce n'est pas fonde. X(k+1) = X(k) + TV(k) est exact (avec la methode d'integration choisie). A mon sens le biais de l'accelerometre n'intervient qu'indirectement dans la position par l'intermediaire de la vitesse. Le mettre la reviendrait a le compter deux fois.

    Citation Envoyé par haraelendil Voir le message
    Sinon, en commençant à envisager la 2D, se pose le problème de l'angle, si j'en ai besoin dans la matrice H, ça pose problème de la calculer à chaque fois à partir d'un élément de l'état dans un filtre de Kalman, donc faut-il utiliser un filtre non-linéaire (l'EKF n'a pas l'air beaucoup plus compliqué à mettre en œuvre), ou c'est tuer une mouche avec du napalm et autant rester avec un filtre de kalman classqiue?
    A froid, je pencherais pour un filtre non-lineaire (enfin si on veut... dans mes souvenirs, il me semble qu'on linearise a chaque etape...). A voir si on peut s'en passer.
    Plutôt appliquer son intelligence à des conneries que sa connerie à des choses intelligentes...

  13. #12
    haraelendil

    Re : Réglage d'un filtre de kalman

    Ouai, c'est ça l'idée, le filtre étendu utilise une fonction linéaire, mais utilise sa jacobienne pour faire les calculs.

    Merci pour tout, je vais me pencher à la 2D ce weekend

Discussions similaires

  1. Filtre de kalman pour la navigation inertielle et GPS
    Par invite264f8356 dans le forum Technologies
    Réponses: 1
    Dernier message: 18/07/2009, 15h29
  2. Filtre de Kalman
    Par invite9ba573f3 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 16/07/2009, 10h38
  3. TIPE : Le filtre de Kalman
    Par invitec35a5bd3 dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 01/06/2009, 22h55
  4. Kalman
    Par invite5f0e335f dans le forum Physique
    Réponses: 8
    Dernier message: 20/11/2008, 11h40
  5. Filtre de Kalman (suite)
    Par invite9ba573f3 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 04/11/2008, 20h15