杨宇
(广西机电职业技术学院,广西南宁,530007)
近年来,计算机视觉技术在工业机器人领域获得了较为快速的发展,这与该技术具有获取信息量大并且检测精度高、检测范围广等特征有很大的关系,这能够进一步促进工业机器人的智能化程度[1]。
工业机器人智能视觉系统中,摄像机充当着机器人眼睛的角色,因此其重要性是不言而喻。目前,六自由度工业机械臂在机器人中得到了较为广泛的应用,摄像机和多轴机械臂组合应用的视觉机器人系统亦可称为手眼系统。由于摄像机的安装位置有差异,因此可以将智能视觉引导系统分为两种,一种是固定式手眼系统,另外一种是移动式手眼系统[2]。
在固定式手眼系统中,摄像机通常是固定安装的。通过摄像头,可以实现机械臂作业范围内的覆盖,并且使用固定坐标系来实现对工作目标的识别。与此同时,使目标工件的位置和姿态等信息被传递到机械臂,然后机械臂来开始一些智能操作。经实验发现,固定式手眼系统的局限性较大。原因有二。第一是摄像机不跟随机械臂向目标移动,在目标距离摄像头距离超过一定距离的时候,对于摄像头的精度有更高的要求,这样会增加相应的费用。第二是机械臂与目标之间的距离过近的时候,可能导致摄像头视线被遮挡,从而不能完成预定的智能操作。
移动式手眼系统的摄像机通常是安装在机械臂的本体上。当机器人产生位移的时候,摄像头也会随之产生位移。在执行单元连接法兰盘上,可以按照该系统,通过该系统,能够得知目标工件信息。基于此,可以对控制机械臂采取一些智能操作。当前,在工业领域中,该系统使用较为广泛。经实践表明,移动式手眼系统比固定手眼系统的摄像头移动灵活性更强,而且能够使获取的目标工件信息更加精准。
视觉引导系统起到了机器人眼睛的功能,它通过使用工业相机拍照,来对目标工件的位置信息进行获取,识别工件的小孔或者角点等特征,从而对其进行匹配。然后,与位置信息模型结合起来,从而达到对工件位置定位的目的。最终,可以使工业机器人能够对工件进行智能抓取。在该系统中,有两个重要组成部分,一个是机械抓手,另外一个是工业相机。一般情况下,使用 Eye-in-Hand(眼在手上)如图1所示, Eye-to-Hand(眼在手外)如图2所示,这,其中,前者相机随机器人的移动一起运动,而后者在机器人运动的情况下,相机不会运动。通过实践研究发现,Eye-in-Hand(眼在手上)和 Eye-to-Hand(眼在手外)这两种视觉引导方式所适用的场景不同,而且有各自的优势。一般情况下,前者的优势是引导模式比较灵活,劣势是视野范围不大,在对工件进行定位的时候,往往需要在多次进行位置计算之后,才可以将移动误差尽可能减小。因此,其系统复杂程度更高,而且响应速度比较慢。一般情况下,这种系统比较适合小视野精确定位的情形。后者的优势是拍照位置是固定的,视野范围比较大,所以系统执行效率更高,但是往往计算结果精确度不高,不适合大视野粗定位情形。
图1 Eye-in-Hand 引导模式
图2 Eye-to-Hand 引导模式
在相机成像模型中,使用数学公式对成像过程进行推导,通过对目标物体的空间位置进行拍摄,从而对实际空间位置与图像成像点之间的几何变换关系进行确定。具体而言,该模型的构建需要分四个步骤进行。第一步刚体变换,第二步透视投影,第三步畸变校正,第四步数字化图像。针孔模型是相机模型中最常见的,它的原理是小孔成像原理,如图3所示。
图3 针孔模型小孔成像原理图
当前,有不少视觉领域中,是借助工业相机来对图像进行采集,然后借助数字传感信号进行数据传输。设P点的坐标为(x, y, z),并且该点的像素坐标为(u, v),那么该坐标系下的横坐标与纵坐标代表该像素的宽度dx与高度dy。
本文设两点是重合的。设nP的坐标为(nx, yn,zn),由相似三角形的关系可以得到像素坐标的推导公式为:
然后,可以进行矩阵变换,可以得到公式:
当光线经过工业相机的镜头之后,可以在感光阵列上进行成像,然后将光学信号进行转换为电信号,由此可以得到完整的图像信息。但是,需要注意的是,相机坐标系与图像坐标系是不同的,所以有必要做好坐标系转换。各个坐标系之间的转换如图4所示。
图4 各个坐标系之间的转换
相机所获取的图像都是二维平面图像,可以通过二维坐标系进行转换,如图5所示。
图5 二维坐标系转换
针对坐标转换,可以构建坐标模型,推出转换关系表达式:
将上述关系表达式进一步转换为矩阵,可得到:
然后,转化为齐次形式,可得到:
对于相机标定,是针对机械手和相机进行手眼标定。也就是说,当工业机器人的需要用机械臂对物品进行抓取的时候,工业机器人的控制系统需要知道机械臂与相机之间的空间坐标关系。对于工业机器人而言,眼睛即工业相机,手即工业机器人的机械抓手。对于实际的控制过程,在相机对目标物的图像像素位置获取之后,可以通过坐标矩阵对该坐标转换为空间坐标,然后将该坐标传递给机器人控制器,基于此,对电机的运行方式进行计算,最终达到对机器人位置的控制。在标定方法选择方面,因为本文采用的工业相机自身畸变较小而且需要工业相机与机器人之间进行配合,建立相机坐标与机械手坐标的关系。基于上述原因,笔者选择了机械手与相机之间的九点坐标标定法。九点坐标标定法的原理是工业机器人的机械臂末端有九个不同方向,然后通过这九个点来建立坐标,通过相机拍摄识别这些坐标,然后通过相机模型坐标进行转换,接着借助矩阵变换得到最终的坐标。该方法的详细工作流程如图6所示。
图6 九点坐标标定法流程
假设工业机器人的坐标系为(x, y, z),假定旋转矩阵为R,平移向量为M,由相机坐标系(x’, y’ ),这两者之间的关系表示为:
进一步转换得到标定矩阵:
工业机器人产品控制器能够达到运动控制功能控制的目的。比如,关节插补运动、直线插补运动、圆弧插补运动等运动功能的控制已经能够实现。工业机器人的智能抓取需要考虑三个方面的内容:识别出所要抓取的目标、确定目标与机器人手爪之间的位置和姿态、针对选定的目标就夹持策略进行规划。
针对目标识别和目标位姿获取,可使用的视觉测量技术有多种。主要的思路是使用深度信息恢复,三维重构等技术,通过这些技术,可以测量目标的位置,然后通过对结果进行三维数据模型构建。该视觉系统又名为立体视觉系统,借助该系统,然后经过三维重构,最终能够达到对目标的几何尺寸和空间位置进行描述的目的。在该数据模型构建之后,能够使用工业机器人进行抓取规划。然而,在实践中发现,立体视觉所需要处理的数据非常大,而且三维重构算法极为复杂,其中会涉及大量的计算。所以,目标深度信息的完整恢复难度较大,一般要额外提供目标的三维数据模型。目标识别一般包括这四个方面:模型库和特征检测以及假设生成和假设检验。
对于识别的过程,会使用到多种匹配技术,这样才能够在真实图像中找到目标物。当前,使用较多的相关技术有模板匹配、位姿聚类和解释树等。求取目标位姿的主要方法包括:基于立体视觉的位姿测量,基于矩形的位姿测量,基于PNP问题的位姿测量和基于消失点的位姿测型。
通过获取三维数据模型以及其位姿,基于此,才能进一步进行抓取规划。一般而言,工业机器人的抓取规划与仿人手这样的智能手爪比较而言,前者更为简单。工业机器人抓手的自由度较少,所以其夹持方式十分有限。以两指夹钳式手爪抓取一个立方体为例,机器人手爪坐标系原点OT建立在两指连线的中点上,其Z轴设在手指接近物体的方向,Y轴设在两手指连线的方向上,X轴有右手法则确定,手爪坐标系的各个轴分别记为XT,YT,ZT。对机器人手爪抓取路径的规划,实质,上就是这样一系列过程:在坐标系{OT},{Ot}之间选取适当的路径控制点,并建立其相应的坐标系,如:{OT1}{OT2} …… {OTn} 然后依次计算相邻坐标系之间的齐次变换矩阵:……[3]。其中,变换矩阵TT1T用于将机器人手爪从坐标系{OT}引导到坐标系{OT1} ,将机器人手抓引导至坐标系 {OT2} ,依此类推,直到将手爪引导到夹持位置,即坐标系{Ot}。
对于工业机器人应用领域的一个经典问题——机器人抓取操作,本文从计算机视觉技术的角度进行了探讨,提出了一种基于计算机视觉引导技术的工业机器人智能抓取的方法。希望通过计算机视觉这一新兴技术来解决工业机器人应用领域的传统问题。随着科学技术,尤其是计算机视觉的不断发展,相信在不久的将来,计算机视觉引导技术必将广泛地应用到工业机器人领域当中,使其焕发出新的光彩。