Compass calibration is ok for few flights than heading is wrong or toilet bowling

I have a very strange issue on one of our system:

We perform compass calibration, than compass_mot. Full restart of everything and put the drone in flight.

For few flight in the morning everything is perfect. EKF compass magnitude is always very low, even in extreme maneuvers I can’t see more than 0.5 ( green bar)

In the afternoon, I took off, push forward ( elevator) and the drone didn’t follow a straight line, but veering on the left. Opposite maneuvers and it veering on the right.

We run AC 3.6.10 with LIS 3 compasses.

We have multiple aircraft that are exactly the same and don’t shows the same behaviour.

could you please send log file ?
also check z vibration but most of the time toilet bowling is compass issue

I can second that issue. I had same experience with different copters. They were ok after compass calibration, but after some time (sometimes days, sometimes hours) they started acting like the compass is skewed…

Auto declination maybe? I always turn this off.

Same location, same weather condition, just different time of the day.

Yesterday we did some test flight:

  1. take off in loiter to 5m

  2. thay 5 sec for EKF yaw reset

  3. flight forward for 20m ( drone bending left or right)

  4. flight backward for 20m( drone bending right or left)

  5. drone is now stable in flight.

Used only one compass instead of 2.

EKF never above 0.5. never ad issue of a flag error from it

Exactly my case too since Copter 3.6, on Copter 4 the same behavior.

with copter 3.6.10 to 3.6.11 i was have compass problem with a message compass not calibrated before arm copter
i did these steps and my problem was solved :
1 - i enabled my both compass (for a sudden failure or bug) and external as primary
2 - calibrate compass when copter is faced to north
3 - not using mot compass calibration

also as i learned from community when you calibrate compass is not meaning that your compass is happy

1 Like

Ok, but here we i’m writing a complete different story: Our compasses are always calibrated correctly, never had a flag about compass calibration.

yes @Lorenzo_Pessah your story is different but give a try maybe it help to solve your problem
also check your compass noise and check that your compass cable is far apart power module

few more update:

went to test in another field (couple of miles/3km away from the other one)

Same beaviour as before. We also try couple of different procedure:

  • roll left and than right to “clear” compass heading error
  • wait in hovering for 30 sec and than fly forward
  • with the drone on and ready to fly ( disarmed of course) walk with it forward and backward.

Nothing of the above have solve the issue. At the moment our only solution is fly forward and backward for 20m once and than heading is correct and drone doesn’t veer. Using 2 compass requires 2-3 fly forward and backward to clean the heading error.

From map view it is clear that there is a small error ( within 20 degrees ) from the rear heading and the readed one.

Have you tried disabling Compass Motor Calibration? Easy enough to try by setting the COMPASS_MOTCT to 0. It can always be re-enabled.

Did you perform a Motor Compass calibration to begin with??, Do you have a picture of how your GPS and controller are mounted?? How long are your battery cables??