Feature Request - Compass Alternative

Hi All,

I’ve been wondering if there are any plans for the dev team to allow for the option to discard the use of compass in arduRover and implement the use of dual GPS compass or optical flow. It seems that the compass is one of those things that people seem to have a lot of issues with and will continue having issues with.

With large steel platforms (like mine or like @highobs ) where a compass calibration is impossible to do. We have no choice but to perform a calibration without rotating the platform itself (tractors are HEAVY). This produces flaky results.

I’ve basically hit a brick wall with bad compass results.


Yes, it’s on the list. I saw @tridge was poking around with the dual GPS the other day but that will require very accurate (=expensive) GPSs to work well. The real solution is to work on the EKF a bit… to be frank, we have a bit of a funding issue in the EKF area… I’m working on getting some funding from a couple of sources but I can’t make a promise immediately.

Great to hear !

Thank you Randy

Also if the Dual GPS system is implemented then I’ll be happy to help you guys test.

EKF learning works pretty well as an alternative to the standard compass calibration. This wont work if your platform has a varying magnetic field, but will work even on platforms with a fair mass of steel.

Hi mroberts,

Ok I might give this a go. Do we still need to mount the compass far away from our platform (e.g mast) for this to work properly.

I’m assuming no calibration is needed? My platform weighs about 300 Kg …so rotating the platform is out of the question


Experiment with the height. In theory a good calibration will compensate for any fixed magnetics, but I don’t know how far you can push that. You could give it a go without a mast, but I wouldn’t persevere for too long with it if it’s not giving you good results.

You want to enable the EKF learning (MAG_CAL = 4) then review the dataflash logs - http://ardupilot.org/dev/docs/extended-kalman-filter.html - about half way down it talks about extracting offsets.

Drive around in as clear an area as you can. Try to do some big circles in both directions and some straight runs. You need to (I think) get good GPS headings for it to compare to. Try to keep going straight for 5-10 metres or more.

You can tell when you have a “good” calibration because:
a) your heading looks right within about 5-15 degrees
b) mag_field doesn’t change by much as you drive around

Once you’ve done the cal and set the offsets, watch the yaw, mag values and mag_field as you run your actuators / motors. If that doesn’t cause any big changes, you’ve probably got it far enough away.

Got any pics of this 300kg beast??

1 Like