Toilet bowling issue on 5" props Quadcopter

I have autotuned my 5" Quadcopter, and it is flying well in poshold and auto mode. I have just autotuned Roll and Pitch but not yaw.

Then since i started flying more often in guided mode where my quadcopter trace a preloaded mission path, sometimes i have observed toilet bowling, it happens rarely once in around 10 flights, and sometimes my quadcopter just make a slight curve then correct itself midway in guided mode. But very rarely it make circular turns too while moving in straight line.

I have also disabled change of yaw during the flight in guided mode by setting wpnav_yaw_behaviour to 0, but still when i observe the log i can see that there is a slight tendency of quadcopter to still change the yaw within around 5-6 degrees by checking ATT.yaw when it fly normally in guided mode and doesn’t toilet bowl. But when my quadcopter does toilet bowling i can see large change in yaw (ATT.yaw) with a change by 20-40 degrees even when it is not supposed to change heading.

When there is toilet bowling and i recalibrate the compass again, it seems to solve that problem temporarily but again when i change/replace the battery, i can observe toilet bowling again but that also happens rarely once in multiple flights.

I am not able to find what exactly causing this toilet bowling, as EKF3 innovations for Magnetometer is also around or under 0.3, even auto analysis not able to detect magnetic interference, it generally show good compass magnetic interference, i can guess it is something related to compass issue only, what possibly i can do so i can fly my quadcopter with more reliability and consistency ?

Might be worth doing a motor interference calibration

Gotcha, atm we are not doing motor interference calibration, we will definitely give it a try, we’ve found one parameter i.e. Compass_Learn which we are not using atm, but i am not sure if inflight Compass learning will eliminate this rare occurrence of toilet bowling or not

we actually flying 3 similar kinds of 5" inches quadcopters together, and this issue can be observed rarely in all 3 of them, for now we cannot keep them in close proximity as toilet bowling can result in collisions