Fusion_PointClouds - 多激光雷达点云数据融合

这篇具有很好参考价值的文章主要介绍了Fusion_PointClouds - 多激光雷达点云数据融合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 简介

fusion_pointclouds 主要目的为Ubuntu环境下无人车多激光雷达标定之后, 将多个激光雷达点云话题/坐标系 通过PCL (Point Cloud Library)融合为 一个ros点云话题,以便于后期点云地面分割与地面处理等等。

1.1 应用场景

图1:为了保证激光雷达的360°环境覆盖,我们需要用到多传感器的拼接 图2:只单纯融合激光雷达的信息,多激光雷达会发生重叠,因此需要点云坐标变换

Fusion_PointClouds - 多激光雷达点云数据融合,机器人,自动驾驶,人工智能

Fusion_PointClouds - 多激光雷达点云数据融合,机器人,自动驾驶,人工智能

图3:激光雷达一定角度扫描车体本身,滤除车身周围干扰/遮挡点云,如图1白色区域,下图为pcl滤波效果图 图4:雷达外参标定不一定十分精确,滤波需要估计车体大小也需调整。结合rqt_reconfigure 模块实现在线动态参数微调
Fusion_PointClouds - 多激光雷达点云数据融合,机器人,自动驾驶,人工智能

Fusion_PointClouds - 多激光雷达点云数据融合,机器人,自动驾驶,人工智能

图1-3均来源网络,只为表达场景需求,非商用。

 1.2 项目内容

             (1)点云的坐标变化;
             (2)通过PCL(Point Cloud Library)融合为一个点云话题;
             (3)通过条件滤波与直通滤波方式,可滤除车身周围干扰/遮挡点云与远处较弱点云;
             (4)结合ros系统中 rqt_reconfigure 模块实现在线动态参数微调。

2.依赖介绍-ROS

若需在ROS环境下使用雷达驱动,则需安装ROS相关依赖库

Ubuntu 16.04 - ROS kinetic desktop-full

Ubuntu 18.04 - ROS melodic desktop-full (自带pcl-1.8,无需安装)

安装方式: 参考 Documentation - ROS Wiki 如果安装了ROS kinetic desktop-full版或ROS melodic desktop-full版,那么兼容版本其他依赖库也应该同时被安装了,所以不需要重新安装它们以避免多个版本冲突引起的问题, 因此,强烈建议安装desktop-full版,这将节省大量的时间来逐个安装和配置库

 3. 编译 & 运行

        1.将 *fusion_pointclouds* 工程工作空间放入*src*文件夹内。

git clone https://github.com/Hliu0313/fusion_pointclouds.git

        2.根据实际情况修改fusion_pointclouds/config/params.yaml

样例:详细可下载程序,查看。
fusion_lidar_num: 3                                                      #融合 lidar 点云数量 2/3/4
topics:                                                                                 #订阅 lidar 点云话题
  parent_pc_topic: "/front/rslidar_points"
  child_pc_topic1: "/back/rslidar_points"
  child_pc_topic2: "/left/rslidar_points"
  child_pc_topic3: "/front/rslidar_points" 

  fusion_pc_topic: "/rslidar_points"                       #融合后发布点云话题名称
  fusion_pc_frame_id: "/front_rslidar"                 #融合后发布点云话题名称

#注意

        3.返回工作空间目录,执行以下命令即可编译&运行

catkin_make
source devel/setup.bash

          (1)注意:只做点云tf变换、融合与滤波,不启动rqt_reconfigure

roslaunch fusion_pointclouds fusion_pointclouds.launch 

         (2)启动rqt_reconfigure 动态调整参数,用于参数实时微调

roslaunch fusion_pointclouds fusion_pointclouds.launch  set_params:=true

4. 参数介绍

本工程只有一份参数文件 params.yaml, 储存于fusion_pointclouds/config文件夹内,配合load_params.h load_params.cpp 加载参数,方便随时修改。

(参数配置介绍在参数文件中已经描述较为详细,在此不做介绍)

5.改进方向

1.using PointCloud = pcl::PointCloud<pcl::PointXYZIR>;-点云包括带pcl::PointXYZIR,pcl::PointXYZI两种格式,设置自由切换入口,可参考rslidar_sdk
2.图像与激光雷达 动态可视化参数微调
3.初次写笔记请多多见谅,未来会积极的向前辈大佬们学习!

补充:

6. 功能包结构

主要程序为fusion_pointclouds.cpp fusion_pointclouds.h 其头文件。

>config

         >>params.yaml -- 将参数上传至ros参数空间,方便程序获取参数,且可让程序订阅不同雷达话题,自定义发布话题名称及frame_id,增加了程序适应性;

         >>set_params_bounds.cfg -- 生成 src/set_params_bounds.cpp头文件,调用动态参数程序—— rqt_reconfigure ;

         >>set_params_tf.cfg -- 同上;

>img -- readme.md 调用图片;

>include

★★>>fusion_pointclouds.h -- 定义FusionPcNode类,函数实现流程 “接口?”;

         >>load_params.h -- 配合 load_params.cpp 将ros参数空间参数加载至程序;

>launch

         >>fusion_pointclouds.launch -- 主launch文件,通过参数重载,包含静态融合与动态调参;

>src

★★ >>fusion_pointclouds.cpp -- 对应fusion_pointclouds.h,函数具体实现;

         >>load_params.cpp -- 同 load_params.h;

         >>set_params_bounds.cpp -- 同 set_params_bounds.cfg ;

         >>set_params_tf.cpp -- 同上;

>rviz -- 启动 launch 调参时可以启动默认 rviz 界面,减少时间。文章来源地址https://www.toymoban.com/news/detail-778175.html

到了这里,关于Fusion_PointClouds - 多激光雷达点云数据融合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Apollo官方课程算法解读笔记——激光雷达感知模块、基于PointPillars的激光雷达点云检测算法、PointPillars模型的部署和优化模型的部署和优化

    Apollo官方课程算法解读笔记——激光雷达感知模块、基于PointPillars的激光雷达点云检测算法、PointPillars模型的部署和优化模型的部署和优化

    感知模块检测效果: 左边为摄像头拍摄图像,激光雷达感知不依赖左边CAMERA,而是点云数据对应的效果图(黄色上方数字为Tracking ID) 主车红灯时的激光点云检测效果图 车道线给CAMERA提供一个标定参考,使得camera检测出来的障碍物从2维转化为3维的信息,因为此标定的参考,

    2024年02月14日
    浏览(12)
  • 激光雷达数据和里程计数据的时间同步方法汇总

    激光雷达(LIDAR)和里程计数据的时间同步,可以采用多种方法,每种方法都有其适用场景和优势。以下是一些常用方法的汇总: 简单遍历同步 : 对两个数据流进行遍历,寻找时间戳最接近的数据对。 适用于数据量小的场景,实现简单。 双缓冲队列 : 为里程计和激光雷达

    2024年01月20日
    浏览(6)
  • 使用扩展卡尔曼滤波(EKF)融合激光雷达和雷达数据(Matlab代码实现)

    使用扩展卡尔曼滤波(EKF)融合激光雷达和雷达数据(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 大多数自

    2024年02月09日
    浏览(38)
  • 激光雷达和相机数据时间同步的几种方法

    激光雷达和相机数据时间同步的几种方法

    图1图2为数据时间未校准,使用Matlab 2022b相机和激光雷达联合标定工具箱进行的联合标定(图1为使用4对jpg和pcd文件时的联合标定效果,图2为使用15对jpg和pcd文件时的联合标定效果);图3图4为数据时间已校准后,使用Matlab 2022b相机和激光雷达联合标定工具箱进行的联合标定(

    2024年02月03日
    浏览(7)
  • liosam 速腾激光雷达数据适配,timestamp位数不够

    liosam 速腾激光雷达数据适配,timestamp位数不够

    首先是时间,RS的点云的时间是绝对时间,所以不能用加法。 自定义一个sensor类型KJW,随便什么名,我后来改为RS32了,因为是robosense32线 修改过后,scan start和end差距过大,六十多秒。 这里的timestamp要double转float,这里有个古老知识要复习,float是32位,有23位是数字,为什么

    2024年02月02日
    浏览(9)
  • 基于机器学习和OpenCV的激光雷达数据分割和分类

    基于机器学习和OpenCV的激光雷达数据分割和分类

    背景 目前,先进传感器的使用使得在自然资源监测方面能够以高效的方式进行创新,激光雷达技术就是这样一种情况。激光雷达技术是GPS技术、惯性测量单元和激光传感器的集成结果,用于通过收集以三维坐标(x、y、z)呈现的数据来测量可变距离的范围。 这些数据用于定

    2024年03月17日
    浏览(7)
  • 使用KITTI数据集的激光雷达数据(数据预处理+数据集制作+训练)

    使用KITTI数据集的激光雷达数据(数据预处理+数据集制作+训练)

    目录 1.前言 2. 数据集简介 2.1采集区域 2.2采集平台 3. 激光雷达数据位置 4. 激光雷达数据标签含义 5. 数据预处理与训练 5.1配置openpcdet 5.2数据预处理 5.2.1数据集目录整理 5.2.2数据集格式转化 5.3训练 做激光雷达感知相关工作离不开数据集,激光雷达数据标注价格较高,可选的开

    2024年02月09日
    浏览(31)
  • 利用ArcGISPro/GeoScenePro从激光雷达数据中提取 3D 建筑物

    利用ArcGISPro/GeoScenePro从激光雷达数据中提取 3D 建筑物

            在本课程中,您将从激光雷达数据中提取信息。 激光雷达(激光探测及测距)是一项遥感技术,它利用激光对地球表面进行密集采样,以产生高精度的 x, y, z 点测量。 这些点的集合称为点云。         要从激光雷达数据中提取 3D 建筑物形状,您首先需要对点

    2024年04月26日
    浏览(9)
  • LD14雷达STM32F103C8T6获取LD14激光雷达数据

    LD14雷达STM32F103C8T6获取LD14激光雷达数据

    LD14 主要由激光测距核心,无线传电单元,无线通讯单元,角度测量单元、电机驱动单元和机械外壳组成。 LD14 测距核心采用三角测量法技术,可进行每秒 2300 次的测距。每次测距时,LD14 从一个固定的角度发射出红外激光,激光遇到目标物体后被反射到接收单元。通过激光、

    2024年02月08日
    浏览(5)
  • C# winfrom实例:四路激光测距雷达数据采集和波形图绘制

    C# winfrom实例:四路激光测距雷达数据采集和波形图绘制

       1.所述产品 产品型号: TFmini Plus 相关资料下载地址:http://www.benewake.com/download 产品名称:TFmini Plus激光雷达模组 制造商 公司:北醒(北京)光子科技有限公司  2.产品功能:TFmini Plus是基于TFmini的升级项目,它是一款小型化,单点测距的产品,基于TOF(飞行 时间)原理,

    2024年02月19日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包