Djinious
Estimation d’étatMéthodes d’ingénierie

Estimation d’état

Récupérer un état caché à partir de capteurs bruités avec la famille de Kalman — KF linéaire, EKF et UKF, puis une fusion de capteurs GPS+IMU qui maintient une trajectoire stable pendant une coupure GPS, un estimateur d’état de charge de batterie par EKF, et la mécanique de cohérence et de rejet des valeurs aberrantes qui indique quand faire confiance à un filtre.

DjiniousLab
Une estimation fusionnée GPS+IMU suivant une trajectoire en forme de S pendant une coupure GPS, tandis que le GPS brut se disperse bruyamment autour d’elle
erreur fusionnée vs GPS brut pendant une coupure
0.28×erreur fusionnée vs GPS brut pendant une coupure
RMSE de Kalman vs mesure brute
0.22×RMSE de Kalman vs mesure brute
réduction de RMSE grâce au filtrage des valeurs aberrantes
84%réduction de RMSE grâce au filtrage des valeurs aberrantes
convergence de l’EKF depuis une estimation initiale erronée
1,10 sconvergence de l’EKF depuis une estimation initiale erronée
notebooks de conception
10notebooks de conception
exigences RÉUSSI
5 / 5exigences RÉUSSI

Tous les autres modèles simulent une installation. Celui-ci lit les capteurs.

La plupart des modèles d’ingénierie font avancer un système dans le temps. Les systèmes réels doivent aussi fonctionner dans l’autre sens : prendre des relevés de capteurs bruités et intermittents et en récupérer le véritable état sous-jacent — la position à partir d’un GPS erratique, la charge à partir d’une tension de batterie fluctuante, un angle à partir d’un gyroscope qui vibre. C’est l’estimation d’état, et la famille des filtres de Kalman est la façon d’y parvenir. Ce programme la construit depuis le filtre linéaire jusqu’à la fusion de capteurs, et — tout aussi important — montre les vérifications de cohérence, d’observabilité et de rejet des valeurs aberrantes qui indiquent quand croire la réponse.

Faire confiance au modèle et à la mesure dans la juste proportion.

Le filtre de Kalman exécute une récursion prédiction/mise à jour : un modèle prédit où l’état devrait aller, une mesure le corrige, et le filtre pondère les deux selon leurs incertitudes — s’appuyant sur le modèle quand le capteur est bruité, sur le capteur quand le modèle dérive. Sur un problème de suivi à vitesse constante, il réduit l’erreur de position à 0,22× la mesure brute et récupère une vitesse non mesurée qu’il ne voit jamais directement, tandis que sa bande de confiance ±1σ se resserre visiblement à mesure qu’il se cale.

DjiniousLab
Une estimation par filtre de Kalman linéaire suivant la vérité à travers des mesures bruitées, avec une bande à 1 sigma qui se resserre
Le filtre de Kalman linéaire : l’estimation (bleu) se faufilant à travers le nuage de mesures bruitées (rouge) vers la vérité (vert), avec la bande ±1σ qui se resserre de 1,69 à 0,47 m à mesure que le filtre gagne en confiance. Il récupère aussi la vitesse — un état jamais mesuré directement.

Quand le système se courbe, linéariser — par jacobien ou par points sigma.

Les systèmes réels ne sont pas linéaires. Le filtre de Kalman étendu (EKF) linéarise la dynamique avec un jacobien analytique à chaque pas ; le filtre de Kalman sans parfum (UKF) évite complètement le calcul et propage un ensemble de points sigma à travers le véritable modèle non linéaire. Sur un pendule, l’EKF se cale à partir d’une estimation initiale délibérément mauvaise en 1,1 seconde, et l’UKF fait aussi bien, voire mieux, sous une oscillation sévère de 2,8 radians — sans jacobien requis.

DjiniousLab
Une estimation par EKF convergeant vers le véritable angle du pendule à partir d’une mauvaise estimation initiale
L’EKF sur un pendule non linéaire : partant d’un angle initial délibérément faux, le filtre linéarise chaque pas via le jacobien analytique et converge vers la vérité en 1,1 s — puis la suit tout au long de l’oscillation.
DjiniousLab
Une estimation fusionnée GPS+IMU maintenant une trajectoire en S pendant une coupure GPS grâce à la navigation à l’estime par IMU
La pièce maîtresse : fusionner un GPS lent et bruité avec un IMU rapide. Quand le GPS tombe en panne (le segment orange en pointillés), l’estimation fusionnée continue de suivre la vérité par la seule navigation à l’estime IMU — 0,28× l’erreur du GPS brut — puis se recale dès le retour du GPS. L’incertitude se dilate pendant la coupure puis se contracte à nouveau : le filtre sait quand il navigue à l’aveugle.

Estimer ce que l’on ne peut pas mesurer — la charge d’une batterie.

On ne peut pas mettre une jauge de carburant à l’intérieur d’une batterie ; l’état de charge doit être estimé à partir de la tension et du courant aux bornes. Un EKF sur un modèle de batterie à circuit équivalent corrige un état de charge initial délibérément faux jusqu’à une erreur finale de 0,0002, là où le simple comptage coulombien conserve un écart de 0,4 pour toujours. C’est la même famille d’estimateurs que le filtre de navigation, appliquée à un état caché différent — et elle s’associe directement au programme phare batterie EV.

DjiniousLab
Une estimation d’état de charge de batterie par EKF corrigeant une valeur initiale fausse à partir de la tension aux bornes
État de charge de batterie par EKF : la mesure de tension ramène un état de charge initial faux vers la vérité, là où le comptage coulombien en boucle ouverte conserverait indéfiniment l’erreur initiale. Estimer un état qu’aucun capteur ne lit directement, c’est tout l’enjeu.

Un filtre qui a tort avec assurance est pire qu’aucun filtre.

L’échec dangereux n’est pas une estimation bruitée — c’est une estimation fausse annoncée avec une confiance excessive. Le programme le rend explicite : les vérifications de cohérence NEES/NIS indiquent quand l’incertitude annoncée par le filtre correspond à la réalité ; une analyse d’observabilité montre un mode que les capteurs ne peuvent tout simplement pas résoudre ; et un cas de divergence fait dériver un filtre trop confiant de 16 m par rapport à la vérité tout en affirmant une erreur de 12 cm — avant de le corriger avec un bruit de processus honnête. Une porte d’innovation χ² rejette les valeurs aberrantes de 30 m et réduit l’erreur de suivi de 84 %.

DjiniousLab
Un filtre de Kalman avec porte restant sur la vérité tandis qu’un filtre sans porte est tiré vers les mesures aberrantes
Rejet des valeurs aberrantes : une porte d’innovation χ² (bleu) maintient la trajectoire malgré des valeurs aberrantes de 30 m, tandis que le filtre sans porte (orange) est secoué à chaque mauvaise mesure — une réduction de RMSE de 84 %. La robustesse n’est pas une option ; c’est ce qui rend un estimateur déployable.

Chaque valeur re-dérivée au moment de la validation finale.

Le notebook V&V reconstruit chaque filtre depuis zéro et re-dérive les exigences, en affichant un tableau RÉUSSI/ÉCHEC.

Résultat

  • KF linéaire vs mesure brute : 0,22×
  • Convergence de l’EKF depuis une init. erronée : 1,10 s
  • UKF vs EKF (non-linéarité sévère) : 0,98×
  • GPS+IMU fusionnés pendant une coupure : 0,28×
  • Cohérence du filtre (NEES / NIS) : 1,87 / 0,98

Exigence

  • KF linéaire vs mesure brute : R-01 < 0,5
  • Convergence de l’EKF depuis une init. erronée : R-02 < 2 s
  • UKF vs EKF (non-linéarité sévère) : R-03 ≤ 1
  • GPS+IMU fusionnés pendant une coupure : R-04 < 0,5
  • Cohérence du filtre (NEES / NIS) : R-05

Des filtres reproductibles sur des capteurs idéalisés.

Le livrable est dix notebooks et le dossier — l’estimation est un algorithme récursif sur des données capteurs, pas un réseau acausal, donc pas de bloc personnalisé ni de canevas. Le bruit est gaussien synthétique, les modèles de capteurs IMU et batterie sont simplifiés, et tout est en temps discret ; l’écart UKF-vs-EKF est modeste car ces systèmes ne sont que légèrement non linéaires, et la comparaison virage coordonné contre vitesse constante est serrée. Ce que le programme livre bel et bien, c’est la famille complète d’estimateurs — KF, EKF, UKF, fusion, cohérence, observabilité, divergence, filtrage par porte — sur des chiffres que vous pouvez recalculer, et cela s’insère directement dans la filière pilote automatique→génération de code Rust, car un estimateur est exactement le type de code qui doit être certifié avant de voler.