基于机器视觉的机器人工件定位系统*

2019-12-26 05:59李致金
组合机床与自动化加工技术 2019年12期
关键词:传送带矩形矢量

李致金,武 鹏, 乔 治,闫 倩

(南京信息工程大学 电子与信息工程学院,南京 210044)

0 引言

传统工业技术中,人工进行工件包装会产生定位不准而导致生产效率低下的问题。在生产流水线中,机器人的动作都是通过离线编程预先设定好的,并通过传感器进行控制运动[1]。当工作环境发生变化时,缺乏对环境的应变能力,很大程度上限制了机器人的操作范围。工件在传送带上的移动过程中容易发生位置的偏移。机器人执行既定的动作,造成工件无法精准放置,因此对机器人精确放置工件提出了很高的要求[2]。将视觉技术应用于工业机器人上,好比给机器人安装了眼睛[3],识别工件偏转并完成相应的定位抓取。目前视觉算法在较多领域有了较快的发展[4-6]。文献[7]提出的改进霍夫变换和窗口随机霍夫变换,通过减轻存储负载来提高图像处理运行速度。文献[8]将降噪的自动编码与深度学习相结合,达到机器人在多模特征的深度学习抓取识别的能力。文献[9]设计的三维视觉机器人定位系统,识别误差范围低于2mm。本文对文献中现有的定位误差范围进行提升,通过上位机软件编程实现对图像的提取与预处理分析,设计了一套精确的机器视觉定位系统,完成机器人对工件的定位放置。并将定位精度误差降低到1mm以下。

1 系统的组成与工作原理

基于机器视觉的机器人定位系统的结构如图1所示。该系统包括机器视觉系统和机器人控制系统:

控制系统:由工控机和RCX340控制器组成,用于控制机器人的末端位置并执行相应的抓取操作;

机器视觉系统:它由工控机与工业相机组成,负责图像的采集和处理。图像处理在QT-creator平台中进行,在QT-creator设计器中完成的界面中实时显示图像、位置偏移数据等。

图1 视觉机器人工件定位系统组成图

视觉定位系统通过上位机与下位机之间的相互控制。在传送带Ⅱ处放置速度传感器,当工件B进入传送带后,系统的定时器开启,延时时间可根据传送带的快慢进行调整。当工件B在工业相机的拍摄视场范围内,节拍式传送带停止,同时自动触发相机完成对工件B的抓拍。

上位机通过已完成的设计界面,对工件B进行图像分析处理,包含图像灰度处理、滤波处理、特征提取、矢量定位等,计算出工件B进入传送带Ⅱ后相对于标定图像的坐标与角度偏移量。上、下位机通过串口进行通信,将工件B的空间位置矢量信息传送给机器人。机器人抓取传送带Ⅰ上的工件A,并根据B的偏移量调整机械师在X、Y和R轴方向上的位置,将工件A精准得地放置在工件B的指定位置。

2 坐标系标定

本系统选择M2S036-H彩色工业相机对传送带上的工件进行图像采集。机器人需要在世界坐标系中执行抓取动作,为保证机器人抓取参数的一致性,需要通过小孔成像模型将工业相机拍摄的三维图像投影到二维平面中,并通过矩阵变化将二维平面的图像转换到世界坐标系中。如图2所示。

图2 坐标系转换图

定义点M1(x1,y1,z1)为图像在世界坐标系中的任一点,根据小孔成像的相似比可知图像在世界坐标系与相机的三维坐标系关系式:

(1)

其中,M2(x2,y2,z2)为点M1映射在相机坐标系下的坐标,M3(x3,y3,z3)为点M1在图像坐标系下的坐标值。f为相机的的焦距。点M1、M2在相机坐标系与世界坐标系下的相互转换关系为:

(2)

其中,P为3×3的正交矩阵;Q为平移向量,T1为相机的内参矩阵。

在建立图像坐标系的过程中,左上角为坐标原点,因此图像的理想坐标系原点与真实坐标原点之间存在偏差。需要对所建立的坐标系中的点进行校正操作。

(3)

其中,(X,Y)为真实图像坐标系点,(x,y)为图像理想标系中的图像点,(x0,y0)为理想的图像坐标系原点。将世界坐标系下的M1点的横、纵坐标值带入式(3)可得到下述变换矩阵:

(4)

通过等式(2)和等式(4)可以推导出图像坐标系与世界坐标系下的关系:

(5)

其中,T2为相机的外参数矩阵,由相机本身参数决定。为了确定相机的内外参数矩阵,需要对校准工业相机。本实验采用的是70mm×70mm的圆点型标定板,如图3所示。在相机校准的过程中需要图像的多组三维坐标点,通过相机标定板找到图像中的对应坐标值,并建立对应关系从而求得相机T1、T2参数矩阵。

图3 相机标定板

3 工件定位算法的实现

3.1 图像预处理

由于拍摄的环境、光照强度、相机抖动等都会影响到工件图像的质量,因此对图像进行预处理。处理流程如图4所示。

图4 图像预处理流程图

首先,从由相机获取的工件图像中提取前景图像,接着对图像进行灰度处理、滤波变换去除噪声边缘,然后对图像进行二值化处理,并对二值图像进行边缘检测,最后通过主轴法对边缘检测后的工件进行矢量标定。

相机采集的图像如图5a所示,由于工件的颜色与传送带的颜色有差异,为了减少传送带背景色对工件识别的影响,因此对传送带上的工件进行一个前景的提取,缩小工件的识别范围,如图5b所示。

彩色图像在图像处理的过程中考虑色调、饱和度等问题,大大增加了图像处理的时间。由于灰度图像与彩色图像具有同等的特征描述能力[10]。本文采取加权平均值的方法对工件图像进行灰度化处理。效果图如图5c所示。

图像进行滤波处理可以减少噪声的干扰,最大限度的保留图像的特征信息。高斯滤波在使用的过程中,会将图像的边缘模糊化,这对图像的矢量数据造成误差[11]。本文采用双边滤波的方法对灰度化处理后的图像进行滤波,效果图如图5d所示。

二值化过程不仅减少数据的运算量,还突出了目标区域范围。在本文中,采取局部自适应阈值的方法来对图像进行二值化处理。处理后的二值化图像如图5e所示。

边缘检测,本文中应用Canny算法[12]。具体实现步骤如下:①高斯滤波器进行平滑处理;②计算图像的梯度方向、幅度;③非最大抑制法寻找图像可能的边缘点;④双门限检测并进行边缘连接。经过Canny 算子处理以后,对二值图像膨胀处理。边缘检测效果图如图5f所示。

(a) 采集图像 (b) 前景提取

(c) 灰度处理图 (d) 双边滤波图

(e) 二值化后图像 (f) 边缘检测图 图5 图像预处理效果图

3.2 工件矢量信息获取

本系统通过主轴法寻找能够涵盖工件图像的最小外接矩形。如果把图像看成一块类似于质量密度都不均匀的薄板,那么图像的灰度分布函数f(x,y)也就类似看作薄板的密度分布函数[13-14]。考虑到边缘检测图像的不规则性,通过重心的思想[15]确定主轴与其垂直轴的初始位置,并以重心点为中心计算矩形轮廓。当所拍摄的图像位置发生偏转,以重心点为旋转中心,将矩形轮廓按一定角度进行逆时针旋转,寻找一个覆盖工件轮廓的矩形且面积最小。当工件发生偏转时,其密度分布函数会相应发生改变,但图像的实质不会改变,仍然可以看做一个薄板,只是密度分布有所改变。通过这个思想,可对图像进行简化处理,保留最能反映目标特性的信息,遍历所有的像素值,确定包含工件的最小矩形区域如图6所示。从图6可以看出,按此方法可以识别出多个矩形轮廓,但所能涵盖工件工件轮廓的最小矩形只有一个,满足最小矩形轮廓获取的要求。

图6 最小外接矩形

主轴法所确定的最小矩形轮廓的重心坐标为:

(6)

其中,Xi表示第i行的坐标,Yj表示j列坐标值,f(i,j)表示第i行和第j列的像素值。在旋转的过程中,重心点坐标值都会发生变化,因此要标定初始中心坐标值。发生偏转后的图像中心值坐标为:

X′=X1cosθ-Y1sinθ;
Y′=X1sinθ+Y1cosθ;

(7)

其中,(X1,Y1)为原始图像重心坐标,(X′,Y′)为图像发生偏转后的中心坐标值,θ为偏转角。机器人根据接收的矢量信息完成相应的动作。但在机器人放置的时候会产生误差,因此在QT-creator软件平台中添加微调量Δx,Δy,Δθ,满足下述公式:

X′=X1cos(θ+Δθ)-Y1sin(θ+Δθ)+Δx;
Y′=X1sin(θ+Δθ)+Y1cos(θ+Δθ)+Δy;

(8)

实现对机器人手臂的微调与修正。

3.3 上、下位机间数据通信

在数据传输的过程中,上位机发送的串口通信协议要与机器人可以执行的操作协议保持一致,需要设置串口的参数,包括波特率、数据所需的位数、是否需要校验位以及停止位等。每个工件B的偏移量以字符串的形式发送给控制器。偏移量太小可能会造成误差,因此将偏移量放大10倍,转换成最小宽度为4的十六进制数。最后输出的偏移字符串是偏移角度字符串+偏移X轴的水平距离的字符串+偏移Y轴水平距离字符串+0X0D+0X0A。机器人控制系统对数据进行提取,取字符串的前5个字符为X坐标,中间5个字符为Y坐标,最后4个字符为偏移角度。机器人手臂依据修正后的数据将工件A精准定位放置。

由于流水线速度可调,系统中设延时拍照控件,提高系统的柔性。但当工件位置偏移数据超过机器人手臂延伸范围,机器人视为无效工件,由人工补正。

4 实验结果与分析

本系统上位机基于C++开发环境,在QT creator中进行软件编程。下位机使用汇编语言实现对机器人的控制。系统流程图如图7所示。

图7 软件设计流程图

本文针对现有的定位误差范围,并在此基础上提升了定位精度,将误差精度降低到1mm以下。为了验证系统的精确度,识别工件B相对于标定位置的偏移数据,重复多次实验,对不同位姿的工件进行识别。取其中一组数据见图8。图8a为初始标定图像,工件偏移如图8b所示。根据设计的软件平台获得其中的一组矢量数据如图8c所示。利用本系统提取的4组偏转工件的最小轮廓的矢量数据如表1所示。选取一组误差修正数据如表2所示。

(a)工件标定图 (b)工件偏移图

(c)检测矢量数据图 图8 实验效果图

表1 最小矩形轮廓矢量数据表

表2 检测矢量数据修正表

根据图8可以看出,实验准确的找到工件的偏移位置,极大的方便机器人进行抓取完成相应的动作。由表1和表2可知,实验平台可以准确的获得矩形轮廓的矢量数据以及通过微调实现机器人手臂的精准定位。实际抓取点与理论抓取点的误差小于1mm,低于现有视觉定位系统的误差2mm范围,满足实验要求。

5 结论

本文阐述了基于机器视觉的机器人定位系统,完成坐标系的标定,接合图像处理的算法完成对图像的预处理,并通过主轴法确定工件的最小外接矩形,求得工件的矢量信息,大大提升了工业生产效率。而将所有的操作过程放在QT creator设计平台中完成,在显示界面上可以清晰的读取图像的矢量数据,使得定位系统更加智能化、具体化,有效的提高工件定位安装的效率。本文提出的基于视觉的机器人定位系统将定位精度降到1mm以下,具有很强的工程实用性。

DOI:10.1007/978-3-642-23094-3_28.

猜你喜欢
传送带矩形矢量
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
浅探传送带模型的分析策略
教学考试杂志社“优师计划”阶段性成果展示
——“模型类”相关试题选登
矩形面积的特殊求法
化归矩形证直角
从矩形内一点说起
传送带模型中摩擦力的判断
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用