基于机器视觉的弹簧组件外观检测
[2010-08-13]

基于机器视觉的弹簧组件外观检测




在汽车零配件组装生产线上,视觉检测系统已经是不可或缺的重要组成部分。自动化装配线具有批量生产,各道工序之间依赖性强,精度、稳定性要求高的特点。因此,生产环境、被测对象的特征、可以预计及不可预计的偶然因素在很大程度上影响了视觉系统的设计方案,需要仔细分析和检验测量算法的合理性和精确性。
在实际设计过程中,一方面生产部门会提出标准产品允许的误差范围,另一方面视觉系统有自身可以达到的精度水平。只有当视觉系统所能达到的精度水平高于标准产品的精度要求时,视觉检测才是有效的。本文将以弹簧组件的尺寸检测为例,研究分析视觉检测中的精度问题,并提出相应的解决方案。

背景
1 系统描述
 视觉系统用于检测弹簧组件的组装质量。整个检测过程使用双摄像镜头,成90°夹角设置于两侧。当弹簧组件运动到镜头前,镜头从两个方向同时采集图像,经专用视觉软件计算得出测量数据,在LCD显示屏上显示产品质量状况为OK或NG,并给出各个参数的测量值。如果质量为OK, 继续执行之后的工序;如果为NG,工作站将报警并暂停工作等待处理。
2 系统功能
视觉系统对各产品类型的主辅两种弹簧组件的加工尺寸和组装质量进行实时监控。主要指标包括:弹簧的外径、活塞的外径以及同心度的测量。严格将各个指标控制在质量要求的误差范围内,最后综合评定产品质量的好坏,以达到质量控制的功能。

视觉检测系统设计
1搭建视觉检测系统通常包括以下步骤
● 搭建光学系统,获取质量良好的图像。图像要能够突出被测对象的特征,方便对象提取,这是决定系统设计成败的先决条件。
● 图像预处理。过滤图像噪声,通过二值化、边缘锐化等图像处理算法提取对象特征。
● 位置调整和定标。定位感兴区域并进行像素单位到毫米单位的转换。
● 检测算法设计。针对具体应用设计外观尺寸测量、字符读取、二维码读取等检测算法,对特殊应用场合编程设计软件扩展模块。
● 系统测试。对于大批量检测任务,需要对系统的稳定性和精度进行试生产测试。分析误判、漏判等异常状况,改进前述步骤,统计视觉检测  的成功率,直至满足生产要求为止
2 光源、镜头选取及成像效果
由于被测量是弹簧组件的外观尺寸,所以采用LED背光源可以有效地突出被测物体的边缘。另外,考虑到镜头、物体和光源组成的光学系统的安装位置受机器上的预留空间限制,因此采用12mm焦距的标准镜头。被测物体最大长度在100mm左右,即要求取景视野要大于100mm,物距大致在200mm附近。调小光圈,抑制金属表面的反光,微调镜头、物体和光源的相对距离,可以得到物体边缘清晰的图像。
3 图像预处理
对于外观尺寸检测,边缘的清晰程度直接影响检测的精度。为此该系统中采用3×3的边缘锐化模板处理原始图像。
4 位置调整和定标
由于每件产品出现在镜头前的位置会有微小变化,经镜头放大后被测物可能偏出预设的ROI,所以需要相应调整ROI的位置。首先在图像中找到特征明显且稳定的一部分,如弹簧中部的3个螺纹,然后根据该部分的位置调整其他ROI的位置。图1显示了调整后的效果。

a 选取用于定位的模板

b 偏移的测量区域

c 经过位置调整后的测量区域

定标实现了像素单位到毫米单位的转换,转换系数由公式1计算得出。


       (1)


在此,实际长度为活塞的外径,加工精度精确到0.1mm,而像素长度从预测量结果中读出,精确到0.01个像素,即所谓的子像素级。
5 测量方法
在外观尺寸测量中,所用视觉检测软件提供了Gauging函数库,并且采用子像素测量技术,软件测量精度可达到0.01个像素,足以满足产品最高0.1mm级的精度要求。在弹簧组件检测中,各被测物的测量目的有所区别,精度要求也就不同。另外,活塞为规则的圆柱体,而弹簧为不规则的螺旋体。综合考虑以上因素,测量工具需要依据对象特征择优选取。

● 活塞外径检测
通过检测灰度跳变可以很容易地检测到活塞的边缘,并以两条直线间的最小距离作为活塞的外径。
● 弹簧外径检测
由于弹簧的轮廓为锯齿形,所以先检测锯齿尖端轮廓,然后将三段边缘拟合为一条直线,从而可以如同活塞外径一样以两条直线间的最短距离作为弹簧的外径。图2说明了这个过程。

a 弹簧轮廓

b 拟合弹簧轮廓得到的直线

c 将弹簧和活塞外边缘作为测量对象

d 弹簧和活塞外径的测量结果
● 同心度检测方法
同心度定义为两圆圆心的接近程度,一般以两圆心之间的距离作为量度。然而,在该系统中需要从侧面观察,并检测活塞和弹簧的同心度。在此提出了两种解决方案。
方案一 :间距测量法。计算弹簧边缘与活塞边缘的两侧间隙,如该空隙宽度在规定的公差范围内,即认为活塞和弹簧的同心度合格。
方案二 :中心线测量法。尝试寻找弹簧和活塞的中心线,并计算两条中心线的夹角,如该夹角在规定的公差范围内,即认为活塞和弹簧的同心度合格。
① 间距测量法
沿用测量活塞和弹簧外径的边缘检测算法,可以方便的计算出弹簧边缘与活塞边缘的间隙宽度。由于采用成90°的双摄像镜头,故进一步推算得出两圆心间的距离。在此假定弹簧的倾斜程度很小,可以认为弹簧顶面和活塞顶面平行,弹簧和活塞的位置如图3。推算圆心间距的公式2如下:

同心度测量的几何模型


  (2)


为说明测量的精度,简单采集10个样本图像,得到表1中列出的样本数据。


② 中心线测量法
首先选取弹簧锯齿形轮廓上的尖端作为特征点(见图4),由此计算出有限个中点。然后采用最小二乘法拟合这些中点,得出弹簧中心线。另外,由于活塞外壁有很高的加工精度,所以可以只取两个中点连接成活塞的中心线,再计算出两条拟合直线(见图5)的夹角。这里采用与方案一中相同的样本图像,并在表2中给出相应的θ值。

提取弹簧和活塞边缘上的特征点

5  MATLAB仿真的弹簧和活塞中心线的拟合效果


比较两种方案,我们可以看出:
● 在测量精度方面,间距测量法更适用于弹簧轻微倾斜的情况。如果弹簧倾斜角很大,就不能简单地认为弹簧上表面在做水平的平移,弹簧上表面和活塞上表面将不再是同一个平面,必然导致误差急剧增大。此时一种替代的方法将得到应用,即不再计算d的准确值,而是简单地考虑a1、a2、b1、b2是否大于一个公差下限,用以判断产品是否合格。相比之下,中心线测量法适合于弹簧任何情况的倾斜,并能给出精确的倾斜角θ。
● 在编程方面,间距测量法更容易实现。因为方案一只用到了一些视觉检测软件中都包含的基本图像处理算法,无须对编写扩展模块,缩短了项目开发时间。而且方案一运算简单,程序运行时间短,可有效提高生产效率。对于中心线测量法,一般的视觉检测软件的数值运算功能较弱,往往需要另行开发软件扩展模块,这无疑增加了编程难度。如果是对于工序耗时要求低,测量精度要求高的情况,中心线测量法更具优势。
● 共同的问题。两种方案都只利用了对象边缘的局部信息,而没有考虑对象的整体特征。利用全局特征计算对象主轴的图像处理算法还有很多,比如利用K-L展开的特征向量拟合,这也正是最小二乘法拟合的不同之处。不过特征向量拟合的复杂度更高。