朱冬冬;秦琴;屠子美;洪剑雄
【摘 要】针对工业流水线分拣作业的需求设计了一套基于视觉检测的工业机器人分拣系统.系统采用工业相机获取工件图像和对应QR码标签信息,通过图像识别方法进行工件识别并计算工件中心坐标,将工件坐标统一至机器人坐标系并与机器人建立通信,控制机器人准确抓取并分拣工件.本系统主控计算机采用LabVIEW编程实现图像采集、图像处理与坐标变换等任务,并通过安川公司提供的
MOTOCOM32.dll与机器人控制器建立实时通信.该系统具有较高的运行速度和准确度,可应用于工业流水线自动化分拣作业领域. 【期刊名称】《上海第二工业大学学报》 【年(卷),期】2017(034)004 【总页数】6页(P258-263)
【关键词】工业机器人;机器视觉;自动化分拣 【作 者】朱冬冬;秦琴;屠子美;洪剑雄
【作者单位】上海第二工业大学环境与材料工程学院,上海201209;上海第二工业大学智能制造与控制工程学院,上海201209;上海第二工业大学环境与材料工程学院,上海201209;上海第二工业大学智能制造与控制工程学院,上海201209;上海第二工业大学智能制造与控制工程学院,上海201209;上海第二工业大学智能制造与控制工程学院,上海201209 【正文语种】中 文
【中图分类】TP241
随着制造业的发展,视觉检测技术在工业生产中得到越来越广泛的应用,对提高生产效率、生产智能化至关重要。工业机器人的工作,离不开分拣,分拣作业是大多数流水生产线上的一个重要环节,工件分拣也是工业产品批量生产环节重要的组成部分[1-4]。机器人分拣技术是机器人技术与视觉检测技术的组合,一些工业发达的国家在食品、医药、汽车生产等领域已有非常广泛的应用。近些年来,我国的机器人分拣技术发展迅速,越来越多地应用于物流等分拣现场。在传统流水线的分拣作业中,主要是人工的方法分拣,工人重复地长时间执行分拣动作已不能满足要求,大大影响了工作效率和准确性[5-8]。
在目前机器人分拣技术的应用中,根据不同的分拣对象使用不同的机器人类型:在食品分拣领域,需要应用具有高速执行功能的机器人;在物流搬运领域,需要负载能力高的机器人。本文根据机器人分拣系统所需要的技术要点,包括图像获取和预处理、坐标变换、通信等,设计了一种基于视觉检测的机器人分拣系统,可用于分拣作业中,也可用于教学和实验应用。
系统硬件主要由工业机器人、气动装备、工业相机与镜头、光源、PC机、路由器和分拣对象(多种形状的塑料小块)组成。
在本系统中,作为执行机构的工业机器人,采用日本安川电机有限公司生产的具有6个轴的工业机器人。机器人末端执行机构安装小型吸盘,实现对工件的吸取和释放;工业相机采用Allied Vision Technologies公司生产的Manta G201B ASG 30 fps 200 W像素以太网工业相机,固定安装在工作台上方70 cm处;辅助光源安装于工作台上方40 cm处,用于补光以达到最佳的拍摄效果;利用1台路由器,把机器人、工业相机、计算机连接到同一个局域网内,以达到它们互相通信的目的。主要系统硬件连接示意图见图1。
本系统采用LabVIEW作为软件平台,其包含机器视觉图像处理组件NI Vision
Pack和通用工业相机驱动程序NI-IMAQdx,编写设计上位机程序,完成图像采集、分析、识别处理的工作。
机器人编程在机器人示教编程器上完成。
根据预期的系统执行流程,主要可以分为7个流程。其工作流程示意图如图2所示。 软件设计部分包含上位机控制程序和机器人执行程序的设计。上位机控制程序的功能包括控制工业相机拍摄、图像处理、目标定位、坐标变换和坐标信息发送,系统可实时显示图像和系统工作状态,具有启动/停止系统工作功能。
机器人执行程序的功能包括接收启动/停止信号,根据上位机发送的工件坐标信息和目标位置信息实时控制机器人执行分拣动作。 2.1.1 程序流程设计
结合本系统的运作流程选择状态机作为程序设计模式。程序与机器人的通信通过调用MOTOCOM32.dll动态链接库实现(MOTOCOM32是日本安川电机公司为其MOTOMAN系列机器人提供的软件开发工具,该工具具有数据文件传送、机器人控制、I/O信号读写等功能,可供用户根据需求开发自己的应用程序[9-10])。根据系统运行流程,依照状态机设计模式编写控制程序,如图3所示。
程序初始化包括显示控件初始化(指示灯、数值显示框、图像显示控件)和机器人通信初始化2部分。程序通过调用MOTOCOM32.dll动态链接库中的函数实现与机器人通信,运行程序前需保证计算机已接入USB电子加密器。
初始化成功后,通信状态指示灯亮、机器人伺服上电、机器人进入准备工作状态;上位机同时判断机器人是否处于运行状态以及停止按钮是否被按下。若按下停止按钮,则退出程序,与机器人控制器断开连接。在机器人空闲状态,程序将启动相机进行拍摄。当拍摄到目标工件,立即对工件进行图像处理定位和读取QR码信息,之后转入下一状态调用BscPutVarData函数将计算出的坐标信息发送至机器人控制器的指定变量中,然后控制机器人执行分拣动作。
2.1.2 图像获取、处理与坐标变换
使用NI公司提供的通用工业相机驱动程序NIIMAQdx执行相机各项操作,包括打开相机、执行拍摄和关闭相机。在采集到图像后,由于成像系统的像差、畸变等因素造成图像变形失真,本文使用NI公司提供NI Vision Pack中的IMAQ Set Calibration Info VI进行图像校正,校正使用图4(a)所示的点阵模板,点中心实际距离为10 mm。
图像经校正以后,灰度图像需进行二值化处理,以达到减小数据量、清晰化的目标,便于进一步的识别处理。图像二值化的方法有很多,主要分为全局方法和局部方法2大类。本文选用Niblack方法,Niblack方法是局部方法的一种,它根据以像素点为中心的领域内的点的情况计算阈值,在此设置的局部窗口大小为32×32像素。 经过二值化后的图像含有很多噪声,本文采用中值滤波法进行非线性平滑,中值滤波将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值[11-12],经测试中值滤波可以消除本系统图像的噪声,二值化及中值滤波算法实现及测试结果见图 4(b~c)。
在得到质量较好的二值图像后,使用IMAQ Match Multiple Geometric Patterns VI进行模板匹配操作,匹配成功后得到对应工件的中心坐标。
工件在图像上的坐标是以像素点为坐标的,必须要与机器人坐标统一才可执行。机器人提供用户自定义坐标的权限,因此,可以通过定义1个机器人的用户坐标系的x、y轴使之与图像坐标的u、v轴对齐,用户坐标系的z轴垂直于x、y轴,记原点位置为点O,见图5(a)。
如此,通过坐标变换就可以达到目的。假定工件在图像坐标系上的坐标是(u,v),图像坐标系原点与用户坐标系的原点重合,记为O,相机所拍摄到的视野为1个345 mm×265 mm的矩形区域,已知相机的有效像素为1 624×1 234,这样就可以得出工件中心在用户坐标系下以mm为单位表示的坐标(x1,y1):
取机器人末端点处在机器人用户坐标系下的坐标为(x2,y2),见图5(b)。坐标变换后,机器人需要在x、y方向上移动的距离为:
而对于z轴,机器人执行点到工件中心点的垂直距离是确定的,只需在机器人的编程中指定执行点到中心点z轴的运行距离即可。
本系统中,经过图像校正后,视场中心区域精度达到0.3 mm,视场外围由于镜头畸变误差增大,精度降低为1 mm,可以达到系统分拣的定位精度要求。
上位机控制程序的功能是获取图像并处理以及进行坐标转换和流程状态机的设计。机器人的运行程序是在示教编程器上完成的,从示教编程器上可以操作机器人本体运动,还可以设置自定义坐标。示教编程器上编程语言采用的是机器人公司所提供的一种类似于汇编语言的程序语言,通过该语言编程,可以实现机器人按照用户编程的意图运行。
在此系统中,机器人执行程序的设计相对简单,只需机器人按照预定的路线执行后回到初始位置。其运行流程见图6。
由图6可见,机器人未到上位机控制程序的启动信号时,处于循环等待接收启动信号的状态。当接收到启动信号时,即上位机调用了机器人启动任务的BscSrartJob函数,使机器人末端的控制点移动到工件中心位置,输出信号控制气嘴吸取动作,移动到相应的落料位置,输出信号控制气嘴释放工件,最后返回初始位置,完成整套动作。以下为机器人程序的主要部分及注释:
在以上程序中,变量名为Select的变量在机器人控制器中是字节型变量,可存储0~255的整数。本程序中,Select的值被上位机程序根据图像判断工件的形状后设定为1、2、3中的1个值,用来表示工件的形状为三角形、方形和圆形,机器人根据这个值,相应地执行名为1、2和3中的1个子程序,达到分拣工件的目的。 在本实验系统中,使用三角形、方形和圆形工件作为分拣对象,同时读取该工件上QR码的信息显示并保存。在不改变环境光照的条件下通过多次实验,统计分拣实验
结果,如表1所示。
实验统计结果显示,使用三角形、方形圆形作为分拣的对象,经过图像校正、二值化、中值滤波处理,分拣的准确率达到100%;而未经过图像校正、二值化、中值滤波处理的,分拣的准确率都不足90%;其他形状不作为分拣的对象,都不进行分拣。实验统计结果表明,对图像校正、二值化、中值滤波处理后,提高了对工件识别的准确率。 本文以安川工业机器人、工业相机、气动装置等硬件配合机器人编程程序、LabVIEW软件等设计了一套基于视觉检测的机器人分拣系统。
通过调用MOTOCOM32.dll动态链接库实现了主控电脑与机器人的实时通信,通过自定义坐标系使得图像坐标系与机器人坐标系的转换更加便捷。根据生产实际需求,系统可以更换吸嘴结构为夹具结构来实现分拣不同的目标。
实践结果表明,本系统实现了分拣作业无人化,替代了重复的体力劳动,提高了自动化水平和质量,机器人与机器视觉的结合会越来越广泛地应用于各个领域。本系统可用于实验教学,为进一步研究和开发积累了经验,为机器人分拣技术在生产领域付诸实施提供更多的参考和借鉴。
【相关文献】
[1] 焦恩璋,杜荣.工业机器人分拣技术的实现[J].组合机床与自动化加工技术,2010(2):84-87. [2] 刘振宇,赵彬,邹风山.机器视觉技术在工件分拣中的应用[J].计算机应用与软件,2012,29(11):87-91.
[3] 李和平,陈育新.基于LabVIEW工业机器人自动分拣系统设计[J].机床与液压,2015,43(9):90-93. [4] 赵彬.基于机器视觉的工业机器人分拣技术研究[D].沈阳:沈阳工业大学,2013:25-30.
[5] 栗俊艳,米月琴,弓靖,等.一种基于机器视觉的工业机器人分拣系统[J].电子科技,2016,29(1):105-107.
[6] 李明.运动食品机器视觉的识别与定位技术的研究[D].哈尔滨:哈尔滨商业大学,2014. [7] 兰虎,陶祖伟,段宏伟.基于LabVIEW的弧焊机器人视觉传感图像处理技术[J].实验技术与管理,2012,29(7):87-91.
[8] 唐东炜,安军,肖周勇.基于LabVIEW的慧鱼机器人控制系统设计[J].中国现代教育装
备,2008,69(11):50-51.
[9] 杜荣.基于机器视觉的工业机器人分拣系统的研究[D].南京:南京林业大学,2009.
[10]杜荣,焦恩璋.Motocom32的应用及其面向对象封装研究[J].机电一体化,2009,15(6):80-83. [11]朱志恩.中值滤波技术在图像处理中的应用研究[D].东北:东北大学,2008. [12]孙宏琦,施维颖,巨永锋.利用中值滤波进行图像处理[J].长安大学学报(自然科学版),2003,23(2):104-106.
因篇幅问题不能全部显示,请点此查看更多更全内容