ethz-asl / kalibr

The Kalibr visual-inertial calibration toolbox
Other
4.21k stars 1.38k forks source link

Accelerometer / Gyroscope Biases and IMU Intrinsic Models #603

Open sgraybi opened 1 year ago

sgraybi commented 1 year ago

I'm curious as to why the accelerometer and gyroscope biases are not saved in the yaml file. The biases are computed as can be seen in the "estimated accelerometer bias (imu frame)" and "estimated gyroscope bias (imu frame)" plot show in the output pdf. To obtain a calibrated accelerometer measurement I would think you would need to compute acc_calibrated = M * acc_raw + b, where M is the 3x3 scale and orthogonality matrix in the yaml file and b is a 3x1 bias vector.

Also, maybe related, what is the A (3x3) matrix, under Gyroscope in the yaml file. The pdf suggests that it has units of (rad/s)/(m/s^2), angular velocity over linear acceleration.

Is there a document that goes into these details then please let me know. Thanks in advance!

stereo_imu-report-imucam.pdf stereo_imu-imu.yaml.txt stereo_imu-camchain-imucam.yaml.txt

goldbattle commented 1 year ago

The biases are time varying so each time the sensor turns one should expect it to be different.

For the IMU intrinsics, you could take a look at the original publication or a work from our group:

A should be the gravity sensitivity parameter. image

There isn't much documentation but it is on the todo list. See https://github.com/ethz-asl/kalibr/issues/520 and https://github.com/ethz-asl/kalibr/issues/189#issuecomment-1106623871