APP下载

智慧矿山中激光雷达点云处理研究与应用

2023-10-24于继明宋佳宁孙叶新刘兆

物联网技术 2023年10期
关键词:散料激光雷达数据包

王 辉,徐 楠,于继明,宋佳宁,孙叶新,刘兆

(1.金陵科技学院 智能科学与控制工程学院,江苏 南京 211169;2.金陵科技学院 机电工程学院,江苏 南京 211169)

0 引 言

目前,国内外智慧矿山建设聚焦于智能开采,实现少人、无人的智能化采矿是当前国际采矿界研究的热点。由设备生产厂商主导,一些智能化采矿系统已经投入实际应用。中国传统采矿业正在面临新一代信息技术的挑战和洗礼。目前国内工业散料的抓取主要依靠人工对机器的操作,物料抓取的多少需要工人自己判断,同时还很有可能混有很多的杂质,容易造成物料的浪费,增加了很多的人工与材料成本。

为了解决上述问题,以及实现少人或无人的机器操作与散料抓取,本文研究激光雷达点云数据处理,使机器能够通过对散料进行三维扫描确定散料的体积与分布情况,并通过程序根据要求实现无人操作抓斗行车[1-2],实现高精度的散料抓取[3],同时减少抓取散料中杂质的占比。这样将大大减少人工与材料的成本,提高效率。

目前国外的激光雷达产业起步较早,竞争日益激烈,其中Velodyne 在机械式雷达方面具有显著优势,占有较大份额;但国内固态激光雷达领域还没有公认的成熟解决方案,所有企业基本是齐头并进地竞争,所以这个领域的国产厂商有望超车。在微电子技术方面,国外片上系统和芯片级组件等技术极大提高了天线的集成度;微加工技术可实现系统级封装,可以在一个或几个晶片上实现一部高频段有源相控阵天线。行业内对更小体积、更低成本、更高性能的追求使得微系统与雷达的结合成为必然趋势[4]。激光雷达包含发射单元、接收单元、扫描单元以及数据处理单元。三维扫描激光雷达能够主动获取目标的三维信息,其高速数据采集与传输是目前国内三维实时成像的技术瓶颈之一[5]。从产业链的角度看,我国激光雷达产业链完备,各环节都有参与者跟随国际领先厂商发展。国外厂商在上游光源、探测器和光束操纵等领域具有优势。综合来看,激光雷达领域国外厂商布局较早,已经掌握了比较成熟的技术;国内厂商紧追不舍,产品的精度和价格占据优势,且仍有初创公司不断加入,未来国内市场的竞争将会更加激烈。全球知名市场研究与战略咨询公司Yole Intelligence 近期发布的《2022 年汽车与工业领域激光雷达报告》指出,中国已经发展出一个重要的激光雷达生态系统,并在物流发展、智能基础设施建设、机器人驾驶和配送方面产生对激光雷达的强大且多样化的需求[6]。

目前激光雷达可使用ToF(Time of Flight)法、FMCW(Frequency Modulated Continuous Wave)法及三角测距法等进行测距,ToF 和FMCW 测距法能够在室外阳光下实现较远的测程(100 ~250 m),是车载激光雷达的优选方案。ToF 法是目前市场车载长距激光雷达的主流方案,适用场景广,无论被摄物体有无特征点,环境光较强或较弱,都可获得有效的景深信息;较远距离时精度也较高,可以达到厘米级的水平[7]。

1 系统设计

1.1 总体介绍

在智慧矿山中,为了实现对干散料的精准抓取,尝试用雷达采集数据,进行三维建模;设计合理的抓取算法,对干散料进行最优抓取。其中,点云数据处理的研究与应用以激光雷达为基础,采用激光雷达扫描采集工业散料的分布情况,通过Visual Studio 2022 和MATLAB 软件进行三维建模,将采集的信号处理为图像,显示并发送给系统。激光雷达包含发射单元、接收单元、扫描单元以及数据处理单元。本文采用飞行时间测量法(ToF),在激光雷达发出激光脉冲时开始计时(t1);当激光遇到目标物体光返回,接收端停止计时(t2),距离=光速×(t2-t1)/2。系统总体设计如图1 所示。

图1 智慧矿山中激光雷达点云处理系统总体设计

1.2 软件平台

目前由于计算机技术有限,不能将大规模的点云数据一次性导入内存,需要对点云数据进行重新组织。在可视化过程中,对点云数据进行实时调度,不断地在内存和外存之间实现数据切换。随着用户的交互、视点位置的改变,将落入可见区域的数据读入内存,同时释放不在显示区的数据,其中数据的组织是可视化的前提。对于点云数据处理技术,PCL(Point Cloud Library)是一项独立的、大型的处理二维/三维图像和点云数据的开源工程,后来渐渐发展为一个独立的函数库。PCL 库可以实现大规模点云的显示、缩放、漫游。PCL 包含了许多先进算法,比如滤波、特征估计、表面重建、模型拟合和分割等,由于它是一个模块化的现代C++模板库,文中采用Visual Studio 2022 的C++编程库对点云数据进行解析处理。Visual Studio 2022 界面如图2 所示。

图2 Visual Studio 2022 软件界面

2 激光雷达点云采集与处理技术

2.1 激光雷达介绍

文中激光雷达装有16 对激光发射接收模组,电机以5 Hz(或者10 Hz、20 Hz)转速驱动进行360°扫描,其测距方式采用脉冲式,测量范围为70 ~200 m,测距精度为±3 cm。采用飞行时间测量法(ToF),在激光雷达发出激光脉冲时开始计时(t1),当激光遇到目标物体时返回,接收端停止计时(t2)。距离计算公式:距离=光速×(t2-t1)/2。

文中使用的16 线激光雷达如图3 所示。图4 展示了2°(左)和1.33°(右)激光雷达示意图。图5 显示了激光雷达坐标系和扫描方向。

图3 C16 激光雷达

图4 2°(左)和1.33°(右)激光雷达示意图

图5 激光雷达坐标系和扫描方向

EC20 Mini PCIe 采用标准封装,同时支持LTE,最大的上行速率为50 Mb/s。它支持接收分集技术,通过多输入多输出技术(MIMO)降低误码率,改善通信质量。

2.2 雷达的系统连接

首先,我们将雷达与上位机连接并配置雷达,用Windows 软件显示点云。通过上位机软件设置雷达IP 地址为192.168.1.101,设备端口号为2369,数据包端口号为2368。设置电脑IPv4 地址为192.168.1.102,连接雷达后电脑使用Wireshark 软件抓取设备ARP 包进行分析,以便于查看雷达的以太网配置信息。本系统中雷达采用UDP/IP 的通信协议。

图6 为雷达和电脑的连接示意图,图7 是雷达IP 地址、数据包端口号及设备端口号设置情况。图8 展示了雷达扫描后点云在上位机中的显示情况。

图6 雷达和电脑连接

图7 设置IP 和端口

图8 上位机软件显示点云

2.3 点云数据处理

雷达支持单播、广播和组播通信。雷达数据输出和配置使用UDP/IP 通信协议,UDP 包长均为1 248 B。数据包的数据采用小端模式。数据包输出点云的角度值、距离值、强度值、时间戳等测量数据。数据包包括42 B 以太网包头和1 206 B 的有效载荷,有效载荷由1 200 B 点云数据channel data(12 个100 B 的数据块block)和6 B 的附加信息(4 B的Timestamp 和2 B 的actory)组成。

16 线小型化雷达有两种不同的垂直角度分布,其每个通道数据对应固定的垂直角度(以2°的垂直角度相隔,达到-15°~15°的30°垂直视场角),采用笛卡尔坐标表示,通过获取雷达的垂直角度、水平角度和距离参数,可将极坐标下的角度和距离信息转化到右手笛卡尔坐标系下的X、Y、Z坐标,转换关系表达式为:

式中:r为距离;α为垂直角度;θ为水平旋转角度(计算时需要考虑水平修正角度);X、Y、Z为极坐标投影到x、y、z坐标。

解析点云数据:(1)解析数据包,获得每一线的相对水平角度、测距信息、强度数据和微秒时间戳信息;(2)读取设备包,获取水平修正角度值、UTC 时间(GPS 或NTP 授时)和设备当前状态配置等信息;(3)依据雷达光束分布得到每一线的垂直角度;(4)根据点云数据的测距值、垂直角度以及计算后的水平角度,得到XYZ坐标值;(5)如果需要,通过UTC 时间、微秒时间戳、雷达每一线发光时刻和单双回波模式,计算点云数据的精确时间。

单回波模式时,一次单点激光发射测量一次回波数据。一个点云数据包包含12 个数据块,每个数据块包含2 组按照打包顺序测量的16 个通道点云数据,每个数据块只返回一个方位角,每个方位角输出2 组数据,如图9所示。

图9 16 线单回波数据格式

为得到每个点云的XYZ空间坐标、角度、所属通道、距离的信息,定义一个通道i(从0 至15)为整数类型,对应{-15,1,-13,3,-11,5,-9,7,-7,9,-5,11,-3,13,-1,15}共16 个通道,在存放激光雷达采集的原始数据中得到点云的角度lidar_angle和距离lidar_dist,设为float类型。随后采用笛卡尔的转换关系,得到XYZ空间坐标,具体实现算法如图10 所示。

图10 点云空间坐标解析

2.4 点云滤波

在利用三维激光雷达扫描仪扫描目标时,会受到扫描设备、周围环境、人为扰动、目标特性等因素的影响,使得点云数据无法避免地存在一些噪点[8],导致数据无法正确表达扫描对象的空间位置,为此设计一种高效的点云小尺度噪声滤波算法。利用PCL 库通过C++实现点云滤波。目前数据平滑滤波主要采取的是中通滤波、高斯滤波、均值滤波以及中值滤波。这里采用简单高效的直通滤波技术。首先,指定一个维度以及该维度下的值域;其次,遍历点云中的每个点,判断该点在指定维度上的取值是否在值域内,删除取值不在值域内的点;最后,遍历结束,留下的点即构成滤波后的点云[9]。直通滤波实现代码如图11 所示。

图11 直通滤波

2.5 点云数据的保存与显示

C++将处理后的点云坐标数据(点云的XYZ空间坐标、角度、所属通道、距离)写入txt 文件中,保存格式如图12所示。

图12 点云数据格式

3 MATLAB 绘制图像

对于处理完的点云数据集,需要进行绘图,而与其他的计算机高级语言相比,选择MATLAB 有着许多非常明显的优势。MATLAB 允许用户以数学形式语言编写程序,用户在命令窗口中输入命令即可直接得到结果;并且用MATLAB画图,数值计算高效快速,还能够对符号进行计算;对于繁杂的数据处理也非常高效,省去用户通过复杂手段处理数据的步骤。MATLAB 能够将处理结果以图形方式展现出来,将结果可视化,方便用户更好地对数据进行分析。由于它是用C 语言开发的,所以它的流程控制语句与C 语言中的相应语句几乎一致。MATLAB 软件能够对试验获取的点云进行预处理,降低无关因素对图像的影响,为后续三维重建奠定基础[10]。

采用load(‘Test1.txt’)读取txt 文件的方法,绘制点云图像。对采集的点云数据进行处理后,绘制图像结果如图13所示。

图13 MATLAB 绘制点云数据图像

4 结 语

本文开展了智慧矿山中激光雷达点云处理的研究与应用,采用激光雷达,扫描获取矿山工业现场的散料三维空间分布情况,运用PCL 库通过C++语言实现点云数据的滤波与处理;采用MATLAB 软件进行三维建模,将采集的信号图像化后发送给系统,根据三维特征分布进行精准抓取,实现工业散料自动抓取的功能。基于激光雷达的三维采集,实现少人或无人的机器操作与散料抓取,既能减少抓取散料中杂质的占比,提高效率,也能使相关从业人员的安全得到保障。

猜你喜欢

散料激光雷达数据包
手持激光雷达应用解决方案
法雷奥第二代SCALA?激光雷达
阿联酋Etihad铁路货场散料重力式卸料系统工艺浅析
基于激光雷达通信的地面特征识别技术
SmartSniff
基于激光雷达的多旋翼无人机室内定位与避障研究
海洋钻井散料系统设计分析
多功能汽车散料接收站的设计
自升式钻井平台散料系统生产设计浅析
视觉注意的数据包优先级排序策略研究