张 毅,王彦博,付华森,时峻峰,陈 霓
1.重庆邮电大学先进制造工程学院,重庆市南岸区崇文路2号 400065
2.湖北省烟草公司宜昌市公司,湖北省宜昌市西陵区沿江大道42号 443000
3.湖北众与和智能装备科技有限公司,湖北省宜昌市西陵区黄河路8号 443000
近年来工业机器人在工业生产和物流运输领 域中发挥了重要作用[1],替代了大量重体力、重复性工作,而码垛机器人在其中扮演着重要角色。目前常用的码垛系统主要是对单一或规则的物体搬运码垛[2],在此过程中动作固定且智能化程度较低,因此无法满足多品种不规则组合码垛需求。对此,李红果等[3]设计了一种多垛型机器人码垛系统,采用一次抓取分批次放置的整体方案,提出一种基于垛型数据结构的机构,解决了多垛型的码垛问题,但该系统仍然针对的是单一品种码垛。童上高等[4]提出了一种基于机器视觉的多品种包件码垛方法,通过提取包件的图像特征进行识别匹配,完成各品种包件识别并分类码垛,但各品种之间缺乏互相组合匹配的码垛要求。在烟草物流的码垛装配中,由于客户订单的复杂性和随机性会导致不同数量的条烟包装成形状不同的烟包,且要求条烟交叉码放,5层为一个整体,以利于码放的稳定性,避免损坏条烟。因此,由25条烟组成的5×5烟包可以直接进行码垛,而其他不规则形状的烟包则需要匹配成整层烟包再进行码垛操作。传统的烟包码垛通常由人工进行匹配和码放,劳动强度大,工作效率低,无法满足烟草物流现代化生产需求。目前机器视觉技术在生产制造领域得到广泛应用[5],是获得环境信息的主要手段之一,可以有效提高系统的灵活性。为此,设计了一种基于机器视觉的不规则烟包校对码垛系统,以期实现条烟包装自动匹配,提高物流系统码垛效率。
该系统主要由组合码垛系统和视觉识别系统两部分构成,见图1。通过机器视觉技术对输送带上的烟包动态检测确定其形状,判断是否与上位机数据库中的烟包信息一致,核对信息无误后进行组合码垛。在此过程中上位机监控软件对设备运行状态及烟包检测结果进行实时监控,以方便了解系统工作状况。
图1 系统布局示意图Fig.1 Schematic diagram of system layout
组合码垛系统分为硬件部分和软件部分,是整个系统的框架支撑,主要实现码垛烟包的预排层、位姿调整、上位机界面显示、机械臂动作编程与信号反馈等功能。
1.1.1 硬件部分
组合码垛系统的硬件部分主要由翻转机构、矫正装置、码垛机器人、机械抓手、气动装备、缓冲平台、升降平台和托盘管理装置等部分组成。其中,翻转机构对目标烟包完成180°翻转;矫正装置通过导条、挡板、气缸和光电传感器等调整烟包姿态,以方便码垛机器人快速抓取;机械臂采用德国库卡公司生产的六轴机械臂,末端执行机构为机械抓手,适合烟包抓放且不损坏烟包;升降平台和托盘管理装置共同实现托盘的固定、自由升降和自动输送。
1.1.2 软件部分
软件部分包含上位机控制程序和底层PLC程序以及机器人执行程序的设计,见图2。上位机界面程序由C#和SQL Sever实现,完成不规则烟包的预排层算法、烟包路径规划和实时信息的监控。PLC程序控制翻转机构、矫正装置、抓手、升降平台以及传感器的信号反馈。机器人执行程序包括接收启动/停止信号,根据上位机发送的烟包路径实时执行码垛动作。
1.1.3 组合码垛步骤
图2 系统结构示意图Fig.2 Schematic diagram of system structure
在上位机中将烟包订单信息导入数据库中,使用预排层算法[6]计算出每个烟包的处理步骤,包括是否需要匹配、待匹配烟包在缓冲区的暂放位置、是否需要翻转、在缓冲区的摆放位置、在托盘上的摆放位置等。根据预排层算法每个烟包可能进行的操作有4种情况:①烟包内有25条烟,则将烟包直接放置在托盘上;②缓冲区没有可以进行匹配的烟包,则将烟包放置在缓冲区的空闲位置上;③缓冲区有可以进行匹配的烟包,则将烟包匹配后放置在托盘上;④烟包进行两次匹配,即匹配一个烟包后,在缓冲区找到另一个烟包匹配成符合要求的5层烟包。
本研究中采用码放烟包不多于两次匹配的方案,只有在缓冲区的烟包个数大于某一数量时,才采用3个烟包进行匹配,以快速减少缓冲区的烟包数量,提高码垛效率。因此,完成烟包匹配需满足以下3个条件。
第一,第一次匹配后的顶层或者匹配层的烟包数量大于等于3个,即:
式中:a为待匹配烟包的条烟数量,取值范围为[5,25];b为缓冲区待匹配烟包的条烟数量,取值范围为[5,25];%为除以5之后取其余数,下同。
第二,第二个缓冲区待匹配烟包要满足顶层数量大于等于3个,即:
式中:c为第二个待匹配烟包的条烟数量。
第三,3个烟包匹配后的层数为5层,即:
式中:/为除以5之后取其整数。
由此得到预排层算法流程,见图3。经过计算,将这些数据保存在上位机中等待PLC调用。计数器将采集到的计数值发送到上位机,用于确定当前待处理烟包的序列,上位机再将此序列烟包需要进行的操作编码发送给PLC,由PLC控制各设备实现对烟包的翻转和矫正。
根据计算结果,系统最终确定烟包是否可以直接在托盘上码放,如果不能则在缓冲区中寻找合适的烟包进行匹配再进行码垛;如果仍然无法满足条件,则将烟包放置在缓冲区中等待后面烟包进行匹配。烟包的匹配和码放均由机械臂和抓手配合完成,机械臂移动路径由上位机计算并由PLC控制。组合码垛流程见图4。
图3 预排程算法流程图Fig.3 Flowchart of pre-scheduling algorithm
视觉识别系统主要由光源、CCD相机、计算机、图像处理单元、机器视觉处理软件、人机接口、通讯接口等组成。根据码垛系统的性能要求,视觉识别系统应具有正确、快速和及时响应等特性。在组合码垛过程中保证烟包实时信息的正确非常重要,一旦因人工失误或者包装出错导致烟包实时信息与数据库信息不匹配,则会造成后续操作连续错误。为此,通过引入机器视觉技术对不规则烟包识别和校对,及时反馈烟包信息,避免码垛时出现组合匹配错误,进而提高整个系统的智能化程度和安全性。
图4 组合码垛流程图Fig.4 Flowchart of parcel stacking
对不规则烟包的识别过程见图5。采集目标图像信息后快速进行图像预处理,提取图像特征并进行匹配,根据匹配结果选择组合码垛或者出错报警,以保证系统顺利运行和烟包正确输送。
相机直接提取的图片中含有大量数据信息,例如灰度、颜色、边缘、纹理等特性,以及由于相机自身或是环境影响产生的噪声[7]。因图像预处理不仅能消除部分噪声,提升图像质量,还可以提高图像的处理速度,有利于后续特征的提取和匹配。图像预处理[8]主要包括图像增强、图像滤波、图像二值化以及孔洞填充[9]。图像增强是通过改变灰度值使图像中目标物体与背景差距更明显,进而达到增强对比度的效果。在采集图像时,因相机曝光时间过短等原因会出现图像质量差、对比度弱等问题[10],可能导致目标在图像上表现出较为模糊的边角特征。图像的平滑滤波可以去除图像在获取及传输过程中所携带的部分噪声,图像二值化[11]是以阈值为标准进行图像分割,将目标区域从原图中区分出来。图6可见,在预处理后的目标二值图像中,局部区域仍然处于未分割状态,这可能是由于目标物体所带的毛刺噪声以及孔洞噪声造成的,利用数学形态学进行运算处理则可以消除这种影响。
经过图像预处理得到较为理想的目标二值图后就可以进行特征提取,考虑到本系统中的不规则烟包由条烟组成,具有明显的角点、边缘特征[12],因此提取烟包目标图像中的Harris角点特征,通过归一化互相关匹配法完成角点特征的粗匹配,再利用改进的RANSAC算法建立特征点双向斜率关系,剔除误匹配点,实现不规则烟包的准确匹配。
2.2.1 Harris角点检测
图像的角点特征是图像中具有强烈突变性的点,例如边缘曲线上曲率极大值的点或者亮度剧烈变化的点。角点特征对旋转、亮度变化都有较强的鲁棒性,抗干扰能力强[13],且角点提取过程简单,有利于后续特征匹配。角点检测则是基于灰度检测或者通过边缘检测来计算其特征[14]。其中,边缘检测计算量较大,而基于灰度的角点检测可采用图像梯度及曲率作为检测信息,适用于本系统。图7可见,Harris角点检测原理是通过一个小窗口使其任意移动,若窗口内灰度值变化幅度大,则窗口内含有角点;若灰度值变化只在某个方向上移动,则判定为边缘;若灰度值几乎不发生变化,则判定为正常区域。
图5 视觉处理流程图Fig.5 Flowchart of visual processing
图6 图像预处理Fig.6 Image preprocessing
图7 角点示意图Fig.7 Schematic diagram of corner points
2.2.2 归一化互相关匹配法
归一化互相关匹配法是一种简单有效的角点匹配方法,并在一定程度上改善了错误匹配问题。其原理是通过一个窗口对比原图与模板图像在窗口内灰度值的相似度,若是符合设定的阈值则判断为匹配点对,进而完成角点特征匹配。图8为目标烟包与模块库烟包的二值图角点匹配效果图,其中大部分角点实现了正确匹配,但仍然存在少量的误匹配点对。因此,提出了一种改进的RANSAC(Random Sample Consensus)算法[15]剔除误匹配点对,以提高匹配精度。
图8 归一化互相关角点匹配Fig.8 NCC corner point matching
2.2.3改进的RANSAC算法剔除误匹配
针对归一化互相关匹配法中存在的误匹配点问题,提出了一种改进的RANSAC算法来改善,通过正确的匹配点对之间具有相对斜率的关系来筛选其中不符合要求的点对。设定(Ai,Aj)是目标烟包A中的特征点,(Bi,Bj)为模板库中烟包的特征点,如果两者为正确匹配关系,则Ai和Bi的绝对斜率k(Ai,Bi)应该等于Aj和Bj的绝对斜率k(Aj,Bj)。于是,利用特征点之间的双向斜率关系完成筛选,评价函数为:
其中,R(i,j)表示Ai,Bi与各自图像每个特征点斜率的相对差异;K(i,j)表示Ai,Bi与各自图像每个特征点斜率。图9可见,经过改进的RANSAC算法有效剔除了其中的误匹配点,模板图像与目标图像实现了精确特征点配对。
图9 改进的RANSAC算法角点匹配Fig.9 Corner point matching of modified RANSAC algorithm
材料:“红金龙(硬盒)”牌卷烟(由湖北省烟草公司宜昌市公司提供)。
设备:库卡KR 470-2 PA工业机械臂(德国库卡机器人有限公司);欧姆龙CP1H-E型号PLC(日本欧姆龙自动化有限公司);R-125-30uc型CCD相机(北京大恒图像视觉有限公司),214-MP2镜头(日本Computar公司)。软件:Halcon13、Visual Studio2017、OpenCV和SQL Sever;计算机CPU为Intel CORE i5。
方法:将不规则烟包视觉系统与组合码垛系统集成整合,进行烟包匹配和组合码垛试验,以验证系统的准确性和稳定性。随机选取某一订单总计85包,其中包含所有形状的不规则烟包。根据上位机获取的订单信息按顺序将烟包放在输送带上,依次通过视觉检测后进行组合码垛,统计组合码垛数据;随机取5种烟包分别重复试验100次,统计烟包识别速度、匹配正确率等数据。
表1可见,视觉系统能够准确判断输送烟包是否有误,出现错误时发出报警并启动预排层算法重新规划,防止因烟包错放而导致后续工序出错。根据烟包输送速度和码垛机器人运行速度,可以满足800包/h的码垛要求。
表2可见,采用视觉识别系统后,烟包匹配正确率在97%以上,特征提取时间不超过360 ms/次,总匹配时间不超过1.6 s,各项指标均满足烟包码垛速度和可靠性要求,实现了基于机器视觉的烟包识别功能。
表1 烟包码垛试验结果①Tab.1 Results of cigarette parcel stacking experiment
表2 烟包匹配试验结果①Tab.2 Results of cigarette parcel matching experiment
针对烟草物流中不规则烟包的码垛流程,设计了一种基于机器视觉的不规则烟包自动码垛系统。利用翻转机构和矫正装置调整烟包位姿实现精确定位,保证码垛机器人的准确抓取;利用机器视觉技术对烟包识别匹配并用改进的RANSAC算法剔除误匹配点对,提高识别精度实现不规则烟包的实时校对。现场测试结果表明:烟包匹配正确率在97%以上,特征提取时间不超过360 ms/次,总匹配时间不超过1.6 s。本系统在保证可靠性的同时可以满足码垛生产要求,有效减轻工人劳动强度,提高烟草物流智能化水平。