1. 引言
制造业是国民经济的命脉,其强大与否和国家的蓬勃发展紧密相连。工业自动化行业作为国家政策重点扶持领域,近几年,在工业4.0背景下,国家推出“中国制造2025”计划,旨在通过创新驱动,全方位提升制造业的核心竞争力和可持续发展力[1]。
在电脑机箱面板生产线的诸多环节中,面板混检、泡棉定位贴附以及贴附精准度检测是确保产品质量和生产效率的重要步骤。然而,传统依赖人工检测或者仅仅借助简单的机械装置来操作的方式,已然难以满足如今高效率、高精度的生产要求。同济大学的叶卉通过视觉模块,开发了视觉识别和定位算法,实现了对物体的智能抓取[2]。合肥工业大学朱凌寒针对电池板的尺寸测量进行了深入研究,通过推导相机模型,建立了像素尺寸与实际位置之间的数学关系,实现了对直线边缘和圆柱孔尺寸的精确测量[3]。湘潭大学的张晓阳针对机器人接触式测量精度不高问题,开发了一套视觉引导机器人自动趋近圆形孔工件的软件系统,将视觉技术融入到机器人端,引导机器人自动趋近工件进行测量[4]。北京航空航天大学孟偲基于手眼视觉提出一种利用目标物体的先验信息进行快速定位并对目标物体的抓取任务规划合理路径的方法[5]。苏州大学的张家宁将机器视觉中的远程检测、图像识别、定位和引导等技术引用到机器控制系统中,提高了机器工作的智能化和自动化[6]。重庆理工大学的鄢然通过卡尺工具检测特征点边缘来获取加工工件的直线或圆边缘,能够快速准确地获取相应Mark点进行激光加工[7]。因此,将机器视觉技术融入工业机器人智能贴附系统中,成为解决这一难题的有效途径。
本文将机器视觉技术与工业机器人相结合,利用机器视觉高精度、非接触测量、可重复性好、响应速度快的特点,使机器人更好地适应非结构化环境。设计了一套基于机器视觉技术的工业机器人智能贴附系统,能够实现对流水线上电脑机箱面板特征的快速识别,贴附泡棉位置的精准定位以及贴附精准度的严格测量,提升了生产线的自动化水平和智能化程度。
2. 系统组成及工作流程
该引导定位系统采用埃夫特ER10-700型六轴机器人,欧姆龙NX1P2型PLC、海康威视1200万像素的工业相机,8 mm的镜头。采用显卡RTX3060、内存12G、Win10系统的研华工控机对图像进行处理识别,并完成与机器人、PLC之间的通信,其引导定位系统的结构图如图1所示。
该系统主要针对电脑机箱面板贴附加工环节,首先在流水线上放置面板,当流经面板混料检测工位一时,光电感应器触发信号给相机,通过图像处理提取特征算法,识别出不同型号的面板,防止混料,机械臂在固定位置贴附好支撑垫;当流经泡棉定位工位二时,光电传感器触发信号给相机,通过改进的模板匹配算法,定位泡棉的坐标和偏转角度,引导机械臂贴附泡棉;当流经贴附精度测量工位三时,光电感应器触发信号给相机,通过卡尺工具算法,测量贴附的精度,从而完成一次完整的贴附环节。视觉引导定位贴附系统工作流程如图2所示。
Figure 1. Structural diagram of the visual guidance positioning and attachment system
图1. 视觉引导定位贴附系统结构图
Figure 2. Work flow chart of visual guidance positioning and pasting system
图2. 视觉引导定位贴附系统工作流程图
3. 引导定位技术
在基于机器视觉的智能贴附系统中,通过相机多角度采集图像后,对相机进行标定,从而实现对图像畸变的校正;设计九点标定算法,将像素坐标转换成机械臂坐标,完成泡棉的精确吸附;利用改进的模板匹配和卡尺工具算法,对机箱面板快速识别、泡棉坐标定位以及贴附精准度的检测。
3.1. 相机标定
在机器视觉的实际应用场景中,由于被测平面几何形态的多样性和光学系统的非线性畸变特性,导致无法精确定位到目标物体的位置。为确定被测物体三维空间坐标与二维坐标之间的映射关系,需要建立相机成像的几何模型,这些几何模型参数就是相机参数,相机的内参数有焦距、主点坐标、像素尺寸等,外参数有旋转矩阵、平移向量等以及畸变系数。标定结果的精度及算法的稳定性直接影响视觉测量系统的精度可靠性[8]。因此,相机标定作为基础性工作对后续任务具有决定性影响。
本引导定位系统采用基于平面棋盘格标定板的张正友标定法,通过OpenCV计算机视觉库实现参数求解[9]。该方法通过多角度采集标定板的图像,利用棋盘格上的角点作为特征点来确定相机的内参和外参。其核心原理在于通过建立不同姿态下棋盘格平面与相机成像平面之间的几何关系,利用数学模型推导出相应的参数方程。基于OpenCV的相机标定流程图如图3所示。
Figure 3. Calibration flow chart based on Zhang Zhengyou in OpenCV
图3. OpenCV中基于张正友的标定流程图
张正友标定法的具体流程如下:
首先准备规格为200 * 200 mm的棋盘格标定板,方格边长为15 mm,如图4所示。固定相机位置,从不同角度拍摄多张标定板的图像,利用Harris角点检测器对棋盘格特征点进行亚像素级定位,提取各节点的图像平面坐标。基于标定板预设的世界坐标系及其精确的几何尺寸参数,建立特征点二维图像坐标与三维空间坐标的映射关系模型。
Figure 4. Checkerboard calibration board diagram
图4. 棋盘格标定板图
通过OpenCV中的CalibrateCamera函数进行标定,计算相机的内参系数为:
(1)
畸变参数为:
(2)
最后,通过OpenCV得出的相机内参数和畸变参数对图像进行畸变校正。
3.2. 九点标定
九点标定是为了得到像素坐标系和空间机械手坐标系的坐标转化关系,从而使得通过相机得到图像的像素坐标位置后,再经过标定得到的变换关系转化成机械手坐标,保证机械手的准确吸附[10]。九点标定的流程如图5所示。
Figure 5. Flow chart of nine point calibration
图5. 九点标定流程图
设像素坐标为
,机械手平面坐标为
,那么通过旋转和平移得到的线性转换关系为:
(3)
(4)
对应的齐次表达式为:
(5)
在区域中均匀设定9个标定点,让机器人的工具末端去走这9个点得到在机器人坐标系中的坐标,同时用相机识别9个点得到像素坐标[11]。九点标定过程如图6所示,通过标定得到的转换矩阵为:
(6)
Figure 6. Nine point calibration process diagram
图6. 九点标定过程图
3.3. 模板匹配和卡尺工具
在电脑机箱面板加工的流水线上,精准贴附泡棉和支撑垫是一个重要的环节。我们通过设计模板匹配核心算法来对面板特征快速识别以及泡棉位置的准确定位,卡尺工具来检测贴附泡棉和支撑垫的精准度。
3.3.1. 模板匹配
对于电脑机箱面板的识别以及贴附泡棉的定位,我们需要通过视觉算法设计来进行目标识别。在图像处理领域,模板匹配是一种重要的技术,主要用于在图像中识别和定位与模板图像相似的部分[12]。常用的模板匹配算法主要可以划分为两类,分别是基于灰度值的匹配和基于几何特征的匹配[13]。其中,基于灰度值的匹配算法,其根本的核心思想是从图像像素灰度的数值层面出发,通过特定的数学计算方式来衡量模板图像与待检测图像之间的相似度,逐一对模板图像与待检测图像中对应位置的像素灰度值进行比较。例如,采用计算二者之间像素灰度差值的绝对值总和的方式,也就是常说的SAD方法,或者是计算像素灰度差值的平方差总和的SSD方法,以此量化两幅图像之间的差异程度[14]。差值越小,表明两幅图像在灰度分布上越相似,也就意味着模板图像与待检测图像中的目标区域匹配度越高;反之,差值越大,则匹配度越低。然而,这种基于灰度值的匹配算法在实际应用场景,尤其是像生产车间这类环境中,却存在着明显的局限性。由于生产车间内的光照往往呈现出不均匀变化的情况,并且容易受到各类噪声的干扰,这就使得基于灰度值的匹配算法在准确性方面大打折扣,难以稳定且精准地实现目标识别与定位。与之相比,基于特征的模板匹配算法则展现出了更为突出的优势。该算法充分利用图像中所蕴含的特征点、边缘以及纹理等丰富的信息来进行匹配操作。这种独特的匹配方式赋予了它更高的鲁棒性以及更强的环境适应性,使其能够从容应对诸如光照变化、噪声干扰以及部分遮挡等诸多复杂且棘手的问题,从而保障在各种复杂条件下依然可以较为准确地完成目标识别与定位任务。综合考虑以上因素,针对电脑机箱面板识别以及贴附泡棉定位的实际需求,我们最终决定采用基于边缘特征的模板匹配算法,以期能够更为高效、精准地实现目标识别工作。
在匹配过程中,使用相似度量将模板模型与所有位置的搜索图像进行比较。相似性度量思想是取模板图像梯度向量的所有归一化点积之和,并在模型数据集中的所有点上搜索图像。模板与图像评价函数如下:
(7)
其中,A为模板图像,B为匹配图像,
和
表示A中这n个点的水平梯度值和竖直梯度值;
表示在B中选择的区域的原点;
和
分别表示B中坐标为
的点的水平和竖直梯度值。
图7红色部分为制作的机箱面板特征模板,图8红色部分为制作的泡棉特征模板,基于该模板,提取边缘特征,利用OTSU大津法阈值分割,形成模板图像。
OTSU算法是一种自适应的阈值分割的方法,也称为最大类间方差法。利用图像的直方图特性,依据公式8,选择类间方差最大时对应的灰度值作为阈值,将灰度值小于阈值的点作为目标,大于阈值的点作为背景,有效地分割出目标模板[15]。
(8)
其中,
是类间方差,
是背景像素点占整张图像比例,
是前景像素点数占整张图像比例,
是整个图像像素灰度均值,
是背景像素灰度均值,
是前景像素灰度均值。
Figure 7. Fabrication drawing of chassis panel template
图7. 机箱面板模板制作图
Figure 8. Foam characteristic template fabrication drawing
图8. 泡棉特征模板制作图
基于设置好的模板图像,如图9所示,当传送带抵达指定工位时,能够有效地在目标区域内检测出面板特征;如图10所示,当片料机上料时,能够在目标区域平台内识别到所有泡棉并定位。
Figure 9. Real time detection diagram of panel loading
图9. 面板上料实时检测图
Figure 10. Foam positioning map of sheet feeder
图10. 片料机泡棉定位图
3.3.2. 模板匹配算法改进
自动化加工对于实时性和高效性的严格要求,传统的模板匹配算法已然不能适用现有的环境,所以我们通过划定匹配区域和金字塔分层搜索来优化模板匹配算法。
(1) 划定匹配区域
在供料器平台上,在相机拍摄的区域范围内,存在不在机械臂吸附范围内的泡棉,模板会匹配到所有的泡棉。此时可以采用一种限制匹配范围的策略。这种策略通过划定匹配区域范围,将搜索目标限制在这个区域内。通过这种方式,搜索图像中的目标物体的匹配过程将被限定在一个相对稳定的区域,而不是在整个图像范围内进行。这样做的优势在于,它能够有效减少在图像边缘或不相关区域可能出现的误匹配问题。
限定匹配区域的方法可以基于对目标物体的先验知识,例如它的预期位置、尺寸或者在图像中的相对位置。通过这种方式,可以提高匹配的准确性和效率,确保在复杂的图像处理任务中获得更为可靠的结果。此外,这种方法还可以减少计算资源的消耗,因为它将计算范围限制在了一个小的、相关的区域内,而不是对整个图像进行全局搜索。这样不仅提升了处理速度,也使得整个图像分析过程更加高效和目标导向。
(2) 金字塔分层搜索
图像金字塔是计算机视觉和图像处理中的一种多尺度分析技术,通过生成一系列不同分辨率的图像,形成类似金字塔的结构。其核心思想是利用分层处理提高计算效率,并增强算法对尺度变化的鲁棒性。匹配方式采取从高到低和从粗到细。实际上是降低了匹配算法的复杂程度,因为该搜索方法先在金字塔最高层获得类似模板的最佳匹配区域,在下一层金字塔对该区域通过提高分辨率的方式进行二次搜索获得更精准的目标位姿,并在之后的每一层重复搜索匹配方式直到匹配到最佳的目标区域。因此金字塔分层循环搜索法具有较高的稳定性和准确度,被广泛应用于各类搜索匹配方式中。
在模板匹配中添加图像金字塔的分层循环搜索法,经过一次处理,图像与模板都缩小两倍。对整个图像循环采用这种方法,重复进行直到覆盖全部图像区域。这一层的分辨率是最低的完成目标的粗定位,然后向下一层搜索,匹配分辨率也随之提高,一直到最底层匹配到目标区域。过程如图11所示。
Figure 11. Pyramid hierarchical search process diagram
图11. 金字塔分层搜索过程图
通过上述两种方法对传统模板匹配算法改进优化,分别从单次检测时间、识别准确度来分析对比两种算法,如表1所示。
Table 1. Comparison table of two algorithms
表1. 两种算法对比表
算法 |
单次检测时间(ms) |
识别准确度 |
传统模板匹配算法 |
320 |
89% |
本文改进模板匹配算法 |
58 |
100% |
3.3.3. 卡尺工具
对于机械臂贴附完泡棉后,为了提升生产的质量,我们需要检测泡棉和支撑垫的贴附精准度,将贴附不准的机箱面板移除产线,为后续的生产质量安全提供保障。本文设计了一种卡尺算法来进行精度检测,通过绘制卡尺来确定待测量的边缘,然后基于图像灰度值的投影和轮廓分析,提取目标物体的边缘信息,从而进行精确的测量。卡尺工具的原理是找N个小矩形ROI里面的灰度值突变的地方,遍历每个小矩形ROI,分别找到一个点,这个点是灰度突变的峰值,将N个点拟合成直线,基于卡尺工具的直线边缘拟合过程如图12所示。
Figure 12. Caliper tool edge fitting diagram
图12. 卡尺工具边缘拟合图
在使用卡尺工具拟合边缘时,边缘检测是一个重要的步骤。梯度算子在图像处理中主要用于边缘检测,它们通过计算图像亮度的空间梯度来识别边缘。该系统采用Canny算子检测边缘,它具有准确性高、高效性和鲁棒性强等特点。边缘检测步骤如图13所示。
Figure 13. Edge detection steps
图13. 边缘检测步骤图
(1) 边缘检测算法多基于图像强度的一阶和二阶导数,然而这些导数对噪声极为敏感。因此,在边缘检测前进行滤波是必要步骤,目的是降低噪声对边缘检测结果的影响。高斯滤波器通过离散化的高斯函数生成一组归一化的高斯核,基于这些高斯核对图像灰度矩阵的每一点进行加权求和,从而实现图像的平滑处理,滤除噪声点。二维高斯滤波的函数如下所示。
(9)
其中,x、y分别是像素位置相对于滤波器中心的水平和垂直距离。
是高斯函数的标准差,控制图像的平滑程度。标准差越大,高斯核宽度越宽,平滑效果越显著。但由于图像的边缘信息属于高频信号,若
值过大,可能导致一些若边缘难以被检测到,而
值过小,则无法彻底去除噪声[16]。
(2) 通过计算每个像素点的梯度幅度和方向,来衡量像素变化率,一个像素点存在多个方向,我们需要找出梯度变化最大的方向,因为只有在该方向上,像素点的变化最为剧烈的。梯度幅度和方向由以下公式所得。
(10)
(11)
其中,G表示该像素点的梯度强度,
表示该像素点的梯度方向。
(3) 在完成梯度计算后,进一步筛选并抑制非边缘的像素点。通过比较每个像素点与其梯度方向上相邻像素点的梯度值,保留局部梯度最大的像素点,其他像素点置为0,运用非大极值抑制,以消除边缘检测过程中的杂散效应,对待边缘实现唯一且准确的响应。
(4) 应用双阈值检测,确定真实和潜在的边缘。设定一个高阈值和一个低阈值,高于高阈值的像素点被判定为强边缘,低于低阈值的像素点被抑制,而介于两者之间的像素点则根据其连通性被分类为边缘或非边缘[17]。
(5) 通过迭代访问弱边缘像素,并检查其相邻像素的强边缘状态,可将弱边缘与强边缘连接起来,形成完整的边缘线条。通过抑制孤立的弱边缘,将强边缘和弱边缘连接起来,形成完整的边缘线条。这一过程通常借助栈来实现,从强边缘像素开始,检查弱边缘像素与强边缘的连接性。若弱边缘像素与强边缘像素相连通,则将其保留为真实边缘;否则,将其抑制为非边缘。
传统的边缘检测精度仅能达到像素级,难以满足产品贴附精度检测的要求。为此,通过边缘亚像素的提取来提升检测精度。亚像素是在相邻像素之间进一步细分,通过在相邻像素间实施插值算法将每个像素划分为更小的单元[18]。常见的插值算法有最近邻插值法、双线性插值法和双三次插值法。其中,最近邻插值法计算量最小,运算速度最快,但精度较低,图像边缘易出现锯齿状现象;双三次插值法计算精度最高,能保留更多图像细节,但其计算量最大,复杂度也最高;双线性插值法介于最近邻插值法和双三次插值法之间,综合性能最优,其计算速度快,插值结果较为准确[19]。因此,本文采用双线性插值法获取测量矩形的亚像素。双线性插值所用公式如下。
(12)
其中,P为像素点,
、
、
、
为点P邻近的四个点。
在OpenCV中fitLine()函数,通过结合最小二乘法和M-估计器技术来从点集中拟合直线,基于最小化点到直线的距离来找到最佳拟合直线。
我们要检测支撑垫和泡棉贴附精准度。以面板下方特征明显的区域,框选一条卡尺工具,以其为基准线,在支撑垫处框选两条卡尺工具,泡棉处框选两条卡尺工具,调整阈值参数,保存为模板模型,用来检测出这五条线,卡尺工具制作如图14所示。
通过检测出支撑垫的两条直线和泡棉的两条直线,分别得到两个交点,点到直线的距离公式如(13),计算出两个交点到基准线的距离
、
;两直线的夹角公式如(14),计算出两条竖直直线和基准线的角度
、
,设置角度和距离偏差小于5%便视为贴附精准。实时检测面板贴附精度效果如图15所示。
Figure 14. Caliper tool fabrication drawing
图14. 卡尺工具制作图
Figure 15. Attach the precision inspection chart
图15. 贴附精度检测图
(13)
(14)
其中,
是向量的点积,
和
是向量的模长,点
是两直线交点,
为基准线公式。
3.4. 数据传输
对于流水线工位二上,我们对泡棉进行视觉定位处理后获取了相应的像素坐标值,通过九点标定算法,将其转换为机械臂坐标值。我们需要完成与机械臂的数据通信,准确传输坐标以及角度偏转值。本文设计了一套基于TCP/IP协议的通信系统,视觉程序端作为服务端,当视觉程序对图像进行处理并成功获取到有效的坐标值以及角度值之后,便会将这些数据进行打包处理,进而发送给作为客户端的机械臂。机械臂在接收到这些数据信息后,会依据所获得的抓取点坐标来精准地规划移动路径,使其能够顺利抵达目标泡棉所处位置对应的现实中心坐标处。到达指定位置后,机械臂通过对末端进行精准控制,进而实现对目标泡棉的吸附操作。吸附完成后,机械臂会按照预设流程,将目标泡棉准确无误地贴附在面板的指定位置上,至此,便完成了一次完整的工作流程。而当本次抓取任务顺利实现之后,机械臂会暂时进入等待状态,耐心等候下一次任务中目标泡棉的相关坐标信息。一旦接收到新的目标指令,机械臂便会即刻启动,再次依照上述流程进行操作,进而开启新一轮的循环工作,如此循环往复,直至所有既定的任务全部结束为止。
4. 实验
系统搭建完成后,如图16所示,为了验证其稳定性和准确性,在某工厂内进行实测。
Figure 16. Actual map of system construction
图16. 系统搭建实地图
对于工位一,防止错误面板流入指定产线上,我们通过了892次测试实验,如表2所示。从结果可以看出,100%能够检出正确面板和错误面板。
Table 2. Overall test results of mixture test
表2. 混料检测整体测试结果表
测试次数 |
测试失败数 |
检出率 |
892 |
0 |
100% |
对于工位二,定位泡棉的坐标信息,对大量实验结果进行计算,得到不同泡棉的实际坐标和定位坐标偏差,如表3所示。从统计结果来看,误差在0.29 mm左右,基本满足泡棉的吸附要求。
Table 3. Foam positioning coordinate result table
表3. 泡棉定位坐标结果
序号 |
实际坐标
|
定位坐标
|
X,Y方向误差
|
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
对于工位三,检测贴附的精度达标,在贴附精度0.5 mm的要求下,进行大量实验,如表4所示。从表中结果来看,99%能够检出是否正确贴附支撑垫和泡棉。
Table 4. Attachment accuracy overall test result table
表4. 贴附精准度整体测试结果表
5. 结语
本文设计了一套基于机器视觉技术的工业机器人智能贴附系统,通过改进模板匹配和卡尺工具算法,实现了对流水线上机箱面板特征的快速识别,通过对泡棉位置的精确定位,引导机械手准确地抓取贴附,最后对贴附精准度进行严格的测量。经过大量试验与测试,面板识别和贴附精准度均达99%,泡棉坐标定位误差稳定在0.3 mm左右,满足电脑机箱面板智能贴附环节的需求。该系统操作方便、稳定性强、准确性高,极大地提高了生产效率,为电脑机箱面板加工领域的高质量、高效率发展提供了有力的技术支撑。
NOTES
*通讯作者。