Estoy trabajando en un EKF y tengo una pregunta sobre la conversión de marcos de coordenadas para matrices de covarianza. Digamos que obtengo alguna medida con la matriz de covarianza 6x6 correspondiente . Esta medida y se dan en algún marco de coordenadas . Necesito transformar la medición a otro marco de coordenadas, . Transformar la medición en sí es trivial, pero también necesitaría transformar su covarianza, ¿correcto? La traducción entre y debería ser irrelevante, pero aún necesitaría rotarla. Si estoy en lo correcto, ¿cómo haría esto? Para las covarianzas entre ,, y , mi primer pensamiento fue simplemente aplicar una matriz de rotación 3D, pero eso solo funciona para una submatriz de 3x3 dentro de la matriz de covarianza de 6x6 completa. ¿Necesito aplicar la misma rotación a los cuatro bloques?
fuente
La biblioteca MRPT puede hacer esto por usted. Debe usar a
CPose3DPDFGaussian
para representar su pose y covarianza y luego usar el+
operador.Debajo del capó representa su covarianza 6DOF como una covarianza base cuaternión 7DOF, donde las matemáticas son más sencillas.
fuente
Explicación muy intuitiva con interpretación geométrica para la covarianza y su descomposición.
http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/
fuente