Combining magnetometer and IMU for better absolute heading estimation

Very late replay, but a few observations:

  1. The heading directly from the zed API (eg sens_data.magnetometer.magnetic_heading) is very noisy. I’m not sure why.
    image
  2. I had much more success using the uncalibrated magnetic field data, applying a simple hard iron calibration (see Magnetometer calibration issue on large robot - #4 by thandal), which gives a much more sane result:
    image