1. 引言
机器人视觉检测涉及高速图像处理技术、计算机视觉技术、机器人运动学、动力学、控制理论、实时计算等,是具有广阔的工业应用前景的研究课题。在过去的几年里,机器人视觉检测无论是在理论上还是在应用方面都取得了很大进展。目前工业领域应用的机器人视觉系统仍处于专用的简易视觉系统,通过简单的图像特征提取、模板匹配完成二维目标识别、定位或跟踪等视觉任务,复杂的三维视觉系统仍处于开发阶段。
本文提出一种移动机器人视觉在线测量方法,设计和开发了一种基于工业机器人的高精度在线视觉检测系统,并详细说明了系统的原理和结构组成,达到了理论与技术实践有效统一的目的,解决了传统视觉检测系统通用性差的问题,具有适合多种较大型零部件精确测量的优势;解决了对于固定目标(车架孔位)的实时检测与测量问题,该方法具有较高的实用性;解决了传统视觉检测系统产生大量数据造成计算量大且对构建测量模型不够准确的问题,具有实时在线对孔位进行测量的优点,且测量模型准确,满足生产需要。
2. 移动机器人视觉检测原理及发展概况
传统的视觉检测系统建立在固定式视觉传感器基础之上,重点研究物体的几何尺寸及空间位置测量,但由于其固定性、通用性差和无法适用于汽车混流或小批量生产线的问题,无法满足工业中多品种、多系列的测量需求。
移动机器人视觉检测系统是在立体视觉技术的基础上,为适应新的检测环境、满足新的检测要求而发展起来的新研究领域。这种检测系统不仅能够充分发挥机器人运动灵活、占地面积小的特点,而且随时变换程序即能够满足产品多品种、多系列的检测需求,尤其适合在混流生产线上对大型异型零部件进行非接触、快速、精确测量 [1] 。
在国内,目前对机器人视觉检测的研究尚处于起步阶段。任永杰等人研究了机器人柔性视觉检测系统现场标定技术 [2] ;邾继贵等人研究了机器人柔性电子检具测量系统 [3] 和面向测量的工业机器人定位误差补偿技术 [4] ;王一等人研究了测量机器人在线动态温度误差补偿技术 [5] ;庞晓红等人研究了视觉传感器应用中三维扫描点云数据处理的方法 [6] 。
在国外,机器视觉检测技术也一直是研究的热点。Bailey Ian L.等人做出的伯克利的基本视觉测试实验 [7] ,通过系统的简化视觉任务和使用近的观看距离研究大角度尺寸测量超出图表的限制范围的方法;Seleznev A. V.等人做出的对共同性斜视双眼视觉测试 [8] ;Tijmen Bakker等人开发一种在甜菜地利用机器人平台自主导航的系统 [9] ;S. Cubero等人提出一种基于计算机视觉系统的自动预柑橘类水果使用移动平台的场分级 [10] ;Simone Calderara等人开发一种基于镜像能和颜色信息的视觉烟雾检测系统 [11] ;Nansen Christian等人提出在一种动物饲料中骨粉样品的机器视觉检测方法,可快速筛选饲料原料的构成和控制其质量 [12] 。
3. 系统架构
机器人视觉在线测量系统是在本实验室机器视觉系统研究基础之上,以ABB机器人为运动载体搭建双目视觉传感器组装而成的,如图1所示。
系统主要由以下部分构成:
3.1. 机器人运动系统
机器人运动系统由ABB公司开发的六自由度工业机器人组成运动载体,将搭载双目视觉传感器与激光传感器对特定的物件(以摩托车架为例)进行检测与测量。工业机器人作为体视觉传感器的运动载体,不仅极大地拓展了视觉传感器的工作空间,还保留了视觉检测技术非接触、快速的特点。通过控制机器人在空间的位姿变换,视觉传感器能够依次到达空间指定测量位置采集图像信息。通过对ABB机器人运动控制算法Rapid程序的熟悉与掌握,可以自主编写机器人运动最优路径程序,达到对机器人运动控制的目的。
3.2. 双目视觉传感器部分
为了能够实现双目视觉检测与测量实验的模拟,系统采用了畸变率较小的工业摄像机和工业镜头。工业摄像机采用千兆以太网技术,通过TCP/IP技术完成检测对象图像的传输和采集。通过双目视觉系统的构架方案以及标定,可以比较容易了解双目系统的构成和原理,以及简易双目系统构建的方案,为下一步的图像采集与处理夯实基础。
3.3. 标定系统
任何一种机器视觉系统,都要标定摄像机的内外参数和空间变换矩阵。在三维视觉测量系统中,系统的整体性能依赖于摄像机的内部参数和传感器结构参数的标定精度。本文设计的系统采用了基于平板靶标的辅助标定,如图2所示。

Figure 1. Architecture of robot online vision measurement system
图1. 机器人在线视觉测量系统架构图
设
表示摄像机
与靶标之间的相对位置关系,
表示摄像机
与靶标之间的相对位置关系。对靶标上任意一点,如果它在靶标坐标系、摄像机
坐标系与摄像机
坐标系下的非齐次坐标分别为
,则
(1)
将(1)式中
消去后得到
(2)
若用R和T表示两个摄像机之间的几何关系,由(2)式可得
以平板靶标为中介,进行传感器标定的同时也可完成摄像机的标定。这种方法的优点是将摄像机标定与传感器标定合二为一,简化了标定步骤,操作简单、方便,而且精度较高。
4. 系统的实现
移动机器人视觉在线测量系统根据机器视觉原理,结合基恩士激光位移传感器,利用其传输距离的数据特征检测孔位所在大致位置,并利用双目视觉传感器所采集到的图像数据,对其进行处理与分析,包括图像灰度化、二值化、边缘提取等处理,得到摩托车架孔位基本的轮廓信息(空间圆弧),利用三点定圆或空间圆弧拟合方法得到圆心,从而求得车架孔位半径。
具体实施步骤如下:
步骤1:在系统实验之前将各个设备连接并调试好,即:将基恩士激光位移传感器连接好并安装在ABB机器人的第六轴法兰盘上面,并固定双目视觉传感器对图像进行采集。相机与电脑均是由一根网线与机器人控制柜相连接,从而实现通信与图像处理的工作。
步骤2:打开ABB机器人控制柜开关,开机上电。开启机器人示教器,如图3所示。将机器人控制器调整为手动模式,否则在自动模式下,配置系统参数功能被禁用。点击“ABB”主菜单 → “控制面板” → “配置系统参数”,建立系统输入输出信号,实现I/O通信。其中,系统参数里面有不同的类型,可以选择Signal、System Input、System Output、Bus等类型进行设置,从而实现外部设备与控制器的连接与通信,如图4所示。

Figure 3. Main menu of the teach device
图3. 示教器初始主菜单画面
步骤3:自主建立工具(工件)坐标系与标定,设置机器人有效载荷。其中,工具坐标系的标定,即TCP设定的原理为:首先在机器人工作范围内找一个非常精确的固定点作为参考点;其次,在机器人确定工具的中心点TCP;然后通过手动操纵机器人以最少四种不同的机器人姿态去移动工具上的中心点TCP,使得其尽可能与参考点恰好接触,从而确定工具坐标系原点;最后,机器人通过四个位置点的位置数据确定工具的TCP,如图5所示。工件坐标系的标定原理为:在某一个对象的平面上,只需定义三个点,就可以建立一个工件坐标系,如图6所示:在x轴上确定两点x1,x2,其中x1点为坐标系的原点。在y轴上确定一点y1,由右手定则确定z轴的方向,从而确立工件坐标系。具体操作为:在“手动操纵”里面进行工具坐标或者工件坐标的设置与标定,标定工具坐标时至少需要4个不同姿态的点,标定工件坐标时只需3个点(x轴上不同位置的两点,y轴的一点)即可,通过右手法则即可确定z轴,从而确立工件坐标系。设置有效载荷的重量及其重心的偏移值。如图7所示。
步骤4:通过对ABB机器人运动控制算法Rapid程序的熟悉与掌握,可以自主编写机器人运动最优路径程序,达到对机器人运动控制的目的。在示教器主菜单点击程序编辑器,新建程序模块和例行程序,对机器人检测摩托车架孔位的路径进行设置与编程,如图8所示。这其中涉及到机器人最优路径规划问题,可以采取全局路径规划与局部路径规划的结合,能有效地利用局部规划时间,从而得出相对更好的路径。在最优路径编程的学习过程中,可以产生浓厚的兴趣,提供一个开发思路的空间。

Figure 7. Setting tool (workpiece) coordinates and payloads
图7. 设置工具(工件)坐标和有效载荷

Figure 8. Set up and write the best path program
图8. 设置和编写最优路径程序
步骤5:手持机器人示教器,运行已设定程序,在机器人带动基恩士激光位移传感器运动的过程中,利用传感器对距离长度的灵敏度,检测车架各个孔位的位置,并依次作出标记。如果在机器人运行过程中出现转角故障或其他问题,可以自主修改已设定的路径程序,使机器人能够正常运行。
步骤6:通过双目视觉传感器与电脑组成的视觉伺服系统,将采集到的孔位信息传输到电脑中,进行图像处理,主要过程包括:目标检测、图像与目标的匹配,目标运动的估计和图像特征的选择。
经过双目摄像机采集到的图像如图9所示,其中(a)为左相机采集到的孔位的左图像,(b)为右相机采集到的孔位的右图像。
步骤7:利用对图像处理知识的掌握,对双目视觉系统采集到的图像进行容量和质量等调整,以使图像的后续工作顺利进行,即图像的预处理过程。其包括灰度化处理和平滑处理两部分。处理后的图像经过边缘检测(包括Prewitt算子、Sobel算子、拉普拉斯算子、Canny算子等算法)与特征提取,从而得到孔位的空间圆弧特征信息。利用基于平面约束的空间圆弧拟合方法,实现孔位的高精度检测与测量。
采集到的孔位圆原图像如图10(a)所示,灰度化后的图像如图10(b)所示。
利用Canny算子来对采集到的孔位圆图像进行边缘提取,得到图像如图11所示。
由求取孔位圆图像质心原理公式和实验得到孔位圆的圆心,如图12所示。
本文对车架圆形孔位进行了观测,测得了孔位圆上12个点的三维坐标,如表1及图13所示。
(a) (b)
Figure 9. (a) Left image; (b) Right image
图9. (a) 左图像;(b) 右图像
(a)
(b)
Figure 10. (a) Original image; (b) Grayscale image
图10. (a) 原图像;(b) 灰度化后的图像

Table 1. Three dimensional coordinates of holes and circular points (cm)
表1. 孔位圆观测点的三维坐标(cm)

Figure 13. Three dimensional coordinates of holes at 12 points
图13. 孔位圆12点的三维坐标
采用列文伯格-马夸尔特(Levenberg-Marquardt)非线性最小二乘拟合方法可求得孔位圆的几何参数。初始值的选择方法为:空间圆的圆心坐标为所有边缘数点的质心;圆的半径为质心到边缘的平均距离;圆所在的平面方向余弦由所有边缘数据点的三维空间中的最小二乘平面拟合求得。根据求得的边缘点坐标,利用空间圆最小二乘拟合算法,即可测量出空间圆的几何参数。
5. 结束语
本系统借助于ABB机器人,根据机器视觉原理,结合基恩士激光位移传感器,将机器人运动控制与机器视觉检测相结合,实现对较大型工件的非接触测量,如摩托车架等。本文介绍了机器人高精度车架孔位视觉在线测量系统的组成构架,包括机器人运动系统、双目摄像机和标定系统,重点研究机器人视觉检测系统及车架孔位检测与测量方法,包括软件与硬件的设计。
本系统解决了大部分固定式视觉测量系统通用性差和无法适用于汽车混流或小批量生产线的问题,充分发挥了机器人运动灵活、占地面积小的特点,而且随时变换程序即能够满足产品多品种、多系列的测量需求,尤其适合在混流生产线上对大型异型零部件进行非接触、快速、精确测量。