I have a general question about the EKF. The state vector contains the gyro biases, and if I understand correctly they are not changed by the prediction step (their derivatives are assumed null). In the observation vector, assuming we have no magnetometer measurement, there is no direct comparison between a measurement and the result of the attitude quaternion prediction. The computed errors in the innovation step are only errors in velocity and position (that’s my comprehension).
On the other hand, I have seen implementations of EKFs (not from Ardupilot), where the state vector contains attitude quaternions and gyro biases. In the innovation step, we compare the predicted gravity vector with the gravity vector measured by the accelerometer.
My questions are : why is the gravity vector comparison in the innovation step left aside in an EKF estimating positions AND attitude such as Ardupilot’s EKF ? How are the gyro biases affected by the innovation/update step in the case of Ardupilot’s EKF without magnetometer ? Do the gyro biases changes in the update step result from non-zero off-diagonal terms in the state covariance matrix ?