Kalibr
Kalibr is a toolbox that solves the following calibration problems:
- Multiple camera calibration: intrinsic and extrinsic calibration of a camera-systems with non-globally shared overlapping fields of view
- Visual-inertial calibration calibration (camera-IMU): spatial and temporal calibration of an IMU w.r.t a camera-system
- Rolling Shutter Camera calibration: full intrinsic calibration (projection, distortion and shutter parameters) of rolling shutter cameras
1. imu calibration
github.com/gaowenliang/imu_utils
%YAML:1.0
---
type: IMU
name: d435i
Gyr:
unit: " rad/s"
avg-axis:
gyr_n: 3.0247286551398204e-03
gyr_w: 2.2901170839457266e-05
x-axis:
gyr_n: 3.0486121293259861e-03
gyr_w: 2.3588043857742811e-05
y-axis:
gyr_n: 3.9906956275203298e-03
gyr_w: 3.8510954801834231e-05
z-axis:
gyr_n: 2.0348782085731448e-03
gyr_w: 6.6045138587947500e-06
Acc:
unit: " m/s^2"
avg-axis:
acc_n: 2.8949600741350223e-02
acc_w: 4.5552273079824281e-04
x-axis:
acc_n: 2.4870413946165581e-02
acc_w: 3.5175805157083910e-04
y-axis:
acc_n: 2.7808521377206314e-02
acc_w: 4.8805723243924246e-04
z-axis:
acc_n: 3.4169866900678782e-02
acc_w: 5.2675290838464703e-04
Then copy the first set of average data of Acc and Gyr to the imu.yml file corresponding to kalibr.
rostopic: /camera/imu
update_rate: 200.0 #Hz
accelerometer_noise_density: 2.89e-01 #continous
accelerometer_random_walk: 4.55e-04
gyroscope_noise_density: 3.02e-03 #continous
gyroscope_random_walk: 2.29e-05
2. camera calibration
- --bag filename.bag
ROS bag containing the data - --topics TOPIC_0 ... TOPIC_N
list of all camera topics in the bag. matches the ordering of --models - --models MODEL_0 ... MODEL_N
list of camera/distortion models to be fitted. matches the ordering of --topics (see Supported models) - --target target.yaml
the calibration target configuration (see Calibration targets)
$ kalibr_calibrate_cameras --bag [filename.bag] --topics [TOPIC_0 ... TOPIC_N] --models [MODEL_0 ... MODEL_N] --target [target.yaml]
3. camera-imu calibration
- --bag filename.bag
ROS bag containing the image and IMU data - --cam camchain.yaml
intrinsic and extrinsic calibration parameters of the camera system. The output of the multiple-camera-calibration tool can be used here. (see YAML formats) - --imu imu.yaml
contains the IMU statistics and the IMU's topic (see YAML formats) - --target target.yaml
the calibration target configuration (see Cailbration targets)
$ kalibr_calibrate_imu_camera --bag [filename.bag] --cam [camchain.yaml] --imu [imu.yaml] --target [target.yaml]
Experiment
- OS : Ubuntu 18.04 ROS melodic
- Camera: logitech c920, 640x480, 20Hz
- IMU : bosch BNO055, uart, 200Hz
- Calibration target: Aprilgrid 6x6
'Sensor > Camera' 카테고리의 다른 글
[ROS] ORB SLAM3_Mono Camera (1) | 2021.01.12 |
---|---|
[Python OpenCV] Perspective Transform example (2) | 2020.11.01 |
[OpenCV] Vanishing point detection (0) | 2020.09.08 |
Homography or Projective Transformation (0) | 2020.08.17 |