![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
与激光雷达的邂逅
偶然的机遇,研究上了激光雷达,网上教程很少,0基础学起来真的很困难,想出一个专栏。
刚开始精力有限,先记录学习过程,等到后期再做一个完善的教程。
希望更多的人学的更好、时间花费的更少。
诗赋码上叨
这个作者很懒,什么都没留下…
展开
-
篇章6.1 使用直通滤波器对点云进行滤波处理
使用PCL(Point Cloud Library)库来实现激光雷达数据的滤波,就是应用PCL提供的算法和处理工具来对点云数据进行预处理,以去除噪声、异常值,优化数据质量,从而为后续的点云处理和分析任务提供更准确的数据基础。这里的关键参数就是“setFilterFieldName("z")”,和setFilterLimits(0,1),对z轴范围在(0,1)以外的点全部过滤掉。原创 2024-06-05 17:33:03 · 287 阅读 · 0 评论 -
篇章6.2 使用VoxelGrid滤波器对点云进行下采样
这个滤波的原理是:通过输入的点云数据,创建一个三维体素栅格(可想象为一个立方体),然后在每个体素(即立方体内),用体素中所有点的重心来近似显示体素中其他点,这样该体素内所有的点就用一个重心点最终表示。我们把下载好后的pcd文件放在build文件夹下,在我们编译完成后,build文件夹下会出现两个pcd文件,如下图所示。首先我们需要到官网下载。原创 2024-06-05 21:31:56 · 194 阅读 · 0 评论 -
篇章6.3 使用StatisticalOutlierRemoval滤波器移除离群点
激光雷达扫描出来的点不可能是非常完美的轮廓,一定会存在一些噪声点。我们可以通过上面这个滤波器,来实现对这些噪声点的去除。./statistical_removal会生成连个pcd文件。我们使用pcl_viwer打开。篇章6.2实现了如何滤除规定区域的点,本篇实现如何滤除周围的噪声点。原创 2024-06-12 22:56:49 · 201 阅读 · 0 评论 -
篇章6.4 使用参数化模型投影点云
这篇操作主要讲授如何将我们的点云投影到一个参数化模型上,简单来举一个例子就是在三维坐标系中选取一个面投影显示这些点,把得到的点显示出来。我们可以看到数值第三列z轴上的数值,在投影过后变为了0,代码中设置的参数为a=b=创建文件:project_inliers.cpp。最后并没有像官网教程一样得出三维坐标图像。创建文件:CMakeLists.txt。d=0,投影平面为X-Y平面。原创 2024-06-30 14:28:47 · 168 阅读 · 0 评论 -
遇见·激光雷达
我在某宝上进行搜索,发现卖激光雷达的都会配套卖一个转接板,准备将它拿下,但是一看价格98,确实让我不再嘻嘻哈了。凭着为数不多的经验,我需要一个类似于上位机的平台去对雷达进行控制,更需要一个转接板去搭建起激光雷达和电脑的桥梁,以至于两者间能够相互通信,达到信息传递的效果。但是当我找到网上的一些教程时,确实让我有些不知所措,因为我到底应该怎么样使用激光雷达,应该用这个东西干些什么事情呢。我第一次接触激光雷达,是老师给的一个A2M8,问题是,只有一个激光雷达引出了5根线,我该怎么玩转他。原创 2024-03-09 21:56:51 · 140 阅读 · 0 评论 -
再识·激光雷达
首先我个人认为激光雷达相当于一个TOF转起来了,TOF是可以测量前方障碍物的距离,而激光雷达变为测量它周围一圈的障碍物距离。那这样看来,好像是更广泛用到地图建模,那要怎么样才能玩出花样呢?1、虚拟机当中没有办法正常下载,报出的错误是“Unable to find the VMX binary 'E:\vmware-vmx.exe'.”进度好慢,自己去学一个会遇到很多麻烦,但是还没有人教的东西时,这个探索的过程真的是艰巨无比。上篇文章让雷达转了起来,这篇文章来想想怎么玩。原创 2024-03-25 17:45:59 · 122 阅读 · 0 评论 -
又遇·激光雷达
在一天的挣扎调试后,我开始怀疑人生,怀疑ros,怀疑大佬,是不是那条指令出了错?最初,拿到Unitree 4D Lidar的时候,商家带有一些读取点云的教程,但是在Windows下只可以读取数据,在ros下才能更改参数以及获取点云。在换了一台拯救者后,终于很顺利的装下了VM 17Pro,从网上下载好光盘映像后,终于成功开启了我第一个Linux系统。从网上翻各种教程,终于,折腾了一天之后,找到一位大佬,给出了一条指令(一键安装ros系统)。我又解锁了新认知,在ros里,还分ros1和ros2。原创 2024-04-12 11:58:28 · 236 阅读 · 0 评论 -
篇章五--Visualization
当我运行程序后,报了这样一个错误:Failed to find match for field 'rgba'.(希望有大佬可以指点一下)(1)渲染和设置视觉特性的方法(如颜色、大小、透明度等)在PCL任意n维的点云数据集pcl::PointCloud<T> format。(2)在屏幕上绘制基本的3D形状的方法(例如,圆柱体,球体,线,多边形等),无论是从点集或参数方程;官网给出了以下代码去实现,并没有交代更多的东西,有很多不懂的地方。1、首先,我不知道如何去运行这个程序,需不需要cmake文件?原创 2024-05-29 23:27:10 · 402 阅读 · 0 评论 -
篇章5.2 Visualization--如何可视化深度图像
是一个枚举类型,用于指定深度图像(RangeImage)的坐标框架。坐标框架定义了深度图像中像素的坐标系统,它可以是相机坐标系(CAMERA_FRAME)或激光坐标系(LASER_FRAME)。写在前面:小白学习激光雷达、PCL点云库,不懂Linux不懂c++,非常艰难的学着,做出学习笔记,希望能对小白起步有所帮助,也希望能够得到大佬的指点。既然PCL学的是点云库,那么我们最重要的是学习库函数,先搞明白干什么的,最后会用就可以了。1、在3D视窗中,以点云的形式进行可视化(深度图像来源于点云)。原创 2024-05-31 21:52:52 · 698 阅读 · 0 评论 -
篇章5.3 PCLVisualizer 可视化分类
我查看了一位博主的笔记后,发现与官网例程不同,该程序中没有这个namespace,100ms改为了100000。我尝试在官网程序中更改了这两处,最后成功运行了。介绍:PCLVisualizer可视化分类是PCL中功能最全的可视化分类,显示法线、绘制多种形状和多个视口等。显示没有这个namespace。原创 2024-06-01 17:32:26 · 196 阅读 · 0 评论