许 昊,李维荣,程 鹏
(中机生产力促进中心,北京 100044)
在全球工业化高度发展的今天,螺纹连接作为传统的机械连接方式,因其具有结构简单,操作方便,成本低廉等特点,仍然作为主流联接方式而被广泛使用。六角头螺栓是螺纹连接中最常用的紧固件,应用量特别大,出现失效案例又很多,几何精度直接影响其力学性能和互换性,必须在成型加工过程中加以控制。目前,对螺栓外形[1]的检测大多采用人工抽检,存在人为因素影响大,效率低下等问题,用光学方法进行自动检测的应用还不广泛。
机器视觉是一种非接触的检测方法,它具有快捷、经济、灵活等优点。通过工业CCD或CMOS摄像头拍摄物体的清晰图像,然后采用计算机硬件及软件技术对图像信息进行辅助处理,提取几何特征值,与预期特征进行自动对比,进而完成零件的测量和筛选。图1是视觉检测系统的一般流程。
图1 视觉检测系统的一般流程Fig.1 The general process of visual inspection system
本文所述的螺栓检测系统有以下几部分组成:①图像采集部分,包括三个CCD数字摄像机、光源等;②零件传送及筛选部分,包括步进电机,传送带等,步进电机的运动和筛选模块的动作均采用PLC控制;③图像处理部分,主要对采集到的螺栓图像进行实时处理并进行特征提取。图2为螺栓检测的检测流程[2]。
螺栓在传送带上运动,依次经过三个摄像头的检测区域,触发拍照采集图像,然后将图像传送至计算机进行实时处理,与预设的参数进行比较,判定零件是否合格。根据判定结果发出筛选模块控制指令,实现合格与不合格产品的分离。
图2 螺栓检测流程Fig.2 Bolt detection process
常见的螺栓几何缺陷包括尺寸超差、形状不规则、头部填充不满或者裂纹等,这些缺陷在采集的图像中主要表现为面积和边界等特征参数的变化。
经过图像采集、处理得到所需的图像,用一些区域描绘子来描述图像中的区域特征[3],如区域的边界线型、面积、致密性、质心等。
(1)零件的投影面积。在处理后得到的二值数字图像中,背景区域为黑色,待检物体为白色,区域的面积可定义为黑白界限内区域中所包含的像素总数。
式中:A—区域面积 (m);m—像素点横坐标;n—像素点纵坐标;f(m,n):像素点特征值,黑色时取0,白色时取1。
(2)区域周长。常用的有两种计算方法:一种是在区域的边界像素中,设某像素与其上下左右像素间的距离为1,与斜方向像素间的距离为,周长就是这些像素间距离的总和。另一种计算方法将边界的像素数目总和作为周长,本文选择第一种方法。
∈i代表该点邻域的8个方向,斜向为奇数。
(3)区域的圆形度。
此参数不受区域平移、旋转和尺寸变化的影响。
(4)区域质心。
式中:m—像素点横坐标;n—像素点纵坐标;xc—质心横坐标;yc—质心的纵坐标;f(m,n):像素点特征值,黑色时取0,白色时取1。
(5)区域的平均半径。
式中:(xk,yk)—区域边缘上的点;(xc,yc)—区域的质心。
(1)螺栓头。 图 3(a)为螺栓头的灰度图像,图 3 (b)为螺栓头部二值化后的区域图像,图3(c)为图3(b)的轮廓跟踪曲线。由图3(b)可计算出螺栓头部的面积,图3(c)可计算出螺栓头部的轮廓周长,进而可求出其它特征参数值。
图3 螺栓头特征提取Fig.3 Feature extraction of the bolt head
(2)螺纹大径。螺纹的大径是指与螺纹相切的假想圆柱体的直径。大径是普通外螺纹的公称直径,可通过测量螺栓底端的投影外圆轮廓线的长度来获得。图4(a)为螺栓底端的原始灰度图像,图4(b)、(c)分别是底端图像的二值化和边缘提取后的结果。
图4 螺纹大径的特征提取Fig.4 Feature extraction of major diameter
(3)螺纹中径。中径是一个假想圆柱的直径,该圆柱的母线通过牙型上沟槽和凸起轴向宽度相等的地方,此假想圆柱称为中径圆柱。中径圆柱的母线称为中径线,轴线即为螺纹轴线。螺纹连接一般只有螺纹牙侧面中径附近接触,而在大径和小径处应有间隙,螺纹中径是决定螺纹配合性质的主要参数。螺纹边缘提取后的结果如图 5(c)所示。
图5 螺纹中径的特征提取Fig.5 Feature extraction of pitch diameter
由图5可知,螺纹牙的上下边缘线是两条近似对称的曲线,这时存在一条对称轴,其方程式设为y=kx+b。选取曲线上的一系列点,通过最小二乘法可计算出k、b,进而求出螺纹截面对称轴的方程式。设直线y=kx+b与数据点[xi,yi]的方差为 φ(a,k), 则有:
图6 螺纹的中径线Fig.6 The pitch diameter line of screw thread
求得直线方程y=kx+b后,将其向上平移r距离得到y=kx+b+r,平移后的直线和螺纹上边缘线产生一系列交点,如图6所示。将所有螺纹边缘点[xi,yi]依次代入y=kx+b+r, 若满足|yi-(kxi+b+r)|<σ,则认为这一点是交点,此处σ取0.1。这时产生线段AB、BC、CD、DE、EF,选取令所有线段方差最小的r值,并记录此时的直线L。同理,可求得下方的另一条直线L1,中径d2=|L-L1|。
在Visual C++6.0下开发应用程序,图像的构造及读取等操作封装在Cimg类中,而对图像的处理操作封装在CimgProcess类中。零件进入图像采集区域触发数字摄像机采集图像到内存后,立即构造CimgProcess对象[3],并调用相应的成员函数进行处理。部分程序代码如下:
本文根据螺栓形状特征设计了一种基于机器视觉的检测方法,经验证,这种方法的检测精度可达到0.05mm,速率达到120件/分钟,不仅提高了检测效率和准确性,更有利于实现工厂的自动化。在以上工作的基础上还应该做以下研究:①改善和完善现有代码,提高检测的效率并减少误差率;②对机械部分进行优化设计,以提高系统整体的灵活性。
[1]杨树华.标准紧固件手册[M].中国质检出版社,2012.
[2]林长青,庄石,廖俊必,等.基于机器视觉的螺钉在线检测[J].工具技术,2007,8.
[3]张铮,王艳平,等.数字图像处理与机器视觉Visual C++与Matlab实现[M].人民邮电出版社,2010.
[4]刘海波,沈晶,郭耸,等.Visual C++数字图像处理技术详解[M].机械工程出版社,2010.