Chapitre 10
Cohérence, réglage & robustesse numérique
Objectifs du chapitre
- Régler Q et R avec méthode plutôt qu'au doigt mouillé.
- Tester la cohérence d'un filtre : innovation blanche, NIS et NEES.
- Comprendre les pièges numériques (symétrie, positivité) et leurs parades : forme de Joseph, racine carrée, filtre d'information.
- Ouvrir vers le non-linéaire (EKF, UKF) et annoncer la suite appliquée du cours.
1. Régler Q et R
Un filtre de Kalman est optimal pour les Q et R qu'on lui donne. Ces deux matrices ne sont pas des détails : ce sont les seuls véritables réglages, et un filtre juste en théorie devient inutile avec de mauvaises covariances de bruit. Heureusement, les deux ne se règlent pas de la même façon.
R est le plus facile : c'est une propriété physique du capteur. On l'obtient de la fiche technique, ou on le mesure — capteur immobile, on enregistre quelques milliers d'échantillons et on calcule leur variance empirique. C'est un fait, pas un choix.
Q est le curseur. Il exprime la confiance dans le modèle, et il n'existe pas de « vraie » valeur : c'est un compromis. Le comportement suit une règle simple à mémoriser :
- Petit Q : on croit le modèle. Filtre lisse, peu de bruit en sortie, mais lent à réagir aux vraies surprises (il traîne, comme au cycle 20 de la figure 8.2).
- Grand Q : on se méfie du modèle. Filtre réactif, colle aux changements, mais nerveux : il laisse passer davantage de bruit.
Le critère d'arrêt du réglage : ajuster Q jusqu'à ce que l'innovation ressemble à un bruit blanc de covariance S (chapitre 8). Trop de Q : les innovations deviennent trop petites par rapport à S (le filtre se sous-estime). Trop peu : les innovations sont trop grandes et corrélées dans le temps (le filtre rate des changements). La cohérence, décrite ci-dessous, transforme ce « ressemble à » en test quantitatif.
2. Tester la cohérence
Un filtre est cohérent si l'incertitude qu'il annonce (P, S) correspond à l'erreur qu'il commet réellement. Un filtre cohérent ne se croit ni meilleur ni pire qu'il n'est. C'est la propriété la plus importante après l'exactitude — un filtre incohérent qui sous-estime son erreur est dangereux : il inspire une confiance injustifiée.
2.1 NIS — la cohérence via l'innovation
Le test se fait sur ce qu'on observe : l'innovation. La NIS (Normalized Innovation Squared) normalise l'innovation par sa covariance annoncée :
Si le filtre est cohérent, cette quantité suit une loi du χ² à m degrés de liberté (dimension de la mesure), donc de moyenne m. En pratique, on moyenne la NIS sur une fenêtre et on vérifie qu'elle tombe dans l'intervalle de confiance du χ² :
- NIS trop grande (au-dessus de la borne) : les innovations sont plus grandes que S ne le prévoit → le filtre est trop optimiste, Q ou R trop petits.
- NIS trop petite : le filtre est trop pessimiste, il annonce plus d'incertitude qu'il n'en a → Q ou R trop grands.
La NIS est calculable en ligne, sans vérité terrain : c'est le test de cohérence du praticien. On l'accompagne d'un test de blancheur (autocorrélation de la suite des innovations proche de zéro hors du décalage nul), qui vérifie qu'il ne reste aucune structure temporelle exploitable.
2.2 NEES — la cohérence via l'erreur vraie
En simulation, où l'on connaît la vérité x, on peut tester directement l'erreur d'estimation avec la NEES (Normalized Estimation Error Squared) :
Elle suit un χ² à n degrés de liberté (dimension de l'état) si le filtre est cohérent. La NEES sert à valider un filtre avant déploiement, en Monte-Carlo ; la NIS le surveille pendant l'exploitation. Ensemble, elles disent si l'on peut faire confiance au P que le filtre affiche.
Retenez la hiérarchie du diagnostic : d'abord l'exactitude (l'estimation suit-elle la vérité ?), puis la cohérence (l'incertitude annoncée est-elle honnête ?). Un filtre peut être exact mais incohérent (il vise juste mais ment sur sa précision) — et cela suffit à rendre dangereuses les décisions prises en aval, qui se fient à son P.
3. Robustesse numérique
En arithmétique flottante, trois maux guettent un filtre qui tourne longtemps. Les connaître, c'est éviter des divergences mystérieuses.
- Perte de symétrie de P. À force d'arrondis, la matrice censée être symétrique cesse de l'être, puis perd sa positivité, et le filtre diverge. Parade minimale : resymétriser à chaque pas, P ← (P + Pᵀ)/2.
- Perte de positivité. La forme courte P = (I−KH)P⁻ (chapitre 7) est une différence de matrices : la soustraction peut produire des valeurs propres négatives, absurdes pour une covariance. La forme de Joseph P = (I−KH)P⁻(I−KH)ᵀ + KRKᵀ — une somme de deux termes positifs — reste définie positive par construction, au prix de quelques produits de plus. À privilégier dès que le filtre doit tourner des heures sans redémarrage.
- Mauvais conditionnement. Quand certaines directions sont très bien connues et d'autres très mal, P devient mal conditionnée et les inversions perdent en précision. Les filtres à racine carrée propagent une factorisation P = L·Lᵀ (Cholesky) au lieu de P elle-même : la positivité est garantie (un produit L·Lᵀ l'est toujours) et la précision numérique effective est doublée. C'est la parade la plus robuste, employée là où l'échec n'est pas permis (aéronautique, spatial).
Le filtre d'information, entrevu au chapitre 7 (P⁻¹ = P⁻⁻¹ + HᵀR⁻¹H), propage Y = P⁻¹ et ŷ = P⁻¹x plutôt que P et x. Sa correction devient une simple addition, ce qui le rend imbattable pour fusionner beaucoup de capteurs d'un coup, ou pour représenter une ignorance totale au départ (Y = 0, ce qui serait P = ∞, impossible en covariance). C'est le dual exact du filtre de Kalman.
Le biais n'est pas du bruit. Toutes ces parades supposent des bruits centrés. Un capteur biaisé (erreur systématique) viole l'hypothèse du chapitre 5 et fait dériver l'estimation, sans qu'aucune resymétrisation n'y change rien. La bonne réponse est de modéliser le biais : l'ajouter à l'état pour que le filtre l'estime et le compense (à condition que le système reste observable — chapitre 9, exercice 2). Diagnostiquer un biais : une innovation de moyenne non nulle, détectée par le test de cohérence.
4. Ouverture : quand le monde n'est pas linéaire
Tout ce cours a supposé F et H linéaires. Or beaucoup de systèmes ne le sont pas : la dynamique x = g(x, u) et l'observation z = h(x) font intervenir des angles, des distances euclidiennes, de la cinématique — tout sauf des matrices constantes. La croyance cesse alors de rester gaussienne, et les clôtures du chapitre 3 tombent. Deux grandes familles de filtres approchés récupèrent la situation, en gardant exactement la structure prédiction/correction du chapitre 4.
- Le filtre de Kalman étendu (EKF) linéarise les fonctions à chaque pas, autour de l'estimation courante, via leurs jacobiennes : F ≈ ∂g/∂x, H ≈ ∂h/∂x, évaluées en x̂. On applique ensuite les mêmes cinq équations. Simple, omniprésent en robotique — mais la linéarisation introduit une erreur, on perd l'optimalité stricte, et un mauvais point de linéarisation peut faire diverger.
- Le filtre « unscented » (UKF) renonce à dériver quoi que ce soit : il propage un petit jeu de points choisis (sigma points) à travers les vraies fonctions non linéaires, puis reconstruit moyenne et covariance à partir de leurs images. Plus précis que l'EKF sur les non-linéarités marquées, sans jacobienne à calculer, pour un coût comparable.
Ces deux filtres, et la fusion de capteurs réelle (IMU + GPS + odométrie), l'estimation d'attitude, le réglage sur données terrain — sont le sujet des chapitres appliqués qui prolongeront ce cours. Vous les aborderez avec un avantage décisif : vous ne verrez pas l'EKF comme une recette, mais comme le filtre bayésien récursif de toujours, forcé de linéariser pour rester dans le monde gaussien que vous maîtrisez désormais.
Pour l'implémentation temps réel du filtre linéaire — code générique, nalgebra, zéro
allocation, forme de Joseph — voyez le
chapitre 13 du cours Rust robotique, qui met en
œuvre exactement les équations dérivées ici.
5. Ce que vous savez maintenant
Vous êtes parti de l'idée qu'estimer, c'est fusionner deux sources imparfaites. Vous avez construit la boîte à outils probabiliste, découvert pourquoi la gaussienne est la loi reine, posé le filtrage bayésien récursif, puis dérivé le filtre de Kalman trois fois. Vous savez pourquoi P⁻ = F·P·Fᵀ + Q gonfle et pourquoi la correction resserre, ce que le gain arbitre, pourquoi l'innovation est blanche, comment la covariance converge, et comment diagnostiquer un filtre qui ment sur sa précision. Les cinq équations ne sont plus une formule à retenir : ce sont la conséquence inévitable de quelques principes que vous pourriez reconstruire au tableau. C'est exactement l'objectif d'un cours de fondements.
Récapitulatif
- R se mesure (propriété du capteur) ; Q se règle (curseur réactivité ↔ lissage). Critère : innovation blanche de covariance S.
- Cohérence = l'incertitude annoncée = l'erreur commise. NIS = yᵀS⁻¹y ∼ χ²(m) (en ligne, sans vérité) ; NEES = eᵀP⁻¹e ∼ χ²(n) (en simulation).
- Numérique : resymétriser P ; forme de Joseph pour la positivité ; racine carrée (Cholesky) pour le conditionnement ; filtre d'information pour fusionner beaucoup de capteurs.
- Un biais n'est pas du bruit : le modéliser dans l'état, pas le laisser au filtre.
- Non-linéaire ⇒ EKF (jacobiennes) ou UKF (sigma points) : même structure prédiction/correction, hypothèses gaussiennes restaurées localement.
- Les chapitres appliqués (Partie E : estimer une vitesse depuis un inclinomètre, réglage et structure PLC) prolongent ces fondements — à commencer par le chapitre 11.