Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flying with all magnetometers disabled #1877

Open
hamishwillee opened this issue May 4, 2022 · 0 comments
Open

Flying with all magnetometers disabled #1877

hamishwillee opened this issue May 4, 2022 · 0 comments

Comments

@hamishwillee
Copy link
Collaborator

Discussion on slack between Charles Cross and Clay Huff about whether it possible to fly with all magnetometers disabled (and not get all kinds of warnings and errors). The simple answer is yes. You must set EKF2_MAG_TYPE=NONE and SYS_HAS_MAG=0.

Charles Cross is going to try document this. Possibly a topic "How to fly without any compass/magnetometer?" that should probably possibly be in the tuning guide, but should certainly be mentioned in the tuning guide.

Some context of the discussion below (mostly from @bresch )

  • EKF initialization fails if a required sensor is not present.
  • But you can set EKF2_MAG_TYPE = NONE and arm/fly the drone in altitude mode or other modes that don't require position.
  • If you want to use position mode (or any mode that requires position) then you must have an absolute heading (in order for gps fusion to work). The gyros can keep the heading drift low but you need a mag or enough motion to get an initial absolute heading.
  • MAG_TYPE "none" allows the EKF to initialize the heading using the yaw estimator (that will converge after enough motion is sensed)
  • Tests show you must set both EKF2_MAG_TYPE=NONE and SYS_HAS_MAG=0. The SYS_HAS_MAG is checked in preflight - so if you don't do this you fail preflight.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant