I know that this question can be out of topic, but I’m very interested in understanding the math which is behind the calculation for the heading and the motor commands used by ArduPilot Rover. In particular, I’m very curious to understand how and if the Kalman filter is used when, for example, the compass is disabled and only two GPS modules are used to calculate the vehicle’s yaw.

I tried to search for this documentation, but I only found this link Extended Kalman Filter Navigation Overview and Tuning — Dev documentation which doesn’t consider the dual GPS use case.

Thank you!