激光雷达扫描技术在堆料体积智能测量中的应用研究

2021-10-25 03:35张富泉
科学技术创新 2021年30期
关键词:扫描仪树莓激光雷达

罗 云 张富泉

(中国铁建港航局集团有限公司,广东 广州 511442)

随着工业的快速发展,人们对仓库堆料库存的测量技术有了更高的要求,测量过程中的效率和精度是人们关注的焦点。在机器视觉图像处理、超声波测距、激光雷达探测等多种测量技术中,基于激光雷达探测技术的测量方法在测量速度、精度、抗干扰能力等方面有着独特的优势,因此在多个领域获得了广泛的应用[1]。目前,拌合站的堆料(骨料、砂)的库存管理主要是通过地磅过磅记录来确定入库量,拌合站生产记录来确定消耗量。而对于库存盘点基本是通过人工手动测量来估算,用铲车将堆料平整成规则形状,再通过皮尺测量相关的参数来估算堆料的体积。人工手动测量不仅测量效率低,而且精度不高,对仓库的日常管理带来了极大的不便。

本文将激光雷达扫描技术引入堆料体积智能测量的研究领域,在行走小车上安装激光扫描仪,获取仓库中所有库位堆料的三维点云数据,对这些点云数据进行校准和筛选,结合仓库库位的场地参数,得到完整的三维模型,再计算模型体积即可算出堆料的体积。激光雷达可全天候工作,不仅测量效率高,而且精度可靠,为拌合站的库存管理提供了可靠的技术手段。

1 激光雷达技术测量原理

1.1 单点激光测距原理

单点激光测距的基本原理是飞行时间原理(time-of-flight,TOF),又称时差法。激光发射器发出发射光脉冲,内部计时器记录开始时间;激光脉冲达到物体表面后发生发射,发射光脉冲回到激光发射器时,内部计时器记录结束时间,则由公式(1)可计算得到激光发射器到物体表面反射点的距离。

式中t1——开始时间;

t2——结束时间;

c——光速常量;

L——激光发射器到物体表面反射点的距离。

1.2 二维激光扫描原理

激光扫描仪中的旋转光学结构按一定角度间隔(即角度分辨率)连续不断地发射激光脉冲,在扫描角度内的各个方向形成一个径向坐标为基准的二维扫描面,如图1 所示。扫描仪将每个角度分辨率测得的距离组合成一条扫描结果,我们称之为帧点云数据。

图1 激光扫描仪结构及二维扫描面

得到帧扫描结果后,以扫描仪位置为原点,扫描角度内90°方向为Y 轴,0°方向为X 轴。根据扫描仪的初始扫描角度、角度分辨率、扫描仪到物体每个测点的距离,通过以下公式(2)计算得到平面坐标(xi,yi) 。

式中α——初始扫描角度;

β——角度分辨率;

i——点的序号;

L——激光发射器到物体表面反射点的距离。

1.3 堆料三维扫描原理

在堆料的上方安装平直的扫描轨道,行走小车沿着轨道缓慢匀速地前进。扫描仪固定在行走小车下方,垂直向下扫描。设置扫描的扫描频率为100Hz,随着行走小车的缓慢匀速前进,扫描仪每秒可产生100 帧的点云数据。以行走小车的前进方向为轴,将所有帧的点云数据组合在一起,即形成三维空间的点云数据。

2 系统设计

2.1 系统的组成

堆料体积激光雷达智能测量系统由五个部分组成,分别是行走小车、行走小车控制后台、点云数据存储服务器、三维成像解析后台、前端操作界面,如图2 所示。

图2 系统组成示意图

2.1.1 行走小车。行走小车上装有树莓派(Raspberry Pi,一种卡片式计算机)、激光雷达扫描仪、行走电机等设备,响应控制后台发送的控制指令,向控制后台反馈小车当前运行状态,将点云数据发送到存储服务器。

2.1.2 行走小车控制后台。给行走小车发送各种控制指令,如开始扫描任务、小车前进、小车后退等,并根据小车返回的运行状态信息,动态调整控制指令。

2.1.3 点云数据存储服务器。接收点云数据并存储。

2.1.4 三维成像解析后台。对点云数据进行一系列的校准和筛选,构建堆料表面的三维曲面,结合仓库库位的场地参数,得到完整的三维模型;计算模型体积,得到堆料的体积;将三维模型和体积数据发送到前端操作界面。

2.1.5 前端操作界面。前端操作界面包括行走小车的操控界面、三维模型呈现界面和体积数据显示界面。

2.2 行走小车的控制原理

行走小车搭载的主要设备有树莓派、激光雷达扫描仪、行走电机、4G 路由器、锂电池、起点行程开关和终点行程开关。

2.2.1 树莓派。负责接收用户的相关指令,通过继电器控制行走电机的正反转、扫描仪的开关、充电桩的开关,采集扫描仪产生的帧点云数据并上传,监控锂电池电量。

2.2.2 激光雷达扫描仪。扫描堆料表面,并生成帧点云数据。

2.2.3 行走电机。通过正反转来控制小车的前进或者后退。

2.2.4 4G 路由器。为树莓派、激光雷达扫描仪提供通信网络。

2.2.5 锂电池。为树莓派、激光雷达扫描仪、移动电机、4G 路由器提供电源。树莓派实时监控锂电池的电量,当电量不足时可自动控制行走小车连接充电桩充电。

2.2.6 起点行程开关和终点行程开关。监控小车是否到达起点或者终点,为树莓派提供决策依据。

当行走小车控制后台向行走小车发送“开始任务”的指令后,行走小车的工作流程如图3 所示。行走小车断开与充电桩的连接,开启激光雷达扫描仪,小车前进过程中实时采集点云数据。当行走小车到达终点时,关闭激光雷达扫描仪,行走小车回到起点,并停止运行。激光雷达扫描仪工作过程中产生点云数据并上传到点云数据存储服务器。

图3 行走小车的控制流程

3 测量过程

3.1 场地的布设情况

莞番十一标预制梁场拌合站堆料仓库的1 号仓至8 号仓用于存放堆料,9 号仓为机械存放区,如图4 所示。以堆料仓中部的立柱为支撑,在立柱上方焊装一条工字钢导轨,贯穿1 号仓至8号仓。起点设置在9 号仓内,终点在1 号仓。充电桩设置在9 号仓和8 号仓之间的立柱上。导轨两边设置了多条标定线,平行于导轨且间隔为6 米(图4 中的黑色虚线)。

图4 堆料仓库示意图

3.2 点云数据的获取

开始任务后,行走小车启动激光雷达扫描仪并沿着轨道缓慢匀速地前进。扫描仪固定在行走小车下方,垂直向下扫描。激光雷达扫描仪的扫描频率设置为100Hz。行走小车搭载的树莓派通过TCP/IP 网络通信协议获取点云数据,并缓存在Redis 数据库中,再将数据打包发送至点云数据存储服务器。

3.3 点云数据的分仓处理

由堆料仓库示意图可知,导轨支撑立柱即为每个库位的分隔标志。分析帧点云数据,判断帧点云数据是否含有导轨支撑立柱,如图5 所示。以立柱作为仓位区分依据,将所有帧点云数据分成0-9 组,编号1-8的帧点云数据组分别对应8 号仓至1 号仓。因导轨的起点在9 号仓内,故编号为0的帧点云数据组可以舍弃。

图5 点云数据分仓处理

判断帧点云数据是否扫描支撑立柱的计算方法:帧点云数据在-5°至25°之间的所有点X 坐标小于特定距离的置信水平>95%。

3.4 帧数据的噪点分析与初校准

点云数据具有数据量大、冗余度高等特征。由于仓库现场环境的复杂度、激光雷达扫描仪行走过程中的振动、随机误差等因素,需要对帧点云数据进行预处理,删除噪声帧点云数据和离群帧点云数据。将道格拉斯-普克算法(Douglas-Peucker algorithm)应用到帧点云数据的处理中[2],结合场地参数,通过一定的判定规则,从帧点云数据中识别出标定线、墙、地面、堆料,如图6 所示。

图6 帧点云数据识别物体

行走小车移动过程中的晃动会导致扫描结果出现偏移,因此需要通过标定线、墙体、地面为参照,标定线和地面水平,墙体竖直,对帧点云数据进行初校准处理。初校准前和初校准后的对比如图7 所示。

图7 初校准前后对比图

3.5 帧与帧之间的图像匹配

激光雷达扫描仪的扫描频率较高,可以近似认为点云数据帧与帧之间的变化不大,通过帧与帧的图像匹配,对帧点云数据进一步校准。除第一条帧点云数据外,所有的帧点云数据都和前一帧的点云数据进行fast-DTW 算法匹配,得到匹配偏移dp和匹配衰减系数wp;除最后一条帧点云数据外,所有的帧点云数据都和后一帧的点云数据进行fast-DTW 匹配,得到匹配偏移da 和匹配衰减系数wa。如果衰减系数wp或者wa都在规定的阈值内,则当前帧的匹配偏移。如果衰减系数wp或者wa小于阈值的匹配,则认定为无效。计算方法如下:

3.5.1 通过fast-DTW 算法计算匹配矩阵[3]

将点的角度作为X 轴,点的距离作为Y 轴,设置fast-DTW的搜索半径,通过fast-DTW 迭代算法得到匹配矩阵M,矩阵M的搜索路径参考如图8 所示。

图8 矩阵M的搜索路径

3.5.2 评估匹配效果,即计算衰减系数[4]

当矩阵M中最优路径的对角直线越长,拐点越少,则说明两帧点云数据的匹配效果越佳。本文使用公式(3)计算衰减系数。

当a 小于一定的阈值时,认为匹配效果不佳,取消应用。

式中a——衰减系数;

diagi——每段对角直线的长度;

count——图中最优路径节点个数。

3.5.3 计算匹配偏移d

在矩阵M中最优路径中,提取出对角直线上的所有节点Mij,其中i 代表第一帧点云数据中对应的点序号,j 代表第二帧点云数据中对应的点序号,根据这两个点所在的角度分辨率,可以计算他们之间的夹角。最后求出所有对角直线上节点对应夹角的算术平均值,即是匹配偏移d。

3.6 单帧特征点提取与多帧点云数据聚类分析

对帧点云数据再次应用Douglas-Peucker 算法,提取出每个帧的特征点,如图9 所示,箭头所指即为特征点。

图9 特征点提取

对于多帧点云数据,采用聚类分析[5],在保证计算精度的情况下,降低三维模型的计算规模以提高计算速度。将整个仓库的所有帧点云数据按100 帧分成一小组,对每一组的帧数据进行聚类分析(均值漂移),提取特征点的X 坐标和Y 坐标。对于这一组的所有帧数据的Z 坐标认为是相同的,如计算公式(4)。

式中istore——库位编号;

Wstore——当前库位的宽度;

Wgap——库位之间的间隔的宽度;

Cgroup——库位内所有帧点云数据的分组数量;

igroup——当前的组号。

3.7 生成三维曲面

根据场景的初始设定,将校准后的点云数据剔除仓库外区域、墙、地面等无效点云数据,只保留有效的堆料表面点云数据。基于逐层三角网格化算法,生成三维曲面。这种算法将提取后的特征点,采用投影网格化法来快速构建点云间拓扑关系,生成如图10 所示的三维曲面,这种方式重建的曲面可较好地还原物体表面细节[6]。

图10 三维曲面生成

3.8 堆料模型构建与体积计算

根据场景参数,为三维曲面添加底面和四个侧面,并计算出所有三维网格点的顶点法线,形成完整的堆料模型。基于三角格网模型的四面体体积计算算法来计算模型体积,可有效提高复杂表面目标物的体积计算精度[7]。先计算模型的中心点,遍历每个三角片,计算顶点和三角片组成的四面体体积;如果三角片的面法线方向与顶点和三角片构成的任一棱的方向相反,则体积为正数,否则为负;最后,所有四面体体积累加的结果即为堆料模型的体积。

4 结果分析

为不断促进制造业的升级转型,积极响应项目部提出的信息化和智能化赋能预制梁场的总体要求,笔者将激光雷达技术应用到莞番十一标预制梁场拌合站的堆料库存管理。在为混凝土备料期间,部分库位的堆料只进不出,结合地磅过磅记录,对系统测量值进行误差分析。系统得到测量结果和实际的堆料体积误差一般不超过±1‰,具有较高的精度。

5 结论

堆料智能体积测量系统在有限的经济预算内,可实现堆料体积的自动化测量。与传统人工测量方式相比,显著提高了测量效率和测量精度,为预制梁场堆料库存管理提供了科学有效的技术手段。后续,笔者将考虑将堆料库存测量结果与预制梁场生产信息化系统对接,更加智能地实现物料需求计划、物料实际用量和物料偏差(损耗)分析,再结合经济订货模型,实现生产物料的科学采购和库存管理。

猜你喜欢
扫描仪树莓激光雷达
便携式膀胱扫描仪结合间歇性导尿术在脑卒中合并神经源性膀胱患者中的应用
激光雷达实时提取甘蔗垄间导航线
法雷奥第二代SCALA?激光雷达
融合激光雷达与超声波数据的障碍物检测方法
Ouster发布首款全固态数字激光雷达
黄金水果红树莓
树莓红了 游人醉了
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)
用保鲜膜保护超声扫描仪提高猪场生物安全性