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]
在完成了前几篇博客的内容后,下面需要做的就是相机和激光雷达标定数据的采集.
采集激光雷达和相机的初始标定数据
在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文件夹下新建这个两个文件夹,然后保存数据,为了数据好对应,可以直接用123命名
然后将标定板旋转一定角度再次采集数据.如何直接旋转,在上一篇博客中有操作。
重复上面的采集过程,继续操作,可以在一个位置,进行3个角度的变换姿态采集,这样一个位置是4组数据
之后移动标定板的位置到左上,再采四组数据
移动标定板的位置到右下,再采四组数据
所以我是采了12组数据,对应这12个雷达的rosbag
至此相机和激光雷达的初始标定数据就采集完成了
全部0条评论
快来发表一下你的评论吧 !