井下钻探作业危险程度高、劳动强度大,目前井下钻杆装卸作业主要由人工完成,劳动强度大且存在较大安全风险,研发具备钻杆自动装卸功能的智能钻机十分重要。智能钻机可替代人工作业,实现井下钻杆装卸及钻探作业无人化,钻杆视觉识别定位是钻杆自动装卸过程的关键技术之一。
中煤科工集团重庆研究院有限公司(简称中国煤科重庆研究院) 设计研发的ZYWL—4000Y智能钻机如图1 所示,结构紧凑、操作灵活、机动性好,可显著减轻工人劳动强度和提高作业安全系数,具有经济效益高、可靠性强等特点。该钻机具有基于深度学习的钻杆识别定位系统(简称钻杆识别定位系统),通过图像识别定位钻杆目标,提升钻杆定位效率与精度;与六轴机械臂结合,可实现机械臂末端位置引导,提升钻杆抓取速度,有效解决机械定位方式的钻杆装卸效率较低、目标随动性差等问题。
钻杆识别定位系统研发
钻杆识别定位系统采用深度学习算法,该算法视觉定位速度快,目标泛化能力强,通过大量钻杆图像样本训练深度学习模型,相比于传统机械定位方式,具有智能化程度高、定位速度快等优点。系统由自动控制、手动控制、图像采集、网络训练和坐标获取5 个功能模块组成。硬件部分由钻杆抓取机械手、计算机、深度相机组成,其中,相机获取到钻杆的深度图和RGB图像后,通过USB协议将信息传递至计算机,计算机采用深度学习算法定位钻杆目标,并将定位信息通过TCP通信回传系统,然后将控制指令推送至智能钻机的指定寄存器内;机械手接收到控制指令后,在定位坐标的引导下,移动至钻杆目标上方,抓取钻杆目标。
SSD 深度学习模型
目前,智能钻机搭载的工业计算机缺少高功耗的图形计算芯片,因而钻杆识别模型需满足参数少、检测速度快等特点。SSD (Single Shot Multi-BoxDetector) 深度学习模型为单次多框快速检测模型,检测速度快、目标特征融合性强,满足井下环境恶劣、设备可靠性高等要求,SSD 算法构建的钻杆检测模型结构如图2 所示。
SSD 模型输入分辨率为300×300 DPI 的三通道RGB钻杆图像,通过VGG-16 的卷积结构进行特征提取,融合检测不同尺度特征图,然后采用非极大值抑制算法输出检测结果;通过5 组卷积结构和池化操作,最终采用全连接层获取特征向量,并与模型定位部分相结合,获取钻杆坐标值。
钻杆定位模型流程如图3 所示,采集不同钻杆图像样本,对图像中的钻杆目标进行人工标注获得训练样本;将样本按照7∶3 分为训练集和测试集,训练和测试SSD模型;训练好的模型部署于自动钻机的工控机中,实现对钻杆箱内钻杆目标的视觉识别。
需求分析
采用UML (Unified modeling language) 用例图,表达钻杆识别定位系统需求,包含管理员和系统用户2 个角色。管理员可授权用户并执行系统维护、系统管理和数据保存任务;用户可进行用户注册、系统登录、自动控制、手动控制、图像采集、网络训练和钻杆坐标获取等,以满足钻杆识别定位的基本需求。钻杆识别定位系统用例图如图4所示。
软件设计
根据系统需求分析,钻杆识别定位系统软件分为6 个功能模块:用户管理、自动控制、手动控制、图像采集、网络训练、坐标获取,如图5 所示。
(1) 用户管理模块
分为“管理员”和“用户”2 种权限,采用分级权限管理,定义不同角色权限、可操作功能等。
(2) 自动控制模块
自动实现钻杆目标的识别定位,然后将定位画面显示于操作界面,并将坐标数据发送至执行终端,以引导机械臂移动至钻杆上方指定位置。
(3) 手动控制模块
包含实时画面显示功能,可通过人为控制方式操作机械臂运动;可在自动控制过程中发生异常时及时调整系统,保证系统正常运行。
(4) 图像采集模块
捕捉钻杆图像,并通过色偏检测及颜色矫正算法,增强原始图像,以提高钻杆识别效率。
(5) 网络训练模块
选取不同数据集训练模型,并手动将新采集样本持续融入到数据集中,再通过CUDA技术加速模型训练过程,提升模型的准确率。
(6) 坐标获取模块
获取钻杆目标坐标并导出数据,实现机械臂运动位置引导和数据保存功能。
应用试验
模型训练
采集钻杆图像样本后,对样本进行标注,生成包含目标坐标和类别的标注文件;随机选取70%的样本中作为训练集,另外30%为测试集,并将配置信息保存于txt 文件中,由训练程序读取;采用mAP(mean Average Precision) 作为指标,评估模型性能,模型迭代次数为500,迭代过程中快速收敛,最终准确率稳定为0.93。
软件功能模块实现
软件功能共分为5 部分:自动控制、手动控制、图像采集、网络训练和坐标获取。其中自动控制和手动控制为系统的主要执行部分,图像采集、网络训练和坐标获取功能模块为辅助部分。
用户可在注册登录界面通过填写注册表单的方式向管理员发起注册请求,管理员可对系统后台信息进行管理。自动控制模块的软件界面和时序分别如图6、图7 所示,图6 中界面左侧为各功能模块切换按钮,界面右侧为具体模块操作空间。
(1) 自动控制模块
操作界面中心为相机实时画面,算法调用后台深度学习模型,实时识别定位画面中钻杆目标,并返回结果;模块下部为定位启动、停止和钻杆抓取功能;机械手根据检测结果,移动至钻杆上空指定位置,为钻杆抓取做准备;右端下拉选项框可选择不同的定位模型,以提升检测效率。
(2) 手动控制模块
用户可开启图像显示功能,并人为干预机械臂的运动状态,手动设置钻机钻进参数等;手动控制优先级高于自动控制,手动控制信号发至智能钻机客户端,在软件调试和现场出现异常时发挥重要作用。
(3) 图像采集模块
采集当前钻杆图像并保存,采用色偏检测及颜色矫正方法增强处理图像;增强后的图像特征更为明显,可提高弱光照场景下的图像质量,有利于提升模型的检测效率。
(4) 网络训练模块
用户可选择不同的数据集对定位模型进行训练,得到相应的权重参数,也可在钻机作业过程中采集新数据集,对原模型进行再训练,进一步提高钻杆识别精度;同时,用户可通过网络训练模块调取计算平台的CUDA加速功能,手动调整学习率、批处理大小和模型迭代次数等参数,实现深度模型的快速训练。
(5) 钻杆坐标获取模块
可直接获取当前图像中钻杆的坐标值,并保存数据。
试验验证
中国煤科重庆研究院制造中心进行了钻杆识别定位系统现场定位试验,测试其在现有智能钻机上的应用,如图8 所示。试验过程中,采用图像识别算法代替传统机械定位方式,算法检测得到实时坐标值,传输至智能钻机抓取系统,实现对钻杆箱中钻杆状态感知,提升钻杆抓取效率。
ZYWL—4000Y 智能钻机井下作业现场、钻杆识别定位系统与六轴机械臂的联合应用分别如图9、图10 所示。地面水平放置钻杆样本,系统通过深度学习算法准确获取钻杆目标坐标值,并将坐标参数发送至六轴机械臂。因目前钻杆抓取机构仍处于研制阶段,因此该视觉定位系统主要应用于机械臂终端引导,并为智能钻机钻杆自动抓取技术提供支持。试验结果表明,基于深度学习的钻杆识别定位系统可准确获取钻杆目标位置,并引导智能钻机抓取机构进行钻杆装卸作业。
结 语
采用深度学习方式对钻杆目标进行定位,可精确获取钻杆实时位置,定位精度为93%,提升了智能钻机钻杆自动装卸速率。设计开发的钻机识别定位系统包含自动控制、手动控制、图像采集、网络训练、坐标获取等5 个模块,满足钻杆坐标定位系统需求。
基于深度学习的钻杆识别定位系统分别在六轴机械臂和现有ZYWL—4000Y智能钻机平台进行了测试试验。试验表明该系统识别精度和检测速度均满足钻杆抓取定位需求,为井下智能钻进技术的智能化发展提供支持。
基金项目:国家重点研发计划课题“煤矿井下巷道快速打钻机器人研发”资助(2022YFB4703601)