Home        Store        Learn        Blog

Yaw Drift due to increase of EKF_GYRO_BIAS estimation

I have Pixhawk 2.4.8 otopilot with ArduSub_V3.5. 4 firmware installed on a custom ROV.

The problem (figure below) is that yaw (ATT.Yaw) info displayed on QGroundControl_v3.5.3 switches between EKF primary (NKF1.Yaw) and secondary (NKF6.Yaw) solutions, when the vehicle is stationary. Also, EKF secondary yaw solution (NKF6.Yaw) drifts due to drift in gyro bias estimation (NKF6.GZ).

I have checked that Magnetometers are well calibrated and give correct results.

Although Gyro-Z measurement from first IMU (IMU1.GyrZ) seems stationary, IMU2 (IMU2.GyrZ) seems to be drifting, but I dont thing this is a problem because the values are very small and I dont see and problems in other tests.

When I rotate the vehicle at 90deg intervals, I see that yaw values (NKF1.Yaw and NKF6.Yaw) are drifting even though the vehicle stays stationary. NKF1.GZ and NKF6.GZ values shows huge changes.

I have checked that Magnetometers are well calibrated and give correct results.

Gyro measurements seems fine…

I think the problem is that Gyro.Z bias estimations in EKF do grows too much to make Yaw estimation drifting. Magnetometer and Gyro sensors seems to be measuring correctly. Do you have any suggestions?

Best Wishes.

Hi, I’ve reported similar issue here: Slow rotation around z axis even staying on a table
Have you found a solution to that problem?

BR,
Alex

Hi @slovak194,

Although I have experimented with different EKF settings and external magnetometers, I couldn’t reach a solution so far, but I believe that EKF settings need to be calibrated for ROVS having metals and noisy electronics. The nature of yaw drift is very different when the ROV is in or out of water. The interesting thing is that I don’t see any problems with roll and pitch, but only a yaw drift.

I am still waiting for firmware update for ArduSub, and expecting the capabilities implemented in ArduPlane v4.0.1 and newer versions. I am sure they have done outstanding contributions to EKF firmware since ArduSub v3.5.4.

@patrickelectric do you have scheduled plan for releasing an updated firmware since you moved to ArduPilot codebase, so that we can benefit from new features.

Best Regards.

We are wrapping a 4.0 release now. The 4.0 beta is available for download at firmware.ardupilot.org and in QGC if you use ‘advanced settings’.

The nature of yaw drift is very different when the ROV is in or out of water.

I also see that. I guess that this can be caused by different temperature conditions. As robot is cooled much better underwater, especially in winter.

BR, Alex

That is great news @jwalser. Can’t wait to test new features.