matrice di covarianza in EKF?


16

Sto lottando con il concetto di matrice di covarianza. Ora, la mia comprensione per σ x x , σ y y e σ θ θ che loro descrivere l'incertezza. Ad esempio, per σ x x

Σ=[σxxσxyσxθσyxσyyσyθσθxσθyσθθ]
σxxσyyσθθσxx, descrive l'incertezza del valore di x. Ora, la mia domanda sul resto dei sigmi, cosa rappresentano? Cosa significa se sono zeri? Posso interpretare che se è zero, significa che non ho incertezza sul valore di x.σxx

Nota, sto leggendo Principi di movimento del robot - Teoria, algoritmi e implementazioni di Howie Choset et. al., che afferma che

Con questa definizione è uguale a σ 2 i la varianza di X i . Per i j , se σ i j = 0 , allora X i e X j sono indipendenti l'uno dall'altro.σiiσi2Xiijσij=0XiXj

Questo può rispondere alla mia domanda se il resto del sigma sono zeri però, sto ancora confuso circa la relazione tra queste variabili, per esempio e yxy . Quando succede? Intendo la correlazione tra loro. O in altre parole, posso supporre che siano zeri?

Un altro libro è FastSLAM: un metodo scalabile ... di Michael e Sebastian che afferma

Gli elementi off-diagonali della matrice di covarianza di questo gaussiano multivariato codificano le correlazioni tra coppie di variabili di stato.

Non menzionano quando potrebbe verificarsi la correlazione e cosa significa?

Risposte:


5

Ecco una custodia giocattolo in cui gli elementi fuori diagonale sono diversi da zero.

Considera un vettore di stato che include la posizione delle ruote sinistra e destra anziché una sola posizione per il robot. Ora se la ruota sinistra ha una posizione di 100 m, allora sai che anche la ruota destra avrà una posizione di circa 100 m (a seconda della lunghezza dell'asse). Man mano che la ruota sinistra aumenta di posizione, anche la ruota destra, in generale. Non è una correlazione esatta 1: 1, ad es. Non regge esattamente quando il robot gira, ma nel complesso tiene.

Quindi qui l'entrata diagonale tra la posizione x della ruota sinistra e la posizione x della ruota destra sarebbe vicina a 1.


Ok, se il mio modello è rappresentato come un punto che si sposta in un ambiente planare (ei 2D), quindi gli elementi fuori diagonale sono zeri poiché non vi sono tali correlazioni tra gli elementi diagonali. Questo assunto è corretto? E che dire nel caso in cui questo punto rilevi un punto di riferimento che ha due coordinate (eiX,y), posso assumere anche gli zeri di correlazione?
CroCo,

Alla tua prima domanda, sì, puoi lasciare zero gli elementi fuori diagonale. Per il secondo, dipende dal modo in cui lo gestisci. Se usi solo il punto di riferimento per stimare la tua posizione attuale non ci sono correlazioni. Se aggiungi le posizioni dei punti di riferimento al vettore di stato (come è comune in SLAM), inizieranno a sviluppare correlazioni tra di loro.
ryan0270,

4

Per avere un'idea della matrice di covarianza - senza entrare nei dettagli matematici qui - è meglio iniziare con una matrice 2x2. Quindi ricorda che la matrice di covarianza è un'estensione del concetto di varianza nel caso multivariato. Nel caso 1D, la varianza è una statistica per una singola variabile casuale. Se la tua variabile casuale ha una distribuzione gaussiana con media zero, la sua varianza può definire con precisione la funzione di densità di probabilità.

Ora, se lo estendi a due variabili anziché a una, puoi distinguere tra due casi. Se le tue due variabili sono indipendenti, il che significa che il risultato di un valore non ha alcuna relazione con l'altro valore, è sostanzialmente lo stesso del caso 1D. Il tuoσXX e il tuo σyy dare la varianza di X e y parte della variabile casuale e σXy sarà zero.

Se le tue variabili sono dipendenti, questo è diverso. Dipendente significa che esiste una relazione tra il risultato diX e y. Ad esempio, potresti averlo ogni voltaX è positivo, yè in generale più probabile che sia anche positivo. Questo è dato dal tuo valore di covarianzaσXy.

Dare un esempio per un robot in un caso 2D senza orientamento è un po 'forzato, ma supponiamo che tu abbia un componente casuale lungo la direzione di marcia sul X-asse e sai che questo componente genera anche una deriva sul tuo asse laterale (y). Ad esempio, potrebbe essere una ruota difettosa. Ciò comporterà un'ellisse di incertezza ruotata. Ora, ad esempio, quando in seguito hai qualcosa che misura il tuo realeX posizione, puoi stimare la distribuzione dell'incertezza sul tuo y componente.

Un esempio più rilevante è nel caso 3D, in cui di solito si ha una diversa incertezza lungo la direzione trasversale rispetto alla direzione laterale. Quando si ruota il sistema (cambiando cosìθ) questo ruoterà anche la tua ellisse di incertezza. Si noti che la rappresentazione effettiva è di solito a forma di banana e il gaussiano è solo un'approssimazione. Nel caso EKF è una linearizzazione attorno alla media.

Un ottimo modo per visualizzarlo è usare il concetto dell'ellisse dell'incertezza. Fondamentalmente mostra il1σlimite per una distribuzione gaussiana multivariata e può essere utilizzato per visualizzare una matrice di covarianza. Una rapida ricerca ha fatto apparire questa demo che ti fornirà anche alcune informazioni aggiuntive su come è costruita la covarianza. In sostanza, le voci diagonali definiscono le estensioni dell'asse, mentre le voci fuori diagonale si riferiscono alla rotazione dell'intera ellisse.

Questo vale anche nel caso 3D. Mi piacerebbe avere più matematica qui, ma forse qualche tempo dopo.


Grazie per la risposta. In realtà, quando si verifica la correlazione? Parliamo almeno di un robot che si muove in 2D (che ilΣnel mio post rappresenta la matrice di covarianza per questo robot). Come potrebbe il valore diX influenzare il valore di y? Non ho problemi con gli elementi diagonali poiché rappresentano chiaramente l'incertezza per ciascun elemento.
CroCo,

1
@CroCo Penso che l'esempio che stai chiedendo sia descritto nel quarto paragrafo della risposta.
Demetris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.