ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-06-03 17:03:08  阅读:182  来源: 互联网

标签:外参 ros calibration 校准 lidar cam 棋盘 激光雷达


目录


前言

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

一、入门

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有