[FIXED, see edit below]
I have had no compass problems with my rover until recently. For the past few weeks, the errors “ERROR COMPASS VARIANCE” and “BAD COMPASS HEALTH” have constantly been popping up. I am using an external 3DR compass with the internal compass on the Pixhawk. While the rover is operating, Mission Planner shows the rover following the way points fine, but its compass heading is pointing 45 to 120 degrees to the right of its real heading. Also, while the internal compass calibrates fine, the external compass’s progress bar always resets at 99%. It is a large ordeal to calibrate this compass due to the size of the rover as well.
- update Pixhawk firmware
- update Mission Planner
- check for magnetic interference from the rover (motors are far away from both compasses, calibration done away from large metal objects)
- check compass orientations on the rover (both have the arrow pointing towards the front with labels facing upwards)
- turn one compass off, try to calibrate the other one by itself (external compass still fails)
- switching out the 3DR compass for an identical replacement
At the moment I’m lost as to why these errors are occurring, even when switching out the compass. Any help is greatly appreciated!
I fixed this problem by taking the compass and Pixhawk off the rover and hooked them up using short wires. Calibration went fine so I hooked them up using the long wires I had used on the rover and the calibration would not completed. I ended up making a new set of cables, reinstalled the compass and pixhawk on the rover, and the calibration worked. The problem was somewhere in the old wires. I had tested them with a multimeter and they seemed to work but for some reason the compass would never calibrate when using these wires.