autoware标定原理
此次标定使用到的工具是autoware。其原理是选取不同时刻的激光雷达扫描点云以及对应最为接近的相机点云进行匹配得出相机和雷达之间的外参。选取的点云数量越多,计算的精度就越高。
标定过程
首先,录制联合标定用的数据包,根据原理,让激光雷达和相机同时观测到标定板,且选取点云的时候位置要尽量不同,因此,录制数据包的过程中让标定板左左转、右转,俯仰,下仰。然后,录制结束后,打开autoware标定工具,选择点云进行匹配,完成标定。最后保存,得到参数文件(此次标定用到的是A2思岚激光雷达与realsens D435i相机)。
第一步,录制数据包。(录制用到/scan以及/camera/color/image_raw)
分别启动激光雷达与相机,然后打开终端输入:
rosbag record cyx.bag /camera/color/image_raw /scan
第二步,运行数据包,然后按空格暂停。
//打开一个终端
roscore
//再打开一个终端
rosbag play cyx.bag
按空格暂停,等待autoware运行时再启动。
第三步,打开autoware。
进入autoware安装的文件夹下的ros文件夹。然后打开终端输入:
source ./devel/setup.bash
//启动autoware的calibration toolkit标定工具
rosrun calibration_camera_lidar calibration_toolkit
选择录制的数据包中的话题。标定类型是相机到雷达。
选择完毕后,就进入了标定主界面:
根据标定板规格填写Pattern Size。我用的标定板每个格子3cm,11列8行。
第四步,标定。
打开刚才回访的数据包的终端,按空格启动,然后在标定界面首先点击Grab,通过鼠标右键不动点击鼠标左键进行框选最右下角选取标定板对应的区域。如果感觉效果不好可以点击右上角remove移除当前Image_0。继续标定,就这样选取大约20组标定数据即可。
最后点击右上角Calibrate,进行标定,然后点击右上角Project对激光进行投影,验证标定效果。
可以看出,激光雷达点云最终打在了标定板上,说明标定成功。
标定结束后,点击左上角Save得到最终的参数文件(相机到2D雷达的外参)。
参考链接:https://blog.csdn.net/yourgreatfather/article/details/88245566.