APP下载

基于PC的视觉解决方案在 Delta机器人抓放中的应用

2016-12-20袁道香

价值工程 2016年32期
关键词:目标识别机器人

袁道香

摘要: Basler相机在 delta 机器人抓放中的应用中,basler 相机作为机器人的眼睛引导机器人快速抓放目标物体。从相机实时拍摄的图像中通过 PC 中的 DA4 图像处理软件能够识别当前目标物体在机器人坐标系下的坐标、种类、角度信息。由于外部环境中光照不均匀,造成图像中的目标物体不一致,首先需对图像进行预处理,使得相机在识别目标物体中具有较高的鲁棒性;其次,通过模板匹配方法查找目标物体;然后,通过模板查找的结果为整理数据,按照 twincat 规定的格式发送相适应的的数据;最后,建立 PC 与 twincat 通讯。结果显示,能够快速识别目标物体,并给出坐标、角度、属性参数,定位精度在 2mm 之内。

Abstract: In the application of camera basler in robot delta, the camera act as eyes of robot need to pick and set objects quickly. By using an image processing software DA4, coordinates, types and angles of the object can be distinguished under the robot coordinate system from real-time images of the camera. Due to uneven illumination in the external environment, the object cannot be identified easily in images. Firstly, pre-processing should be taken to make the camera to get a high robustness in the recognition; secondly, by using template matching method, the object can be recognized; then sorting date from the results of the template search and sending the compatible data according to the prescribed format of twincat; finally, establishing a communication between PC and twincat. The results show that the camera can recognize the object quickly, at the same time, the coordinates, angles and attribute parameters can be given, and it is worth mentioning that the positioning accuracy can be controlled within 2mm.

关键词: basler;相机;相机标定;目标识别;Delta;机器人

Key words: basler;camera;camera calibration;target recognition;Delta;robot

中图分类号:TP242 文献标识码:A 文章编号:1006-4311(2016)32-0156-04

0 引言

在 Delta 机器人快速抓取的运用中,作为机器人的眼睛——相机扮演了重要的角色。运用于Delta机器人中的相机可分为智能相机和普通工业相机。基于PC的普通工业相机的开发周期相对较长,但是成本比智能相机低。智能相机内部集成了控制器可独立运行,同时,它的开发周期短,不需要编程,但是它的成本比较高。对于图像处理的软件有很多,现在比较流行的基于PC的图像处理软件有美国Cognex公司的VisionPro,德国Halcon公司的 Halcon,加拿大Matrox公司的MIL等,其中MIL新推出的流程图控制使得对相机的开发又不太需要高级语言进行编程缩短了开发周期,同时它拥有丰富的图像处理库。

故本文将基于MIL软件对相机进行开发,通过分析使得PC能够正确输出目标物体的坐标、角度和属性,指引delta机器人快速抓取运动中的目标物体。

1 系统架构

基于普通相机的在Delta中的应用,整个系统的整体框架如图 1 所示。其中PC与相机通过TCP/IP通讯,PC和控制器和驱动器之间的通讯遵循 EtherCAT协议。

本项目采用Balser公司的acA系列产品,型号为 acA1300-30gm。主要参数如下:分辨率:1280像素×960像素,彩色/黑白:黑白,接口:Gigabit Ethernet千兆网(GigE),曝光控制:可通过软件触发和外部硬件触发,感光芯片为 CCD,靶面尺寸:1/3 inch。PC 的处理器为:处理器也直接影响图像分析处理的速度。

对于Delta机器人快速抓取目标物体放到指定位置,精度要求比较高,小于2mm,这就对相机的要求比较高。现采用的相机为130万像素,镜头为富士能12.5mm的镜头,皮带距离镜头的垂直距离为550mm,此环境下,相机的视野为158mm*149mm,则可以估算出一个像素的代表的实际距离为158/1280=0.123mm<2mm,满足抓取要求。

为了能够快速识别移动中的目标物体且缩短开发时间,采用了Matrox Design Assistant对图像进行分析,此软件以流程图的形式建立工程,基本不需要编写额外的代码,同时软件还提供了HMI操作界面,可根据实际需要,添加显示内容,如处理时间,凸显图像目标,坐标显示等。此外软件中包含了相机标定等功能,还有图像处理的功能,如图像分割,特征提取,形态学,模板匹配等,方便开发。

2 流程编辑

流程编辑之前首先要对相机进行设置。如配置相机的触发方式,曝光时间等。此设置可使用Matrox中的 Intellicam进行配置,配置后的文件为Digitizer Configuration File(DCF)文件,由于相机针对移动的目标定位,故文中对相机的配置为:曝光时间0.4ms。

2.1 图像预处理

在实际情况下,光源因角度的原因造成光分布不均匀,造成同一目标物体在相机视眼范围内不同地方下灰度值不一样,结果对后续模板匹配 (patternmatching)的查找效率有影响,可以利用图像处理将图像进行二值化处理,低于设定的阈值为0,高于设定的阈值为255。处理之后的图像具有更高的对比度,有利于目标定位,节省时间。通过对比图2,图3可以看出处理后,目标与背景的差异明显优于图2的状态,有利于目标定位。

2.2 相机标定

相机标定指的是将图像中的像素坐标映射为机器人坐标系下的坐标,可以用f(.)表示。由于相机中的镜头垂直安装于皮带平面,根据相机成像原理,类似于小孔成像原理[1],这样像平面的坐标同待测平面坐标(世界坐标)的映射为线性关系,这样大大简化了标定过程,如图 4 所示。

现采用4点标定,将相机的像素坐标和机器人坐标建立映射关系。假设图像的像素坐标(ui,vi),对应的机器手坐标设为(xi,yi)其中i表示第i个点,i=1,2…4。这种映射关系为式(1):

对于标定可采用DA4中的Calibration功能块,提供了多种标定方法,如scale,listofpoints,listpointsfromarray,Grid。本文选用listofpoints方法,输入4个图像的像素坐标和图像4点对应的机器手坐标,利用该功能块即可生成标定文件(.mca),将标定文件加载的Camera,即完成了相机的标定。

2.3 目标识别

对于机器视觉引导Delta机器人快速抓放目标物体,需要相机识别目标物体的位置和方向。按目标识别可以分为模板匹配和特征匹配。

模板匹配的方法基于灰度值,将图像中的每个像素点与模板进行比较,计算量大,比较适合没有旋转方向或者角度较小的目标物体[2]。

特征匹配法可基于被检测目标与模板的特征相比较, 比如边缘、轮廓等特征,充分利用了模板的信息,降低了计算量并且在对外界干扰有一定的鲁棒性[3]。

对于模板匹配DA4提供了功能块Patternmatching,基于特征匹配DA4提供了Modelfinder。虽然查找的原理不同,但使用方法相似。首先定义模板,模板可定义多个,下文将只有一个模板定位为单属性,将两个模板定义为双属性。之后对模板进行编辑,编辑的内容包括定义查找数量,接受程度,覆盖程度,修改目标的坐标,定义查找角度范围,搜索区域等。具体参数的意义如下:

查找数量:在选定的查找区域内查找目标物体的最多数量,可根据视野的大小内的数量确定产品的个数。

接受程度:若查找目标与模板匹配的相似程度,可根据实际情况下修改此值使得目标物体被查找且没有错误目标为宜。

覆盖程度:指一个物体被遮挡了一部分仍认为它是目标物体。

修改目标的坐标:定义模板的坐标可能不是要目标中心点,手动修改此值。

角度定位:角度的输出需和机器人坐标系方向一致, x轴偏向y轴方向为正,否者为负,查找范围根据实际情况设定,一般为-180°~180°。若不能满足情况,可对角度变量进行修改,修改语句如if语句。

搜索区域:若视野范围过大,可通过缩小搜索区域提高效率, 减少查找时间。为了区别模板匹配和特征查找这两个模块的区别, 进行了多次试验, 如表 1,表 2 所示。

其中,总处理时间是指程序运行一次的时间。从表 1,表 2 中可以得出第一:patternmatching 处理角度没有变化时,比如固定 0 度,它的总处理时间明显小于modelfinder 的处理时间。第二:角度越小,两个模块的处理时间都变得更短。第三:对于杂乱无序的目标物体,角度覆盖 360 °范围,modelfinder 处理时间比较短。第四:若目标物体只是平移的变化,角度固定或较小的变化,则Patternmatching 的处理时间比较短。

2.4 通讯

相机通过交换机和工控机相连, 将每一次触发得到的图像在工控机中的搭建好图像软件进行处理,得到目标物体的坐标和角度等信息需要发送到 Twincat 系统中,此通讯采用 TCP/IP 协议。

3 流程图及 HMI 显示

设计流程:

①首先建立 PC 与 Twincat 的 TCP/IP 通讯;

②设置相机,触发方式为硬件触发,曝光时间,加载标定文件等;

③图像预处理,通过阈值处理将图像处理成二值化图像,方便后续模板匹配查找;

④模板匹配,在模板匹配内可设置查找数量,指定被检测物的接受程度,角度查找范围,模板的中心等;

⑤数据处理, 由于模板查找输出的值都是整形, 而 TCP/IP 的是字符串通讯,故需要将数值型转化为字符串。又由于 Twincat 解析数据按照一定的位数,故发送的时候需按固定位数;

⑥判断通讯是否一直存在,若断开则重新执行程序,这样操作可以方便。

Twincat 随时连接。调试时,可以单步操作,实时监测需要确定的变量是否正确,如不正确则需修改参数,比如网络 IP 地址,相机源图像的获取方式等。正确之后,进行下一步调试。等待程序离线调好后,可联机运行。

3.1 流程图

设计流程图如图5所示。

3.2 HMI 显示

图6是联机运行的界面,在 DA4 中可以方便的将流程图中的变量显示出来,给操作者清晰的认识。右边显示的是和两模板目标匹配的图形,此查找方法是基于模板边缘查找,并给出基于边缘查找目标的坐标。左边显示处理时间和发送的给 Delta 机器人的数据,数据包括每个目标物体属性位 0 或 1,目标的坐标 x,y,angle 各 7 位属性。

4 结论

本文使用 DA4 搭建的系统能够快速辨别运动中的目标物体的位置和方向,并向机器人发送正确的数据,引导机器人快速抓取目标物体。以其中一次实验为例,图像处理时间为 88ms,定位精度在 2mm 以下,能够适应 Delta 机器人快速处理要求。同智能相机比较,能够达到相同的精度,并且成本降低,适合本系统的运用。

参考文献:

[1]Steger, C., Ulrich, M.,Wiedemann,C.著.机器视觉算法与应用[M].扬少荣,等译.北京:清华大学出版社,2008,11.

[2]Nixon,M.S. AGUADO,A.S.著.特征提取与图像处理[M].李实英,等译.北京:电子工业出版社,2010,10.

[3] Matrox Design Assistant 4.0 User Guide.

猜你喜欢

目标识别机器人
机器人,让未来走近你
渡口水域安全监管技术研究
渡口水域安全监管技术研究
移动机器人图像目标识别