Dear All,
I am working on a marine application of model surface vessel in which the 9-axis BNO055 is useful for attitude determination and eventual linear acc evaluation (to be later on completed with GPS Kalman Filtering). I have some doubts not clear in forums:
-
Is the default mode the NDOF?
-
In the default mode are the Euler Angles referred to north?
(in my case did not, neither after some time.. leading to the 1st doubt)
- Does anybody observe drift in the Euler Angle heading (supposing it rotated to refer to nord across magnetometers at initial time?)?
In my case Euler heading drifts a lot in time: hence again leading to the doubt 1.. Shouldn't the fusion process unbias measurments across Mag in combination with GYRO? In my tests the Euler heading result much much more similar to a trapeze integration than a fusion.
In figure below:
Mag Heading in blue,
Euler heading (manually initialized to Mag heading) in orange,
external GPS course over ground in black (confirming MAG)
brutal trapeze integration of gyro rate (very similar to Euler) in red
Some sailing and turning
I tested two different IMU on two different vessels, leading to the same qualitative conclusions.
The calibration of GYRO and ACC is executed in lab and stored in order to be reloaded, while MAG are calibrated all start up.
Finally: I heard the about the euler mismatch with quaternions of the BNO055 library, but just when tilting the IMU. Does it affect also heading fusion?
Regards
My setup: Arduino Mega 2560
Libraries:
#include <Adafruit_Sensor.h>
#include <Adafruit_BNO055.h>
#include <utility/imumaths.h>

