I’m experiencing pre-arm errors “EKF2 Yaw inconsistent” and in some instances also “Gyros inconsisten”. I’m running AC 4.0.3 and 4.0.4-rc1 in a CubeBlack for these tests.
I have posted the problem first on the ardupilot forum, but I will also post it here because I think it may be a specific CubeBlack problem. #51701
If I plot AHR2.Yaw, NKF1.Yaw and NKF6.Yaw, I can see that over time NKF6.Yaw begins to differ causing these pre-arm messages.
I’ve been looking into the logs a little and I noticed is that the reading of IMU.GyrZ from the IMU number 2 of the CubeBlack begin to drift slightly, reaching a maximum difference of 0.1 with respect to the IMU 1 and 2 in a period of about 9 minutes. Then I tried disabling IMU number 2, recalibrating the gyros and doing more tests. In these new tests with only the IMU number 1 and 3, the problem is completely solved and the output of the EKF no longer differs. The pre-arm messages no longer appear.
Later I realized that this deviation from the IMU2.GyrZ reading correlates perfectly with the change in temperature of the IMU while it is heating up. Furthermore, in some cases the temperature does not remain constant when it reaches the target temperature of 45ºC and continues to increase slightly over time.
Any idea how to solve the problem? Could it be a hardware problem only?
I leave here a link to all the LOGs and captures I have used in these tests: https://drive.google.com/drive/folders/12JvCLcb2hqlQimb0XHczLAsdjT-5_tzB?usp=sharing