孔德明,张 娜,黄紫双,陈晓玉,沈 阅
(1.燕山大学 电气工程学院,河北 秦皇岛 066004;2.燕山大学 信息科学与工程学院,河北 秦皇岛 066004;3.秦皇岛燕大智能信息技术有限责任公司,河北 秦皇岛 066000)
随着工业的快速发展,人们对工程测量技术有了更高的要求,测量过程中的效率和精度是人们关注的焦点。在多种测量手段中,基于激光雷达探测技术的测量方法在测量速度、精度、抗干扰能力等方面有着独特的优势,因此在多个领域获得了广泛的应用[1]。
目前港口主要利用摄像设备对装载散杂货物的列车车厢进行检测作业,但该检测技术存在一些不足。一方面车厢装卸货区域灰尘较多、光照不足、水汽含量高,在此环境下难以获得良好的图像信息,且摄像头长时间曝光存在图像畸变问题,造成其直接检测结果不准确,无法实现对车厢载货体积的高精度测量。另一方面该检测技术获取数据的自动化程度较低,检测过程需要工作人员实时监控摄像设备传输回来的图像信息[2]。而激光雷达探测技术不存在上述缺陷,为高精度检测车厢载货体积提供了新思路、新方法。
本文将激光雷达探测技术引入车厢载货体积检测的研究领域。二维激光扫描仪与OPC_Client系统联合解算,获取列车车厢在重车与空车状态下的三维点云数据,利用投影法对重车载货面处三维点云数据构建出的Delaunay三角网进行分割,将车厢载货总体积量等效为集合体的体积,计算所得集合体体积,进一步搭配轨道衡系统完成对厢内货物的品质分析。本文提出的方法能够实现对车厢货物的体积测量,且这种获取点云数据的方法相较于直接利用三维激光扫描仪进行获取具有低成本的优势,为港口货物的自动化检测和科学管理提供了可靠的技术基础。
选取高精度二维激光扫描仪作为测量元件,如图1所示,扫描仪发射激光束照射到车厢上表面,通过接收表面反射回来的光束,获取激光束的回波角度和反馈时间,通过计算得到x轴与y轴上距离探测数据的位置坐标数据(d,β),其中d表示激光发射点与车厢表面之间的距离值,β是扫描仪发射出的激光束在其扫描平面与x轴正向的夹角,根据
(1)
将扫描仪获取到的数据从极坐标形式转换到直角坐标形式[3]。OPC_Client系统通过采集车厢的状态信息获取其沿y轴方向的运动状态数据,与上述得到x轴与z轴上的距离探测数据进行联合解算,得到车厢的三维点云数据。
图1 获取x轴、z轴上距离探测数据
Fig.1 Distance detection data obtained onxaxis andzaxis
扫描仪与OPC_Client系统解算得到的车厢三维点云数据呈离散分布,直接计算厢内的载货体积较为困难,因此需要将其转化成集合体的形式进行求解。首先,通过构建Delaunay三角网把三维点云数据转化成连续的网格结构,接着将重车载货面处的三角网依次向对应的空车底面投影,得到若干个集合体。如图2所示,根据投影高度h的不同将集合体大致分为4种:a)四棱锥,b)凸五面体,c)四面体与凸五面体结合,d)两个四面体结合。投影三角形顶点坐标为A1、B1、C1,投影后对应的各顶点坐标为A、B、C,投影高度分别为h1、h2、h3,且h1≤h2≤h3,集合体体积用VT表示。
1)设底为三角形ABC的直三棱柱体积为V(h),是关于投影高度h的一个线性函数,V(h1) ≤VT≤V(h3),连续且单调递增。V(h)计算式为
V(h)=SΔABC·h。
(2)
2)设存在h0,使得此高度下的直三棱柱体积等于分割得到的集合体体积。由V(h1)≤VT≤V(h3)可得h1≤h0≤h3。又因函数连续且单调递增,所以h0存在且唯一。
3)易得出存在的h0为三角形A1B1C1质心。综上所述:车厢载货量分割得到的任意集合体,其体积均可等效为投影三角形质心所在平面向底面平面进行投影处理得到的直三棱柱体积[4]。
图2 投影处理得到的四种集合体
Fig.2 Four kinds of projective polyhedrons
若要实现快速、高精度地检测车厢载货体积,关键在于获取车厢的三维点云数据并对其进行优化处理和计算分析。其主要步骤如图3所示,分为以下几步:二维激光扫描仪实时扫描车厢轮廓、OPC_Client系统采集车厢状态信息、联合解算生成车厢三维点云数据、构建车厢Delaunay三角网、计算车厢载货体积、判定货物品质[5]。
二维激光扫描仪对车厢上表面反射回来激光束的回波角度与距离值进行判定[6],获取重车与空车状态下车厢在x轴与z轴方向上的两组距离探测数据,装配于轨道上的OPC_Client系统解算得到车厢沿y轴方向的运动状态数据,与上述获取到的距离探测数据联合解算得到车厢的三维点云数据。经下采样处理及去除冗余点处理后,对重车载货面处与空车内表面处的点云数据分别构建Delaunay三角网,从而得到车厢的上顶面和下底面。上顶面三角网中的各三角形向下底面投影,将车厢载货量转化为投影三角形为顶面的三棱柱所组成的集合体体积[7],计算所有集合体体积并进行累积求和得到车厢的总载货体积,最后与轨道衡提供的重量数据计算厢内所载货物的体密度参数并判定其品质优劣。
图3 载货车厢体积检测流程图
Fig.3 Flow chart of detection for volume of freight carriages
基于二维激光扫描仪搭建车厢载货体积的测量系统平台[8],系统主要由二维激光扫描仪、OPC_Client系统、现场总线、工业以太网、数据采集工作站、交换机、定位车数据采集系统、轨道衡系统和生产管理系统组成,如图4所示。
测量原理:工业现场利用安装于翻车机房进出口的二维激光扫描仪对重车与空车状态下的车厢进行实时扫描,现场总线采集扫描设备获取到的实时数据并传输给交换机。利用工业以太网交换机完成数据采集工作站与二维激光扫描仪间的无冲突联系通信,满足所获取到的信息具有实时性的要求。同时OPC_Client系统采集车厢沿其运动方向的状态信息,与二维激光扫描仪获取到的扫描数据共同输入到数据采集工作站中联合解算,得到列车车厢的三维点云数据[9]。
除此之外,轨道衡系统提供厢内货物的重量数据,在数据处理系统中与计算得到的车厢载货体积求解货物的体密度参数,该参数可作为货物品质优劣的评价依据。生产管理系统负责发送进车信息和接收厢内货物的体积数据,通过对列车车厢行进状态的实时判定,可获取翻车循环周期并对列车车厢的实际工作状态进行及时调整,从而实现整个工业生产系统的有序运作[10]。
图4 测量系统示意图
Fig.4 Schematic diagram of measurement system
二维激光扫描仪和OPC_Client系统共同组成测量模块,获取车厢的三维点云数据。图5 (a) 所示是扫描仪在多视角下的结构示意图,根据实际需求,选取操作简便的U型夹与无需增加焊点的H型钢对设备进行安装固定,该固定方式结构强度高、同时兼备设计灵活、环保、省工省料的优势。图5 (b) 是工业现场的安装示意图,扫描仪安装于翻车机房重车入口和另一侧空车出口的顶部中心线位置,获取车厢在x轴与z轴方向上的两组距离探测数据,箭头指向为车厢的实际行进方向,扫描仪在车厢的行进过程中对夹角角度为γ范围内的车厢上表面进行实时扫描[11]。沿y轴方向的运动状态数据由OPC_Client系统提供,两部分数据共同求解得到车厢的三维点云数据。
图5 激光扫描系统布设位置示意图
Fig.5 Schematic diagram of laser scanning system position
图6 (a) 和图6 (b) 分别是车厢在重车与空车状态下的原始三维点云数据,该数据点密集,呈离散不规则分布,且在部分边缘区域存在冗余噪声点。
大多数用激光扫描仪直接获取到的点云数据较为密集,且存在大量的冗余点,对后续计算车厢载货量造成较大干扰,因此点云数据的预处理阶段必不可少[12]。
3.2.1下采样处理
保证点云数据模型特征不丢失的前提下,测试选取最佳的下采样间隔对原始三维点云数据进行简化处理[13]。如图7 (a) 和图7 (b) 所示,经下采样处理后重车与空车状态下三维点云数据密度大幅度降低, 提高了后续三维建模与数据计算的效率。
3.2.2去除冗余点处理
图8 (a) 是空车状态下的三维点云数据,方框部分标记出干扰后续车厢载货量计算的三根横梁,为提高计算精度,剔除方框内的冗余点[14],对其余点进行保留。经过这样的处理方法得到图8 (b),此时得到的点云数据基本不包含冗余点,无关点对车厢载货量计算的干扰较小,运算精度得以提高。
图6 原始状态下的三维点云数据
Fig.6 3D point cloud in the original state
图7 下采样处理后的三维点云数据
Fig.7 3D point cloud after down-sampling processing
图8 去除冗余点处理前后空车状态下的三维点云数据
Fig.8 3D point cloud of a vehicle with empty cargo before and after removing irrelevant points processing
平面中定义一点集Q,Q={Qi|i=1,2,…,j},且j≥3。V(Qm)= ∩H(Qm,Qn),(1≤n≤j,m≠n),即V(Qm)表示比其余点更接近Qm的点的轨迹是j-1个半平面的交,它是一个不多于j-1条边的凸多边形域,称为关联于Qm的Voronoi域。Q中任意一点均可作为一个Voronoi多边形,如图9 (a)所示,这样的j个Voronoi多边形组成的图形称为Voronoi图[15]。
由Voronoi图衍生得到Delaunay图,且二者互为对偶。图9 (b) 中对每条非边界的Voronoi边作其中垂线,得到的即为Delaunay三角剖分[16]。基于格网划分的Delaunay三角网的具体构网步骤如下[17]:将获取到的杂散点云数据进行格网块划分,按照划分逆序对格网块内的数据点依次构建Delaunay三角网。构网过程中受相邻格网中数据点影响的三角形与邻近三角形暂时保存,完成构建的三角网结果保存入数据库;合并临近的Delaunay三角子网并进行优化处理,改进过后符合条件的三角形仍按照上述步骤中的构网规则进行处理;直到完成格网中所有Delaunay三角网的构建[18],图10所示是按上述步骤构建完成的重车载货面处的Delaunay三角网,该网格结构连续且较为规则。
重车载货面处Delaunay三角网中各三角形向空车底面处投影,将投影三角形映射到厢内底面平面上,经过这样的处理方法,车厢的总载货体积转化为三角网中各个进行投影处理的三角形为顶面的三棱柱所组成的集合体体积。如图11所示,任取其中的一个集合体介绍体积求解过程[19]:
1) 计算映射到空车底面处的各三角形面积s:在仅知道三角形各顶点坐标数据的情况下,采用海伦公式计算三角形面积较为高效:
(3)
式中,s为所求集合体底面三角形面积。a、b、c分别表示底面三角形各条边长,p为半周长,各参数均可通过已知的三角形顶点坐标数据计算求得。
图9 Voronoi 图和 Delaunay图
Fig.9 Voronoi diagram and Delaunay diagram
图10 重车载货面处Delaunay三角网
Fig.10 Delaunay triangulation of a vehicle with bulk cargo
图11 投影得到的集合体示例
Fig.11 An example of a projective polyhedron
2) 计算投影三角形到投影平面之间的垂直高度h:三角形各顶点坐标数据分别为(x1,y1)、(x2,y2)、(x3,y3),重车载货面处三角网中各三角形的质心坐标为
(4)
3) 计算集合体体积[20]:整列车厢的总载货体积等效为三角网中各个投影三角形为顶面的三棱柱所组成的集合体体积,整列车厢的总载货体积为
(5)
式中,单个集合体体积vi为上述计算得出的底面积s与投影高度h二者的乘积,V是所有集合体的体积总和,即为车厢的总载货量。
4) 验证测量精度:任取两列车厢分别计算其载货量。如图12(a) 和图12 (b) 所示,对选取的两列车厢构建重车载货面处Delaunay三角网,三维视角下显示两列车厢的拟合程度较高,厢内货物的高度与形态大致相同,仅在部分边缘区域略有差异,由此估计两列车厢的体积测量结果应较为相近。经计算得出车厢1的载货体积为65.89 m3,车厢2的载货体积为65.82 m3,测量结果与估算结果获得了良好的一致性,具有较高的精度。
以C80车厢为例,在搭建的实验系统中测量车厢载货体积,表1中将测量得到的一组实验数据与标准尺寸进行比较。经计算与分析得出,测量重车状态高度时误差最小,仅为-0.036%,其余测量得到的长度、宽度、高度与标准尺寸的误差在-2.54%到+1.65%之间。标准车厢的容积为87 m3,计算得出此列车厢的载货总体积量为71.48 m3,不超过车厢的最大容积量。同时另选取多组车厢进行测量,实验结果如表2所示,均符合实际要求。
图12 重车载货面处Delaunay三角网比较
Fig.12 Comparison of Delaunay triangulation of vehicles with bulk cargo
表1 车厢标准尺寸与实际测量尺寸比较
Tab.1 Comparison of the standard size of the carriage with the actual measurement size of the carriagemm
标准尺寸重车状态尺寸空车状态尺寸最大宽度3 1843 1033 135最大高度2 7502 7492 739最大长度10 75610 92410 934
表2 多组车厢测量结果分析
Tab.2 Analysis of the measurement results of multiplesets of carriages
车厢序号宽度误差/%高度误差/%长度误差/%体积/m31-1.270.132.0771.692-1.700.441.6871.313-2.13-0.351.7073.604-1.600.142.0471.845-0.931.551.3174.54
经上述分析,在此实验系统中可以完成对列车车厢载货体积的测量,且计算所得结果最大误差一般不超过±2.5%,具有较高的精度。
根据碳化程度煤炭可大致分为褐煤、烟煤和无烟煤三种。图13是相机拍摄列车车厢在重车状态下的图像,厢内装载的煤炭外观呈灰黑色,表面较暗且光泽感不强。上述步骤计算得出此列车厢的载货总体积量为71.48 m3,轨道衡通过对卸货前后车厢进行称量,得出厢内货物质量为80.06 t,结合上述参数计算得到此列车厢所载煤炭的体密度参数为1.12 t/m3。据此判定该车厢内所载货物为烟煤。
图13 重车状态下的图像
Fig.13 The image of a vehicle with bulk cargo
本文提出的测量方法涉及了扫描仪测量、图像处理、数据解算分析多方面的知识:采用激光雷达探测技术获取车厢点云数据,通过对所得点云数据简化、构网、分割、计算得出车厢的载货体积,并结合轨道衡提供的质量数据判定货物的品质优劣。
在搭建的实验测量系统中对多组载货车厢进行体积测量,实验测量结果与实际的标准尺寸误差一般不超过±2.5%,具有较高的精度。利用任取的两组实测数据验证所得结论,结果表明测量结果准确可信。