采集激光雷达和相机的初始标定数据

描述

ROS功能包:livox_camera_lidar_calibration提供了一个手动校准Livox雷达和相机之间外参的方法,已经在Mid-40,Horizon和Tele-15上进行了验证。

其中包含了计算相机内参,获得标定数据,优化计算外参和雷达相机融合应用相关的代码。

本方案中使用了标定板角点作为标定目标物,由于Livox雷达非重复性扫描的特点,点云的密度较大,比较易于找到雷达点云中角点的准确位置。相机雷达的标定和融合也可以得到不错的结果。

image_width: 1024image_height: 960camera_name: narrow_stereocamera_matrix:  rows: 3  cols: 3  data: [725.710429, 0.000000, 511.420214, 0.000000, 725.718815, 479.632811, 0.000000, 0.000000, 1.000000]distortion_model: plumb_bobdistortion_coefficients:  rows: 1  cols: 5  data: [0.000047, 0.000106, 0.000019, 0.000009, 0.000000]rectification_matrix:  rows: 3  cols: 3  data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000]projection_matrix:  rows: 3  cols: 4  data: [725.828125, 0.000000, 511.433189, 0.000000, 0.000000, 725.827393, 479.658265, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]
  • 其中camera_matrix 是3x3的内参矩阵
  • distortion_coefficients 是5个畸变纠正参数
    这个信息在之后会用到,通过相机内参校正后的图片与雷达的数据进行同名点选取.

在完成了前几篇博客的内容后,下面需要做的就是相机和激光雷达标定数据的采集.

采集激光雷达和相机的初始标定数据

在gazebo中搭建的标定场景里,用一个矩形的标定板其中的四个角作为目标物,尺寸是2*2.5m。

标定场景搭建的链接在这里,需要做的是 :选取至少10个左右不同的角度和距离来摆放标定板,左右位置和不同的偏向角度最好都有采集数据。

每个位置保存一张图片和10s左右的rosbag即可

检查标定板是否在点云中,可以使用如下指令:

roslaunch livox_ros_driver livox_lidar_rviz.launch

需要livox 的 点云消息格式是customMsg,可以通过下面的指令检查下

rostopic info /livox/lidar

相机

同时需要检查下标定板是否在照片中,使用如下指令:

rqt_image_view

下面让无人机飞起来,大致在朝向标顶板的中心

检测下数据没问题开始采集,可以用rqt_image_view保存图片,用rosbag record /livox/lidar记录雷达数据。

  • 将采集的照片放在data/photo文件夹下
  • 雷达rosbag放在data/lidar文件夹下

所以在data文件夹下新建这个两个文件夹,然后保存数据,为了数据好对应,可以直接用123命名

相机

相机

然后将标定板旋转一定角度再次采集数据.如何直接旋转,在上一篇博客中有操作。

重复上面的采集过程,继续操作,可以在一个位置,进行3个角度的变换姿态采集,这样一个位置是4组数据

相机

之后移动标定板的位置到左上,再采四组数据

相机

移动标定板的位置到右下,再采四组数据

相机

所以我是采了12组数据,对应这12个雷达的rosbag

相机

至此相机和激光雷达的初始标定数据就采集完成了

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分