Sensor Calibration

To assist in explaining the calibration process presented in this section, the hardware measurements and schematic of the coordinate system transformations are provided below.

_images/side_ann.svg _images/tf.svg

Calibration datasets

The following datasets provide the raw data used to compute the extrinsic and intrinsic parameters for the Bell 412 seqences.

Dataset Type

Download Link

Down-facing Camera (Intrinsics)

Google Drive Folder

Front-facing Camera (Intrinsics)

Google Drive Folder

IMU + Down-facing Camera (Extrinsics)

Download File

IMU + Front-facing Camera (Extrinsics)

Download File

LiDAR + Down-facing Camera (Extrinsics)

Google Drive Folder

LiDAR + Front-facing Camera (Extrinsics)

Google Drive Folder

Note

Calibration data for DJI M600 sequences are not available.

Methodology & Tools

  • LiDAR + Camera: These datasets include time-synchronized .pcd point clouds and .jpg images.

  • IMU + Camera: Calibration was performed using Kalibr with Aprilgrid 6x6 0.8x0.8m (A0 page). The Aprilgrid parameters are listed here.

  • Camera Intrinsics: The checkerboard used was a 70mm square-size checkerboard of 8x11. However, the input target size for the VINS-Fusion Camera Calibration Tool was 6x8.

Camera Intrinsic Calibration

The intrinsic parameters of the cameras, such as the camera model, camera matrix [K], and distortion parameters, were obtained using the camera calibration tool that is included in the VINS-Fusion package. The values obtained are presented below.

For Bell412 Datasets:

model_type: KANNALA_BRANDT
camera_name: camera
image_width: 1440 
image_height: 1080
projection_parameters:
   k2: -0.0764245
   k3:  0.0322856
   k4: -0.0445168
   k5:  0.0163317
   mu:  829.224
   mv:  829.454
   u0:  833.937
   v0:  562.509

For DJI M600 Datasets:

model_type: KANNALA_BRANDT
camera_name: camera
image_width: 1440 
image_height: 1080
projection_parameters:
   k2: -0.07937700
   k3:  0.02228435
   k4: -0.03852023
   k5:  0.01346873
   mu:  854.383024
   mv:  853.285954
   u0:  780.324522
   v0:  520.690672

IMU Intrinsic Calibration

The IMU parameters for both Bell412 and DJI M600 datasets are given below.

#IMU Parameters     
acc_n: 0.08         # accelerometer measurement noise standard deviation. 
gyr_n: 0.004        # gyroscope measurement noise standard deviation.     
acc_w: 0.00004      # accelerometer bias random work noise standard deviation.  
gyr_w: 0.0001       # gyroscope bias random work noise standard deviation.     
g_norm: 9.803       # gravity magnitude

Camera-IMU Extrinsic Calibration

The camera-IMU transformation was found using Kalibr package.

For Bell412 Datasets:

The down camera T_{BCd} and front camera T_{BCf}

body_T_camDown: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ -0.01039363,  0.99994595,  0.00027614, -0.27939175,
           -0.99982944, -0.01038820, -0.01527021,  0.00394073,
           -0.01526652, -0.00043481,  0.99988337, -0.00039529,
            0.0,         0.0,         0.0,         1.0]

body_T_camFront: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ -0.04200713, -0.01166497,  0.99904921,  0.17666233,
            0.99899047,  0.01544242,  0.04218496, -0.05171531,
           -0.01591983,  0.99981271,  0.01100451, -0.04656282,
            0.0,         0.0,         0.0,         1.0]

For DJI M600 Datasets:

The down camera T_{BCd} and front camera T_{BCf}

body_T_camDown: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [  0.00235643,  0.99997843, -0.00613037, -0.25805624,  
           -0.99960218,  0.00218315, -0.02811962, -0.01138283, 
           -0.02810563,  0.0061942,   0.99958577,  0.09243762,
            0.0,         0.0,         0.0,         1.0]

body_T_camFront: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ -0.04200713, -0.01166497,  0.99904921,  0.17666233,
            0.99899047,  0.01544242,  0.04218496, -0.05171531,
           -0.01591983,  0.99981271,  0.01100451, -0.04656282,
            0.0,         0.0,         0.0,         1.0]

Camera-LiDAR Extrinsic Calibration

Down camera to LiDAR transfromation [T_{CLd}] was found using Matlab LiDAR calibrator toolbox and fine-tuned using manual realignment.

For Bell412 datasets:

camDown_T_lidar: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ 0.1201,  0.9927, -0.0042, -0.27939175, 
          -0.0165,  0.0062,  0.9998,  0.00394073, 
           0.9926, -0.1200,  0.0171, -0.00039529,
           0.0,     0.0,     0.0,     1.0 ]

For DJI M600 datasets:

camDown_T_lidar: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ -0.030011,  0.999548,  0.0013029, -0.0566,
            0.007985, -0.001063,  0.9999675,  0.3829,
            0.999517,  0.030020, -0.0079502, -0.0374,
            0.0,       0.0,       0.0,        1.0 ]

IMU-GNSS Extrinsic Calibration

IMU to GNSS transformation [T_{BG}] for both Bell412 and DJI M600 datasets are given here.

body_T_gnss: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ 1.0, 0.0, 0.0,-0.14440000,
           0.0, 1.0, 0.0, 0.05530000,
           0.0, 0.0, 1.0,-0.53470000,
           0.0, 0.0, 0.0, 1.0]