Some GPS units have a compass too. What are the benefits to this, from my limited experience of Betaflight, it looks like there is one already onboard my flight controller?
A compass on an fc is generally useless I’m afraid. Guys have just pulled the chip off.
Betaflight doesn’t really need a compass for a failsafe. Inav does, but only if you are using position hold. Like a mavic.
Thanks for both replies Karl. I’ve noticed in the past that the orientation of my drone has been out by as much as 20 degrees with my last FC.
@Steviegeek is the expert re compass on self builds. It really does need a clear line of sight to the horizon imo. No power wires, motors etc. On a mast
Did you calibrate the compass?
Err, Can’t remember. I’ll make a point of checking next time I power up my drone. I remember seeing an option which involved running a calibration, with the drone on level ground and not moving - would that be the same calibration, or is there something else I should have done
That’s normally the imu calibration
The compass should be done away from any metal or electrical devices like in a field and it usually a process of spinning the drone around it’s axis
But will depend on the fc
To add to this question. Does a VTOL plane need a compass for ardupilot. Used to think inav needed compass but that’s only for quads and hover I believe how!
Asking for a friend
When is a compass needed.
BF
Never, return to home is based on GPS position hover v time to calculate heading
INAV
NOT for Acro, Angle, Horizon, ALTHOLD (providing FC has a barometer)
YES for all navigation modes, RTH, POSHOLD, CRUISE
ARDUCOPTER
YES for everything, but I’ve no experience in ACRO with Ardupilot so take this with a pinch of
ARDUPLANE
YES, up until recently you could fly a plane without a compass but problems arose and it is now advised by the devs although they have published a ‘fix’ see below
VTOL’s
Most definetly YES and and another YES, on hover take off and land it’s the only way for the FC to get a direction for it’s imminent horizontal heading
Personally compasses are so cheap just fit one but you need to position it carefully.
*EK3_GSF_USE_MASK to 0 *
There have been multiple instances of radical attitude changes in compass-less plane operation with current ArduPlane STABLE code. Some of which have resulted in crashes.
This is a result of the GSF yaw estimator losing convergence and EKF switching to the DCM inertial system. By that time the attitude estimators in EKF and DCM have diverged and when the switch happens, a radical change in attitude occurs. If caught unaware, the pilot might not be able to recover in time.
This happens because the GSF needs a good GPS velocity (not position ) estimate and the IMU vibration level not high in order to converge.
So planes with GPS with small antennas (ie BN220) which have poor velocity noise and/orplanes with higher vibration levels can see this issue.
If your plane fits the above, then set EK3_GSF_USE_MASK=0 to stop using GSF for yaw…it will use DCM with GPS speed/heading to determine yaw.
Its expected that 4.4 will resolve this and you can let the param remain and EKF will be used again…or set it back to 3