🎯 Filtre de Kalman · fondements théoriques

Chapitre 05
Le modèle linéaire-gaussien

Objectifs du chapitre

1. Les deux équations

Le cas linéaire-gaussien spécialise les deux modèles du chapitre 4 (transition et mesure) en leur donnant une forme linéaire, avec un bruit gaussien additif. À l'instant k :

xₖ = F · xₖ₋₁ + B · uₖ + wₖ    wₖ ∼ N(0, Q)   (dynamique)
zₖ = H · xₖ + vₖ              vₖ ∼ N(0, R)   (observation)

La première dit comment l'état évolue d'un pas au suivant ; la seconde, comment il se manifeste au capteur. Ce sont exactement les p(xₖ|xₖ₋₁) et p(zₖ|xₖ) du chapitre précédent, désormais explicites et calculables. Détaillons chaque symbole.

2. L'inventaire des matrices

Notons n la dimension de l'état et m celle de la mesure. Voici la table complète — apprenez à en lire les tailles, c'est le meilleur garde-fou contre les erreurs.

SymboleNomTailleRôle
xétatnles grandeurs à estimer (moyenne de la croyance)
Pcovariance d'étatn×nl'incertitude sur x (covariance de la croyance)
Ftransitionn×névolution de l'état selon la physique
Bcommanden×ℓeffet des entrées connues u
ucommandeentrées maîtrisées (accélération, couple imposés)
Qbruit de processn×ncovariance de ce que le modèle ne capture pas
zmesuremce que renvoient les capteurs
Hobservationm×nrelie l'état à la mesure attendue
Rbruit de mesurem×mcovariance du bruit propre des capteurs

2.1 La transition F — la physique du mouvement

F encode le modèle de mouvement : où sera l'état au prochain pas, en l'absence de commande et de bruit. Elle vient souvent de la discrétisation d'équations continues. Pour un mobile à vitesse constante sur un pas dt, on a p ← p + v·dt et v ← v, d'où la matrice triangulaire classique [[1, dt],[0, 1]].

2.2 La commande B·u — ce que l'on maîtrise

Si l'on connaît une entrée qui agit sur le système (une accélération commandée, un couple moteur), on l'injecte via B·u. C'est de l'information gratuite et certaine qu'il serait dommage d'ignorer. Beaucoup de modèles simples posent u = 0 (aucune commande connue) et laissent tout le mouvement non modélisé dans le bruit Q — c'est le cas du suivi de cible, où l'on ne pilote pas la cible.

2.3 L'observation H — la fenêtre du capteur

H traduit l'état dans l'espace des mesures : elle dit ce que devrait lire le capteur si l'état valait x. Un capteur de position seule sur un état [p, v] donne H = [1, 0] (« je vois p, pas v »). H n'a pas besoin d'être carrée : on mesure généralement moins de grandeurs qu'on n'en estime — c'est tout l'intérêt du filtre, qui reconstruit l'inobservé (chapitre 8).

2.4 Q et R — les deux incertitudes

Ce sont les deux covariances de bruit, et les deux vrais leviers de réglage du filtre :

Le rapport Q/R gouvernera tout le comportement du filtre — réactif ou lisse. Nous y consacrerons le chapitre 10.

Les covariances vivent dans le monde des carrés. P, Q, R ont pour unités des carrés de grandeurs (m², (m/s)²). Une erreur d'unité classique : mélanger mètres et centimètres entre F, H et les covariances. Tout compile, rien ne plante, mais le filtre est silencieusement faux. Fixez un système d'unités et tenez-le sur toutes les matrices.

3. Les hypothèses de bruit

Les bruits w (process) et v (mesure) portent quatre hypothèses. Chacune a une raison d'être, et savoir laquelle est violée guide le diagnostic quand un filtre déraille.

Ces hypothèses sont des idéalisations. Dans la vraie vie, aucun bruit n'est parfaitement blanc ni gaussien. Le filtre reste remarquablement robuste à des écarts modérés — mais un écart massif (biais non modélisé, capteur qui décroche) le fait diverger. Une bonne partie du métier consiste à vérifier a posteriori que ces hypothèses tiennent, via la cohérence de l'innovation (chapitre 10).

4. Un modèle complet : suivi 1D à vitesse constante

Assemblons tout sur l'exemple canonique. On suit un mobile sur un axe. On veut estimer sa position et sa vitesse, mais on ne mesure que la position (capteur bruité). L'état est x = [p, v]ᵀ, la commande est nulle. Sur un pas dt :

F = [[1, dt],[0, 1]]    H = [1, 0]    x = [p, v]ᵀ

Le modèle à vitesse constante est faux dès que le mobile accélère — mais c'est voulu : on exprime cette ignorance dans Q. Un choix courant modélise une petite accélération aléatoire d'écart-type σₐ agissant sur le pas, ce qui donne une Q couplée :

Q = σₐ² · [[ dt⁴/4 , dt³/2 ],[ dt³/2 , dt² ]]

Les termes croisés de Q ne sont pas cosmétiques : une accélération non modélisée affecte ensemble position et vitesse, donc leur bruit est corrélé. Côté mesure, un capteur de position d'écart-type σᵣ donne le scalaire R = [σᵣ²]. Ce modèle est exactement celui que le chapitre 8 fera tourner en figure, et celui du chapitre Rust qui l'implémente.

Remarquez la division du travail : F et H portent la physique connue (déterministe), Q et R portent l'ignorance (stochastique). Un bon modèle met le maximum dans F/H et le juste nécessaire dans Q/R.

Exercices

Exercice 1 — Modèle à accélération constante

On enrichit l'état en x = [p, v, a]ᵀ (position, vitesse, accélération), avec un modèle à accélération constante sur un pas dt. Écrivez F (3×3). Si l'on mesure toujours la seule position, quelle est H ?

Voir la solution

Cinématique : p ← p + v·dt + ½ a·dt², v ← v + a·dt, a ← a. D'où :

F = [[1, dt, ½dt²],
     [0, 1,  dt  ],
     [0, 0,  1   ]]     H = [1, 0, 0]

Ce modèle « suit » les accélérations réelles bien mieux que celui à vitesse constante, au prix d'un état plus grand et d'un léger surcroît de bruit sur l'estimation. Le choix de la dimension d'état est un compromis : plus de composantes = plus de fidélité mais plus de variance et de calcul.

Exercice 2 — Fusion de deux capteurs de nature différente

Sur l'état [p, v]ᵀ, on ajoute un second capteur qui mesure directement la vitesse (un radar Doppler), en plus du capteur de position. Écrivez la matrice H (2×2) du système à deux mesures, et la forme de R.

Voir la solution

La mesure est maintenant z = [z_p, z_v]ᵀ. Chaque ligne de H dit ce que voit un capteur :

H = [[1, 0],     R = [[σ_p², 0],
     [0, 1]]         [0, σ_v²]]

R est diagonale si les deux capteurs sont indépendants (bruits non corrélés). Le filtre fusionne alors automatiquement les deux sources, en pondérant chacune par sa précision — sans qu'on ait à écrire la moindre logique de fusion : c'est H et R qui font tout. Ce sera le cœur des chapitres appliqués sur la fusion de capteurs.

Récapitulatif