Stimare stati con filtri di Kalman
Scopri le basi dei filtri di Kalman per la stima degli stati nei sistemi dinamici.
― 7 leggere min
Indice
- Fondamenti della Teoria dell'Estimazione
- Filosofia Bayesiana
- Problemi di Estimazione
- Sistemi Dinamici
- Il Filtro Bayesiano Ricorsivo
- Derivazione del Filtro Bayesiano Ricorsivo
- Caso di Credenza Gaussiana
- Fondamenti del Filtro di Kalman (KF)
- Passaggi del Filtro di Kalman
- Filtro di Kalman 1D
- Componenti Chiave del Filtro di Kalman 1D
- Caratteristiche del Filtro di Kalman
- Filtro di Kalman Esteso (EKF)
- Filtro di Kalman a Stato di Errore (ESKF)
- Filtro di Kalman Esteso Iterato (IEKF)
- Filtro di Kalman a Stato di Errore Iterato (IESKF)
- Conclusione
- Fonte originale
- Link di riferimento
I filtri di Kalman sono strumenti usati per stimare lo stato di un sistema nel tempo. Funzionano prendendo misurazioni che spesso sono rumorose e combinandole con valori stimati da un modello per produrre un risultato più accurato. Questa tecnica è utile in vari campi, tra cui la robotica, la finanza e l'analisi dei dati.
Fondamenti della Teoria dell'Estimazione
La teoria dell'estimazione si concentra sulla previsione di valori o parametri sconosciuti di un sistema basato sui dati osservati. In pratica, questo implica interpretare i dati e prendere decisioni, il che può essere particolarmente difficile quando i dati sono incerti.
Per esempio, immaginiamo di tracciare il peso di una persona per un anno. Diciamo che il peso medio è noto essere 70 kg, ma le misurazioni giornaliere possono variare a causa di molti fattori. L'obiettivo è stimare il peso medio tenendo conto di queste variazioni.
In questo scenario:
- I dati osservati si riferiscono alle misurazioni giornaliere del peso.
- Il parametro da stimare è il peso medio.
- Il rumore casuale tiene conto dei vari fattori che influenzano le misurazioni giornaliere.
Filosofia Bayesiana
L'estimazione può essere vista attraverso diverse lenti. Una prospettiva è l'approccio frequentista, che tratta i parametri sconosciuti come valori fissi. Al contrario, l'approccio Bayesiano vede questi parametri come variabili casuali che possono essere stimate usando informazioni precedenti.
Nell'estimazione bayesiana, avere conoscenze pregresse su un parametro può essere utile. Per esempio, sapere che il peso medio è intorno ai 70 kg può portare a una stima migliore quando si osservano i pesi giornalieri.
In un contesto bayesiano, la relazione tra dati osservati e stime è definita da un insieme di regole che aiutano ad aggiornare le credenze sul parametro misurato in base a nuove evidenze.
Problemi di Estimazione
I problemi di stima ruotano generalmente attorno all'obiettivo di trovare il miglior modello usando i dati disponibili. Ci sono diversi tipi di situazioni di stima:
Filtraggio: Questo implica stimare un valore attuale basato su osservazioni passate e presenti. L'obiettivo è ridurre il rumore dai dati.
Smussamento: Questo guarda a stimare valori basati su tutte le osservazioni, tipicamente fatto dopo che tutti i dati sono stati raccolti.
Predizione: In questo caso, l'attenzione è rivolta alla previsione di valori futuri basati su dati correnti.
Interpolazione: Questo implica stimare valori in punti specifici basati su dati esistenti.
Sistemi Dinamici
Un sistema dinamico cambia nel tempo, e questi cambiamenti possono essere descritti attraverso variabili di stato, input di controllo e osservazioni.
In un sistema dinamico, esistono le seguenti relazioni:
- La variabile di stato rappresenta la condizione attuale del sistema.
- Gli input di controllo influenzano come il sistema evolve.
- Le osservazioni forniscono informazioni sullo stato del sistema.
Modellando queste relazioni, possiamo prevedere meglio come si comporterà un sistema nel tempo.
Il Filtro Bayesiano Ricorsivo
Usando osservazioni e input di controllo, il grado di fiducia nello stato attuale può essere definito matematicamente. Il filtro bayesiano ricorsivo usa i principi dell'estimazione bayesiana per aggiornare continuamente questa convinzione man mano che nuovi dati diventano disponibili.
Applicando regole dalla statistica bayesiana e l'assunzione di Markov (che afferma che lo stato futuro di un processo dipende solo dal suo stato attuale, non dai suoi stati passati), deriviamo un filtro ricorsivo che affina progressivamente le stime di stato.
Derivazione del Filtro Bayesiano Ricorsivo
La formulazione del filtro bayesiano ricorsivo viene derivata attraverso una serie di passaggi sistematici che coinvolgono l'applicazione di regole e assunzioni bayesiane sui passaggi di stato.
Il filtro opera prevedendo lo stato attuale basato su stime passate e poi affinando questa previsione con nuove osservazioni. Questo fornisce un modo dinamico per tenere traccia dello stato di un sistema.
Caso di Credenza Gaussiana
Quando lo stato da stimare segue una distribuzione gaussiana, entra in gioco il Filtro di Kalman. Questo filtro assume che sia lo stato previsto che le osservazioni siano distribuiti normalmente.
Il filtro di Kalman calcola uno stato previsto basato su informazioni precedenti e poi corregge questo stato con nuove misurazioni.
Fondamenti del Filtro di Kalman (KF)
Il filtro di Kalman usa vari simboli per indicare valori specifici relativi allo stato del sistema e alle sue previsioni. Scalari, vettori e matrici rappresentano valori medi e la loro incertezza.
In qualsiasi momento, il filtro tiene traccia della posizione del robot e misura i dati che riceve dai sensori. Usando queste informazioni, costruisce un modello di movimento e un modello di osservazione, che devono essere lineari.
Passaggi del Filtro di Kalman
Il filtro di Kalman si compone di due passaggi principali:
Passaggio di Predizione: Questo implica calcolare lo stato previsto basato sullo stato precedente e sul modello di movimento.
Passaggio di Correzione: Questo usa le nuove osservazioni per aggiustare lo stato previsto.
Alternando tra questi due passaggi, il filtro affina continuamente la sua stima dello stato del sistema.
Filtro di Kalman 1D
Il filtro di Kalman può essere semplificato anche in una versione monodimensionale dove la variabile di stato è un singolo valore. I principi rimangono gli stessi, ma le equazioni sono più semplici, concentrandosi solo su valori scalari.
Componenti Chiave del Filtro di Kalman 1D
- Media della Predizione: Il valore atteso dal passaggio di predizione.
- Varianza della Predizione: L'incertezza associata allo stato previsto.
- Media della Correzione: Il valore atteso aggiornato dopo aver incorporato nuove misurazioni.
- Varianza della Correzione: L'incertezza associata allo stato corretto.
Caratteristiche del Filtro di Kalman
Il filtro di Kalman incarna un approccio tipico di filtraggio bayesiano. Si basa su previsioni fatte dallo stato precedente e le aggiorna usando osservazioni per migliorare l'accuratezza.
Il processo comporta il calcolo della differenza (innovazione) tra il valore osservato e il valore previsto. A seconda della fiducia in queste osservazioni, la stima finale pesa i valori previsti e osservati in modo diverso.
Filtro di Kalman Esteso (EKF)
La maggior parte dei sistemi del mondo reale sono non lineari, rendendo il filtro di Kalman tradizionale meno efficace. Qui entra in gioco il filtro di Kalman esteso utilizzando approssimazioni di primo ordine per linearizzare funzioni non lineari.
Questo consente al filtro di Kalman esteso di applicare gli stessi principi del filtro di Kalman, adattandosi a modelli non lineari per una stima dello stato più accurata.
Filtro di Kalman a Stato di Errore (ESKF)
Il filtro di Kalman a stato di errore stima l'errore nella variabile di stato piuttosto che lo stato stesso direttamente. Concentrandosi sullo stato di errore linearizzato, l'ESKF fornisce stime più veloci e più accurate rispetto al tradizionale EKF.
L'ESKF si basa sulla distinzione tra il vero stato del sistema e lo stato nominale senza errori. Mentre l'EKF linearizza lo stato reale, l'ESKF linearizza solo l'errore, migliorando l'efficienza computazionale.
Filtro di Kalman Esteso Iterato (IEKF)
Nei casi in cui la linearizzazione dell'EKF introduce errori, il filtro di Kalman esteso iterato affina il passaggio di correzione attraverso aggiustamenti ripetuti. Questo processo riduce gli errori di linearizzazione e fornisce una stima dello stato più accurata.
Filtro di Kalman a Stato di Errore Iterato (IESKF)
Simile all'IEKF, il filtro di Kalman a stato di errore iterato si concentra sull'affinamento delle stime dello stato di errore. Aggiorna iterativamente l'errore fino alla convergenza, risultando in prestazioni migliori rispetto ai suoi omologhi non iterativi.
Conclusione
I filtri di Kalman, insieme alle loro variazioni come EKF, ESKF, IEKF e IESKF, sono strumenti potenti per stimare lo stato di sistemi dinamici nel tempo. Combinando previsioni con osservazioni rumorose, forniscono un metodo per una stima accurata dello stato che è ampiamente applicabile in vari campi. L'evoluzione di questi metodi di filtraggio ha permesso il loro utilizzo in sistemi sempre più complessi, rendendoli inestimabili nella tecnologia e nella ricerca.
Titolo: Notes on Kalman Filter (KF, EKF, ESKF, IEKF, IESKF)
Estratto: The Kalman Filter (KF) is a powerful mathematical tool widely used for state estimation in various domains, including Simultaneous Localization and Mapping (SLAM). This paper presents an in-depth introduction to the Kalman Filter and explores its several extensions: the Extended Kalman Filter (EKF), the Error-State Kalman Filter (ESKF), the Iterated Extended Kalman Filter (IEKF), and the Iterated Error-State Kalman Filter (IESKF). Each variant is meticulously examined, with detailed derivations of their mathematical formulations and discussions on their respective advantages and limitations. By providing a comprehensive overview of these techniques, this paper aims to offer valuable insights into their applications in SLAM and enhance the understanding of state estimation methodologies in complex environments.
Autori: Gyubeom Im
Ultimo aggiornamento: 2024-06-27 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2406.06427
Fonte PDF: https://arxiv.org/pdf/2406.06427
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.
Link di riferimento
- https://alida.tistory.com
- https://alida.tistory.com/92
- https://alida.tistory.com/11#67.2.-jacobian-matrix
- https://alida.tistory.com/63#6.1.1-jacobian-computation-for-the-filter-correction
- https://alida.tistory.com/63#6.3-eskf-reset
- https://en.wikipedia.org/wiki/Kalman_filter
- https://arxiv.org/abs/1711.02508
- https://youtu.be/wVsfCnyt5jA
- https://jinyongjeong.github.io/2017/02/14/lec03_kalman_filter_and_EKF/
- https://blog.csdn.net/liu3612162/article/details/114120772
- https://arxiv.org/pdf/2102.03804.pdf
- https://github.com/gaoxiang12/slam_in_autonomous_driving
- https://arxiv.org/pdf/2010.08196.pdf
- https://arxiv.org/pdf/2307.09237.pdf
- https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/263423/1/ROVIO.pdf
- https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7266781
- https://cgabc.xyz/posts/784a80cb/
- https://docs.ufpr.br/~danielsantos/ProbabilisticRobotics.pdf