默认我们前期工作都已经做好,双目相机的内外参,IMU的随机游走也已经得到
1.标定准备工作
1.1启动realsense
roslaunch realsense2_camera rs_camera.launch
这里需要关闭红外结构光,可以去网上找一找相关的教程。
1.2需要改变realsense的发布频率
rosrun topic_tools throttle messages /camera/infra1/image_rect_raw 20.0 /right
rosrun topic_tools throttle messages /camera/infra2/image_rect_raw 20.0 /left
rosrun topic_tools throttle messages /camera/imu 200.0 /imu
对于这里为什么需要把发布频率降下来,具体原因就是频率过高,会造成很多噪点以及outliers,造成标定不准确。
1.3 查看图像话题
rqt_image_view
找到图像发布对应的话题,看看是否已经将发布频率降下来,以及红外结构光是否关闭。
2.开始标定
kalibr_calibrate_imu_camera --target checkboard.yaml --cam camchain.yaml --imu imu.yaml --bag imu_vision.bag
网上说这一步需要耗费很长时间,但是在我的X86上,不到5分钟就标定好了。不知道是不是录制的包太小的原因。
最后会出来很多的文件,其中最重要的就是imu_vision.yaml文件,其中就包含了我们需要的变换矩阵。