Hi, I am currently working with the Adafruit BNO055. However, from what I've read on the internet, this sensor is discontinued, and it's better to use a sensor like the ICM-20948.
The Adafruit datasheet for the BNO055 mentions how to calibrate the IMU's magnetometer, gyroscope, and accelerometer. This is not the case for Adafruit's ICM-20948; it doesn't provide instructions on how to calibrate the sensor. All I found is that the ICM-20948 has Runtime Calibration.
What does Runtime Calibration mean, and, more importantly, how do you calibrate the sensor?
The gyro is normally calibrated at every startup. With the sensor still, collect a few hundred readings, and average them to get the offsets. The offsets are subtracted from later readings, while in normal operation.
Thankyou, but what I meant was that the BNO data sheet says:
"To generate valid calibration data, the following criteria should be met:
-Gyroscope: The device must be standing still in any position
-Magnetometer: In the past 'figure 8' motions were required in 3 dimensions, but with recent devices fast magnetic compensation takes place with sufficient normal movement of the device
-Accelerometer: The BNO055 must be placed in 6 standing positions for +X, -X, +Y, -Y, +Z and -Z. This is the most onerous sensor to calibrate, but the best solution to generate the calibration data is to find a block of wood or similar object, and place the sensor on each of the 6 'faces' of the block, which will help to maintain sensor alignment during the calibration process. You should still be able to get reasonable quality data from the BNO055, however, even if the accelerometer isn't entirely or perfectly calibrated."
This is when the device is on and the sensor calibrates itself by following the above instructions, not some pre prepared calibration. However from what you've sent me this isn't standard for IMU's? So I will have to follow the tutorial you've posted in case we change sensor?