APP下载

基于LabVIEW的圆盘识别定位及应用

2022-03-25安继承

蚌埠学院学报 2022年2期
关键词:圆盘标定灰度

安继承,王 璐

(安徽工业大学 机械工程学院,安徽 马鞍山 243000)

进入21世纪,随着我国工业经济的快速发展,机器视觉技术在自动化生产中扮演着不可或缺的角色[1]。在汽车制造领域,机器视觉引导结合工业机器人,对汽车生产线进行冲压,完成车身涂装以及总装工艺[2-3]。在快速分拣的过程中,采用机器视觉系统,引导三轴并联机器人,视觉系统将物体的位置信息,经过通讯设施,准确地发送给机械臂,快速完成分拣的工作,提高分拣的准确率,从而可以替换人工操作,减轻人工劳动强度,降低劳动成本[4-6]。机器视觉相当于人的眼睛,可以对零部件做一系列的定位,缺陷检测等工作[7]。本研究中所用的圆盘,是用来盛装电感、电容等电子元器件的,在实际应用中,无轨的AGV小车不能准确地到达预定的抓取位置,导致圆盘定位不准。在机械性抓取圆盘的时候不能准确抓到,就容易出现误抓取的现象。使用机器视觉定位后,即使AGV小车会出现位置的偏差,但是只要能采集到完整的图片,就能够识别图像中圆盘的位置,并经过角度矫正,将圆盘的准确坐标以及角度发送给机械臂,然后再进行抓取的动作。采用机器视觉可以减小由于定位不准造成的误差,在提升准确率的同时,也可以提高工作效率。

1 视觉软件、硬件平台搭建

视觉系统包括采集图像、对图像进行分析和处理以及运动控制三个部分,如图1所示。

图1 视觉系统整体架构

视觉系统硬件组成:CMOS工业相机、镜头、视觉光源、PC机等;

视觉系统软件组成:LabVIEW 2018、Vision Assistant 2018等;

运动控制平台:AGV小车、六轴机械臂。

1.1 硬件平台搭建

图像采集在机器视觉系统中扮演着不可或缺的角色,它将采集到的可视化的图像信息和图像特征传输给图像分析系统[2],主要是由工业相机配合镜头来完成采集图像的过程。定位识别部分主要是监测到圆盘的位置信息,对位置的精度要求较高。本文采用的是将机械臂、上位机与电气控制柜一起,安装在AGV小车的底盘上。同时因为AGV小车没有预定的行驶轨道,精确度不高,有时候不能到达准确的拍照位置,所以这对图像采集的要求比较高,因此选用CMOS图像传感器,并且配用远心镜头。光源则采用白色的环形光源,主要是为了增强圆盘的表面特征,以便于能更好地识别出圆盘。图2为机械臂末端视觉系统实物图。

图2 机械手臂末端实物图

本设计中工业相机、镜头、光源的具体参数、型号配置如下:

基于LabVIEW的圆盘识别定位对于圆盘的位置精度达到了0.01 mm,考虑到成本问题,采用MV-UBS500M工业相机,其传感器类型为CMOS。该相机靶面尺寸是1/2.5英寸,最高帧率8 FPS/S,有效像素500万,图像分辨率2592*1944,采集的图像为8位灰度图像。具有一定的稳定性和抗干扰能力。

对比实际的现场环境,选用与相机配套的焦距为8 mm的镜头,光圈调节范围F2.5-F16,光圈和调焦均可以手动调整,镜头畸变率<0.7%,具有很强的抗畸变能力和抗震性。

视觉系统用来识别定位圆盘的位置信息,对光强度要求较高,并且圆盘的外表面为白色,光源系统采用环型光源对圆盘的表面特征进行打光增强,光源直径为15 cm,高度为10 mm。白色环形光能够更好地凸显圆盘的外表轮廓,使其在图像处理过程中更容易对轮廓进行拟合匹配。

1.2 软件系统设计

基于LabVIEW技术开发平台,借助Vision Assistant软件,其核心部件在于软件系统的综合开发运用、软件系统经过模块化的设计,主要涵盖图像采集系统、图像信息处理系统、六轴机械臂与LabVIEW进行TCP网络通讯模块,主要实现视觉采集图像,对图像进行预处理和最终分析,得到圆盘的位置信息,最终通过网络传输,将位置信息发送给六轴机器人的功能。

视觉定位系统如图3所示,首先将视觉系统和六轴机械臂初始化,观察两者之间的通讯是否连接成功。在相机与六轴机械臂连接成功的前提下,待AGV小车停稳,六轴机械臂达到拍照高度后,向相机发送拍照请求,开始采集图像。完成后,进入到图像处理分析模块。图像先进行二值化和形态学处理,过滤掉图像中的噪音,然后再应用模板匹配算法,匹配记录图像中圆盘的坐标点以及偏转角度。待上述工作完成后,LabVIEW程序会将像素值转化成机械臂的实际坐标值,机械臂到达坐标值的位置去抓取圆盘,将其放置在另一个货架上。这样整个流程就结束了。

图3 视觉系统软件流程图

2 圆盘视觉定位系统的实现

图像分析处理模块在机器视觉应用中起着不可或缺的作用,也是最重要的环节之一。其目的是将采集到的灰度图像经过一些预处理算法(主要有二值化、阈值分割等),从图形中提取特征元作为后续图像处理的依据。图像分析处理模块主要包括预处理、模板匹配以及建立坐标系这三个部分。

2.1 图像的预处理技术

在采集图像时,图像一般会附带干扰信息及噪音,因此在图像分析处理过程中,需要将这些干扰信息去除,才能达到最佳的处理结果,所以需要采用二值化、初级形态学等处理方法对图像进行降低噪音以及干扰的影响。

2.1.1二值化

在进入图像分析处理系统前,先要对采集到的图像做二值化处理,为了提高图像处理的效果,将采集到的灰度图像通过二值化处理,得到二值图像,这样可以过滤掉噪音的干扰以及一些不起作用的背景图像。二值化是经过自动或者手动调整阈值,将平滑后的图像拆分成物体和背景两个部分。其数学描述可表示为:

(1)

式中:I表示灰度图中像素的灰度值;Ib表示二值化后像素的灰度值;T表示阈值。在原始图像中,灰度值大于T的区域表示白色,剩下的区域则表示黑色。图像经过二值化处理后,灰度值由原来的0至255这256个值变成了0和255这两个值,便于在进行分析处理时缩短时间,提高效率。

2.1.2形态学滤波

在图像采集过程中,由于噪声和干扰的出现,二值化分析处理之后的图像,往往容易出现由于误判而被分割出来的孤立点。为了体现二值图像的本质,一般采用将初级形态学、粒子分析、粒子过滤技术一起融合的方法,对二值图像进一步细化,以消除干扰和噪声。初级形态学有膨胀和腐蚀两种主要算法,另外还有两个辅助算法,一般不常用,分别是开操作和闭操作。采用粒子分析函数是对通过初级形态学滤波后的图像的面积进行分析,得到二值图像上所有粒子的面积。而粒子过滤函数也是根据粒子面积或最小外接矩形,画出ROI区域对图像进行过滤,得到无干扰或无噪声的二值图像。

2.2 圆盘识别与定位

2.2.1定位算法

模板匹配是一种在原始图像中找出给定目标图像的算法,使用这个算法来定位图像的区域,匹配预定的模板,可以找到弱照明、带有旋转角度等恶劣条件下的模板,一般采用的是匹配特征形状、面积以及矩不变量等参数,在实际应用中非常广泛。圆盘的表面轮廓提取与匹配思路是:第一步,对提取的模板图像和待识别的图像进行预处理分析。第二步,对模板图像处理后,提取它的外轮廓。对于待识别的圆盘图像,也需要提取它的表面轮廓,并且对轮廓进行筛选加以区分。第三步,对模板图像的轮廓与待识别的图像的轮廓进行匹配,得出匹配结果。流程如图4所示。

图4 表面轮廓提取与匹配思路

2.2.2定位过程

将采集到的图像经过设定的预处理后对其运用算法处理。本文使用的图像分析处理算法是基于Vision Assistant 2018软件展开的,找到模板匹配,新建一个模板原型,用矩形框选中ROI区域,调整区域大小,然后将区域内的非圆盘工件表面轮廓部分进行掩膜,得到一个完整的模板图像,并且会计算出圆盘轮廓的质心。在模板补偿中,XPosition、YPosition 以及Angle这三处均选择默认值0,因为这是在模板图片没有角度和位置偏移的情况下计算出来的质心点,此质心点即为圆盘工件的中心点,这样一个模板原型就建立完毕,并且保存。质心点计算公式如下:

(2)

(3)

式中:imageArray(i,j)是模板轮廓的二维数组。

因为AGV小车不能精准地达到拍摄位置,这样会导致角度计算有误差,所以镜像角度和旋转角度设置为±10°,以弥补采集图片时的缺陷。匹配分数设定值在0-1000之间,默认值为800,尽可能选择大一点的数值,这样匹配出来的结果会更加准确,设置预设参数时,选择最快的参数,可以节省图像计算的时间,提高工作效率。得到质心点后,以质心点为原点,建立水平垂直带有角度的坐标系。如果没有建立坐标系,当匹配位置发生偏移时,就无法快速准确地找到中心点,从而造成失误。显示效果如图5 所示。

图5 定位显示效果

3 手眼标定、界面设计与结果分析

3.1 手眼标定

在工业上,如果用到机械臂与机器视觉相配合完成一套动作的时候,不可避免地要进行手(机械手臂)眼(相机)标定。目前,一共有两种手眼标定方法,一是相机固定在机械手末端,相机随机械手移动;二是机械手臂和相机分离,相机与机械手的位置相对静止。本文采用的是第一种标定方法,在标定过程中需要计算相机坐标系和机械手坐标系的相互转化关系。在数据转换中,像素坐标系是以像素为单位的直角坐标系而机械手臂末端的坐标系是以微米为单位的。手眼标定时,首先在机械手末端夹爪处安装一根标定针,将标定板放置在圆盘货架表面,采集一张照片,将机械手运动到标定板上任意的一个点,标定针尖端与此点重叠。为了方便,最好找特征点,分别记录此位置的像素坐标及机械臂坐标。以此类推,以同样的方式再找另外两个点,记录它们的坐标值,需要注意这三个点不能在一条线上,否则标定就会出现偏差,导致最后发送坐标后,机械臂虽然到达了发送的坐标位置,但是不能准确地抓取到圆盘,造成失误。记录好这三组数据后,为了验证标定是否准确,需要将机械臂运动到标定板上的任一点位,记录此点的像素值,并查看机械臂示教器上显示的在机械臂坐标系下的实际位置,将像素坐标填入视觉程序中进行计算,计算出来的坐标值如果与示教器的一致,则手眼标定成功。记录数据后,将标定的坐标信息写入文本文档并保存,退出标定界面。

3.2 显示界面与结果分析

圆盘识别定位检测系统的显示界面也是整个程序设计的一个关键环节。在主界面中主要显示了实时拍照画面、通讯连接是否成功、手动拍照、通讯用的连接主机的IP地址和端口号、显示的坐标信息和偏移角度、图像处理时间以及标定和退出按钮等功能。图6为圆盘识别定位检测系统的上位机界面显示图。当点击手动拍照按钮后,检测信息就会显示在画面中,圆盘的坐标位置信息显示在右边的数组控件中。主界面可以让操作员及时观察到圆盘定位的情况,以便机械手臂去抓取圆盘的时候不会出现误差以及安全事故。图6的上位机界面显示内容多种多样,图像处理时间在300毫秒左右,也不算太长,不会影响机械臂与视觉系统正常通讯。表1选取了18组坐标转换信息,经现场实际运用验证表明,设计的LabVIEW定位运行程序稳定可靠。

图6 上位机定位显示界面

表1 定位坐标结果并转换成机械臂坐标

续表

4 结论

六轴机械臂在抓取圆盘工件时,采用机器视觉来引导,在图像采集模块、图像处理模块以及软件设计计算系统、机械臂系统中均可开发设计,但在定位时仍需要关注以下问题:

AGV小车没有准确的停止位置,没有足够的精度,需保证停车的误差范围不超过所能拍到整个圆盘工件图像的极限位置。当采集不到完整的图像时,视觉定位效果会变差。

圆盘工件在定位前,需观察每个工件的外形轮廓有没有破损、变形等缺陷,因为在定位检测时,无法消除这些因素产生的误差,会导致定位质量变差,影响成功率和效率。

猜你喜欢

圆盘标定灰度
航空滤光片阵列多光谱图像条带灰度调整算法
Scratch制作游戏
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
天津港智慧工作平台灰度发布系统和流程设计
一种全景泊车控制器标定系统的设计研究
Arduino小车巡线程序的灰度阈值优化方案
CT系统参数标定及成像—2
CT系统参数标定及成像—2
奇怪的大圆盘