Djinious
Stima dello statoMetodi di ingegneria

Stima dello stato

Recuperare lo stato nascosto da sensori rumorosi con la famiglia dei filtri di Kalman — KF lineare, EKF e UKF, poi la fusione di sensori GPS+IMU che mantiene dritta una traccia anche durante una caduta del segnale GPS, uno stimatore EKF dello stato di carica della batteria, e il meccanismo di coerenza e rigetto degli outlier che dice quando ci si può fidare di un filtro.

DjiniousLab
Una stima fusa GPS+IMU che segue un percorso a forma di S attraverso una caduta del segnale GPS, mentre il GPS grezzo si disperde rumorosamente intorno ad esso
errore fuso vs GPS grezzo durante una caduta di segnale
0.28×errore fuso vs GPS grezzo durante una caduta di segnale
RMSE di Kalman vs misura grezza
0.22×RMSE di Kalman vs misura grezza
riduzione dell’RMSE grazie al filtraggio degli outlier
84%riduzione dell’RMSE grazie al filtraggio degli outlier
convergenza EKF da una stima iniziale errata
1,10 sconvergenza EKF da una stima iniziale errata
notebook di progettazione
10notebook di progettazione
requisiti PASS
5 / 5requisiti PASS

Ogni altro modello simula un impianto. Questo legge i sensori.

La maggior parte dei modelli ingegneristici spinge un sistema in avanti nel tempo. I sistemi reali devono anche funzionare nella direzione opposta: prendere letture di sensori rumorose e intermittenti e recuperare lo stato vero dietro di esse — la posizione da un GPS che vibra, la carica da una tensione di batteria che oscilla, un angolo da un giroscopio che trema. Questa è la stima dello stato, ed è così che la famiglia dei filtri di Kalman la realizza. Questo programma la costruisce a partire dal filtro lineare fino alla fusione di sensori, e — altrettanto importante — mostra le verifiche di coerenza, osservabilità e rigetto degli outlier che dicono quando fidarsi della risposta.

Fidati del modello e della misura nella giusta proporzione.

Il filtro di Kalman esegue una ricorsione predizione/aggiornamento: un modello predice dove dovrebbe andare lo stato, una misura lo corregge, e il filtro pesa i due contributi in base alle rispettive incertezze — appoggiandosi al modello quando il sensore è rumoroso, al sensore quando il modello deriva. Su un problema di tracciamento a velocità costante riduce l’errore di posizione a 0,22× la misura grezza e recupera una velocità non misurata che non vede mai direttamente, mentre la sua banda di confidenza ±1σ si restringe visibilmente man mano che si aggancia.

DjiniousLab
Una stima di un filtro di Kalman lineare che segue il valore vero attraverso misure rumorose, con una banda a 1 sigma che si restringe
Il filtro di Kalman lineare: la stima (blu) che si fa strada tra la dispersione delle misure rumorose (rosso) verso il valore vero (verde), con la banda ±1σ che si restringe da 1,69 a 0,47 m man mano che il filtro guadagna fiducia. Recupera anche la velocità — uno stato mai misurato direttamente.

Quando il sistema curva, linearizza — con lo Jacobiano o con i sigma point.

I sistemi reali non sono lineari. Il filtro di Kalman esteso (EKF) linearizza la dinamica con uno Jacobiano analitico a ogni passo; il filtro di Kalman unscented (UKF) evita del tutto il calcolo differenziale e propaga un insieme di sigma point attraverso il vero modello non lineare. Su un pendolo l’EKF si aggancia partendo da una stima iniziale deliberatamente errata in 1,1 secondi, e l’UKF eguaglia o supera questo risultato sotto un’oscillazione impegnativa di 2,8 radianti — senza bisogno di alcuno Jacobiano.

DjiniousLab
Una stima EKF che converge sull’angolo vero del pendolo partendo da una stima iniziale errata
L’EKF su un pendolo non lineare: partendo da un angolo iniziale deliberatamente errato, il filtro linearizza ogni passo tramite lo Jacobiano analitico e converge sul valore vero in 1,1 s — per poi seguirlo lungo l’intera oscillazione.
DjiniousLab
Una stima fusa GPS+IMU che mantiene una traccia a forma di S durante una caduta del segnale GPS grazie alla navigazione stimata dell’IMU
Il protagonista: fondere un GPS lento e rumoroso con un IMU veloce. Quando il GPS cade (il segmento tratteggiato arancione) la stima fusa continua a seguire il valore vero basandosi solo sulla navigazione stimata dell’IMU — 0,28× l’errore del GPS grezzo — per poi riagganciarsi quando il GPS torna. L’incertezza si dilata durante l’interruzione e si contrae di nuovo: il filtro sa quando sta procedendo per inerzia.

Stima ciò che non puoi misurare — la carica di una batteria.

Non puoi mettere un indicatore di carburante dentro una batteria; lo stato di carica (SoC) deve essere stimato dalla tensione e dalla corrente ai terminali. Un EKF su un modello a circuito equivalente della batteria corregge uno SoC iniziale deliberatamente errato fino a un errore finale di 0,0002, mentre il conteggio coulombiano ingenuo mantiene per sempre uno scarto di 0,4. È la stessa famiglia di stimatori del filtro di navigazione, puntata su uno stato nascosto diverso — e si abbina direttamente al flagship della batteria EV.

DjiniousLab
Una stima EKF dello stato di carica della batteria che corregge un valore iniziale errato usando la tensione ai terminali
Stato di carica della batteria con EKF: la misura di tensione riporta uno SoC iniziale errato verso il valore vero, mentre il conteggio coulombiano ad anello aperto porterebbe avanti l’errore iniziale indefinitamente. Stimare uno stato che nessun sensore legge direttamente è proprio lo scopo.

Un filtro sicuro di sé ma sbagliato è peggio di nessun filtro.

Il guasto pericoloso non è una stima rumorosa — è una stima sbagliata riportata con una confidenza stretta. Il programma lo rende esplicito: le verifiche di coerenza NEES/NIS dicono quando l’incertezza dichiarata dal filtro corrisponde alla realtà; un’analisi di osservabilità mostra un modo che i sensori semplicemente non possono risolvere; e un caso di divergenza mostra un filtro troppo sicuro di sé che si allontana di 16 m dal valore vero pur dichiarando un errore di 12 cm — per poi correggerlo con un rumore di processo onesto. Un gate di innovazione χ² respinge outlier da 30 m e riduce l’errore di tracciamento dell’84%.

DjiniousLab
Un filtro di Kalman con gating che resta sul valore vero, mentre un filtro senza gating scatta verso le misure anomale
Rigetto degli outlier: un gate di innovazione χ² (blu) mantiene la traccia anche con outlier da 30 m, mentre il filtro senza gating (arancione) sobbalza a ogni lettura errata — una riduzione dell’RMSE dell’84%. La robustezza non è un’aggiunta; è ciò che rende uno stimatore effettivamente utilizzabile.

Ogni numero ridedotto in fase di collaudo finale.

Il notebook V&V ricostruisce ogni filtro da zero e ridefinisce i requisiti, stampando un quadro PASS/FAIL.

Risultato

  • KF lineare vs misura grezza: 0,22×
  • Convergenza EKF da inizializzazione errata: 1,10 s
  • UKF vs EKF (non linearità marcata): 0,98×
  • GPS+IMU fusi durante una caduta di segnale: 0,28×
  • Coerenza del filtro (NEES / NIS): 1,87 / 0,98

Requisito

  • KF lineare vs misura grezza: R-01 < 0,5
  • Convergenza EKF da inizializzazione errata: R-02 < 2 s
  • UKF vs EKF (non linearità marcata): R-03 ≤ 1
  • GPS+IMU fusi durante una caduta di segnale: R-04 < 0,5
  • Coerenza del filtro (NEES / NIS): R-05

Filtri riproducibili su sensori idealizzati.

Il deliverable è composto da dieci notebook e dal dossier — la stima è un algoritmo ricorsivo su dati di sensori, non una rete acausale, quindi non c’è alcun blocco personalizzato né canvas. Il rumore è gaussiano sintetico, i modelli di sensore IMU e batteria sono semplificati, e tutto è a tempo discreto; il margine UKF-vs-EKF è modesto perché questi sistemi sono solo lievemente non lineari, e il confronto tra virata coordinata e velocità costante è ravvicinato. Ciò che il programma offre è l’intera famiglia di stimatori — KF, EKF, UKF, fusione, coerenza, osservabilità, divergenza, gating — su numeri che puoi rieseguire, e si inserisce direttamente nel percorso autopilota→generazione di codice Rust, perché uno stimatore è esattamente il tipo di codice che deve essere certificato prima di volare.