1 多相机标定
1.1采集图像和IMU
1.2制作Bag包
1)组织文件结构
~/kalibr_workspace/test/stereo_calib
bagsrc
cam0
(1+time(0))*1e9.tif //只支持png图像
(2+time(0))*1e9.tif //图像名只能数字组成
(999+time(0)).tif //图像名长度为19位
cam1 //不同相机获得的图像名必须一一对应
(1+time(0))*1e9.tif
(2+time(0))*1e9.tif
(999+time(0)).tif
cam2
(1+time(0))*1e9.tif
(2+time(0))*1e9.tif
(999+time(0)).tif
cam3
(1+time(0))*1e9.tif
(2+time(0))*1e9.tif
(999+time(0)).tif
bagdst
2)cd ~/kalibr_workspace/test/stereo_calib
3)source ~/kalibr_workspace/devel/setup.bash
4)kalibr_bagcreater
--folder bagsrc
--output-bag calib.bag
1.3建立关于标定板信息的calib.yaml文件
1)对于april板.yaml文件格式如:
target_type: 'aprilgrid' #gridtype
tagCols: 6 #number of apriltags
tagRows: 6 #number of apriltags
tagSize: 0.088 #size of apriltag, edge to edge [m]
tagSpacing: 0.3 #ratio of space between tags to tagSize,实际上就是小黑块与大黑块的边长之比
#example: tagSize=2m, spacing=0.5m --> tagSpacing=0.25
2)对于checkboard板.yaml文件格式如:
target_type: 'checkerboard' #gridtype
targetCols: 6 #number of internal chessboard corners
targetRows: 7 #number of internal chessboard corners
rowSpacingMeters: 0.06 #size of one chessboard square [m]
colSpacingMeters: 0.06 #size of one chessboard square [m]
3)对于circle板.yaml文件格式如:
target_type: 'circlegrid' #gridtype
targetCols: 6 #number of circles (cols)
targetRows: 7 #number of circles (rows)
spacingMeters: 0.02 #distance between circles [m]
asymmetricGrid: False #use asymmetric grid (opencv) [bool]
1.4执行标定
1)cd ~/kalibr_workspace/test/stereo_calib
2)source ~/kalibr_workspace/devel/setup.bash
3)kalibr_calibrate_cameras
--target calib.yaml
--bag calib.bag
--models pinhole-equi pinhole-equi omni-radtan omni-radtan
--topics /cam0/image_raw /cam1/image_raw /cam2/image_raw /cam3/image_raw
1.5提取Bag包
1)cd ~/kalibr_workspace/test/stereo_calib
2)source ~/kalibr_workspace/devel/setup.bash
3)kalibr_bagextractor
--image-topics /cam0/image_raw /cam1/image_raw /cam2/image_raw /cam3/image_raw
--output-folder bagdst
--bag calib.bag
2 多IMU标定
3 相机-IMU标定