# How do you convert the covariance matrix of a 3D rotation error-state to the covariance matrix of the corresponding quaternion?

I'd like to convert the covariance matrix of an error-state Kalman Filter that uses Euler angles to the corresponding covariance matrix of a quaternion state. I basically use this for standard INS-GNSS integrated navigation where the strapdown equations contain the quaternions and the Kalman Filter estimates the angular errors to correct the quaternions.
To recover the "quaternion covariance matrix" I followed the approach in the link below (p. 14) where the four equations that transform the Euler angles into the four components of the quaternion are used to calculate the Jacobian to carry out the transformation. However, at the origin (all Euler angles equal zero) the resulting covariance matrix is singular and in my opinion is therefore not a valid covariance matrix anymore.
My question: Is there any other way to obtain a non-singular covariance matrix from the Euler angle representation or do I need a Kalman Filter that uses "error quaternions" in the first place?

https://ingmec.ual.es/~jlblanco/papers/jlblanco2010geometry3D_techrep.pdf

• It seems that the resulting covariance matrix is singular because of the linear approximation (the scalar component of the quaternion is unaffected to first order by small changes in the Euler angles). Perhaps a second order approximation to uncertainty propagation used with the 2nd derivatives of the angles to quaternion computation can be used.
– Alex
Sep 9 at 10:08