1. 引言
随着科学技术的迅速发展,机器人技术也在工业生产中得到了广泛应用,如何在传送带上实现精准的定位和抓取工作一直是热门的研究方向。目前,准确定位的核心技术是图像的分析处理,虽然有多位研究者已经进行研究,但是都存在一定的问题,如:戴雯惠提出的改进透视变换的畸变图像校正技术,虽然提高了畸变图像的校正准确率 [1],但矫正难度大,且定标靶和摄像机镜头的相对位置有严格的限制;彭妍等人提出的平面变换的相机标定方法,虽能够完成平面的转换实现标定 [2],但未考虑动态系统的情况。故目前的研究结果在应用于工业时受到了一定的制约。实现视觉分析后,另一个需要解决的是机器人抓取技术。陈志伟等人提出了基于视觉筛选的并联机器人平面抓取系统,对工件特征予以分类,提高了抓取成功率 [3],但并未进行实际测验;黄金梭等人提出了基于视觉的工业机器人抓取技术,通过矩阵计算完成相应坐标系之间的变换关系,来实现动态抓取 [4],但抓取时会有时间延迟;张云龙等人提出空间坐标定位系统 [5],引入空间三维坐标概念,通过立体几何的概念解决视觉定位问题,但系统使用俯视相机坐标系,在实际中会存在一定误差。
在工业自动化生产中对摄像机灵活性和定位动态物体的准确性都有一定的要求,而且目前机器人的抓取技术也存在一定问题,透视变换技术的应用,可以解决这个问题,且适应现代工业发展的需求。因此,本文提出一整套基于透视变换的空间坐标算法,构建一套基于透视变换技术的机器人动态抓取系统,可以对传统的技术方法进行有效改善与提升。
2. 基于透视变换的定位算法
2.1. 动态抓取系统搭建
系统主要由摄像头、机械臂、传送带、上位机等组成,如图1所示。将相机安装在货品放置器附近,位于传送带上方,以一定的倾斜角度拍摄。传送带以固定的速度
运行,当物品传送到相机的视觉图像检测区时,由相机拍摄当前画面,并将画面传送到上位机,由上位机进行分析和处理,最终得到物品的中心点坐标,实现物品的动态定位,再由上位机控制机器人的机械臂进行实时抓取。

Figure 1. Robot grasping system based on perspective transformation
图1. 基于透视变换技术的机器人抓取系统
2.2. 透视变换技术
在机器人定位抓取系统中,理想状态下摄像头以俯视图的形式拍摄,而在实际过程中,由于货品位于传送带上的位置不能保证始终固定,同时无法保证货品经过俯视摄像头取像区域时能够完美位于俯视摄像头正中央,因此俯视摄像头不能每次完美拍摄到立方体的四个上方顶点。在此情况下,俯视摄像头可以近似视作一个含有略微倾斜角度的斜视摄像头,如图2所示,其中
为理想俯视相机,
为现实斜视相机。根据空间几何学可知,斜视过程中会产生近大远小的现象,会将实际等边长的矩形映射成为非等边长的平行四边形,进而产生图像变形。此时如果仍按照俯视相机所测位置进行抓取,存在有一定的定位误差,如果不对进行纠正,将一定程度上影响终端机械抓取臂的货品抓取成功率。

Figure 2. Rendering of the top view perspective and oblique perspective
图2. 俯视视角与斜视视角效果图
针对此不足,本文基于透视变换算法,在机器人抓取系统中构建2个坐标系,分别为现实相机建立的斜视坐标系、虚拟俯视相机建立的俯视坐标系,如图3所示。
图3中透视变换前为斜视坐标系,透视变换后为俯视坐标系,此时应存在矩阵
,完成坐标
至坐标
的转换,即透视变换技术。
透视变换的原理为利用透视变换矩阵
将图像从一个视平面变换到另一个视平面,通过对物体所在平面进行旋转,形成物体在成像面上的正视图,从而将斜视图转换为俯视图。此时问题就转化为两个平面坐标的转换。具体计算公式如下:

Figure 3. Rendering of the oblique coordinate system and top view coordinate system
图3. 斜视坐标系与俯视坐标系效果图
(1)
公式(1)中,
为透视变换矩阵,
为斜视坐标系下的三维坐标,
为经过透视变换得到的俯视坐标系下的三维坐标。在实际操作中,系统仅能够获得二维坐标,假定二维坐标系下原坐标为
,变换得到的坐标为
。对公式(1)进行推导可求得:
(2)
由公式(2)可知,为计算得到透视变换矩阵
,需要获得两个坐标系的四组非线性对应坐标。当货品经过系统的视觉图像检测区时,通过系统中预设的四组对应点算出透视变换矩阵
,再利用
进行后续动态定位计算。
2.3. 动态定位算法
本文设定货品模型为矩形,相机完成视觉处理后,为了完成最后的机械臂抓取,需要在视觉定位的基础上测算出货品的中心点坐标
和偏转角度
。
已知货品的高度为
,中心点坐标可由不在同一平面的三个点坐标确定。分析斜视相机的拍摄角度可知,在视觉捕捉图像中能够至少提取出三个有效点位,分别为点
、点
和点
,其中
点和
点分别是距离相机最近的底平面一条边的两个端点,
点为距离相机最远的上平面上的一个顶点,具体情况如图4所示。相机拍摄到的图像传输到上位机进行图像预处理,识别出物体的轮廓,再通过角点检测标记出物体各顶点的位置,从而计算出斜视角中物体各顶点的坐标。图4中坐标点
为系统预设在传送带上的已知坐标点。

Figure 4. Diagram of partial point coordinate in perspective transformation coordinate system
图4. 透视变换坐标系部分点坐标效果图
实际处理时,由斜视相机捕捉识别到相应顶点坐标,经透视变换矩阵
处理,得到俯视坐标系中四点的平面二维坐标,即图4中的
四点,记
,此时有公式:
(3)
由公式(3)计算得到系统所需的货品中心点坐标
。
货品在传送带上是随机放置,会存在一定的角度偏差
,在完成抓取时还需要根据
调整机械臂的抓取角度(即货品的中轴线与传送带的夹角),此时有公式:
(4)
由公式(4)计算得到系统所需的
,即货品实际角度偏差。
以
为原点,传送带以速度
匀速运动,系统完成视觉捕捉,计算得到所需参数后,假定机械臂在
处进行抓取,此时机械臂应在规定时间
内旋转
,移动至
完成动态抓取。
3. 实物试验及结果分析
本文提出的是基于斜视透视变换的动态定位算法,即相机以一定的倾斜角度拍摄,得到斜视平面的图像,再将其坐标转换到俯视平面,采用多次求取平均值的方法,能使物体的定位和抓取更准确,从而减小因为相机角度问题造成的误差。
3.1. 实验平台搭建
通过上文中一些原理的介绍和算法的设计之后,为验证算法和设计的可行性,搭建如图5所示的硬件实验平台进行测试,包含有相机、机械臂、传送带等。系统一端的机械臂完成货品放置,按颜色取起货品放置到传送带上,由传送带进行动态传送;启动摄像头进行动态跟踪、分析,传输颜色和位置信息给另一端机械臂,最终准确抓取物品按颜色进行码垛。

Figure 5. The physical model of the robot dynamic grasping system
图5. 基于透视变换技术的机器人抓取系统实物
从图5中可以看出,在机械臂与摄像头标定后相对于传送带对摄像头位置进行固定;接着执行相机校准程序,调节机械臂的位置与相机坐标对应,位置校准完成后退出校准程序。准备工作就绪后启动动态抓取程序,货品放置器和机械抓取臂初始化时处于初始状态,图像识别程序主线程启动开始,左边货品放置器开始上料,从左边的区域进行循环抓取放到传送带左端随机位置,色块随传送带移动,色块进入相机检测区域时,对相机传输的图像进行处理并画出轮廓追踪并识别,进行抓取,最终完成一次动态抓取的过程。
为了方便计算透视变换矩阵
,在传送带上预先设置十字标记,如图6所示,记十字中心为俯视坐标系中的
。

Figure 6. Schematic diagram of the preset calibration points in two coordinate systems
图6. 透视变换技术中两坐标系的预设标定点实物效果
操作中由货品放置器经颜色识别判定出货品位置,抓取放置于传送带上进行运输。经过传送带视觉识别区时,斜视相机进行视觉识别,数据传至上位机。上位机内含MCU,由MCU调用OPencv库,检测颜色、形状,识别计算算法所需坐标点。视觉识别区内含有已知长度等参数的十字预设标记,推得透视变换矩阵
,再次代入计算得到俯视坐标系下所需点坐标。对应参数结果传递至机械抓取臂,按照计算得到的
和
,实现最终抓取。
3.2. 实验结果数据
运行系统,同时放置多个物体,两坐标系中实测斜视坐标、计算得到的俯视坐标与实际坐标如表1所示。

Table 1. Comparison of the measured coordinates and actual coordinates in the oblique coordinate system
表1. 两坐标系中检测坐标与实际坐标对比表
由表1中的数据可知,把检测到的斜视坐标数据代入透视变换矩阵可得到俯视坐标,多次实验的误差均在1 mm以内,横纵坐标的平均误差为0.6883 mm和0.59 mm。为验证本文提出的算法的可行性及优势,在实验中增加俯视相机定位系统 [6] 对随机放置的多个物体进行坐标定位,得到的俯视定位坐标与实际坐标如表2所示。

Table 2. Comparison of the measured coordinates and actual coordinates in the top view coordinate system
表2. 俯视相机定位系统检测坐标与实际坐标对比表
表2中横、纵坐标的平均误差分别为1.45 mm和1.21 mm,与表1数据进行对比可知,使用本文提出的基于透视变换的动态定位算法可以使横纵坐标的误差分别降低52.53%和51.24%,极大地提高了物品定位的精确度。
在此基础上,研究者针对本文构建的斜视相机定位系统和传统的俯视相机定位系统进行了一定数量的货品动态定位抓取实验,实验结果如表3所示。由于抓取成功率与货品体积参数相关,本次试验使用的实际货品体积为(2 cm * 2 cm * 2 cm),由表3数据可知,相比于俯视相机定位系统,本文设计的斜视动态抓取系统在提高定位精确度情况下,抓取成功率再次提高7.18%。

Table 3. Comparison of the crawling success rate in the two systems
表3. 不同系统货品定位抓取成功率对比表
4. 结论
综上所述,透视定位技术已经成为工业机器人动态抓取的主要发展趋势。因此,分析透视定位技术在工业机器人的动态抓取技术中的应用,着重针对应用技术以及其算法进行分析和探究,能够进一步提升动态抓取技术在工业机器人中的应用价值。
本文对透视变换的原理及货品的动态定位算法进行了详细的介绍,搭建了一套类似于工业传送带的视觉定位抓取系统,构建了斜视坐标系和俯视坐标系,通过将斜视相机拍摄到的图像转换到俯视平面,由透视变换将斜视坐标系中点坐标转换为逻辑概念上的俯视坐标系中点坐标,最终得到物体的中心点坐标,从而实现物体的准确定位,再控制机械臂调整位姿在适当的时机进行准确抓取。在抓取系统中引入斜视坐标系,提高机器人动态抓取过程中的动态定位能力,降低定位误差,进而提升实际抓取成功率。实验表明,本系统相比于传统俯视系统降低定位误差41%,提高抓取成功率7.18%,满足工业中对于精准动态定位的要求,且系统对不同的相机倾斜角度都能够准确定位,满足了工业中对相机灵活性的要求,具备更强的工业适用价值。