其他分享
首页 > 其他分享> > 激光雷达与相机联合外参校准

激光雷达与相机联合外参校准

作者:互联网

目录


前言

激光雷达与相机外参标定
原文参考链接
论文链接
视频链接

一、入门

1.1 安装

此软件包仅在 ROS Melodic 中进行过测试。

本地ROS

1 在catkin_ws/src/目录下载cam_lidar_calibration
(注本文后续将cam_lidar_calibration放在主目录下,并不是catkin_ws/src/目录下)

git clone -c http.sslverify=false https://gitlab.acfr.usyd.edu.au/its/cam_lidar_calibration.git

2 下载 ros 和 python 依赖

sudo apt update && sudo apt-get install -y ros-melodic-pcl-conversions ros-melodic-pcl-ros ros-melodic-tf2-sensor-msgs
pip install pandas scipy

在这里插入图片描述
在这里插入图片描述

3 构建包并获取setup.bashorsetup.zsh文件

catkin build cam_lidar_calibration
source ~/catkin_ws/devel/setup.bash

在这里插入图片描述

Docker
运行 docker 镜像(将被拉取到 dockerhub)。如果您的计算机具有 Nvidia GPU,请设置 cuda 标志--cuda on。如果您没有,请设置--cuda off(注:原文中命令为./run.sh --cuda on,原因是不加sudo会提示权限不足)
新开一个终端运行以下命令

 cd cam_lidar_calibration/docker
 sudo ./run.sh --cuda on

在这里插入图片描述

1.2 快速启动

根据下载包里面的自带数据进行快速入手测试
1 运行校准过程

roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=true

在这里插入图片描述

2.获取和评估校准结果
运行以下代码,查看校准结果,如下图所示

roslaunch cam_lidar_calibration assess_results.launch csv:="$(rospack find cam_lidar_calibration)/data/vlp/calibration_quickstart.csv" visualise:=true

在这里插入图片描述
在这里插入图片描述

二、使用您自己的数据进行校准

可采用离线与在线的方法进行校准,据体可见链接

2.1 校准目标的设置

准备一个矩形棋盘打印输出。论文中使用的棋盘图是一张A1(594 x 841mm),有95mm的正方形和7x5的内顶点(与网格正方形的数量不同),下载自

https://markhedleyjones.com/projects/calibration-checkerboard

1 将棋盘牢固地固定在一块刚性、不透明和矩形的棋盘上,使其中心对齐(尽可能最好)并且它们的边缘保持彼此平行。
2 选择一个合适的支架,可以安装目标,并且几乎没有板边缘突出的元素。
3 旋转棋盘,使其呈菱形(与地面成 45° 角)并将其安装在支架上。
4 在下图中,展示了与此软件包一起使用的两个棋盘架。
在这里插入图片描述

2.2 配置文件

下面解释/cfg/params.yaml中的字段
1 指定激光雷达和相机主题的名称。例如,在例子中是:

camera_topic: "/gmsl/A0/image_color"
camera_info: "/gmsl/A0/camera_info"
lidar_topic: "/velodyne/front/points"

2(可选)指定点云过滤的默认边界。如果您不确定,请随时跳过此步骤。

3 输入您准备的棋盘目标的详细信息:
pattern_size:这些是棋盘的内部顶点(不是正方形的数量;请参阅第 2.1 节中的棋盘)
square_length (mm):棋盘格的长度。
board_dimension (mm):棋盘印刷所在的背板的宽度和高度。
translation_error:棋盘中心与背板中心的偏移(见下图)

在这里插入图片描述

2.3 捕捉姿态并获得最佳校准参数集

1 启动校准包

roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=false

2 隔离棋盘
使用 rqt_reconfigure 窗口,将 x、y 和 z 轴限制的值修改为仅显示棋盘。如果棋盘没有完全隔离,可能会影响棋盘的平面贴合,也会导致棋盘尺寸误差较大。
在这里插入图片描述

标签:外参,ros,calibration,校准,lidar,cam,棋盘,激光雷达
来源: https://www.cnblogs.com/tsytian/p/16340171.html