基于嵌入式Linux与深度视觉的井下多轴机械臂系统设计
2023-01-09杨鹏民
杨鹏民
(中煤陕西榆林能源化工有限公司,陕西 榆林 719000)
煤炭是我国一次性消费能源中经济可靠的资源,一直在我国能源生产总量和消费总量中占据重要地位,是我国能源安全的压舱石[1-3]。煤矿智能化作为目前煤炭工业高质量发展新阶段的核心技术支撑,代表着煤炭生产力和生产方式革命的新方向[1,4],对于提升煤矿安全生产水平、保障煤炭稳定供应具有重要意义[3]。
目前,与煤矿成套采掘装备技术相比,我国煤矿辅助作业自动化水平远落后于国外采煤发达国家,煤矿井下辅助作业的人力成本约占煤矿开采总人力成本的3/4,导致煤矿开采间接成本过高[5,6]。井下辅助架管是煤矿辅助开采的重要组成之一,国内外对于煤矿井下辅助管道安装设备的研究较少,大多数矿企仍采用传统人工安装。宋和义[5]基于传统机械手爪和钻机设计经验,研究设计了一种集运管、架管、接管、固管为一体的煤矿巷道架管装备。该文献是从机械结构的角度设计架管设备,进而实现少人化操作。陈瑞云等[6,7]进一步开展了辅助架管机械手爪的优化设计。但是,上述文献中研究的辅助管道安装的架管机主要进行了结构设计与运动学分析,仍属于理论研究阶段,仅通过仿真和理论分析验证设计的有效性,未形成设备样机并结合煤矿井下实际巷道场景开展实验分析。因此,研究直接应用于实际煤矿井下辅助管道安装设备对于降低人力成本,提高辅助作业自动化水平具有重要意义和经济价值。
本文研究设计了一种应用于实际煤矿井下的辅助管道安装的煤矿井下多轴机械臂系统,并基于实际煤矿井下巷道接管场景,进行接管环境三维重建与管架目标识别实验分析。
1 多轴机械臂感知与控制系统
在实际井下辅助作业场景中,为实现有效感知井下巷道状态和准确辅助接管,本文基于嵌入式Linux操作系统、多源传感器信号采集,分析与融合处理、多轴液压机械臂及其控制系统,智能算法等技术,设计研发了多轴机械臂感知与控制系统。该系统包含三个子系统:整机控制系统,多轴液压机械臂控制系统和多源信息感知与处理系统。
整机控制系统作为核心,同时连接多轴液压机械臂控制系统,多源信息感知与处理系统和远程服务端。远程服务端通过有线或无线通信向多轴机械臂系统下发动作控制指令,整机控制系统将接收到的指令进行解析,随后通过与机械臂各部分的通信接口对进行控制,如多轴液压机械臂动作控制、机械臂工作模式与参数选择等,在无远程服务端下发控制指令情况下,整机控制系统将按照预设程序进行机械臂控制,通过多轴液压机械臂控制系统实时采集、分析和处理机械臂压力、位移、角度等传感器的动态反馈数据,并根据反馈数据结合机械臂闭环PID控制算法完成机械臂动作控制和位置调整,构建针对多轴液压机械臂的动作闭环控制系统,同时系统将根据传感器的反馈数据实现对机械臂运行状态的实时监控与异常状态预警。整机控制系统还将从多源信息感知与处理系统获取井下巷道环境状态数据,如温度信息、湿度信息、甲烷浓度等参数,并对异常环境状态数据进行预警;此外,多源信息感知与处理系统还将采集红外视频图像和激光雷达点云数据处理后经整机控制系统上传至远程服务端,服务端基于图像和点云数据进行巷道管架目标识别后,反馈下发机械臂控制指令,调整机械臂动作。
1.1 整机控制系统
本文设计的整机控制系统功能架构如图1所示,共分为底层硬件,通信接口,系统应用,指令交互和控制单元五层结构。
图1 机械臂整机控制系统架构
1.1.1 整机控制系统硬件设计
整机控制系统采用高性能ARM Cortex-A9架构内核的四核心NXP i.MX6Q处理器[10,11]作为控制系统核心单元,该处理器每个核心的主频高达1.2GHz,并拥有1MB L2 Cache,支持DDR2、DDR3内存,还拥有丰富的存储器和外设接口,它的外围电路设计简单,能够有效降低开发难度和成本。基于NXP i.MX6Q处理器的整机控制系统硬件结构如图2所示。系统硬件中的NOR Flash用于存储嵌入式Linux操作系统的U-boot,eMMC闪存用于存储操作系统,存放可执行程序与数据,最高可支持32GB容量。以太网接口用于实现网络环境下的程序升级,与远程服务端交互以及后期功能的扩展。多路DAC控制接口用于实现机械臂油缸、液压马达等部分动作控制。压力传感器、位移传感器、角度传感器等通信接口均采用模拟量输入采集接口。CAN总线,RS232/485通信接口用于和多轴机械臂其他执行机构和模块连接交互。
图2 机械臂整机控制系统硬件结构
1.1.2 整机控制系统软件设计
机械臂整机控制系统软件设计是基于嵌入式Linux操作系统实现的,得益于Linux系统的开源生态,拥有大量基础支持软件包,常见的通信接口都拥有稳定的协议驱动包,使应用程序开发更佳便捷高效。基于辅助接管操作的需求,整机控制系统软件需实现的功能程序主要有:传感数据采集与处理、指令数据收发与解析、机械臂动作控制、机械臂状态分析、上下级数据交互、异常报警以及数据实时分析等功能。整机控制系统软件架构如图3所示,基于图3架构设计的系统软件框架如图4所示。
图3 基于嵌入式Linux系统的整机控制系统软件架构
图4 整机控制系统软件设计框架
1.2 多轴液压机械臂控制系统
本文设计的多轴液压机械臂控制系统功能架构与整机控制系统架构类似,如图5所示,共分为底层硬件,通信接口,系统应用和指令交互四层结构,整机控制系统作为上位机或者遥控器向机械臂控制系统下发控制指令。
图5 多轴液压机械臂控制系统功能架构
液压机械臂控制系统的硬件结构与整机控制系统相似,如图6所示。机械臂控制系统软件架构与整机控制系统相似,整机控制系统与机械臂通过USB2.0接口通信,下发机械臂控制指令。本文机械臂控制系统的工作流程如图7所示。
图6 多轴液压机械臂控制系统硬件结构
图7 多轴液压机械臂控制系统工作流程
1.3 多源信息感知与处理系统
该系统主要实现两个功能:①感知井下巷道环境状态数据,如温度信息、湿度信息、甲烷浓度等参数,并对异常环境状态数据进行预警;②采集红外视频图像和激光雷达点云数据处理后经整机控制系统上传至远程服务端,服务端基于图像和点云数据进行巷道接管环境三维重建与管架目标识别后,反馈下发机械臂控制指令,调整机械臂动作。多源信息感知与处理系统硬件结构如图8所示,硬件核心仍采用高性能的四核心NXP i.MX6Q处理器,系统设计的多种通信接口用于采集多种传感器数据,温湿度,瓦斯浓度传感器采用RS485通信接口;激光雷达传感器采用海伯森科技的HPS-3D160面阵固态激光雷达传感器,可采用USB通信和RS232通信获取点云数据;设计的以太网通信接口用于获取红外摄像机采集的图像数据。
图8 多源信息感知与处理系统硬件结构
系统的软件设计与与整机控制系统相似,仍是基于嵌入式Linux系统进行软件设计,软件架构与图3所示相似。多源信息感知与处理系统软件设置3个任务:①与整机控制系统间交互,通过USB通信接口与整机控制系统连接,接收数据采集与上传指令,根据采集指令调节各传感器,激光雷达和红外图像数据采集的频率,同时根据整机控制系统下发的数据上传指令,实时上报所需传感器数据;②按照设定的传感器数据采集频率,依次采集各传感器数据并存储于本地数据硬盘;③对采集到的传感器数据进行数据清洗等预处理,对异常数据进行预警并主动上报整机控制系统。
本文设计的多轴机械臂感知与控制系统目前已实际应用于煤矿井下的管道辅助安装。
2 巷道接管环境激光扫描与管架目标识别
2.1 激光雷达点云数据处理与降采样
激光雷达扫描作为正在快速发展的新型测绘技术,能够快速,准确的获取三维空间信息[12,13],在许多人工智能的应用场景中发挥了重要作用。激光雷达传感器通过发射激光线束来探测物体的距离,同时光束打到不同物体上会形成不同强度的回波,多线束激光按照一定的规矩进行扫描,形成三维环境的点云图。受环境以及采集设备等因素影响,往往会造成采集到的点云数据中存在噪声和离群点[12]。此外,采集的原始高密度点云数据用于后续的分析处理,会带来巨大计算量和消耗大量硬件资源,增加系统负荷,降低处理效率。因此,对采集到的原始点云数据需进行噪声剔除和降采样处理[14]。
煤矿巷道背景下的管架点云图实例如图9所示。从图9中能够看出物体的大致轮廓,管道托架、传送带托架等,且不同颜色表示不同的回波强度。但是物体轮廓较模糊,且由于传感器形成的数据存在噪声,即点云中形成离散点云,同时地面传送带对管道目标的检测也存在干扰。点云数据中噪声分为一般噪声和离散噪声[15,16],均值滤波能够对一般噪声进行去噪[16],其基本原理是在建立三维点云拓扑关系基础上,对选取的点云数据点的领域内所有点进行加权,利用均值代替点云数据点。针对离散噪声,需进行离散点滤波[17,18],采用基于K近邻的去噪方法,首先根据待处理的点云数据,构造KD-tree,建立点云拓扑关系;然后,设定一参考点,计算参考点和K近邻的平均距离,距离公式为:
式中,k为KD-tree的近邻系数,N(q)表示参考点q的K近邻;其次,根据设定的经验阈值,对平均距离d大于阈值的数据点进行剔除,小于阈值的保留;按照上一步操作循环处理所有点云数据为止。
图9 煤矿巷道背景下的管架点云图实例
为进一步展示去噪处理的效果,噪声背景下巷道点云数据均值滤波去噪处理实例如图10所示,其中,左侧图片为包含噪声的点云数据,右侧图片为经过去噪处理后的点云数据。实例表明,激光雷达扫描通常会产生密度不均匀的点云数据,测量中的误差也会引起稀疏的离群点,使用均值滤波能够去除明显离群点,滤除测量噪声。
图10 噪声背景下点云数据均值滤波处理实例
巷道点云数据经离散点滤波后去除巷道空间的离散点云实例如图11所示,激光点云噪声的存在使局部点云特征(如曲面法线或曲率变化)的估计变得复杂,从而导致错误的值,进而可能导致点云配准失败;离散点滤波通过对每个点的邻域进行统计分析,并对不符合统计结果的点进行删除,进而增强了点云数据特征。
图11 巷道点云数据经离散点滤波后去除巷道空间的离散点云实例
针对点云降采样,本文采用经典的体素栅格降采样算法[14],能够在降采样的同时不破坏点云数据的几何特性,该算法通过在三维空间坐标系中建立体素栅格,再将点云数据放入栅格,在三维立方体内用体素中所有点的质心代替体素中其他点。采样步骤如下[14]:
1)基于点云数据坐标集合,计算X、Y、Z三个坐标轴上的最大值X_max、Y_max、Z_max和最小值X_min、Y_min、Z_min;设置体素小栅格的边长r。
2)根据X、Y、Z三个坐标轴上的最大和最小值来求点云最小包围盒的边长l_x、l_y、l_z,计算公式如下:
l_x=X_max-X_min
(2)
l_y=Y_max-Y_min
(3)
l_z=Z_max-Z_min
(4)
3)计算体素网格的尺寸,计算公式如下:
Dx=⎣l_x/r」
(5)
Dy=⎣l_y/r」
(6)
Dz=⎣l_z/r」
(7)
式中,⎣」表示数据向下取整。
4)计算点云中每个在体素小栅格内的索引h,计算公式如下:
hx=⎣(x-X_min)/r」
(8)
hy=⎣(y-Y_min)/r」
(9)
hz=⎣(z-Z_min)/r」
(10)
5)将h中的元素进行递增排序,计算每个体素小栅格质心,以质心代替小栅格内的所有点。
2.2 基于图像和点云数据的管架目标识别
为有效识别煤矿井下巷道环境中管架目标,将识别结果反馈给机械臂,完成辅助管道安装,分别采用机械臂上安装的红外摄像机采集的图像和安装的激光雷达采集的点云数据研究两种管架目标识别方法,一种是基于图像和YOLOv4网络的管架目标识别,另一种是基于激光雷达点云数据和机器学习分类器的管架目标识别算法。这两种识别方法目前各自单独与机械臂配合使用。
2.2.1 基于图像和YOLOv4网络的管架目标识别
YOLO网络[9,19]是一种目前使用较多的基于One-Stage思路的目标识别算法,YOLOv4网络是YOLO网络的改进版,YOLOv4 能够降低训练门槛,大幅度提升了算法的效率和识别精度,还降低来对硬件性能的要求[19]。YOLOv4网络的结构[19]由四部分组成:输入,主干网络,颈部,头部。网络结构中的CSPDarknet53作为骨干网络增加了卷积神经网络 (CNN)的学习能力,即便将模型轻量化,也能够保持准确性,同时去掉计算量较高的计算瓶颈结构,并且降低内存占用。Neck部分的主要作用在于能够扩大感受野以及融合不同尺度特征图的信息(更好地进行特征融合)。SPP和 PANet分别作为Neck的附加模块和特征融合模块;YOLO HEAD模块作为预测模块,使用CIOU loss函数[19]。由于本节采用YOLOv4网络进行目标识别的技术相对成熟,许多研究者采用其成功实现目标识别,其网络结构和使用方法相似,因此,本节简要概述使用该网络进行管架目标识别的过程和结果。
本文将红外摄像头采集的视频流进行切片获得巷道中管架和管路的图像,首先对图像数据进行划分处理,选取有管架目标的有效图像并人工标注管路与管架,作为训练集训练YOLOv4目标检测网络,最后利用训练好的目标检测网络对测试集进行管架目标识别。实际井下巷道管架识别效果如图12所示,表明该网络能够有效识别管路(红色方框内)与管架(绿色方框内)。
图12 巷道管架与管路识别效果
2.2.2 基于激光雷达点云数据和机器学习分类器的管架目标识别
为实现有效的煤矿井下巷道环境中管架目标识别,将识别结果反馈给机械臂,完成辅助管道安装。本节研究一种是基于激光雷达点云数据和机器学习分类器的管架目标识别算法。为本文提出的管架目标识别流程如图13所示。
图13 基于点云数据和机器学习分类器的管架目标识别流程
1)激光点云数据采集和处理。对于原始点云数据,根据2.1节描述的处理方法,需进行预处理。
2)原始点云数据中,包含大量巷道墙面,传送带以及其他物体等背景点云数据,影响,目标识别,因此,需将背景点云数据过滤掉,非背景点云进行分割用于提取管路和管架模型。本文采用随机抽样一致性算法(Random sample consensus,RANSAC)[20,21]来去除背景点云数据。
3)通过点云聚类从非背景点云数据中提取待分类目标,把具有相似属性的数据点划分为同一簇,每一簇点云数据则代表对应类别的目标物体。本文采用经典的K-means聚类算法[22]进行点云聚类。
4)目标识别特征提取。基于第三步聚类得到的点云簇,进行特征提取。提取的特征共有7种(参考自文献[19,23]):F1,点云簇内数据点数,不同大小的物体对其扫描得到的点云数有一定差异;F2,目标物体到激光雷达的距离;F3,目标物体的长度;F4,目标物体的宽度;F5,目标物体的高度;F6,目标物体的高度与长度比;F7,目标物体的高度与宽度比。
5)基于第4步提取的特征构建目标识别特征集,并划分训练集和测试集,训练集特征数据用于训练机器学习分类器,获得管架和管路目标识别模型,测试机特征数据输入训练好的目标识别模型,输出目标识别结果。
本节采用煤矿井下实际管道与管架激光点云数据进行实验验证,手动对非背景点云数据进行聚类标注,提出40个管路目标和50个管架目标。然后对这90个目标提取7种(F1—F7)特征。分别随机选取20个管路目标和25个管架目标的特征样本作为训练集,剩余作为测试集。本文选用了经典的机器学习分类器用于管路和管架目标识别,分别是支持向量机(SVM),K最近邻(KNN),随机森林(RF),朴素贝叶斯(NB)和Softmax分类器。管路与管架目标识别准确率的对比如图14所示,其中,采用RF分类器时的识别准确率最高,管路和管架的识别准确率分别可达95.67%和87.67%,验证了本节提出的管路和管架识别方法的有效性。
图14 管路与管架目标识别结果对比
图15 不同特征维数下的目标识别结果对比
为进一步验证本文选用的7种特征的优势,进行了不同维数特征下的目标识别对比,对比结果如图15所示。根据图中所示结果能够看出,选取F1—F5这五种特征时,目标识别准确率最低,其次是F1—F6这六种特征下的识别准确率。因此,选取本文使用的F1—F7这7种特征,再结合随机森林分类器,能够实现有效的管路和管架识别,具有实际应用的潜力。
3 结 语
本文研究设计了一种应用于实际煤矿井下的多轴机械臂系统,主要包括两个方面:①基于高性能NXP i.MX6Q处理器,嵌入式Linux操作系统、多源传感器信号采集,分析与融合处理、多轴液压机械臂及其控制系统,智能算法等技术,设计研发了多轴机械臂感知与控制系统;②基于机械臂感知与控制系统采集的激光雷达点云数据和红外视频图像,分别提出基于图像与点云数据的管架目标识别方法,红外图像结合YOLOv4目标检测网络,能够有效实现管路和管教目标识别与自动标注,激光点云数据结合机器学习分类器也有效实现了管路和管架目标识别,在选用7种特征和RF分类器时,管路和管架识别准确率分别可达95.67%和87.67%。表明所提出方法的具有较大的应用潜力。