0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

3D视觉工坊 来源:古月居 作者:月照银海似蛟龙 2022-11-17 11:22 次阅读

安装功能包

实测 ubuntu20.04 本地安装

安装步骤如下:

下载功能包

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

成功提示:

d123d2ca-6604-11ed-8abf-dac502259ad0.png

安装依赖:

sudo apt update && sudo apt-get install -y ros-noetic-pcl-conversions ros-noetic-pcl-ros ros-noetic-tf2-sensor-msgs

成功提示:

d12d0bce-6604-11ed-8abf-dac502259ad0.png

安装pandas 和 scipy

pip install pandas scipy

将功能包拷入ros的工作空间,然后编译

catkin_make

不出意外会报错误

d1394916-6604-11ed-8abf-dac502259ad0.png

仍然是 ubuntu20.04 opencv 的 版本问题

错位解决办法:

打开include文件夹下的 optimise.h文件


将第10行

#include 

改为

#include 

再次编译报错:

d15089aa-6604-11ed-8abf-dac502259ad0.png

CV_REDUCE_SUM 这个变量没定义,opencv3到opencv4切换带来的错误

在 optimise.h文件中加入下面的包含文件

#include

d1721412-6604-11ed-8abf-dac502259ad0.png

编译通过

功能包测试

作者在功能包中放了测试数据,提供测试

roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=true

该程序根据cam_lidar_calibration/data/vlp/文件夹下的pose.csv标定,在该文件夹生成一个标定camera和lidar外参文件

终端输出

d18669b2-6604-11ed-8abf-dac502259ad0.png

每一行则是迭代后的结果

终端输出这个的时候

d1a99d24-6604-11ed-8abf-dac502259ad0.png

表示迭代完了

然后获取评估校准结果


终端输出

d1c3611e-6604-11ed-8abf-dac502259ad0.png

生成一个雷达投射到图片上的图片

d1d594d8-6604-11ed-8abf-dac502259ad0.png

利用功能包标定激光雷达和相机

设置参数

主要修改

cam_lidar_calibration/cfg/camera_info.yaml和

params.yaml

cam_lidar_calibration/cfg/camera_info.yaml 文件设置如下:

distortion_model: "non-fisheye"width: 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_raw"camera_info: "/camera_array/cam0/camera_info"lidar_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最大值最小值以使得标定板的点云和周围环境分开,使其仅显示棋盘。

如果棋盘没有完全隔离,可能会影响棋盘的平面拟合,还会导致棋盘尺寸误差较大。下图是过滤点云前后效果:

d2137c9e-6604-11ed-8abf-dac502259ad0.png



在过滤周围环境点云后,在rviz中点击Capture sample采集样本,会出线绿色框代表根据点云拟合出来的标定板平面

d2de5388-6604-11ed-8abf-dac502259ad0.png



终端会打印出来添加的样本信息

d3113686-6604-11ed-8abf-dac502259ad0.png

最好采集10个样本以上,再点击rviz中的optimise进行标定,在优化过程中将会在cam_lidar_calibration/data生成当前时间日期的文件夹,存放采集的图像、点云pcd、位姿,标定后camer和lidar外参文件。

终端输出开始校准:

d334775e-6604-11ed-8abf-dac502259ad0.png

校准结束后输出:

d3552f4e-6604-11ed-8abf-dac502259ad0.png

评估参数和重投影误差:

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文件中的加载序列

出现重投影效果图像


终端出现标定参数和重投影误差

审核编辑 :李倩


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

    关注

    4

    文章

    1358

    浏览量

    53721
  • 激光雷达
    +关注

    关注

    968

    文章

    3991

    浏览量

    190081

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

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一则消息引爆激光雷达行业!特斯拉竟然在自研激光雷达

    电子发烧友网报道(文/梁浩斌)一则消息引爆激光雷达行业?上周业界流传的一份会议纪要称,有自动驾驶专家透露,特斯拉已经设计了自己的激光雷达,并正在与大陆集团合作,将自己开发的激光雷达技术集成到汽车系统
    的头像 发表于 12-30 00:09 1261次阅读

    科普:一文了解固态和半固态激光雷达

    。随着技术的发展,激光雷达经历了从机械式到半固态再到固态的演变过程。本文将深入探讨固态和半固态激光雷达的工作原理、特点及其应用。   一、半固态激光雷达 半固态
    的头像 发表于 12-23 18:06 315次阅读

    激光雷达会伤害眼睛吗?

    随着激光雷达日益普及,人们开始担忧:这种发射激光的设备,对人眼的安全性如何?了解这个问题前,我们首先需要知道激光雷达和它发射的激光,到底是什么。
    的头像 发表于 11-07 10:47 273次阅读
    <b class='flag-5'>激光雷达</b>会伤害眼睛吗?

    激光雷达的维护与故障排查技巧

    激光雷达(LiDAR,Light Detection and Ranging)是一种利用激光进行距离测量和目标识别的技术。它广泛应用于无人驾驶汽车、地理信息系统(GIS)、环境监测、航空航天等领域
    的头像 发表于 10-27 11:04 1203次阅读

    激光雷达技术的基于深度学习的进步

    一、激光雷达技术概述 激光雷达技术是一种基于激光的遥感技术,通过发射激光脉冲并接收反射回来的光来测量物体的距离和速度。与传统的雷达技术相比,
    的头像 发表于 10-27 10:57 434次阅读

    激光雷达技术的发展趋势

    激光雷达(LiDAR,Light Detection and Ranging)技术是一种通过发射激光脉冲并接收其反射来测量距离和速度的遥感技术。它在多个领域,如测绘、环境监测、自动驾驶汽车和无人机等
    的头像 发表于 10-27 10:44 1016次阅读

    【北京迅为】iTOP-LS2K0500开发板快速使用编译环境ubuntu20.04第一章加载迅为提供 Ubuntu20.04

    【北京迅为】iTOP-LS2K0500开发板快速使用编译环境ubuntu20.04第一章加载迅为提供 Ubuntu20.04
    的头像 发表于 09-18 16:43 502次阅读
    【北京迅为】iTOP-LS2K0500开发板快速使用编译环境<b class='flag-5'>ubuntu20.04</b>第一章加载迅为提供 <b class='flag-5'>Ubuntu20.04</b>

    使用逻辑和转换优化机械扫描激光雷达

    电子发烧友网站提供《使用逻辑和转换优化机械扫描激光雷达.pdf》资料免费下载
    发表于 09-03 09:27 0次下载
    使用逻辑和转换优化<b class='flag-5'>机械</b>扫描<b class='flag-5'>激光雷达</b>

    光学雷达激光雷达的区别是什么

    光学雷达激光雷达是两种不同的遥感技术,它们在原理、应用、优缺点等方面都存在一定的差异。以下是对光学雷达激光雷达的比较: 定义和原理 光学雷达
    的头像 发表于 08-29 17:20 1493次阅读

    一文看懂激光雷达

        文章大纲 城市 NOA 成竞争高地,政策助力高阶智能驾驶加速落地 成本下探+智驾升级,2030年激光雷达市场规模有望超万亿       ·城市 NOA面临工况复杂问题,激光雷达为“优选
    的头像 发表于 06-27 08:42 690次阅读
    一文看懂<b class='flag-5'>激光雷达</b>

    硅基片上激光雷达的测距原理

    硅基光电子技术的发展可以将激光雷达系统发射模块和接收模块中分立的有源和无源器件集成在芯片上,使激光雷达体积更小、稳定性更强、成本更低,推动激光雷达在自动驾驶等领域的应用。
    发表于 04-08 10:23 612次阅读
    硅基片上<b class='flag-5'>激光雷达</b>的测距原理

    激光雷达的探测技术介绍 机载激光雷达发展历程

    机载激光雷达是指安装在飞行器(如飞机、直升机、无人机等)上的激光雷达系统,用于从空中对地面或其他目标进行测量、成像和监测。
    的头像 发表于 03-21 16:49 3017次阅读
    <b class='flag-5'>激光雷达</b>的探测技术介绍 机载<b class='flag-5'>激光雷达</b>发展历程

    激光雷达LIDAR基本工作原理

    一、激光雷达LiDAR工作原理激光雷达LiDAR的全称为LightDetectionandRanging激光探测和测距,又称光学雷达激光雷达
    的头像 发表于 03-05 08:11 5243次阅读
    <b class='flag-5'>激光雷达</b>LIDAR基本工作原理

    Ubuntu 20.04如何更改用户名

    产品简介本文适用于所有RK3568/RK3588平台产品在Ubuntu20.04系统上如何更改用户名,本文以IDO-EVB3588开发板为例,在ubuntu20.04系统上修改用户名industio
    的头像 发表于 01-26 08:34 876次阅读
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b>如何更改用户名

    华为激光雷达参数怎么设置

    华为激光雷达是一种常用的传感器技术,可用于距离测量和感应。它的参数设置对于确保其性能和功能至关重要。在本文中,我们将详细介绍华为激光雷达的参数设置以及其影响和应用。 首先,我们需要了解激光雷达
    的头像 发表于 01-19 14:17 1856次阅读