Search code examples
randomrotationcovariancequaternions

Covariance matrix after rotation


I encountered this question when developing a Kalman filter for a moving target using a camera on a drone. The problem is:

Assume I have a position measurement p1 with covariance matrix R1. And I have another rotation which is in the form of a quaternion q. This quaternion has a covariance matrix R2. Then what is the covariance matrix after I rotate p1 by q?

I have googled for a very long time but could only find the solution when q is a constant.


Solution

    1. You can use propagation of uncertainty by numeric formula https://en.wikipedia.org/wiki/Propagation_of_uncertainty

    Using numeric derivatives (Jacobian)

    1. Use MRPT implementation https://www.mrpt.org/
      as described in here http://ingmec.ual.es/~jlblanco/papers/jlblanco2010geometry3D_techrep.pdf