【学术论文】基于视觉引导的SCARA机器人自动装配系统
2.2相机标定
在机器视觉应用中,相机参数的标定是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性[6]。由于机器人抓取的工件位于同一平面,所以只对标定板图像采集一次就可以得到相机的外参。得到相机的外参后,即可以得到图像坐标上每个像素在世界坐标系下对应的实际距离。然后通过坐标系的变换公式即可得到图像坐标系与机器人世界坐标系的转换关系。
2.3标准模板的建立
在进行模板匹配之前需要制作不同工件的标准形状模板。将标准的工件放在相机的视野下,获取图像,对图像提取ROI区域,然后进行轮廓提取,得到模板的标准轮廓。首先获取标准工件图像,利用矩形截取函数来截取矩形的ROI区;然后对图像进行增强;最后通过模板创建函数来创建模板,得到模板二值化后的标准轮廓。创建模板的算法思路如下:
(1)寻找ROI区域图像的灰度梯度,使用Sobel算子对图像进行处理可以返回X方向的像素灰度值(Gx)和T方向的像素灰度值(Gy)。用下面的公式计算当前像素点的灰度值和梯度方向。
(2)利用非极大值抑制算法(NMS)来搜索梯度方向的局部极大值,抑制非极大值元素,可以细化边缘。非最大抑制算法跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度。
(3)采用双阈值算法提取和连接边缘。非极大值抑制算法处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍。双阈值选择与边缘连接方法通过假设两个阈值其中一个为高阈值TH,另外一个为低阈值TL,则有:对于任意边缘像素低于TL的,则丢弃;对于任意边缘像素高于TH的,则保留;任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于TH而且边缘所有像素大于最小阈值TL的,则保留,否则丢弃。最终对边缘图像进行保存,图1是工件A的模板创建过程。
2.4模板匹配
对相机采集的工作区域实时图像搜索模板图像,得到工件的像素坐标和旋转角度。模板匹配的流程如图2所示。
其中相似性度量用到了归一化处理,图像中包含与模板越相似的图像输出的数值越接近1,公式如下:
其中代表模板图像X和Y方向的梯度,代表待匹配图像的X和Y方向的梯度。归一化相似性度量会得到当前图像与模板的相似度Score,Score的阈值MinScore设定为0.75。可以设定图像的最大匹配个数,如果匹配时的质量系数大于MinScore的目标个数多于最大匹配个数,仅仅返回质量系数最好的目标位置。如果找的匹配目标不够,那么就只返回已找到的目标。输出的匹配角度Angle为弧度值0~2π,对应模板图像逆时针旋转0~360°。最终根据相机标定的结果将工件图像坐标转化为机器人的世界坐标。经过多次匹配实验得出匹配的准确率为98%,匹配的最大绝对误差为5个像素,匹配平均时间为60ms。
3机器人装配系统设计
SCARA(SelectivelyComplianceAssemblyRobotArm)机器人是一种平面关节型工业机器人,具有4个关节[7],3个旋转关节轴线相互平行,实现平面内定位和定向;1个移动关节,实现末端件升降运动,广泛应用于塑料工业、汽车工业、电子产品工业、药品工业和食品工业等领域[8]。本次设计中机器人要与PC通信接收工件的坐标信息和角度,然后抓取工件以固定的姿态放到指定的位置。
3.1SCARA机器人通信程序设计
机器人控制器的IP1端口作为客户端连接到运行在PC上的服务器,利用无线通信完成数据的收发。使用机械手语言的PRINT和INPUT命令,与机械手语言程序进行数据通信。通过使用PRINT命令,可以从控制器发送任意的字符串,控制器发送以PRINT命令指定的字符串及变量值。接收数据使用INPUT命令,控制器能接收的仅是实数或整数。控制器已接收的数据被代入为用INPUT命令指定的变量。在机械手语言的程序中,可以通过参照该变量,使用已接收的数据。在VisualStudio中利用C++开发了基于Socket通信的服务器,将模板匹配得到的工件坐标发送给机器人客户端。PC与机器人通信程序流程图如图3所示。
3.2SCARA机器人抓放程序设计
机器人程序在TSPC软件中完成,主要功能是根据接收到的工件坐标和角度数据,移动机器人将工件以固定的姿态放到装配位置。由于抓取的工作区域比较大,因此要将工作区域分开抓取。通过对机器人的轨迹范围的研究,确定将工作区域分为两个部分,分别以不同的姿态抓取工件。以机器人世界坐标X=331.6为分界,对上半部分采用C=-254.380基准对工件进行抓取,下半部分采用C=-74.306基准对工件进行抓取。由于工件在工作区域有0~360°的旋转角度,所以要在基准的基础上对机器人的旋转角度进行调整,使得每次机器人的末端执行器都与工件平行。
机器人末端执行器根据工件角度旋转的原理。由于模板匹配返回工件中心的坐标点,当角度发生变化时,相应的机器人的坐标也要变化,才能保证以与工件平行的姿态抓取工件。其原理如图4所示。
如果工件A的旋转角度为零,那么末端执行器以工件中心点(X0,Y0)到(X1,Y1)的直线抓取工件。当工件A旋转θ角度时,末端执行器以工件中心点(X0,Y0)到(X2,Y2)的直线抓取工件。机器人的坐标偏移量用下面的公式计算,其中θ为工件的旋转角度,L为末端执行器的长度7.564cm。
然后用MOVESAFEPLAY,将不同旋转角度的工件都以固定的角度移动到放置安全点,最后完成放置。机器人的抓放程序流程图如图5所示。
4实验验证
在VisualStudio中采用MFC开发实现上述图像处理算法,并建立Socket服务器与SCARA通信。在MFC程序中采用多线程的方法实时显示机器人工作区域的图像,采用中断的方式定时对图像进行模板匹配。当匹配到工件,利用Socket通信将工件坐标发送给机器人完成装配。MFC程序界面及装配实验系统如图6所示。
系统误差的主要来源为相机标定、光照的变化、坐标变换以及机器人末端执行器的精度等。利用本系统对任意摆放的工件进行识别和抓取,对连续50次的装配点误差进行统计,如图7所示。通过以上实验测试,本系统可以对任意摆放的工件进行识别,并可以精确地放到装配位置,工件装配的最大绝对误差为0.2mm,平均绝对误差为0.15mm,可以满足生产的要求,证明系统的准确性良好。实验测试时间超过100min且系统仍然稳定运行,证明系统的稳定性良好。
5结束语
为了使现有生产线工业机器人能更好地适应抓取环境,设计了基于视觉引导的机器人抓放系统。通过对工作区域图像实时采集和模板匹配得到工件的坐标和姿态,由机器人完成抓放。通过对生产线的改进,工件可以任意放入工作区域,也可根据生产需要改变抓取策略,提高机器人对环境的适应性,大大提高生产效率。通过多次测试实验,本系统可以完成上述所有功能,满足工业生产的要求。
参考文献
[1]周济.智能制造─“中国制造2025”的主攻方向[J].中国机械工程,2015,26(17):2273-2284.
[2]谭民,王硕.机器人技术研究进展[J].自动化学报,2013,39(7):963-972.
[3]骆敏舟,方健,赵江海.工业机器人的技术发展及其应用[J].机械制造与自动化,2015,44(1):1-4.
[4]刘艺,夏文杰.基于机器视觉的移动工件抓取和装配的研究[J].计算机测量与控制,2015,23(7):2329-2332.
[5]LEEWS,EOMJH,WONJD.Astudyonvisualservoingcontrolofindustrialrobot[C].201212thInternationalConferenceonControl,AutomationandSystems(ICCAS).JeJuIsland,2012:1886-1890.
[6]郭斌,朱戈,陆艺,等.智能化上料系统中工件视觉定位的研究[J].计算机测量与控制,2016,24(2):232-238.
[7]翟敬梅,董鹏飞,张铁.基于视觉引导的工业机器人定位抓取系统设计[J].机械设计与研究,2014,30(5):45-49.
[8]刘振宇,李中生,赵雪,等.基于机器视觉的工业机器人分拣技术研究[J].制造业自动化,2013,35(9):25-30.
作者信息:
党宏社,候金良,强华,张超
(陕西科技大学电气与信息工程学院,陕西西安710021)返回搜狐,查看更多
机器人视觉引导定位介绍
机器视觉都有怎样的应用?机器视觉的应用主要分为四大类别,包括引导、识别、测量和检验(英文首字母缩写:GIGI),GIGI表示Guidance(引导)、Inspection(检验)、Gauging(测量)和Identification(识别)。接下来主要介绍机器视觉应用的引导部分。机器视觉应用前的准备工作从本质上讲,机器视觉系统就是在工业环境中引导机器人、测量物品、统计物品、读取条码、字母和数字,以及检测缺陷。在任何机器视觉应用中,无论是最简单的装配检验,还是复杂的3D机器人箱子拾取应用,通常第一步都是采用图案匹配技术定位相机视场内的兴趣物品或特征。兴趣物品的定位往往决定机器视觉应用的成败。所以机器视觉应用前的准备工作至关重要。
机器人引导定位组件
元件定位的挑战性元件定位是机器视觉应用前非常关键的第一步。如果图案匹配软件工具无法精确地定位图像中的元件,那么,它将无法引导、识别、检验、计数或测量元件。虽然元件定位听上去很简单,但在实际生产环境中,元件外观的差异可能导致这一步变得非常具有挑战性。因照明或遮挡而出现的外观变化可能导致元件定位变得困难虽然视觉系统经过培训,基于图案来识别元件,但即使是最严格控制的流程,也允许元件外观存在一定的变化。元件呈现或姿势畸变影响也可能导致元件定位变得困难要实现精确、可靠、可重复的结果,视觉系统的元件定位工具必须具备足够的智能,能够快速、精确地将培训图案与生产线上移动过来的实际物品进行比较(图案匹配)。
什么是引导?
引导就是使用机器视觉报告元件的位置和方向。需要进行引导的原因可能有多种。首先,机器视觉系统可以定位元件的位置和方向,将元件与规定的公差进行比较,以及确保元件处于正确的角度,以验证元件装配是否正确。
机器人视觉引导系统|工业相机|智能视觉系统
接着,引导可用于将元件在2D或3D空间内的位置和方向报告给机器人或机器控制器,让机器人能够定位元件或机器,以便将元件对位。机器视觉引导在许多任务中都能够实现比人工定位高得多的速度和精度,比如将元件放入货盘或从货盘中拾取元件;对输送带上的元件进行包装;对元件进行定位和对位,以便将其与其他部件装配在一起;将元件放置到工作架上;或者将元件从箱子中移走。手机壳抓取定位案例衣领贴合对位案例引导的作用和功能引导还可用于与其他机器视觉工具进行对位,这是机器视觉一个非常强大的功能。
因为在生产过程中,元件可能是以未知的方向呈现到相机面前的。通过定位元件,并将其他机器视觉工具与该元件对位,机器视觉能够实现工具自动定位。
维视智造公司从事机器视觉已经17年,对于机器人视觉引导定位有着极其丰富的经验,visionBank智能视觉系统的推出也是极大的推动了机器视觉引导定位的精准和稳定性。