Filtre de Kalman

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 6 mai 2019 à 23:37 et modifiée en dernier par AnthonyB20 (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(en) Concept de base du filtre de Kalman.

Le filtre de Kalman est un filtre à réponse impulsionnelle infinie qui estime les états d'un système dynamique à partir d'une série de mesures incomplètes ou bruitées. Le filtre a été nommé d'après le mathématicien et informaticien américain d'origine hongroise Rudolf Kalman.

Exemples d'applications

Le filtre de Kalman est utilisé dans une large gamme de domaines technologiques (radar, vision électronique, communication ...). C'est un thème majeur de l'automatique et du traitement du signal. Un exemple d'utilisation peut être la mise à disposition, en continu, d'informations telles que la position ou la vitesse d'un objet à partir d'une série d'observations relatives à sa position, incluant éventuellement des erreurs de mesures.

Par exemple, pour le cas des radars où l'on désire suivre une cible, des données sur sa position, sa vitesse et son accélération sont mesurées à chaque instant mais avec énormément de perturbations dues au bruit ou aux erreurs de mesure. Le filtre de Kalman fait appel à la dynamique de la cible qui définit son évolution dans le temps pour obtenir de meilleures données, éliminant ainsi l'effet du bruit. Ces données peuvent être calculées pour l'instant présent (filtrage), dans le passé (lissage), ou sur un horizon futur (prédiction).

Le filtrage de Kalman est aussi de plus en plus utilisé en dehors du domaine de l'électronique, par exemple en météorologie et en océanographie, pour l'assimilation de données dans un modèle numérique, en finance ou en navigation et il est même utilisé dans l'estimation[1] des états de trafic routier dans le cas de commande par rampe d'accès où le nombre de boucles magnétiques sur la route est insuffisant.

Paternité

Le filtre de Kalman doit son nom à Rudolf Kalman bien que Thorvald Nicolai Thiele[2] et Peter Swerling aient développé un algorithme similaire avant lui. La paternité du filtre fait l'objet d'une petite controverse dans la communauté scientifique. Le filtre a été décrit dans diverses publications par Swerling (1958), Kalman (1960)[3] et Kalman-Bucy (1961)[4].

Stanley Schmidt est reconnu comme ayant réalisé la première mise en œuvre du filtre. C'était lors d'une visite de Rudolf Kalman au NASA Ames Research Center qu'il vit le potentiel de son filtre pour l'estimation de la trajectoire pour le programme Apollo. Ceci conduisit à l'utilisation du filtre dans l'ordinateur de navigation.

Une grande variété de filtres de Kalman a été, depuis, développée à partir de la formulation originale dite filtre de Kalman simple. Schmidt développa le filtre de Kalman étendu, Bierman, Thornton et bien d'autres développèrent toute une gamme de filtres racine carrée. Le filtre le plus utilisé est vraisemblablement la phase-locked loop, largement répandue dans les radios, ordinateurs, équipement de communication, etc.

Le filtre de Kalman en contexte discret

Le filtre de Kalman en contexte discret est un estimateur récursif. Cela signifie que pour estimer l'état courant, seules l'estimation de l'état précédent et les mesures actuelles sont nécessaires. L'historique des observations et des estimations n'est ainsi pas requis.

L'état du filtre est représenté par 2 variables :

  • , l'estimation de l'état à l'instant k;
  • , La matrice de covariance de l'erreur (une mesure de la précision de l'état estimé).

Le filtre de Kalman a deux phases distinctes : Prédiction et Mise à jour. La phase de prédiction utilise l'état estimé de l'instant précédent pour produire une estimation de l'état courant. Dans l'étape de mise à jour, les observations de l'instant courant sont utilisées pour corriger l'état prédit dans le but d'obtenir une estimation plus précise.

Prédiction

(état prédit)
(estimation prédite de la covariance)

avec

  •  : matrice qui relie l'état précédent k-1 à l'état actuel k
  •  : entrée de commande
  •  : matrice qui relie l'entrée de commande u à l'état x
  •  : matrice d'estimation a priori de la covariance de l'erreur
  •  : matrice de covariance du bruit du processus (en anglais process noise)

Mise à jour

(innovation)
(covariance de l'innovation)
(gain de Kalman optimal)
(état mis à jour)
(covariance mise à jour)

avec

  •  : observation ou mesure du processus à l'instant k
  •  : matrice qui relie l'état à la mesure
  •  : matrice d'estimation a posteriori de la covariance de l'erreur
  •  : matrice de covariance du bruit de mesure
  •  : matrice identité aux dimensions adéquates


La formule de la mise à jour de la covariance est valide uniquement pour un gain de Kalman optimal. L'utilisation d'autres valeurs de gains nécessite des formules plus complexes.

Le filtre d'information

Durrant Whyte a bien traité le filtre informationnel et a montré ses avantages par rapport au filtre de Kalman, il a surtout traité son aspect décentralisé. Dans le cas décentralisé on n'a pas besoin d'une unité centrale de traitement de données, ce qui réduit fortement le temps d'exécution.

Dans le filtre de l'information, la covariance et l'état estimés sont respectivement remplacés par la matrice d'information et le vecteur d'information. Ils sont définis par :

De même, la covariance et l'état prédits ont les formes d'information équivalentes, définies par :

La covariance et le vecteur de mesure sont définis par :

La mise à jour de l'information devient maintenant une somme triviale :

L'avantage principal du filtre de l'information est que N mesures peuvent être filtrées à chaque instant simplement en additionnant leurs matrices et vecteurs de l'information si la matrice R est une matrice diagonale.

Pour prédire le filtre d'information, la matrice et le vecteur d'information peuvent être convertis de nouveau à leurs équivalents de l'espace d'état ou, alternativement, la prédiction de l'espace d'information peut être utilisée.

Noter également que F et Q doivent être inversibles.

L'avantage principal du filtre informationnel apparait dans son étape de correction qui est beaucoup plus simple que celle du filtre de Kalman. Ceci apporte de nombreux avantages au problème de diagnostic et surtout dans le cas de détection de plusieurs défauts simultanés.

Les filtres non-linéaires

Le filtre de Kalman est limité aux systèmes linéaires. Cependant, la plupart des systèmes physiques sont non linéaires. Le filtre n'est donc optimal que sur une petite plage linéaire osculatrice des phénomènes réels pris en compte par la linéarisation de l'équation physique. La non-linéarité peut être associée au modèle du processus, au modèle d'observation ou bien aux deux.

Filtre de Kalman étendu

Dans le filtre de Kalman étendu (FKE), les modèles d'évolution et d'observation n'ont pas besoin d'être des fonctions linéaires de l'état mais peuvent à la place être des fonctions (différentiables).

La fonction f peut être utilisée pour calculer l'état prédit à partir de l'état estimé précédent et, semblablement, la fonction h peut être employée pour calculer l'observation prédite de l'état prédit. Cependant, f et h ne peuvent pas être appliqués directement au calcul de la covariance : une matrice des dérivées partielles, la Jacobienne, est calculée.

À chaque instant, la Jacobienne est évaluée avec les états estimés courants. Ces matrices peuvent être employées dans les équations du filtre de Kalman. Ce processus linéarise essentiellement la fonction non linéaire autour de l'estimation courante.

Ceci donne les équations du filtre de Kalman étendu suivantes :

Prédiction

Mise à jour

Où les matrices de transition et d'observation sont définies comme étant les Jacobiennes suivantes :

Remarque : la convergence de ce filtre n'est aucunement assurée car il s'agit d'une convergence locale. En fait, il existe de nombreux exemples pour lesquels la convergence du filtre dépend de l'initialisation de l'état à l'instant initial.

Applications

Voir aussi

Références

Notes

  1. www.springerlink.com/index/M87W5148L57H0L46.pdf
  2. Steffen L. Lauritzen, Thiele: Pioneer in Statistics, Oxford University Press, 2002. (ISBN 0-19-850972-3).
  3. Kalman, R. E. "A New Approach to Linear Filtering and Prediction Problems," Transactions of the ASME - Journal of Basic Engineering Vol. 82: p. 35-45 (1960)
  4. Kalman, R. E., Bucy R. S., "New Results in Linear Filtering and Prediction Theory", Transactions of the ASME - Journal of Basic Engineering Vol. 83: p. 95-107 (1961).