ROS学习笔记——PCL、点云 and ROS

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

*本篇简单介绍一下后续需要使用的PCL 

一、PCL 

PCL:point cloud library,即点云库。用于2D/3D的图像/点云信息处理。在PCL官网(http://pointclouds.org/)可以获取更多的信息。

对于3D点云处理来说,PCL完全是一个的模块化的现代C++模板库。其基于以下第三方库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。

从算法的角度,PCL是指纳入了多种操作点云数据的三维处理算法,其中包括:过滤,特征估计,表面重建,模型拟合和分割,定位搜索等。每一套算法都是通过基类进行划分的,试图把贯穿整个流水线处理技术的所有常见功能整合在一起,从而保持了整个算法实现过程中的紧凑和结构清晰,提高代码的重用性、简洁可读。为了进一步简化和开发,PCL被分成一系列较小的代码库,使其模块化,以便能够单独编译使用提高可配置性,特别适用于嵌入式处理中。


二、点云

点云是用于表示多维点集合的数据结构,通常用于表示三维数据,在3D点云中,这些点通常代表基础采样表面的X,Y和Z几何坐标。下图是在rviz中可视化的点云数据:


三、ROS和PCL

ROSPCL点云滤波 硬件:Kinect2、UR5。 软件:Ubuntu16.04、ROS kinetic。 未经处理的Kinect点云包含噪声、视野范围太大,所以需要对其进行处理。我采用了直通、半径、体素三种方式。 以下内容纯属个人学习,如有错误,欢迎指正,不胜感激!! 1、PCL滤波学习 官方教程:http://pointclouds.org/documentation/tutorials/index.p... 阅读详情

相关推荐

学习笔记PCL点云库的基本使用

点云是一种能够直观地表示和操作3D传感器所提供数据的方式,这类传感器包括深度摄像头和激光雷达。该类传感器在三维坐标参考系下对空间进行有限点集采样构成点云。通俗的来说,点云就是分布在三维空间的有限个点,这些点具体化的表示了三维传感器所采集到的数据,我们可以很容易的通过点云来查看空间中物体的位置。

qq_59475883的博客 1万+

【C++】ROSpcl_ros包使用与点云转换示例

pcl_ros包使用与点云转换示例

DevFrank的博客 4114

perception_pcl理解 --- pcl_conversions 与 pcl_ros

本篇文章记录了下 pcl_conversions 包中 include/pcl_conversions/pcl_conversions.h 文件里常用的一下数据类型转换的函数。 其wiki上的链接为: http://wiki.ros.org/pcl_conversions?distro=noetic 将其下载下来,看代码,发现,这个文件里有3个命名空间,分别是 pcl_conversions, pcl, 与ros。其中常用的数据类型转换的函数在前两个命名空间中。 1 PCL的时间戳 与 ros的时间戳 间的

李想的博客 7495

ros2+pcl入门范例

rosnode list #查看节点 rosnode kill #杀死节点 rosnode cleanup #清除无法访问节点的注册信息:杀死kill杀不死的节点。

sinat_21699465的博客 2853

被鱼粉直呼小鱼牛逼的代码,来看ROS2如何进行点云PCL处理(订阅、转换、保存)

昨天在交流群里有个鱼粉问小鱼关于ROS2订阅点云数据和使用PCL相关的问题。记得小鱼最早接触PCL是大一的时候,至今已经过去了多年。 ROS1里PCL相关程序很多,但是在ROS2相关的代码和例程目前还没有写过,针对这一问题,小鱼接着国外大佬的代码,做了一个叫做ROS2代码模板文档,复制粘贴,不要太爽。 接着说回点云,主要分享点云订阅,发布,生成,以及Cmake配置。 完整的相关代码可以到社区(fishros.org.cn)搜索点云。 前置安装 sudo apt install ros-你的ROS版本代号-p

生活不止眼前的苟且 6316

PCL学习笔记(一):环境安装

PCL学习笔记(一)Realsense安装ROSPCL的简单使用修改点云RGB颜色PCL滤波参考博客 在ROS中完成PCL处理,记录学习过程 Realsense安装 官方源码:https://github.com/IntelRealSense/realsense-ros 参考博客:【Gazebo】UR3 添加 Realsense d435 深度相机 采用源码安装,放进/realsense_ws/src目录下 $ sudo apt-get install ros-melodic-realsense2-ca

Sakurazzy的博客 2369

ROS入门——PCL激光雷达点云处理(1)

4.27更新 一、创建节点发布点云数据并可视化 1、在ros工作空间的src目录下新建包(包含依赖项) catkin_create_pkg chapter10_tutorials pcl_conversions pcl_ros pcl_msgs sensor_msgs 3、在软件包中新建src目录 rospack profile roscd chapter10_tutorials m...

weixin_40820983的博客 1万+

ROS知识点——生成点云,发布、订阅ROS点云话题

生成点云,发布、订阅ROS点云话题

qq_46515446的博客 8288

11.2 PCLROS获取激光雷达的点云数据及处理

5、.bashrc文件在用户的home文件夹(/home/USERNAME/.bashrc)下。二是记住左栏发布的Topic后的/livox/lidar,这两个内容是后面PCL读取数据需要的。其实很简单,分三步走就可以:首先是通过ROS打开激光雷达,查看PCL配置需要的信息。以下代码也有个地方要改为/livox/lidar,在这里已经修改好了,如果你们的topic不同,则自己需要修改。,在这里,直接写读取激光雷达数据的步骤(和博址有略微的差别)。若打开后没有雷达返回的数据,则将左栏的设置为第一步的信息。

weixin_71719718的博客 5047

pcl的初步使用(ROS)

ROS里面已经预装好了pcl,和一些与pcl之间的转换,我们接下来看看如何在ros里面使用pcl

海贼王 3万+

C++点云PCL基础ROS代码

一、概念 1、点云的结构公共字段 PCL包含一个重要的数据结构,被设计成一个模板类,把点的类型当做模板类的参数。 header:pcl::PCLHeader 记录了点云的获取时间 points:std::vector<PointT,...>储存所有点的容器 width:指定点云组织成图像时的宽度 height:指定点云组成图像时的高度 is_dense: 指定点云中是否有无效值 sensor_origin_:是Eigen::Vector4f类型,传感器相对于原点平移所得的位姿

HUASHUDEYANJING的博客 4399

ROS点云类型sensor_msgs::PointCloud2与PCL的PointCloud<T>点云类型转换

ROS中sensor_msgs::PointCloud2类型定义;与PCL的PointCloud点云数据类型转换;moveFromROSMsg()函数解析;点云格式转换中的注意事项。

木卫三的博客 1万+

ROS——基于PCL实现点云处理

git clone https://github.com/Irvingao/IPM-mapping-ros.git # catkin_create_pkg IPM-mapping-ros rospy rosmsg roscpp 编译 cd ~/your_ws catkin_make -DCATKIN_WHITELIST_PACKAGES="IPM-mapping-ros" 打开Realsense发布点云数据

Irving.Gao的博客 6390

ROS中使用PCL

ROS点云的数据类型 在ROS中表示点云的数据结构有: sensor_msgs::PointCloud sensor_msgs::PointCloud2 pcl::PointCloud<T> 关于PCLros的数据的结构,具体的介绍可查 看wiki.ros.org/pcl/Overview 关于sensor_msgs::PointCloud2...

D学习中- 3421

ROS下使用PCL处理点云话题

ros下使用pcl点云

m0_46448663的博客 1690

ROS-创建、发布和显示PCL点云

文章目录1 PCL创建点云2编写节点发布点云3显示点云 1 PCL创建点云 //定义点云类型 pcl::PointCloud<pcl::PointXYZ> cloud; // 添加点云数据 cloud.width = 50000; cloud.height = 2; cloud.points.resize(cloud.width * cl...

明夷TEC的博客 4920

点云PCL从入门到精通》不完全学习笔记

我认为快不快速,在原理上的差别在于:PFH是计算邻域内所有点的统计结果,FPFH是先计算一组(但是这个一组是怎么个范围,不是很清楚),再用计算结果表示邻近点的直方图;首先,指定一个维度以及该维度下的值域,其次,遍历点云中的每个点,判断该点在指定维度上的取值是否在值域内,删除取值不在值域内的点,最后,遍历结束,留下的点即构成滤波后的点云。因此,泊松曲面重建比上述方法更可取,因为它们会产生非平滑结果,因为点云的点也是生成的三角形网格的顶点,无需任何修改。它为源点云中的每个点计算到目标点云中最近点的距离。

weixin_43245498的博客 1944

PCL库的学习笔记1:怎么在ROS系统中使用PCL

学习资料包括: 怎么在ROS系统中使用PCL ROSPCL的总体介绍 PCL库的官方教程和进阶 1.怎么在ROS系统中使用PCL 1. 创建包 在工作空间的src文件夹下创建新库,PCL的主要依赖库名字是pcl_conversions pcl_ros而不是pcl catkin_create_pkg my_pcl_tutorial pcl_conversions pcl_ros roscpp sensor_msgs 修改package.xml文件,有些依赖不能创建的时候直接指定?CMakeList.

SSchawn的博客 3452

ROS中利用pcl库编程(详细)

1 引言 最近在做用激光雷达建图的课题,需要在ROS系统下进行编程,其中涉及到很多对点云数据处理的算法,例如降采样、地面分割等。在点云数据处理上,目前pcl库(Point Cloud Library) 已经有了很好的支持和实现,在ROS编程时可以直接引入利用,但需要做必要的链接和转换,本文针对如何在ROS中实现pcl库的使用问题进行探讨。 参考原文博客:如何在ROS中使用PCL–数据格式(1) 参...

qq_42367689的博客 9639
上一篇: ROS学习笔记——函数部分
下一篇: ROS学习笔记——PCD点云在rviz中显示
jcsm__
博客等级 码龄9年 124粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值