matriz de covariância em EKF?

16

Estou lutando com o conceito de matriz de covariância. Agora, meu entendimento de , e que eles descrevem a incerteza. Por exemplo, para , descreve a incerteza do valor de x. Agora, minha pergunta sobre o resto dos sigmas, o que eles representam? O que significa se eles são zeros? Posso interpretar que se é zero, significa que não tenho incerteza sobre o valor de x. σ x x σ y y σ q q σ x x σ x x

Σ=[σxxσxyσxθσyxσyyσyθσθxσθyσθθ]
σxxσyyσθθσxxσxx

Observe que estou lendo Princípios de movimento de robôs - teoria, algoritmos e implementações de Howie Choset et. al., que afirma que

Por essa definição, é o mesmo que a variação de . Para , se , então e são independentes um do outro. σ 2 i X i i j σ i j = 0 X i X jσiiσi2Xiijσij=0XiXj

Isso pode responder a minha pergunta se o resto do sigmas são zeros no entanto, eu ainda estou confuso sobre a relação entre essas variáveis, por exemplo e . Quando isso acontece? Quero dizer a correlação entre eles. Ou, em outras palavras, posso assumir que sejam zeros?xy

Outro livro, chamado FastSLAM: Um Método Escalável ... de Michael e Sebastian, que declara

Os elementos fora da diagonal da matriz de covariância deste gaussiano multivariado codificam as correlações entre pares de variáveis ​​de estado.

Eles não mencionam quando a correlação pode acontecer e o que isso significa?

CroCo
fonte

Respostas:

5

Aqui está uma caixa de brinquedos em que os elementos fora da diagonal são diferentes de zero.

Considere um vetor de estado que inclua a posição das rodas esquerda e direita em vez de apenas uma única posição para o robô. Agora, se a roda esquerda tiver uma posição de 100m, você sabe que a roda direita também terá uma posição de aproximadamente 100m (dependendo do comprimento do eixo). À medida que a roda esquerda aumenta de posição, a roda direita também aumenta. Não é uma correlação exata de 1: 1, por exemplo, não se sustenta exatamente quando o robô está girando, mas no geral se sustenta.

Portanto, aqui a entrada fora da diagonal entre a posição x da roda esquerda e a posição x da roda direita estaria próxima de 1.

ryan0270
fonte
Ok, se meu modelo é representado como um ponto que se move em um ambiente plano (ei 2D), então os elementos fora da diagonal são zeros, pois não existem tais correlações entre os elementos diagonais. Essa suposição está correta? E se este ponto detectar um ponto de referência com duas coordenadas (ei ), também posso assumir os zeros de correlação? x,y
precisa saber é
Para sua primeira pergunta, sim, você pode deixar os elementos fora da diagonal zero. Para o segundo, isso depende de como você lida com isso. Se você apenas usar o ponto de referência para estimar sua posição atual, não haverá correlações. Se você adicionar as posições de referência ao vetor de estado (como é comum no SLAM), elas começarão a desenvolver correlações entre si.
precisa saber é o seguinte
4

Para ter uma ideia da matriz de covariância - sem entrar nos detalhes da matemática aqui - é melhor começar com uma matriz 2x2. Lembre-se, então, que a matriz de covariância é uma extensão do conceito de variação no caso multivariado. No caso 1D, variância é uma estatística para uma única variável aleatória. Se sua variável aleatória possui uma distribuição gaussiana com média zero, sua variância pode definir com precisão a função de densidade de probabilidade.

Agora, se você estender isso para duas variáveis ​​em vez de uma, poderá diferenciar entre dois casos. Se suas duas variáveis ​​são independentes, o que significa que o resultado de um valor não tem relação com o outro valor, é basicamente o mesmo que no caso 1D. Seu e sua σ y y dar a variância da x e y parte de sua variável aleatória, e σ x y será zero.σxxσyyxyσxy

Se suas variáveis ​​são dependentes, isso é diferente. Dependente significa que existe uma relação entre o resultado de e y . Por exemplo, você pode ter que sempre que x é positivo, y é geralmente mais provável que também seja positivo. Isso é dado pelo seu valor de covariância σ x y .xyxyσxy

Dar um exemplo para um robô em um caso 2D sem orientação é um pouco artificial, mas digamos que você tenha um componente aleatório ao longo da direção de deslocamento no eixo e você saiba que esse componente também gera uma deriva no seu eixo lateral ( y ) Pode ser, por exemplo, uma roda defeituosa. Isso resultará em uma elipse de incerteza rotacionada. Agora, por exemplo, quando mais tarde você tiver algo que mede sua posição x real , é possível estimar a distribuição da incerteza no seu componente y .xyxy

Um exemplo mais relevante é o caso 3D, onde geralmente você tem uma incerteza diferente ao longo da direção transversal em comparação à direção lateral. Quando você gira o seu sistema (alterando ), isso também gira sua elipse de incerteza. Observe que a representação real geralmente tem alguma forma de banana e o gaussiano é apenas uma aproximação. No caso EKF, é uma linearização em torno da média.θ

Uma maneira realmente boa de visualizar isso é usar o conceito da elipse da incerteza. Ele mostra basicamente o limite de para uma distribuição gaussiana multivariada e pode ser usado para visualizar uma matriz de covariância. Uma pesquisa rápida trouxe essa demonstração, que também fornecerá algumas dicas adicionais sobre como a covariância é construída. Em essência, as entradas diagonais definem as extensões do eixo, enquanto as entradas fora da diagonal estão relacionadas à rotação de toda a elipse.1σ

Isso também é verdade no caso 3D. Eu adoraria ficar mais matemático aqui, mas talvez algum tempo depois.

Jakob
fonte
Obrigado pela resposta. Na realidade, quando acontece a correlação? Vamos pelo menos falar sobre um robô que se move em 2D (que no meu post representa a matriz de covariância para esse robô). Como o valor de x afeta o valor de y ? Não tenho problemas com os elementos diagonais, pois eles representam claramente a incerteza de cada elemento. Σxy
CroCo 27/01
11
@CroCo Acho que o exemplo que você está pedindo está descrito no quarto parágrafo da resposta.
Demetris 28/01