Closed mingrenzhu closed 11 months ago
The Jacobian shown in the last picture is taking the element wise derivative of the 4x1. This isn't actually used in any measurement equations, and this derivation won't ever be used typically. In reality, you will have a SO(3) rotation in your equation, and taking the derivative in respect to it is the same as in respect to the quaternion error state as long as you are careful. https://docs.openvins.com/classov__type_1_1JPLQuat.html#jplquat_errorstate
Another note is this codebase uses JPL quaternions, so likely you will be interested in the following report: http://mars.cs.umn.edu/tr/reports/Trawny05b.pdf
Hi, As stated in the openvins documentation, the state vector in the code is the error state vector, so the error state vector should be derived when the measurement equation is differentiated. When the attitude vector (rotation matrix) is derived, the state is first derived, and then the error state is derived using the state vector, as shown in the formula in this paper from Joan's doc named "Quaternion kinematics for the error-state Kalman filter"
but in openvins doc,when the feature derivation regarding to the pose state vector, we just calculate the normal state jacobian, not the error pose state vector. The right process method i think is following, when we calculate the derivation of pose error state, we need transfer the rotaion to Quaternion form, and then use the derivative chain rule to calculate the derivation of pose error state using the measure function, just like
Looking forward to your reply, thanks !