Vous êtes sur la page 1sur 6

Etude de cas : Filtre de Kalman

Casasola Enzo, Clanzig Kellya, Deville Thibaut

30 mars 2010

Table des matières


1 Principe 2

2 Filtre de Kalman 2

3 Filtre de Kalman étendu 4

Introduction
En 1960, R.E. Kalman a publié un article intitulé "A new Approach to
Linear Filtering and Prediction Problems". Ses recherches le mènent à y
décrire un processus qui sera connu comme le filtre de Kalman.

Le filtre de Kalman est un ensemble d’équations mathématiques qui per-


met une meilleure estimation de l’état futur d’un système malgré l’impréci-
sion des mesures et de la modélisation.

Le but de cet article est de donner une meilleure compréhension du filtre


de Kalman. Tout d’abord, nous proposons un cas très simple et pratique
d’utilisation, qui met en lumière l’intêret d’un tel outil. Puis, nous fournissons
et expliquons les équations mathématiques permettant sa mise en pratique.
Nous présenterons dans un premier temps le filtre de Kalman appliqué aux
systèmes suivant un système linéaire, avant de nous intéresser au cas étendu.

1 Principe
Pour comprendre un peu mieux le fonctionnement du filtre de Kalman et
surtout son utilité, nous allons prendre un exemple de la vie quotidienne ou
vous l’utilisez sans vous en rendre compte.

1
Supposons que nous sommes sur un bateau sur lequel nous ramons. Pour
savoir dans combien de temps nous atteindrons le port, nous disposons d’un
certain nombre d’informations, plus ou moins précises :
– un GPS nous donne notre position
– Nos yeux nous donnent une autre estimation de notre distance au port,
ainsi que des obstacles à contourner
– Notre connaissance approximative de notre vitesse de déplacement sur
le début du parcours

Notre cerveau réalise (sans le savoir, comme souvent) un filtre de Kalman


pour obtenir la meilleure approximation du temps qu’il nous faudra pour
arriver. D’après les données passées, il établi un "modèle mathématique" de
la réalité en approximant le lien entre sa vitesse et sa position. Il fait ensuite
une approximation de sa position et de sa vitesse actuelles en donnant plus
d’importance au capteur dans lequel il a le plus confiance. Ainsi, entre vos
yeux et le GPS, il y a tout à pariez que vous préférerez suivre la distance
donnée par l’appareil électronique. Dans un deuxième temps, vous adapte-
rez votre estimation suivant vos nouvelles mesures. Par exemple, en vous
fatigant, vous allez moins vite et donc vous savez que vous repoussez votre
arrivée d’autant.

C’est exactement ainsi que fonctionne le filtre de Kalman dans le centre


de calcul d’un bateau ou d’une fusée. Il a un modèle mathématique le plus
proche de la réalité possible et des mesures provenant de ses différents cap-
teurs, il a donc besoin de les comparer intelligemment pour connaître sa
position et arriver à bon port ! Comme toujours pour un ordinateur, "intelli-
gemment" signifie "grâce à des équations mathématiques avancées", ce sont
donc ces équations que nous allons vous présenter maintenant.

2 Filtre de Kalman
Nous appliquons ici le filtre de Kalman à des systèmes qui peuvent être
modélisés par une équation différentielle linéaire stochastique. Nous allons
nous intéresser au cas discret qui est plus simple et surtout qui est le plus
utilisé.

Nous partirons donc de cette équation :

ẋ(t) = F (t)x(t) + B(t)u(t) + G(t)w(t)

avec les notations suivantes :


∗ x : l’état du système
∗ u : l’entrée de commande du système
∗ F , G, B : des matrices déterministes

2
∗ w : un bruit blanc appliqué au système

A cause du bruit, on ne peut pas résoudre cette équation et donc connaître


exactement x. Pour résoudre ce système, nous utilisons donc des capteurs qui
nous fournissent une approximation de l’état réel.

Les mesures données par les capteurs sont ainsi utilisées :

z(ti ) = H(ti )x(ti ) + v(ti )

où :
∗ z est le vecteur de mesures des capteurs
∗ H est une matrice déterministe
∗ v est un vecteur de bruit Gaussien blanc

Les vecteurs de mesure ne sont pas non plus connus de manière précise, à
cause du bruit de mesure. Le but du filtre va être de trouver une estimation
x̂ la plus fiable possible, et ce avec les informations données par les capteurs
et la valeur de x estimée à l’état précédent grâce a la première équation. Le
filtre est donc récursif d’ordre 1. Il est possible d’utiliser un filtre de Kalman
d’ordre supérieur en tenant compte de plusieurs étapes antérieures, ce qui le
rend plus performant mais d’autant plus complexe.

Le Filtre de Kalman est très puissant grâce à l’utilisation d’un contrôle


en feedback : il estime l’état du système puis améliore son résultat avec les
informations bruitées fournies par les capteurs. Deux étapes permettent donc
de calculer x̂ à un instant ti :
• Etape de prédiction :
on estime x(ti ) à l’aide de l’estimation corrigée de x(ti−1 )
• Etape de correction :
à l’aide de z(ti ), on corrige l’estimation de x(ti )

Figure 1 – Étapes du Filtre de Kalman

On utilise alors les deux notations temporelles suivant :


∗ t−
i : prédiction au temps ti , valeur théorique sans l’information des
capteurs.

3
∗ t+
i : correction à l’aide des informations des capteurs de la prédiction
au temps t−i .


D’après les équations précédentes, les estimateurs aux temps t+
i−1 et ti
sont ainsi liés par l’équation :

x̂(t+ + +
i ) = F x̂(ti−1 ) + Bu(ti−1 )

On introduit la matrice de covariance de l’erreur d’estimation, aux temps


prédits ( P (t− +
i ) ) et corrigés ( P (ti ) ) :

P (t− + T
i ) = F P (ti−1 )F + Q

On écrit l’équation de correction en introduisant le gain k du filtre de


Kalman :
− −
x̂(t+
i ) = x̂(ti ) + k(ti )[zi − H(ti )x̂(ti )]

On cherche logiquement à ce que l’estimateur soit le plus proche possible


de l’état réel, ce qui correspond à minimiser la covariance de l’erreur au
temps corrigé P (t+i ). En utilisant des méthodes utilisées en statistique on
obtient l’expression du gain optimal :

K = P (t− T −
i )H (HP (ti ) + R)
−1

où R est la matrice de covariance du bruit v sur la mesure des capteurs.

A noter que sous les hypothèses de départ choisies dans cette partie le
filtre de Kalman est optimal au point de vue mathématique, c’est à dire que
l’on ne peut pas trouver un estimateur plus proche.

3 Filtre de Kalman étendu


Comme nous l’avons vu dans la section précédente, le filtre de Kalman est
fréquemment utilisé pour analyser le comportement d’un système linéaire qui
fonctionne sous des conditions de bruit gaussien. Autrement dit, il permet
d’identifier l’état d’un système dans le temps à partir des entrées et sor-
ties actuelles et des covariances des bruits gaussiens qui affectent le système
pendant la durée de l’étude.

Cette méthode est très efficace, mais étant donné que la plupart des sys-
tèmes physiques sont des systèmes non linéaires, il n’est pas possible de leur
appliquer le filtre de Kalman directement.

4
Pour le cas d’un système non linéaire, l’équation d’état et l’équation de
sortie sont de la forme :

ẋ = f (x) + ω

z = h(x) + ν

De la même manière que dans le cas du Filtre de Kalman simple, ω et


ν sont des bruits blancs gaussiens de moyenne nulle et respectivement de
covariance Q et R.

Les fonctions f et h ne sont pas des fonctions linéaires mais ont la contrainte
d’être différentiables. Comme ce n’est pas possible de les utiliser directement
pour le calcul des covariances, on utilise une matrice Jacobienne. Cette der-
nière est calculée à chaque instant autour du point d’estimation courant x̂
avec l’objectif de linéariser le système :

∂f (x)
F = |x=x̂ti−1
∂x
∂h(x)
H= | −
∂x x=x̂ti
De cette façon les équations de prédiction deviennent :

x̂(t− +
i ) = f (x(ti−1 ))

P (t− + T
i ) = F P (ti−1 )F + Q

Où P représente la matrice de covariance estimée.

Après avoir obtenu la valeur des sorties du système (z), nous pouvons
calculer la valeur du gain de Kalman (k(ti )), puis la nouvelle valeur de l’état
estimé, pour finalement actualiser la valeur de la matrice de covariance.

Pour ce faire, nous utilisons les équations suivantes, appelées équations


d’actualisation :

k(ti ) = P (t− T − T
i )H (ti )[H(ti )P (ti )H (ti ) + R(ti )]
−1

− −
x̂(t+
i ) = x̂(ti ) + k(ti )[zi − h(x̂(ti ))]

− −
P (t+
i ) = P (ti ) − k(ti )H(ti )P (ti )

5
Conclusion
Le filtre de Kalman est donc un ensemble d’équations très efficace pour
obtenir la solution optimale d’un problème dont on n’a qu’une connaissance
partielle. Son efficacité vient de son adaptabilité suivant le nombre de cap-
teurs traités, la qualité des informations recueillies ou la modélisation du
système qui peut être linéaire ou non, grâce au filtre étendu.

En effet, comme le filtre de Kalman simple, le filtre étendu nous permet


d’obtenir une estimation de variance minimale à partir d’observations qui ne
sont pas exactes. Par contre, c’est une méthode approximative qui n’arrive
pas toujours à converger car la précision du modèle dépend en grande partie
des valeurs de l’état initial que l’on choisit de façon plus ou moins empirique.

Mais le filtre de Kalman est avant tout un outil physique très important,
utilisé dans de nombreux domaines de l’industrie, en particulier en balistique
et plus généralement dans tous les domaines qui nécessitent une localisation
très précise (radars, navigation...)

Vous aimerez peut-être aussi