基于视觉的机器人码垛错位检测系统和方法
2021-11-04付文杰孙晓腾
李 翀,付文杰,王 浩,孙晓腾,李 兵
(国网河北省电力有限公司营销服务中心,石家庄 050000)
0 引言
在工业生产的流水线中,自动码垛作业大部分是由机械式码垛机完成或人工搬运。在一些实际场景中,码垛机器人一次能搬运一整层箱子,典型的码垛机器人工作状态图如下所示:
然而,在实际生产中,码垛的的多层箱体会出现错位堆叠的情况,导致码垛机器人和后续的生产流水线过程出现抓取和流水线错误的情况,现有的方案是人工对流水线上的码垛箱体排列情况进行监控,工作强度高,也会出现漏检的情况。针对该问题,业界先后有提出基于红外、激光、视觉的方法,但都不能很好的解决该问题。
本文借助计算机视觉、深度学习和大数据分析技术,提出并实现了一种码垛错位智能检测和闭环反馈系统,在本文提出的系统和方法中,首次提出并实现了基于端、边、云协同的检测、反馈及大数据分析方法,并引入了一种新的IOU Loss损失函数的深度学习网络模型,有效的解决了码垛错位视觉检测问题[1]。
图1 智能码垛机器人工作示意图
1 基于视觉的智能码垛检测和闭环反馈系统
1.1 系统结构
本文首次提出并实现了基于端、边、云协同的检测、反馈及大数据分析方法,整个系统结构如图2所示:
图2 码垛错位视觉检测系统结构设计
本系统通过端、边、云协同工作,实现了一套检测和闭环反馈工作机制,主要分为三大模块:
端模块:主要由视觉采集相机和挡板控制机构组成,实现前端图像视频数据的实时采集的及时控制。
边模块:由部署在边缘计算机系统上的检测算法和报警输出模块构成,负责边缘侧实时计算和控制输出。
云模块:主要由数据分析和工单下发模块构成,实现大数据的关联分析,工单关联下发等工作。
端、边、云三大模块通过协同工作,前向过程通过数据采集、算法检测和数据分析实现了图像视觉信息到任务的抽象,反向过程通过工单下发、报警输出、挡板控制实现任务到执行的闭环反馈。
1.2 闭环反馈机制与方法
工业检测系统中,往往只包括检测的前向过程,而忽视了有效的反馈机制,本文提出的系统和方法提出了一套两级反馈机制来实现整个系统的闭环控制[2]。
一级反馈是通过检测算法检测到码垛错位异常后直接反馈输出到报警和挡板控制模块,通过一种智能挡板控制方法,阻断出错码垛进行后续的流水作业,从而实现问题的及时控制。
二级反馈是通过大数据分析,结合云端工作人员日程和信息,实现码垛错位问题的相关工单下发,协调工作人员及时进行处理。同时,结合产线相关其他传感器数据进行大数据关联分析,寻找码垛错位问题的相关影响因素。
1.3 智能挡板控制方法
码垛被运送到生产线某固定位置将停滞片刻时,检测系统将判断其错位情况并将检测结果反馈给中央控制系统,一旦发现错位则立即触发挡板控制器[3]。为保证错位码垛被及时阻挡,从触发到挡板完全挡住的延时必须严格保证,产线流程如图3所示:
图3 智能挡板控制图
上图模型中,假设码垛从静止即初速度V0匀加速到产线正常传输速度V1时运动的路程为S1,后匀速运动至挡板处的路程为S2,则通过以下公式可求解出临界时间(即:码垛输送到挡板的同时挡板刚完成挡住的操作)。运动期间,假设匀加速阶段加速度为a,匀加速阶段的时间为T1,匀速运动的时间为T2,则各变量关系满足以下四个公式:
由上述式(1)、式(2)和式(3)可计算出匀加速所用时间T1和匀速运动时间T2,而临界时间为两者之和T,即挡板反应时间要小于ΔT。
1.4 大数据关联分析
导致码垛错位发生的影响因素很多,例如机器人状态、值班人员、箱体批次等,本文使用大数据关联分析的方法,来实现主要因素的关联挖掘,如下表所示:
表1 关联规则的简单示例
通过关联数据挖掘方法,本文在河北电表生产线上分析的结果如下:
图4 不同因素个体概率差异图
上图中,每种因素的不同个体概率差异越大,表示和码垛错位的相关性越高,可以看出其中发生码垛错位的一个很重要的相关因素是箱体编号有关,从而可以实现工单下发,提示替换更新某编号的箱体。
2 码垛错位检测算法
在本系统中,即电力生产线末端的码垛系统中,常见的典型码垛错位情况如图5所示,即上下层垛体在堆垛的过程中发生横向轴上的偏移。
图5 码垛正常和异常状态图
在接收到预处理的图像后,将其输入给预先训练好的深度学习检测网络,从而检测出码垛中所有箱体的种类和位置。但在实际场景中,由于多个电表物料框箱体的堆叠非常密集,并且箱体的形状十分类似,容易出现错误检测的情况,传统的非极大值抑制的方法无法解决该问题,如图6所示。
图6 普通网络模型的检测效果
为了解决这个问题,从调整网络结构的角度,通过在检测模型中引入IOU Loss损失函数的约束来抑制上图中在第一、二层物料框箱体连接处多检测出一个箱体的错误情况[4]。
以堆叠的电表物料箱的侧面箱体检测为例,由于在这种在密集场景中,NMS不能够充分区分重叠检测或者抑制部分检测,因此考虑增加一个分支预测Jaccard index,产生Soft-IOU Layer。本系统中引入了IOU Loss损失函数深度学习网络模型全局架构如下:
图7 网络全局架构图
上图中公式部分即为IOU Loss的定义,其中,n为每个batch的样本数。
上图中左上部分模块,即网络的Backbone采用ResNet50,同时模型为每个RPN提供了三个全卷积输出Head,分别是:Bounding-box regression head、Classification head、Soft-Iou Layer,其结构关系如图8所示:
图8 网络基础模块组成图
通过上述方法检测堆叠的物料箱,每个箱体的被检测出的位置如下(用长方形框在图中画出),在图中可以看出,网络能够较为准确地检测出图中三层电表物料框。
图9 本文网络模型的检测效果
引入IOU Loss损失函数的网络模型在检测准确率上明显高于普通模型,其与几大主流检测模型地准确率对比如下表:
表2 各模型对物料框的检测效果
由上表可以看出,本网络有针对性地解决了密集物料框检测问题,该网络在实际码垛检测中表现如下:
表3 实验环境和耗时
码垛原图和经过检测网络后的每个垛体的位置如下所示,在图中可以看出,网络能够较为准确地检测出图中所有垛体,也就是图中框出来的电表物料框。
图10 堆叠箱体原图和箱体检测图
得到每层垛体的大致位置后,为了准确判断码垛是否错位,可通过检测出相邻箱体在横向(x轴)的偏移程度来判断是否属于错位异常[5]。如图11所示,分别为每个检测出的箱体左右侧竖直边缘图和边缘点坐标分布图:
图11 码垛错位分析图
根据上图中的每层垛体两侧边缘点集的坐标分布可以分析出相邻箱体偏移的程度,从而让高效准确地判断该码垛是否错位。其中,判断是否错位的具体阈值选择需根据产线需求和车间实际情况而定。目前,该方法已在实际生产中使用,并能准确快速识别出错位码垛并给出信号。
3 结语
本文提出了一种基于视觉的智能检测和闭环反馈系统,同时提出了一种新的码垛错位检测算法。该系统和方法能高效解决生产过程中码垛错位问题,满足生产过程对实时、快速、高精度的要求,并且已经部署在电力实际生产线系统中。后续将会对如何增加智能装置来自动调整码垛的错位细节,例如实现机器人自主调整错位摆放进行研究和实践,以彻底实现无人化。