Estou trabalhando em um EKF e tenho uma pergunta sobre conversão de quadros de coordenadas para matrizes de covariância. Digamos que eu recebo alguma medida com a matriz de covariância 6x6 . Essa medida e são fornecidas em algum quadro de coordenadas . Eu preciso transformar a medida em outro quadro de coordenadas, . Transformar a medida em si é trivial, mas eu também precisaria transformar sua covariância, correto? A tradução entre e deve ser irrelevante, mas eu ainda seria necessário para a rodar. Se eu estiver correto, como eu faria isso? Para as covariâncias entre ,, , meu primeiro pensamento foi simplesmente aplicar uma matriz de rotação 3D, mas isso só funciona para uma submatriz 3x3 dentro da matriz de covariância 6x6 completa. Preciso aplicar a mesma rotação nos quatro blocos?
fonte
A biblioteca MRPT pode fazer isso por você. Você precisa usar a
CPose3DPDFGaussian
para representar sua pose e covariância e depois usar o+
operador.Sob o capô, ele representa sua covariância 6DOF como uma covariância de base de quaternário 7DOF, onde a matemática é mais direta.
fonte
Explicação muito intuitiva com interpretação geométrica para covariância e sua decomposição.
http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/
fonte