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.
Pour les articles homonymes, voir 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 du 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, la notation représentant l'estimation de à l'instant m, utilisant les observations obtenues jusqu'à l'instant .
- , 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 à l'état actuel
- : entrée de commande
- : matrice qui relie l'entrée de commande à l'état
- le bruit du processus (en anglais process noise)
- : matrice d'estimation a priori de la covariance de l'erreur
- : matrice de covariance du bruit du processus
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.
Filtre de Kalman sans parfum
Le filtre de Kalman sans parfum (Unscented Kalman filter, UKF)[5], procède à une approximation de la densité à posteriori par une gaussienne comme dans le filtre de Kalman étendu. Mais plutôt que de faire une approximation des fonctions non linéaires du modèle d'évolution et du modèle de mesure, il réalise une approximation de la densité de probabilité par un ensemble de points pondérés convenablement choisis de façon déterministe. Ces points sont transformés par les fonctions non linéaires d'évolution et de mesure afin d'obtenir une nouvelle densité de probabilité. Cette approximation est appelée la transformée sans parfum (Unscented Transform).
Les modèles d'évolution et de mesure sont les mêmes que celles du filtre de Kalman étendu.
L'algorithme du filtre de Kalman sans parfum est le suivant :
Calcul des points d'approximation
avec :
et
Calcul des poids associés
Ceci est réalisé par l'usage de la transformée sans parfum.
Prédiction
Estimation
Le filtre de Kalman sans parfum fournit une alternative intéressante au filtre de Kalman étendu et donne dans plusieurs cas de meilleurs résultats que ce dernier, pour une complexité équivalente[6]. Cependant, ce filtre montre ses limites dans le cas de systèmes fortement non linéaires et/ou non gaussiens[7],[8].
Applications
- Pilote automatique
- Centrale inertielle
- Systèmes de localisation dynamique
- Cartographie et localisation simultanées (SLAM)
- Système de positionnement par satellites
- Assimilation de données
Voir aussi
Références
Notes
- www.springerlink.com/index/M87W5148L57H0L46.pdf
- Steffen L. Lauritzen, Thiele: Pioneer in Statistics, Oxford University Press, 2002. (ISBN 0-19-850972-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)
- 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).
- Simon J. Julier et Jeffrey K. Uhlmann, « New extension of the Kalman filter to nonlinear systems », Signal Processing, Sensor Fusion, and Target Recognition VI, SPIE, vol. 3068, , p. 182–193 (DOI 10.1117/12.280797, lire en ligne, consulté le )
- Simon S. Haykin, Kalman filtering and neural networks, Wiley, (ISBN 0-471-46421-X, 978-0-471-46421-1 et 0-471-22154-6, OCLC 52366672, lire en ligne)
- S.J. Julier, « The scaled unscented transformation », Proceedings of the 2002 American Control Conference (IEEE Cat. No.CH37301), vol. 6, , p. 4555–4559 vol.6 (DOI 10.1109/ACC.2002.1025369, lire en ligne, consulté le )
- Cindy CAPPELLE, « Localisation de véhicules et détection d'obstacles Apport d'un modèle virtuel 3D urbain », Thèse de doctorat Université de Lille,
- Portail de l’électricité et de l’électronique
- Portail de la physique