专业视觉方案及设备制造商

以视觉检测为导向
提升产品市场竞争力

电话:0755-23594656

手机:13825262003

视觉检测设备搜索:

联系我们

未耒智能(深圳)有限公司

电话0755-23594656

曾先生13825262003

地址深圳市龙华新区观湖街道大和工业区28号深澜产业园6号院

企业资讯 网站首页 >> 企业资讯 >> 未耒智能-视觉检测的机器人分拣技术

未耒智能-视觉检测的机器人分拣技术
发表时间:2018-11-27

随着制造业的发展, 视觉检测技术在工业生产中得到越来越广泛的应用, 对提高生产效率、生产智能化至关重要。工业机器人的工作, 离不开分拣,分拣作业是大多数流水生产线上的一个重要环节,工件分拣也是工业产品批量生产环节重要的组成部分。机器人分拣技术是机器人技术与视觉检测技术的组合, 一些工业发达的国家在食品、医药、汽车生产等领域已有非常广泛的应用。近些年来, 我国的机器人分拣技术发展迅速, 越来越多地应用于物流等分拣现场。在传统流水线的分拣作业中, 主要是人工的方法分拣, 工人重复地长时间执行分拣动作已不能满足要求, 大大影响了工作效率和准确性。

在目前机器人分拣技术的应用中, 根据不同的分拣对象使用不同的机器人类型: 在食品分拣领域,需要应用具有高速执行功能的机器人; 在物流搬运领域, 需要负载能力高的机器人。本文根据机器人分拣系统所需要的技术要点, 包括图像获取和预处理、坐标变换、通信等, 设计了一种基于视觉检测的机器人分拣系统, 可用于分拣作业中, 也可用于教学和实验应用。


1 系统硬件设计

1.1 硬件结构

系统硬件主要由工业机器人、气动装备、工业相机与镜头、光源、PC 机、路由器和分拣对象(多种形状的塑料小块) 组成。

固定安装在工作台上方70 cm ; 辅助光源安装于工作台上方40 cm ,用于补光以达到最佳的拍摄效果; 利用1 台路由器,把机器人、工业相机、计算机连接到同一个局域网内, 以达到它们互相通信的目的。主要系统硬件连接示意图见图1


2 软件设计

本系统采用LabVIEW 作为软件平台, 其包含机器视觉图像处理组件NI Vision Pack 和通用工业相机驱动程序NI-IMAQdx, 编写设计上位机程序, 完成图像采集、分析、识别处理的工作。

image.




机器人编程在机器人示教编程器上完成。

根据预期的系统执行流程, 主要可以分为7 个流程。其工作流程示意图如图2 所示。

image.

软件设计部分包含上位机控制程序和机器人执行程序的设计。上位机控制程序的功能包括控制工业相机拍摄、图像处理、目标定位、坐标变换和坐标信息发送, 系统可实时显示图像和系统工作状态,具有启动/停止系统工作功能。

机器人执行程序的功能包括接收启动/停止信号, 根据上位机发送的工件坐标信息和目标位置信息实时控制机器人执行分拣动作。


2.1 上位机程序设计

2.1.1 程序流程设计

结合本系统的运作流程选择状态机作为程序设计模式。程序与机器人的通信通过调用MOTOCOM32。dll 动态链接库实现。根据系统运行流程, 依照状态机设计模式编写控制程序, 如图3 所示。

image.


程序初始化包括显示控件初始化(指示灯、数值显示框、图像显示控件) 和机器人通信初始化2部分。程序通过调用MOTOCOM32.dll 动态链接库中的函数实现与机器人通信, 运行程序前需保证计算机已接入USB 电子加密器。

初始化成功后, 通信状态指示灯亮、机器人伺服上电、机器人进入准备工作状态; 上位机同时判断机器人是否处于运行状态以及停止按钮是否被按下。若按下停止按钮, 则退出程序, 与机器人控制器断开连接。在机器人空闲状态, 程序将启动相机进行拍摄。当拍摄到目标工件, 立即对工件进行图像处理定位和读取QR 码信息, 之后转入下一状态调用BscPutVarData 函数将计算出的坐标信息发送至机器人控制器的指定变量中, 然后控制机器人执行分拣动作。

2。1。2 图像获取、处理与坐标变换

使用NI 公司提供的通用工业相机驱动程序NIIMAQdx执行相机各项操作, 包括打开相机、执行拍摄和关闭相机。在采集到图像后, 由于成像系统的像差、畸变等因素造成图像变形失真, NI Vision Pack 中的IMAQ Set CalibrationInfo VI 进行图像校正, 校正使用图4(a) 所示的点阵模板, 点中心实际距离为10 mm

图像经校正以后, 灰度图像需进行二值化处理, 以达到减小数据量、清晰化的目标, 便于进一步的识别处理。图像二值化的方法有很多, 主要分为全局方法和局部方法2 大类。选用Niblack 方法,Niblack 方法是局部方法的一种, 它根据以像素点为中心的领域内的点的情况计算阈值, 在此设置的局部窗口大小为32 £ 32 像素。

image.

image.

经过二值化后的图像含有很多噪声, 本文采用中值滤波法进行非线性平滑, 中值滤波将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值[11-12], 经测试中值滤波可以消除本系统图像的噪声, 二值化及中值滤波算法实现及测试结果见图4(b»c)

在得到质量较好的二值图像后, 使用IMAQMatch Multiple Geometric Patterns VI 进行模板匹配操作, 匹配成功后得到对应工件的中心坐标。

工件在图像上的坐标是以像素点为坐标的, 必须要与机器人坐标统一才可执行。机器人提供用户自定义坐标的权限, 因此, 可以通过定义1 个机器人的用户坐标系的xy 轴使之与图像坐标的uv 轴对齐, 用户坐标系的z 轴垂直于xy , 记原点位置为点O, 见图5(a)

如此, 通过坐标变换就可以达到目的。假定工件在图像坐标系上的坐标是(u, v), 图像坐标系原点与用户坐标系的原点重合, 记为O, 相机所拍摄到的视野为1 345 mm £ 265 mm 的矩形区域, 已知相机的有效像素为1 624 £ 1 234, 这样就可以得出工件中心在用户坐标系下以mm 为单位表示的坐标(x1, y1):

image.

取机器人末端点处在机器人用户坐标系下的坐标为(x2, y2), 见图5(b)。坐标变换后, 机器人需要在xy 方向上移动的距离为:

image.

而对于z , 机器人执行点到工件中心点的垂直距离是确定的, 只需在机器人的编程中指定执行点到中心点z 轴的运行距离即可。

本系统中, 经过图像校正后, 视场中心区域精度达到0。3 mm, 视场外围由于镜头畸变误差增大, 精度降低为1 mm, 可以达到系统分拣的定位精度要求。

image.

而对于z , 机器人执行点到工件中心点的垂直距离是确定的, 只需在机器人的编程中指定执行点到中心点z 轴的运行距离即可。

本系统中, 经过图像校正后, 视场中心区域精度达到0.3 mm, 视场外围由于镜头畸变误差增大, 精度降低为1 mm, 可以达到系统分拣的定位精度要求。

2。2 机器人执行程序设计

上位机控制程序的功能是获取图像并处理以及进行坐标转换和流程状态机的设计。机器人的运行程序是在示教编程器上完成的, 从示教编程器上可以操作机器人本体运动, 还可以设置自定义坐标。示教编程器上编程语言采用的是机器人公司所提供的一种类似于汇编语言的程序语言, 通过该语言编程, 可以实现机器人按照用户编程的意图运行。

在此系统中, 机器人执行程序的设计相对简单,只需机器人按照预定的路线执行后回到初始位置。其运行流程见图6

由图6 可见, 机器人未到上位机控制程序的启动信号时, 处于循环等待接收启动信号的状态。当接收到启动信号时, 即上位机调用了机器人启动任务的BscSrartJob 函数, 使机器人末端的控制点移动到工件中心位置, 输出信号控制气嘴吸取动作, 移动到相应的落料位置, 输出信号控制气嘴释放工件, 最后返回初始位置, 完成整套动作。以下为机器人程序的主要部分及注释:

image.

image.


在以上程序中, 变量名为Select 的变量在机器人控制器中是字节型变量, 可存储0»255 的整数。本程序中, Select 的值被上位机程序根据图像判断工件的形状后设定为123 中的1 个值, 用来表示工件的形状为三角形、方形和圆形, 机器人根据这个值, 相应地执行名为12 3 中的1 个子程序, 达到分拣工件的目的。


3 系统运行效果

在本实验系统中, 使用三角形、方形和圆形工件作为分拣对象, 同时读取该工件上QR 码的信息显示并保存。在不改变环境光照的条件下通过多次实验, 统计分拣实验结果, 如表1 所示。

image.


实验统计结果显示, 使用三角形、方形圆形作为分拣的对象, 经过图像校正、二值化、中值滤波处理, 分拣的准确率达到100%; 而未经过图像校正、二值化、中值滤波处理的, 分拣的准确率都不足90%; 其他形状不作为分拣的对象, 都不进行分拣。实验统计结果表明, 对图像校正、二值化、中值滤波处理后, 提高了对工件识别的准确率。


4 结语

本文以未耒智能工业机器人、工业相机、气动装置等硬件配合机器人编程程序、LabVIEW 软件等设计了一套基于视觉检测的机器人分拣系统。

通过调用MOTOCOM32.dll 动态链接库实现了主控电脑与机器人的实时通信, 通过自定义坐标系使得图像坐标系与机器人坐标系的转换更加便捷。根据生产实际需求, 系统可以更换吸嘴结构为夹具结构来实现分拣不同的目标。

实践结果表明, 本系统实现了分拣作业无人化,替代了重复的体力劳动, 提高了自动化水平和质量,机器人与机器视觉的结合会越来越广泛地应用于各个领域。本系统可用于实验教学, 为进一步研究和开发积累了经验, 为机器人分拣技术在生产领域付诸实施提供更多的参考和借鉴。