一文详解如何设计工业机器人视觉系统
编者按
在人类的工作、学习等一系列基本活动中,眼睛起着至关重要的作用。这对于工业机器人也不例外,要完成正常生产任务,没有一套完善的视觉系统是做不到的。那么如何设计工业机器人的视觉系统呢?
工业机器人的眼睛——视觉系统通常由以下几部分构成:
01 摄像头和光学部件
这一类通常含有一个或多个摄像头和镜头(光学部件),用于拍摄被检测的物体。根据应用,摄像头可以基于如下标准:黑白、复合彩色(Y/C),RGB彩色,非标准黑白(可变扫描),步进扫描(progressive-scan)或线扫描。
02 灯光
灯光用于照亮部件,以便从摄像头中拍摄到更好的图像,灯光系统可以有不同形状、尺寸和亮度。一般的灯光形式是高频荧光灯、LED、白炽灯和石英卤(quartz-halogen)光纤。
03 部件传感器
通常以光栅或传感器的形式出现。当这个传感器感知到部件靠近,它会给出一个触发信号。当部件处于正确位置时,这个传感器告诉机器视觉系统去采集图像。
04 图像采集卡
也称为视频抓取卡,这个部件通常是一张插在PC上的卡。
这张采集卡的作用是将摄像头与PC连接起来。它从摄像头中获得数据(模拟信号或数字信号),然后转换成PC能处理的信息。
它同时可以提供控制摄像头参数(例如触发、曝光时间、快门速度等等)的信号。图像采集卡形式很多,支持不同类型的摄像头、不同的计算机总线。
05 PC平台
计算机是机器视觉系统的关键组成部分。
应用在检测方面,通常使用Pentium或更高的CPU。一般来讲,计算机的速度越快,视觉系统处理每一张图片的时间就越短。
由于在制造现场中,经常有振动、灰尘、热辐射等等,所以一般需要工业级的计算机。
06 检测软件
机器视觉软件用于创建和执行程序、处理采集回来的图像数据、以及作出“通过/失败(PASS/FAIL)”决定。
机器视觉有多种形式(C语言库、ActiveX控件、点击编程环境等等),可以是单一功能(例如设计只用来检测LCD或BGA、对齐任务等等),也可以是多功能(例如设计一个套件,包含计量、条形码阅读、机器人导航、现场验证等等)。
07 数字I/O和网络连接
一旦系统完成这个检测部分,这部分必须能与外界通信,例如需要控制生产流程、将“通过/失败(PASS/FAIL)”的信息送给数据库。通常,使用一张数字I/O板卡和(或)一张网卡来实现机器视觉系统与外界系统和数据库的通信。
配置一个基于PC的机器视觉系统时,认真的计划和注意细节能帮助你确保检测系统符合应用需求。如下是必需考虑的几点:
确定你的目标,这可能是最重要的一步,决定在这个检测任务中需要实现什么。检测任务通常分为如下几类:
测量或计量
读取字符或编码(条形码)信息。
检测物体的状态
认知和识别特性,模式识别
将物体与模板进行对比或匹配
为机器或机器人导航检测流程,可以仅包含一个操作或包含多个与检测任务相关的任务。
为了确认任务,首先应该明确为了最大限度检测部件需要做的测试,也就是能考虑到会出现的缺陷。
为了明确什么才是最重要的,最好做一张评估表,列出“必须做”和“可以做”的测试。随后可以将更多的测试加进去来改善检测过程,一定要记住,添加测试的同时也会增加检测的时间。
确定速度——系统检测每一个部件需要多少时间?
这个不只是由PC的速度决定,还受生产流水线速度的影响。
很多机器视觉系统包含了时钟或计时器,所以检测操作的每一步所需要的时间都可以准确测量,通过这些数据,我们就可以修改程序以满足时间上的要求。通常,一个基于PC的机器视觉系统每一秒可以检测20~25个部件,与检测部件的多少和处理程序以及计算机的速度有密切关系。
正确选择硬件
一套机器视觉系统的性能与它的部件密切相关。在选择的过程中有很多需要注意的问题,特别是在光学成像上,可能很大程度降低系统的效率。如下是在选择部件时必须谨记的几个基本原则:
01 摄像头
摄像头的选择与应用需求直接相关,通常考虑三点:
a)黑白还是彩色;
b)部件/目标的运动;
c)图像分辨率。
在检测应用中大部分使用黑白摄像头,因为黑白图像能提供90%可视数据,并且比彩色便宜。彩色摄像头主要用于一些需要分析彩色图像的场合里。根据部件在检测时是否移动,决定我们选择标准隔行扫描摄像头还是逐行扫描摄像头。另外,图像的分辨率必须足够高,以提供检测任务需要的足够的数据。最后,摄像头必须质量好,可以避免工业现场中的振动、灰尘和热的影响。
02 光学部件和照明
这个至关重要的因素往往被人忽略。
当你使用一个很差的光学部件或照明,就算使用最好的机器视觉系统,它表现出的性能甚至比不上一个配上良好光学部件和适当照明的低能力系统。光学部件的作用是产生最好和最大可用面积的图像,并且提供最高的图像分辨率。照明的作用是照亮需要测量或检测的部分的关键特征。通常,照明系统的设计由如下因素决定:颜色、纹理、尺寸、外形、反射率等等。
03 图像采集卡
虽然图像采集卡只是完整的机器视觉系统的一个部件,但是它扮演一个非常重要的角色。
图像采集卡直接决定了摄像头的接口:黑白、彩色、模拟、数字等等。
使用模拟输入的图像采集卡,目的是尽量不变地将摄像头采集的图像转换为数字数据。使用不适合的图像采集卡可能得到错误的数据。
工业用的图像采集卡通常用于检测任务,多媒体采集卡由于通过自动增益控制、边沿增强和颜色增强电路来更改图像数据,所以不用在这个领域里。使用数字输入的图像采集卡的目的是将摄像头输出的数字图像数据转换并输送到PC中作处理。
设计视觉系统时我们还需要做到:
01 考虑各种变化
人类的眼睛和大脑可以在不同的条件下识别目标,但是机器视觉系统就不是这样多才多艺了,它只能按程序编写的任务来工作。我们需要了解系统能看到什么、不能看到什么,避免失败(例如将好的部件认为是坏的)或其它检测错误。一般要考虑的包括部件颜色、周围光线、焦点、部件的位置和方向,以及背景颜色的大变化。
02 正确选择软件
机器视觉软件是检测系统中的智能部分,也是最核心的部分。软件的选择决定了编写调试检测程序的时间、检测操作的性能等等。
机器视觉提供的图形化编程界面(通常称为“Point&Click”)通常比其他编程语言(例如 Visual C++)容易,但是在需要一些特殊功能时有一定的局限性。基于代码的软件包尽管非常困难,需要编码经验,但在编写复杂的特殊应用检测算法时具备更强的灵活性。一些机器视觉软件同时提供了图形化和基于代码的编程环境,具有很强的灵活性,满足不同应用需求。
03 通信和记录数据
机器视觉系统的总目标是通过区分好和坏的部件来实现质量检测。为了实现这一功能,这个系统需要与生产流水线通信,这样才可以在发现坏部件时采取某种行动。通常这些动作是通过数字I/O板,这些板与制造流水线中的PLC相连,这样坏的部件就可以跟好的部件分离。
例如,机器视觉系统可以与网络连接,这样就可以将数据传送给数据库,用于记录数据以及让质量控制员分析为什么会出现废品。在这一步认真考虑将有助于让机器视觉系统与生产流水线无缝结合起来。需要考虑的问题是:
使用了什么类型的 PLC?它的接口如何?
需要什么类型的信号?
现在使用或必须使用什么类型的网络?
在网络上传送的文件格式是什么?
通常使用RS-232端口与数据库通信,来实现对数据的记录。
04 为以后做准备
为机器视觉系统选择部件时,要时刻记住未来的生产所需和有可能发生的变动。这些将直接影响机器视觉软硬件是否容易更改来满足以后新的任务。做好提前准备不仅能节约时间,而且可以降低整个系统的成本。机器视觉系统的性能由最差的部分决定(就像一个木桶的容量由最短的一个木块决定),精度则由它能获取的信息决定。合理进行配置就可以建立一个零故障、有弹性的视觉检测系统。