基于机器视觉的阀芯自动装配系统

2021-02-03 10:55杨正华朱健
机械制造与自动化 2021年1期
关键词:畸变标定滤波

杨正华,朱健

(靖江市亚泰物流装备有限公司,江苏 靖江 214500)

0 引言

球阀是生产、生活中不可或缺的一种零件(图1),其应用广、需求大,在国民经济中占有举足轻重的地位。阀芯装配是球阀生产的后置工序,在球阀生产中占据重要的地位[1]。而目前国内制造业仍然以传统的人工方式目视方法进行装配,效率和精度低下,劳动强度大,无法满足现代化智能制造的发展要求。为此研究高精度自动机器视觉装配技术尤其必要。文献[2]中基于Halcon系统标定构建了一套在线机器视觉的机器人本体装配系统; 文献[3]中提出一种基于机器视觉的增强现实盲区装配方法,并采用unity3D和C/C++实现了其开发过程; 文献[4]基于轻量化网络,开发了酒瓶异物检测算法。以上构建的机器视觉系统要么需要进行复杂的系统标定,要么需要进行繁重的文本格式代码编写; 还需要开发者在多种开发平台之间来回转换,因此如何提高机器视觉系统的开发效率,缩短开发周期成为现行装配视觉系统开发者必须关注问题。

本文以LabVIEW和Vision Assistant为软件平台开发一套基于机器视觉的阀芯自动装配系统,该系统通过CCD相机获取零件图像,使用Vision Assistant对带有畸变的图像加以修正,包括系统标定、采集图像的预处理和标定以及模式匹配、边缘检测等操作。在系统上位机程序中,以LabVIEW调用Vision Assistant节点,得出零件的实际位置和角度信息,将这些信息通过以太网实时反馈给下位机,动态地改变机器人的抓取操作,从而提高装配的柔性和效率。该系统结构简单、稳定可靠、识别速度快,同时对环境要求不高,具有很好的应用前景。

图1 球阀零件

1 问题分析及系统总体设计

球阀装配涉及阀体、阀盖、阀杆、阀芯以及密封圈等诸多零件,而其中阀芯零件装配最为耗时、费力。这是由阀芯本身的结构特点所造成的,如果采用人工装配,在装配过程中工人注意力不够集中,就很难将阀芯槽与阀杆末端扁榫准确配对,势必会影响装配的效率;而采用传统装配机器人装配,如果阀芯零件出现稍微的位置偏移,不在预定位置上,机器人便不能准确抓取零件,同样无法装配成功。针对上述问题,本文提出一种基于视觉的自动装配系统,该系统基本结构设计如图2所示。整个系统可分为视觉系统、图像处理系统和装配系统3个主要部分。视觉系统通过固定在工作台上方以及机器人末端的CCD相机获得待装配零件的图像;图像处理系统负责对采集的图像进行处理、识别和定位,并将结果反馈给下位机;装配系统根据处理结果,动态调整机械手抓取零件,完成自动装配操作。其中图像处理系统需完成对阀芯图像的采集、处理、识别和定位等操作,是机器人完成柔性装配的核心部分,本文的重点工作就是针对此部分展开的。

图2 系统原理图

2 阀芯图像的采集、处理与分析

2.1 阀芯视觉系统标定

机器视觉系统识别物体的位置和角度等信息,需要先确定空间位置与图像上像素的映射关系以及摄像机的内部和外部参数(即摄像机的标定)。传统的标定方法很多,如Tsai两步法、Weng迭代法、张正友双平面法等,应用都比较广泛,但实际的标定过程比较繁琐,用标定的结果修正数据也不方便。而基于视觉开发模块Vision Assistant的标定方法可以用优化的算法将复杂的标定信息与图像信息结合,实现像素坐标到实际工件坐标的转换,并将标定的结果与模式识别模板、无损文字叠加等信息一起保存为PNG文件,方便地应用到后续处理中[4]。

系统利用视觉模块Vision Assistant的图像处理功能来创建和编辑。运行相应的视觉算法,能方便快捷地对机器视觉系统进行标定。标定的过程可以分为几步: 选取标定模板、标定模板的学习、标定信息的调用、坐标变换[5]。

1)本系统选取LabVIEW自带的均匀分布的黑色圆形点阵模板,该模板中黑色圆点的半径为2mm,相邻圆点圆心间的距离为1cm,如图3所示。

图3 黑色圆点标定模板

2)在Vision Assistant模块中进行模板学习。为了实现精确测量,要充分考虑非线性径向畸变的影响,需选择Distorition Model(Grid)模式,此模式在矫正非线性畸变的同时也对线性畸变进行矫正。学习的过程中,可以手动选定计算方法,包括带有1个畸变系数、3个畸变系数加切向畸变等。这些方法能快捷地将畸变的图像标定并且保存为PNG文件,无需经过大量的复杂数学计算,如图4所示。同时设定视场模板最右下角的黑色圆点为图像坐标系原点,向上为x轴,向左为y轴。最后将标定好的结果保存为PNG格式文件,以便后续调用。

图4 Vision Assistant标定算法选择

3)标定信息包含在之前存储好的PNG格式文件中,用LabVIEW中的Vision Assistant节点可以进行调用。经过此节点后,零件图像显示并没有发生变化,但其标定工作已完成,之后的测量可直接得出实际结果,其单位为模板学习过程中所设置的Unit。需要注意的是,标定时用的图像和用于测量的图像必须有相同的类型和分辨率,只要相机与工作平面的相对位置不变就不需要重复标定。

4)为了便于装配工作简洁、高效地运行,将装配机器人工作的局部坐标系与步骤2)中标定的图像坐标系设为一致。即需将零件放置在此模板区域内,同时在此区域内完成装配动作。

2.2 阀芯图像采集

在阀芯视觉自动装配系统中,确定阀芯和阀芯槽的位置是整个装配过程中最为关键的环节,为此须在实验工作台上方安装一台CCD相机来确定阀芯在标定坐标系中的坐标,同时在机器人末端安装一台同样的相机,以识别、定位阀芯槽的位置。图5所示为相机采集图像的整个流程图。

图5 相机采集图像的整个流程图

2.3 阀芯图像预处理

一般情况下,成像系统获取的图像(即原始图像)由于受到各种条件限制和随机干扰,往往不能在视觉系统中直接使用,必须在视觉的早期阶段对原始图像进行噪声过滤、增强等图像预处理[6]。

1)噪声过滤。在进行图像采集过程中,不可避免地受到各种干扰而混入随机噪声。为了减少识别误差,需对图像进行滤波处理。中值滤波是一种非线性滤波算法,能够在滤除随机噪声的同时,很好地保持图像的边缘信息,适应性强[7]。对于二维中值滤波,滤波窗口可以定义为

(1)

式中{xij(i,j)∈I2}表示图像各点的灰度值。

2)图像增强是将图像中感兴趣的特征有选择地突出,而不必逼近原图像,在时域内主要方法为直方图均衡[8]。若一幅数字图像灰度等级为M,各像素灰度值为rk(k= 0,1,2,…,M- 1),灰度值的概率估计pr(k)为

pr(k)=nk/n(k=0,1,…,M-1)

(2)

式中:nk为灰度值的像素点数;n为像素点总数。

直方图均衡就要使其线性化,使含有像素多的几个灰度级间隔被拉大,压缩像素少的几个灰度级,从而增大视觉接受的信息量,使图像变得清晰。在Vision Assistant中通过调用Filters、Lookup Table等命令来对黑白图像进行滤波、增强处理[9],处理结果如图6所示。

图6 滤波、增强后图像

2.4 阀芯的识别、定位处理

1)阀芯的初次定位

在试验台上方的摄像头采集阀芯图像过程中,系统利用Vision Assistant中的模式匹配来粗略定位阀芯的位置。模板匹配是指在检测前定义一幅较小的标准模板图像,然后将此模板与待检图像进行比较,由此可以确定在待检图像中是否存在与该模板相同或相似的区域,若该区域存在,还可确定其位置并提取该区域[10]。模板匹配原理如图7所示,定义1个模板w(x,y)(K×L像素),被检测图像f(x,y)(M×N像素),其中K≤M,L≤N,模板w(x,y)在被检测图像f(x,y)上移动,采用绝对差值法来衡量w(x,y)和f(x,y)在点(i,j)之间的误差,其计算式为

(3)

式中:i=0,1,…,M-1;j=0,1,…,N-1。

图7 模板匹配原理图

2)阀芯的二次定位

在阀芯的初次定位基本上给出了机械手所需的移动坐标,但对现场装配工艺要求来说,其精度还不够,因此需要二次定位,以求出机械手移动坐标的精确值。为此可在阀芯的粗略位置设定ROI区域,继而以Vision Assistant的FinDGe来检测阀芯口,并设定参数[11]。可以得到阀芯口中心在标定坐标系中的精确坐标值F(xf,yf,z),其中z为阀芯高的一半,为定值,处理后效果图如图8所示。

图8 二次定位处理后效果图

3)阀芯抓取位置的确定

在确定了阀芯在标定坐标系中的位置之后,将信息传输至机器人,控制机器人末端运动至图9所示A(xa,ya,z,rx,ry,rz)点位置,其中xa、ya由xf、yf加上一段固定的距离所得,rx、ry、rz由机械手事先示教所得。此时开启机械手末端摄像头,并绕着阀芯的轴向方向连续采集图像。通过Vision Assistant的Pattern Matching来寻找阀芯槽的位置,当检测到阀芯槽的位置后停止末端相机的采集工作,同时通过试验台上方的相机确定此时机械手末端在标定坐标系中的位置B(xb,yb,z,rx,ry,rz+θ),其中θ为A、B点之间绕z轴的旋转角度。为了满足阀芯的装配工艺要求,必须使机械手末端先移动至C(xc,yc,z,rx,ry,rz+θ+90。)点处,再缓慢移至D点处抓取阀芯零件[12]。由图可知,C点的坐标可由以下关系式求出:

(4)

进而D点的坐标可由以下关系式得出:

(5)

图9 阀芯抓取位置定位

3 系统上位机程序实现

通过Vision Assistant对图像进行一系列处理之后,可以方便、快速地得出阀芯和阀芯槽的坐标和角度信息[13]。在系统上位机中,基于NI的Max和DAQmx devices技术,图像采集程序可以方便地以在LabVIEW中调用IMAQ Grab Acquire. vi等子VI的方法实现;图像处理程序包括图像的标定、滤波、定位等可以以直接调用Vision Assistant节点的方式实现,其部分程序如图10所示;系统通信功能的实现,可以藉由LabVIEW中丰富的通信函数来实现,本系统即主要基于TCP连接函数实现与下位机的通信目的。

图10 阀芯槽定位处理程序

4 机器人抓取实验

在工作台上进行机器人装配实验,如图11所示。下位机使用STAUBLI工业机器人CS8C控制器;光源使用LED环形光源,采用低角度照明方式;图像采集设备采用分辨率可达1 280×960且带有Gige接口的Prosilica GC1290黑白相机以及Computar M1614-Mp2镜头,可以直接通过网线与上位机连接通信。系统以一台PC机为上位机,负责图像的采集、处理和识别定位,并将处理结果通过以太网TCP/IP反馈给下位机CS8C控制器,进而动态控制机器人的抓取动作。同时机器人工作采用自动循环方式,以接收完零件图像处理数据为触发条件,即接受完数据后,机械手臂自动上电动作,运行结束后将手臂断电,等待下一次数据的输入,部分实验参数如表1所示。

图11 抓取实验

表1 抓取实验参数

5 结语

本文综合运用NI视觉技术和机器人技术,构建了一套相对完善的零件自动装配系统。该系统经过试验验证,结果证明:具有较好的装配精度,可以满足一般生产装配需求。基于Vision Assistant的相机标定方法可以快速有效地对相机进行标定,减小图像畸变,其快速简洁的特性是传统方法所不能比拟的,提高了相机标定效率,而且在Vision Assistant中只需对采集的图像进行预处理、标定以及模式匹配和边缘检测、设置相关参数即可,无需经过繁琐的计算和复杂的程序编写。基于机器视觉的阀芯自动装配系统能快速、高效地完成装配工作,可以大大提高生产效率,节约人力成本,提高自动化程度。

猜你喜欢
畸变标定滤波
使用朗仁H6 Pro标定北汽绅宝转向角传感器
在Lightroom中校正镜头与透视畸变
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
船载高精度星敏感器安装角的标定
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于Harris-张正友平面标定法的摄像机标定算法
辐射诱导染色体畸变的快速FISH方法的建立
基于随机加权估计的Sage自适应滤波及其在导航中的应用
《癌变·畸变·突变》2014年第26卷索引