在之前的实验中用到了realsense-D435i,为了提高精度使用之前必须要进行标定。本篇文章就介绍下各类标定方法。因为我最终的目的是完成IMU和双目的联合标定,整个流程都是围绕整个目的展开的。过程中包括:RGB标定、单目标定、IMU标定、双目标定、IMU-双目标定
  标定使用了kalibr标定库,整篇参考了系列博客:路径规划_Nankel Li的博客-CSDN博客。具体的内容可以去看这个,但在实现中还是有所不同(特别是标黄色的注意部分)。在此做下记录希望能够帮助到各位。

第一步 环境配置:

参考:D435i标定摄像头和IMU笔记一(配置环境篇)_Nankel Li的博客-CSDN博客

:最后一个命令改为:

kalibr_create_target_pdf --type checkerboard --nx 5 --ny 8 --csx 0.045 --csy 0.045

会在~/kalibr_workspace生成PDF文件,就是标定板文件

第二步,RGB标定

参考:D435i标定摄像头和IMU笔记二(RGB摄像头标定篇)_Nankel Li的博客-CSDN博客

:rosbag包录制的时候要用到标定板文件,打开rviz,用摄像头对齐然后开始录制,录制一段时间之后,有成功的显示为止,在~/calib_data/camera_calib下生成三个文件

第三步:IMU标定

参考:D435i标定摄像头和IMU笔记三(IMU标定篇)_Nankel Li的博客-CSDN博客_d435i imu标定

  选择的方法是:港科大imu_utils进行标定
注:ceres-solver安装教程参考:
在linux ubuntu18.04版本中安装ceres solver_YMWM_的博客-CSDN博客_linux安装ceres

:执行launch文件,出现wait for imu data,再执行rosbag回放,再等待一下,会有结果。录制rosbag要至少两个小时,计算参数也要至少两个小时。这个录制rosbag可以不对齐标定板,静置录制环境即可。

第四步:进行双目标定

参考:D435i标定摄像头和IMU笔记二-2(RGB+双目多摄像头标定篇)_Nankel Li的博客-CSDN博客_d435是双目吗

注:原文中关闭结构光的步骤说的不是很明确,可以参考这篇:Realsense D435i关闭IR结构光_Hecttttttttt的博客-CSDN博客。需要注意下新版的界面现在是下面这样的(设置emitter_enabled为off(0)即可):

:如果只想要双目的话,可以不管那个color话题。采集rosbag数据时要对准标定板checkboard进行采集,否则会报错无法提取corners错误。采集角点时对齐的三个轴是下面这三个:

:realsense默认双目是不开的,所以为了有infra1和infra2话题,要设置下rs_camera.launch。设置如下:


报错
信息如下:

error:Cameras are not connected through mutual observations, please check the dataset. Maybe adjust the approx. sync. Tolerance

解决:https://blog.csdn.net/DarlingXXY/article/details/119563632

第五步:进行双目IMU联合标定

参考:D435i标定摄像头和IMU笔记四-2(双目摄像头与IMU联合标定篇)_Nankel Li的博客-CSDN博客

:还是要对齐标定板录制rosbag文件
报错

[ERROR] [1648369950.616657]: Optimization failed!

解决:https://blog.csdn.net/qq_38337524/article/details/115589796

无关参考:我感觉D435i的使用有必要写出一篇教程,什么烧写升级固件,更改分辨率帧率,标定,发布IMU数据等等_TYINY的博客-CSDN博客_d435i 使用