实测ubuntu20.04机械式激光雷达与相机联合标定

安装功能包
实测 ubuntu20.04 本地安装
安装步骤如下:
下载功能包
git clone -c http.sslverify=false https://gitlab.acfr.usyd.edu.au/its/cam_lidar_calibration.git  
成功提示:
安装依赖:
sudo apt update && sudo apt-get install -y ros-noetic-pcl-conversions ros-noetic-pcl-ros ros-noetic-tf2-sensor-msgs  
成功提示:
安装pandas 和 scipy
pip install pandas scipy  
将功能包拷入ros的工作空间,然后编译
catkin_make  
不出意外会报错误
仍然是 ubuntu20.04 opencv 的 版本问题
错位解决办法:
打开include文件夹下的 optimise.h文件
将第10行
#include <opencv/cv.hpp> 改为
#include <opencv2/opencv.hpp>  
再次编译报错:
cv_reduce_sum 这个变量没定义,opencv3到opencv4切换带来的错误
在 optimise.h文件中加入下面的包含文件
#include<opencv2/core/core_c.h>
编译通过
功能包测试
作者在功能包中放了测试数据,提供测试
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=true  
该程序根据cam_lidar_calibration/data/vlp/文件夹下的pose.csv标定,在该文件夹生成一个标定camera和lidar外参文件
终端输出
每一行则是迭代后的结果
终端输出这个的时候
表示迭代完了
然后获取评估校准结果
终端输出
生成一个雷达投射到图片上的图片
利用功能包标定激光雷达和相机
设置参数
主要修改
cam_lidar_calibration/cfg/camera_info.yaml和
params.yaml
cam_lidar_calibration/cfg/camera_info.yaml 文件设置如下:
distortion_model: non-fisheyewidth: 1440height: 1080d: [-0.106460,0.103712,-0.000019,0.003994]k: [1213.343583,0.0,744.150520,0.0,1217.236982,586.154363,0.0,0.0,1]  
设置是:
否为鱼眼相机
像素宽和高
内参矩阵
失真系数
相机的内参标定方法可以参考这篇博客:
params.yaml 文件设置如下:
# topicscamera_topic: /camera_array/cam0/image_rawcamera_info: /camera_array/cam0/camera_infolidar_topic: /velodyne_points  
分别是:
相机消息名称
相机信息
激光雷达消息名称
feature_extraction:  x_min: -10.0  x_max: 10.0  y_min: -8.0  y_max: 8.0  z_min: -5.0  z_max: 5.0  
点云的选取范围,用默认的就是,之后可以在线调
chessboard:  pattern_size:    height: 14    width: 9    square_length: 11  board_dimension:    width: 390    height: 596  translation_error:    x: 0    y: 0  
标定棋盘的相关参数
和背板的相关参数
距离都是mm为单位
启动相机和激光雷达
启动相机
roslaunch spinnaker_sdk_camera_driver acquisition.launch  
启动激光雷达
roslaunch velodyne_pointcloud vlp16_points.launch  
启动功能包
开启程序采集表定数据,运行命令:
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=false  
会出现rviz和rqt_reconfigure窗口,在rviz中panels->display修改相机的话题和激光雷达点云对应的frame_id。
调整rqt_reconfigure /feature_extraction的xyz最大值最小值以使得标定板的点云和周围环境分开,使其仅显示棋盘。
如果棋盘没有完全隔离,可能会影响棋盘的平面拟合,还会导致棋盘尺寸误差较大。下图是过滤点云前后效果:
在过滤周围环境点云后,在rviz中点击capture sample采集样本,会出线绿色框代表根据点云拟合出来的标定板平面
终端会打印出来添加的样本信息
最好采集10个样本以上,再点击rviz中的optimise进行标定,在优化过程中将会在cam_lidar_calibration/data生成当前时间日期的文件夹,存放采集的图像、点云pcd、位姿,标定后camer和lidar外参文件。
终端输出开始校准:
校准结束后输出:
评估参数和重投影误差:
roslaunch cam_lidar_calibration assess_results.launch csv:=$(rospack find cam_lidar_calibration)/data/2022-09-06_14-48-42/calibration_2022-09-06_15-13-07.csv visualise:=true  
注意这里默认加载第16个图像,如果没有那么大的标定样本,要修改launch文件中的加载序列
出现重投影效果图像
终端出现标定参数和重投影误差


芯科实验室推出业界首款通用时钟缓冲器Si533xx
Nordic nRF7002配套IC产品介绍
Linux 5.1内核贡献榜单出炉,华为夺下第一
空气净化器哪个牌子好,负离子空气净化器什么牌子好推荐
光量子计是一种什么仪器,它的功能有哪些
实测ubuntu20.04机械式激光雷达与相机联合标定
您应该知道的十大移动测试工具
阻抗测试条的制作要求有哪些
Python和Anaconda的版本对应关系
无人机监管逐渐完善,市场走上良性发展之路
燧原科技与合作伙伴共同打造智算中心异构融合算力底座
被誉为“SUV中的小钢炮”,刚上市就走红,仅售8万多
北京现代的全新ix35,14万元落地的合资SUV
电池泡水还能用?五分钟看懂荣威e550“三电”技术
三天线法校准原理及系统组成
HDCP协议
联想中国区Q3财季营业额创历史新高
realme X2今日在印度推出,采用“虫洞光纹”全新平行设计
苹果新机或支持Wi-Fi 6E技术
有方科技推出业界首款物联网通信质量管理平台