Che cos’è?

È possibile utilizzare un canale Kalman ovunque si abbiano dati incerti su un framework unico, e si può fare una teoria informata su ciò che il framework farà immediatamente. Indipendentemente dal fatto che la realtà disordinata vada avanti e si immischi con il movimento immacolato su cui si è ipotizzato, il canale di Kalman farà regolarmente un’attività generalmente eccellente per dare un senso a ciò che è realmente accaduto. Inoltre, può sfruttare le relazioni tra le folli meraviglie che non avreste mai pensato di usare in modo improprio!

I canali Kalman sono perfetti per strutture in continua evoluzione. Hanno quel po’ di margine di manovra che li rende leggeri nella memoria (non devono conservare alcuna storia se non quella del passato), e sono veloci, rendendoli adatti a problemi continui e a strutture impiantate.

La matematica per l’attualizzazione del canale Kalman si rivela davvero terrificante e oscura in molti punti che si trovano su Google. È una situazione terribile, alla luce del fatto che il canale Kalman è in realtà eccessivamente elementare e diretto nella remota possibilità che lo si guardi in modo corretto. Di conseguenza, il tema dell’articolo è incredibile, e mi sforzerò di illuminarlo con un sacco di immagini e sfumature chiare e graziose. L’essenziale è semplice, tutto ciò che serve è una comprensione fondamentale della probabilità e dei reticoli.

Comincerò con un caso gratuito del genere di cose che un canale Kalman può illuminare, ma nel caso in cui si debba arrivare subito alle immagini scintillanti e alla matematica, non esitate a saltare avanti.

Cosa potremmo fare con un canale Kalman?

Dovremmo fare un modello giocattolo: Avete costruito un piccolo robot che può girovagare nelle zone boscose, e il robot deve sapere esattamente dove si trova con l’obiettivo che può esplorare.

Diremo che il nostro robot ha uno stato xk→, che è solo una posizione e una velocità:

xk→==(p⃗ ,v⃗ )

Si noti che lo stato è solo un sommario di numeri sulla disposizione nascosta del vostro framework; potrebbe essere qualsiasi cosa. Nel nostro modello è la posizione e la velocità, tuttavia, potrebbe essere un’informazione sulla misura del liquido in un serbatoio, la temperatura di un motore, la situazione del dito di un cliente su un touchpad, o qualsiasi numero di cose da monitorare.

Il nostro robot ha inoltre un sensore GPS, che è esatto a circa 10 metri, il che è ottimo, ma deve conoscere la sua area più correttamente di 10 metri. In questi boschi ci sono molti abissi e scogli, e se il robot non ha ragione per più di un paio di metri, potrebbe cadere da un precipizio. Quindi il GPS senza l’input di qualcun altro non è sufficiente.

Possiamo anche noi sapere qualcosa su come si muove il robot: Si rende conto delle direzioni inviate ai motori delle ruote, e si rende conto che se va in una direzione e niente si intromette, nel momento successivo sarà probabilmente più avanti di una direzione equivalente. Ovviamente non sa del suo movimento: Può essere colpito dalla brezza, le ruote possono scivolare un po’, o girare sul paesaggio irregolare; quindi la somma delle ruote che hanno girato può non parlare di quanto il robot abbia realmente viaggiato, e la previsione non sarà immacolata.

Il sensore GPS ci rivela qualcosa sullo stato, anche se solo in modo indiretto, e con qualche vulnerabilità o scorrettezza. Le nostre previsioni ci rivelano qualcosa su come il robot si sta muovendo, anche se solo a rotatoria, e con qualche vulnerabilità o scorrettezza.

In ogni caso, nella remota possibilità che utilizziamo tutti i dati a noi accessibili, saremmo in grado di mostrare segni di miglioramento rispetto a quanto ci darebbero i due calibri senza nessun altro? Ovviamente la risposta appropriata è davvero quella giusta, ed è a questo che serve un canale Kalman.

Come un filtro Kalman vede il vostro problema

Guardiamo il paesaggio che cerchiamo di interpretare. Continuiamo con un semplice stato che ha solo posizione e velocità.

x⃗ =[pv]

Non abbiamo la minima idea di cosa siano la posizione e la velocità reali; c’è tutta una serie di potenziali combinazioni di posizione e velocità che possono essere valide, eppure alcune di esse sono quasi certe di altre:

Il canale di Kalman si aspetta che i due fattori (posizione e velocità, per la nostra situazione) siano irregolari e gaussiani dispersi. Ogni fattore ha una stima media μ, che è il punto focale della circolazione arbitraria (e la sua in stato di probabilità), e una differenza σ2, che è la vulnerabilità:

Nell’immagine sopra riportata, posizione e velocità non sono correlate, il che implica che la condizione di una variabile non vi rivela nulla di ciò che può essere l’altra.

Il modello sottostante mostra qualcosa di ancora più intrigante: Posizione e velocità sono collegate. La probabilità di osservare una determinata posizione dipende dalla velocità che si ha:

Questo tipo di circostanza può emergere se, per esempio, stiamo valutando un’altra posizione dipendente da una vecchia. Nel caso in cui la nostra velocità fosse elevata, molto probabilmente ci allontaneremmo di più, quindi la nostra posizione verrebbe progressivamente rimossa. Nel caso in cui ci stiamo muovendo gradualmente, non siamo andati così lontano.

Questo tipo di rapporto è estremamente imperativo da monitorare, poiché ci fornisce più dati: Una stima ci rivela qualcosa su ciò che gli altri potrebbero essere. Inoltre, questo è l’obiettivo del canale Kalman, dobbiamo schiacciare più dati possibili dalle nostre stime discutibili!

Questa connessione è catturata da qualcosa a cui molti si riferiscono come un quadro di covarianza. Per dirla chiaramente, ogni componente del reticolo Σij è il livello di connessione tra la variabile di stato ith e la variabile di stato jth. (Si può avere la possibilità di capire che la rete di covarianza è simmetrica, il che implica che non fa differenza nella remota possibilità che si scambi I e j). Le reti di covarianza sono regolarmente chiamate “Σ”, quindi chiamiamo i loro componenti “Σij”.