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

出现重投影效果图像


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

审核编辑 :李倩


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

    关注

    5

    文章

    1634

    浏览量

    56081
  • 激光雷达
    +关注

    关注

    983

    文章

    4595

    浏览量

    197406

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    万线激光雷达是依托什么技术实现的?

    [首发于智驾最前沿微信公众号]在自动驾驶领域,当谈论激光雷达时,线束多少一直是其关键指标,从最初的16线、64线到后来的128线,线数越高,意味着扫描出的点云越密集,看得也越清楚。就在最近,速腾聚创
    的头像 发表于 04-28 09:06 625次阅读
    万线<b class='flag-5'>激光雷达</b>是依托什么技术实现的?

    自动驾驶激光雷达应如何进行标定

    [首发于智驾最前沿微信公众号]在自动驾驶的技术架构中,激光雷达通过发射激光脉冲并接收反射信号,能够在复杂的物理世界中构建出高精度的点云地图。然而激光雷达在被安装到车身上后,并不是立刻就能“看清”世界
    的头像 发表于 04-19 09:23 1064次阅读
    自动驾驶<b class='flag-5'>激光雷达</b>应如何进行<b class='flag-5'>标定</b>?

    固态激光雷达参数以及避障视频

    本帖最后由 jf_63660781 于 2026-3-27 14:23 编辑 1 产品概述 G90A-60传感器是一款线阵固态激光雷达。本产品基于三角测距原理,并配以相关光学、电学
    发表于 03-27 14:14

    如何解决激光雷达点云中“鬼影”和“膨胀”问题?

    [首发于智驾最前沿微信公众号]之前在聊激光雷达点云“鬼影”和“膨胀”的文章中( 相关阅读: 激光雷达点云中“鬼影”和“膨胀”是什么原因导致的?),很多小伙伴都提到一个问题,那就是激光雷达点云中
    的头像 发表于 01-02 09:30 740次阅读
    如何解决<b class='flag-5'>激光雷达</b>点云中“鬼影”和“膨胀”问题?

    全固态激光雷达现在发展到什么阶段了?

    激光雷达只是“体积更小”“成本更低”“更适合上车”这些结论说法,却很少有人耐心拆解它到底“固态”在什么地方,和我们熟悉的机械式、半固态激光雷达本质差别在哪,现在发展到了哪一步,又到底
    的头像 发表于 12-22 09:22 943次阅读
    全固态<b class='flag-5'>激光雷达</b>现在发展到什么阶段了?

    禾赛科技与理想汽车续签激光雷达合作

    今日,全球激光雷达领先企业禾赛科技(NASDAQ: HSAI;HKEX: 2525)正式宣布获得理想汽车全新一代辅助驾驶平台全系车型激光雷达定点,包括 L 系列、 i 系列和 MEGA。禾赛科技也将继续作为理想汽车的独家激光雷达
    的头像 发表于 11-13 10:21 2130次阅读

    激光雷达为什么会出现串扰的问题?

    [首发于智驾最前沿微信公众号]自动驾驶技术自提出以来,激光雷达就是非常重要的感知硬件,即便到现如今很多技术方案开始倾向于纯视觉时,依旧有很多的车企坚定地选择激光雷达激光雷达常见的工作方式有脉冲型
    的头像 发表于 11-04 10:42 1079次阅读
    <b class='flag-5'>激光雷达</b>为什么会出现串扰的问题?

    IMU+多相机高速联合自动标定方案

    “IMU+多相机高速联合自动标定仪”,20 秒完成全流程,一举填补国产高端标定装备市场断层。 机械臂全程抓取位姿,20秒完成多
    发表于 10-23 14:04

    激光雷达创新思路:机械扫描+Flash合二为一

    电子发烧友网综合报道 激光雷达作为获取三维空间信息的核心传感器,是自动驾驶、智能机器人和地理测绘等领域的关键技术。然而,传统方案始终面临一个根本性矛盾:机械扫描式LiDAR精度高、探测距离远,但效率
    发表于 09-16 10:32 3363次阅读
    <b class='flag-5'>激光雷达</b>创新思路:<b class='flag-5'>机械</b>扫描+Flash合二为一

    系统适配 | RK3576适配Ubuntu20.04正式发布

    前言:为了满足广大开发者与嵌入爱好者的需求!眺望电子正式宣布,已完成基于瑞芯微RK3576的开发板对Ubuntu20.04LTS操作系统的深度适配与优化。此次适配不仅成功移植了
    的头像 发表于 07-31 08:32 2428次阅读
    系统适配 | RK3576适配<b class='flag-5'>Ubuntu20.04</b>正式发布

    【SOA是什么?】#激光雷达

    激光雷达
    天津见合八方光电科技有限公司
    发布于 :2025年07月15日 14:39:59

    全固态激光雷达为什么迟迟未来?其技术难点是什么?

    相比,激光雷达不受光线的影响,探测距离更远、精度更高、抗干扰能力更强。 上图示例为车载激光雷达采集到的三维点云。最早应用于无人车的机械式激光雷达借助电机驱动旋转镜体,实现360度水平扫
    的头像 发表于 07-11 09:02 1412次阅读

    系统适配 | RK3588适配Ubuntu20.04发布预告

    前言:为了满足广大开发者与嵌入爱好者的需求!眺望电子正式宣布,已完成基于瑞芯微RK3588的开发板对Ubuntu20.04LTS操作系统的深度适配与优化。此次适配不仅成功移植了
    的头像 发表于 06-19 08:32 2216次阅读
    系统适配 | RK3588适配<b class='flag-5'>Ubuntu20.04</b>发布预告

    SPAD席卷车载激光雷达市场

    电子发烧友网报道(文/梁浩斌)上周我们报道了一款新推出的激光雷达ASIC方案,值得关注的是该方案中与ASIC搭配的传感器均选择了SiPM。当然从成本的角度来看,作为第三方的激光雷达ASIC方案
    的头像 发表于 06-13 00:59 6237次阅读

    机械、半固态、全固态激光雷达有何区别?谁更适合自动驾驶?

    形式的不同,激光雷达可以大致分为机械式(Mechanical)、半固态(Semi-solid-state)和全固态(Solid-state)三种类型。 机械式激光雷达依靠电机驱动转盘或
    的头像 发表于 06-05 09:04 1628次阅读
    <b class='flag-5'>机械</b>、半固态、全固态<b class='flag-5'>激光雷达</b>有何区别?谁更适合自动驾驶?