Il concetto fondamentale riguarda la stima della posizione di un oggetto in movimento, dove:
- Le misure dei sensori contengono rumore
- Si ha un modello approssimato del movimento
- È necessario combinare le informazioni in modo ottimale
Il filtro di Kalman agisce come un arbitro che:
- Effettua una predizione della posizione
- Confronta la predizione con le misure
- Valuta l'affidabilità delle diverse fonti
- Produce una stima ottimizzata
-
Fase di Predizione
- Utilizza il modello del sistema per la predizione dello stato
- Incrementa l'incertezza associata alla predizione
-
Fase di Correzione
- Confronta predizione e misura
- Valuta l'affidabilità delle fonti
- Aggiorna la stima corrente
- Q: affidabilità del modello
- R: affidabilità delle misure
- K: peso della correzione
- P: incertezza della stima
x̂ₖ|ₖ₋₁ = Fₖx̂ₖ₋₁|ₖ₋₁
Pₖ|ₖ₋₁ = FₖPₖ₋₁|ₖ₋₁Fₖᵀ + Qₖ
Kₖ = Pₖ|ₖ₋₁Hₖᵀ(HₖPₖ|ₖ₋₁Hₖᵀ + Rₖ)⁻¹
x̂ₖ|ₖ = x̂ₖ|ₖ₋₁ + Kₖ(zₖ - Hₖx̂ₖ|ₖ₋₁)
Pₖ|ₖ = (I - KₖHₖ)Pₖ|ₖ₋₁
- Sistema lineare:
xₖ = Fₖxₖ₋₁ + wₖ₋₁
zₖ = Hₖxₖ + vₖ
- Rumori gaussiani:
w ~ N(0,Q)
v ~ N(0,R)
Il filtro di Kalman è caratterizzato da:
- Assenza di bias: E[x̂ₖ - xₖ] = 0
- Minimizzazione della traccia di P
- Ottimalità MMSE per rumori gaussiani
Per sistemi non lineari sono disponibili varianti:
- EKF: basato su linearizzazione locale
- UKF: utilizza trasformazione unscented
- Particle Filter: approccio Monte Carlo
La convergenza dipende da:
- Osservabilità del sistema
- Controllabilità del sistema
- Inizializzazione corretta di P
Punti critici:
- Mantenimento della simmetria di P
- Garanzia della positività definita
- Gestione del condizionamento numerico
- Livello 1: Comprensione intuitiva
- Livello 2: Capacità implementativa
- Livello 3: Competenze di ottimizzazione
- Livello 4: Comprensione dei limiti
- Livello 5: Capacità di estensione
Sitografia:
- https://www.dmi.unict.it/santoro/teaching/psr/slides/KalmanFiltering.pdf
- https://moodle2.units.it/course/section.php?id=116470
- https://www.wouterbulten.nl/posts/lightweight-javascript-library-for-noise-filtering/
- http://bilgin.esme.org/BitsAndBytes/KalmanFilterforDummies
- https://wirelesspi.com/the-easiest-tutorial-on-kalman-filter/
- https://arxiv.org/pdf/1910.03558
- https://www.kalmanfilter.net/default.aspx
- https://www.ladispe.polito.it/corsi/SIEF/material/L_M_K.pdf
- https://web.mit.edu/kirtley/kirtley/binlustuff/literature/control/Kalman%20filter.pdf