|
Initial calibration of the BNO055
|
NDOF sensor fusion mode
|
|
The GPS-PIE slice GPS modules feature a BNO055 IMU motion sensor which provides the
ability to generate absolute orientation data. This absolute orientation comes from the fusion of the output of
an accelerometer, a gyroscope and a magnetometer. The sensor fusion is done internally by a microprocessor integrated
with the three sensors in the BNO055. The output of each sensor in the BNO055 is also available separately so you
could write your own custom application specific sensor fusion algorithm. |
 |
Please note that due to the need for calibration you will not be able to guarantee
an "instant on" for the IMU fusion mode functionality of the BNO055. Although the process can be shortened
by reloading a stored calibration, it cannot be guaranteed that the system will start with all sensors calibrated.
In NDOF fusion mode the magnetometer will tend to lose accurate absolute heading over time. As the GPS receiver
is able to provide absolute heading, the relative IMUPLUS fusion mode may be preferred for some applications. |
|
|
|
Although the BNO055 greatly simplifies interfacing to an IMU, it is still a very
complex device with many different modes and settings. Although our source code provides an interface to the device,
you will still need to understand its functionality for your own application. Please read the datasheet linked
below for full details. We regret that we cannot provide application specific advice on the best settings for individual
projects. Here we explain the initial calibration procedure for the NDOF mode. |
|
Initially, when the BNO055 is powered up, it must be calibrated. The procedure for
doing this calibration will be illustrated with reference to our example Raspberry Pi software program 'cube.bin
'. The program will store the calibration data in a file which will be automatically reloaded when the program
is rerun on subsequent occasions. Start the program with the boards on a level surface as shown below. |
|
During initial calibration of the NDOF mode the BNO055 reports 4 values for the calibration
state of the 3 sensors plus the sensor fusion system. Each calibration state can have a value between 0 and 3,
where 0 is not calibrated and 3 is fully calibrated. Each of the 3 sensors should return a calibration state of
3 and then the system should calibrate setting its state to 3. The example program reports the progress of the
calibration by printing these values out to the terminal window as shown below. In addition the green status LED
on the GPS module board will flash while the calibration is in progress. |
|
Gyroscope Calibration |
The gyroscope should calibrate with the BNO055 in a single stable position for a
few seconds. |
Accelerometer Calibration |
Rotate the boards through a series of 45 degree increments around each axis, stopping
at each increment for approximately 5 seconds. Y axis shown below. Repeat with slightly longer pauses if the accelerometer
does not calibrate after the first set of motions. |
 |
Magnetometer Calibration |
To become calibrated the magnetometer needs to be able to sense the Earth's magnetic
field. The calibration should therefore take place away from sources of magnetism. Pick the boards up, hold them
parallel to the ground and move them through a series of figure 8s in the air at right angles. |
|
Even when calibrated according to the calibration state output value the BNO055 reading
for magnetic north may still be +/- 15 degrees off that measured by a compass immediately. You should however see
the magnetometer reading align in a relatively short period. |
|
System Calibration |
|
BNO055 IMU output being used to animate an OpenGL cube.
|
After the calibration of the three sensors is complete the system status value will
be set to 3. A set sensor offsets will have been stored by the BNO055 in its registers. These values are read from
the registers and are written to a file 'bno055_data.cfg' which can then be read by the program on subsequent starts
to shorten or eliminate the need for the full calibration procedure above. The BNO0555 sensor configuration algorithm
will continue to run. This means that the system and sensor calibrations can change back to 0 in some cases in
the fusion modes. |
|
|
|
© The BlackBoxCameraTM Company Limited
2019
|
|