Help with BNO055 camera-imu calibration
Hi, I'm new to cam-imu calibration, and I'm currently struggling to calibrate cameras with a BNO055 IMU.
I've assembled a bag with 302 stereo images (1920x1200 mono8) that are synchronized and recorded at 16Hz and BNO055 IMU data (acc and gyro) at 50Hz, but not necessarily in sync with cams. Aprilgrid is printed on A3.
For stage 1 (basalt_calibrate
), when I use the rectified images and 'pinhole' cam type, I get a mean error of 0.19, which seems ok to me.
The problem is stage 2 (basalt_calibrate_imu
), the cam-imu calibration, which does not converge - mean error always around 340.
So I wonder what's the main cause for the error so high?
I have read issue 22
The system expects synchronized gyroscope and accelerometer measurements
and also issue 96
you should definitely collect two different recordings for the two stages, camera-camera and camera-imu-mocap
which I have not done, but leads to the following questions:
- Which IMU values are used, if IMU timestamps are not in sync with cam timestamps?
- Is there a linear interpolation of accelerometer data like in rs_t265 case?
- TUM-VI calibration has 200Hz in calibration config (and I assume 20 Hz for images), does this mismatch (50Hz, 16Hz in my case) cause the huge error?
- My IMU data range is much smaller than the TUM-VI (see screenshot below) - does this cause the problem?
IMU ranges:
TUM-VI gyro x, y, z: [-2 .. +2] [-4 .. +4] [-2 .. +2]
My gyro x,y,z: [-1.9 .. +2.5] [-0.9 .. +0.9] [-0.8 .. +1]
TUM-VI accel x, y, z: [-10 .. +10] [-6 .. +8] [-2 .. +14]
My accel x, y, z: [-0.9 .. +1.1] [-2.5 .. +1.3] [-1.2 .. +1]
Any help and explanation is highly appreciated.