APP下载

一种搭载深度相机的机器人手眼标定方法

2021-10-21曹梦龙靳利文

关键词:手眼双目标定

曹梦龙, 靳利文

(青岛科技大学 自动化与电子工程学院,山东 青岛 266061)

工业机器人广泛应用于装配、喷涂、点胶、检测和焊接行业,极大地提升了生产效率和产品质量。但是传统工业机器人示教再现式作业方式过程繁琐、绝对精度低,已不能满足当前作业需求。为了解决该问题,搭载视觉系统的机器人在线检测方式应运而生。该方式不需要提前示教工业机器人的运动轨迹,通过视觉系统引导机器人自动运行,极大提高了机器人作业质量和效率。在机器人视觉系统中,机器人手眼标定精度直接影响实际运动轨迹,决定机器人运行精度。由于工业现场环境复杂,而传统人工标定时间长,标定误差大,严重影响产业效率,因此建立一种准确、快速的机器人手眼标定方法对机器人实际工业应用具有重要意义。

目前,国内外相关学者对机器人手眼标定方法做了大量的研究工作。王才东等[1]利用平面镜作为辅助工具,结合坐标变换关系以及平面镜子成像对称性的特点,确立出手眼关系。曹军杰等[2]使用圆锥体作为辅助标定块,通过深度相机采集标定物特征点坐标,计算手眼关系变换矩阵,完成机器人视觉系统手眼关系标定。邱晓荣等[3]和何佳唯等[4]计算出多视图像间的位姿变化和机器人的位姿变化获得机器人手眼位姿。为了规避了传统算法中过度依赖相机位姿矫正、畸变矫正等算法导致的误差问题。相关工作包括对采集到的标定点进行插值细分拟合畸变曲线来消除相机畸变,构建图像坐标系与机械臂基坐标系的直接转换关系,以及基于变异粒子群优化、矩阵直积、舒尔矩阵分解等算法对标定方法进行线性化处理等[5-17]。

本研究通过对采用双目视觉进行辅助检测的工业机器人作为研究背景,采用生产线常见的铝块作为标定物,通过深度相机采集标定物图像,获取视觉坐标系下标定物特征点视差及深度值,同时由运动控制器获取机器人基坐标系下的坐标,计算手眼关系变换矩阵,从而完成机器人视觉系统手眼标定。最后为了提高手眼标定精度,本研究使用Mean-Shift算法对图像数据进行筛选处理。经过机器人实验平台的充分验证,本研究自标定算法满足工业现场快速标定的需求,极大提高了工业机器人的作业效率。

1 系统模型及标定方法

车轮检测是车轮下线前质量检测的重要工序,为了解决轮胎胶片搭接过程中由于胶片的热胀冷缩或裁切尺寸的不一致导致在成型鼓上头尾胶片过度搭接、搭接偏移和搭接处缝隙过大的问题,采用搭载视觉系统的机器人作为此工序的重要工具。车轮检测机器人视觉系统主要由深度相机传感器、工业机器人、夹具、上位机和生产线组成,系统总体方案设计如图1所示。本系统采用深度相机固定在机器人的工具末端(eye-in-hand)的方式进行工作。其工作过程:首先视觉系统对车轮进行扫描,引导机器人运动到指定位置,然后对车轮进行扫描,深度相机传感器将采集得到的图像传输给上位机,由上位机处理图像获取抓取坐标以及车轮质量检测结果,最后机器人执行上位机返回的指令,将车轮搬运至指定位置。

图1 机器人系统总体方案示意图Fig.1 Robot system overall scheme

1.1 双目立体视觉成像模型

双目视觉系统不需要使用特殊的发射器和接收器,具有对相机硬件要求低,硬件成本低廉等优点,由于是直接根据环境光采集图像,所以在室内、室外都能使用,通用性强。机器人双目立体视觉是基于视差原理,由左右相机采集两幅图像经过图像处理获取目标物体三维几何信息的方法。双目立体视觉系统在工业领域有着广泛的应用前景。其相机成像模型如图2所示。

图2 双目相机成像模型Fig.2 Binocular camera imaging model

在图2中,两相机在同一平面上,二者之间的距离为基线距离b。f为焦距,点P在左右相机图像平面上点分别为QL(x,y)和Qr(x,y),视差d=xl-xr,由三角几何关系可得深度坐标计算公式:

(1)

(2)

1.2 手眼系统自标定方法

手眼标定是机器人完成高精度运动的基础,目的在于实现物体在世界坐标系和机器人坐标系中的变换,所以手眼标定就是得到像素坐标系和机器人基坐标系的坐标转化关系,即对旋转关系矩阵R和平移向量t的求解。对手眼关系旋转矩阵R、平移向量t求解思路是通过控制机机器人平移和旋转,不断采集标定物特征点在像素坐标系和机器人基坐标系的坐标,从而完成矩阵参数的求解。因为机器人运动控制算法较为成熟,能够自主避开奇异点,所以本研究不讨论奇异点影响。

机器人手眼系统自标定的流程如图3所示。

图3 机器人手眼系统自标定的流程Fig.3 Flow of robot hand-eye relationship self-calibration

由图3所示,整个过程包括两部分:离线检测部分和标定物在线检测部分。需要在离线检测部分获取相关参数并对双目相机进行标定,从而配合标定物在线检测部分实现机器人手眼标定。标定物点云模型及其特征点如图4所示。

图4 标定物点云模型以及特征点Fig.4 Calibration object point cloud model and feature points

1)离线检测过程主要包括3个步骤。

步骤1:标定双目相机。

步骤2:手动创建ROI区域(region of interest,感兴趣区域),并针对标定物创建模板。

步骤3:针对标定物创建特征点提取算法。

2)在线检测过程主要包括6个步骤。

步骤1:匹配离线检测部分创建的标定物模板。

步骤2:控制机器人进行一次移动(包含X轴、Y轴、Z轴方向的分量),一次旋转(包含Rx、Ry、Rz方向),在机器人运动过程中不断采集标定物特征点的像素坐标以及机器人坐标。

步骤3:对采集的标定物特征点空间位置信息使用Mean-Shift算法处理,提高数据的有效性。

步骤4:根据自标定模型,求取旋转矩阵R参数。

步骤5:根据自标定模型,求取平移向量t。

步骤6:求取机器人手眼关系矩阵位姿方程。

假设,标定物特征点A在机器人基坐标系下的坐标为Pe,在双目相机坐标系下为Pc,其手眼关系为

Pc=RPe+t。

(3)

经过平移之后,点A在双目相机坐标系运行轨迹坐标分别记为

(4)

P点在双目图像坐标系下两点坐标之间的关系,可以表示成

zcnMn-zc0M0=KRbn。

(5)

根据双目成像模型,公式(5)可表达为

KRb1-u1KRb1=zc0(u1-u)。

(6)

根据各已知条件,即可获取旋转矩阵R。

若在控制平台在基础上旋转,按照双目成像模型,标定手眼关系平移向量t,则有

Xcn=RReXe0+t=

RRenR-1Xc0+(E-RRenR-1)t。

(7)

Xcn=K-1zcnMn。

(8)

联立方程即可求出t唯一解。

为了在有效的机器人运动里面获取更多的数据量,本研究通过采集运行过程中图像视频,通过提取关键帧的方法,在机器人进行平移和旋转运动的同时获取更多的数据,以提高算法的精度。本研究中双目相机是搭载到机器人手臂末端的,平均运行一次有效动作能够提取有效数据300幅。为了提高标定精度,提高标定效率,采用了Mean-Shift算法对数据进行筛选处理,从而矫正机器人手眼关系矩阵的误差范围。Mean-Shift算法的基本目标是将样本点向局部密度增加的方向移动,数据集密度的梯度方向就是密度增加最快的方向。

数据集密度:

(9)

然后,对Mean-Shift算法进行升级,加入核函数,则Mean-Shift算法变为

(10)

(11)

其中g(s)=-k′(s),式(11)的第一项为实数值, 第二项的表达式为

(12)

相机受到畸变等因素的影响,相机识别出的图像具有一定的误差范围,由于标定物在空间中位置固定,因此选用Mean-Shift算法优化误差范围,本研究使用Mean-Shift算法流程为

1)计算每个标定物特征点的均值漂移向量mh(x);

2)对每个标定物特征点以mh(x)进行平移,即

xi=xi+mh(xi) 。

(13)

重复(1)(2),直到标定物特征点数据收敛,即

mh(x)=0。

(14)

收敛到相同点的标定物特征点被认为是同一类簇类的成员。

经过上述Mean-Shift算法流程对数据进行筛选,将不满足数据集密度要求的特征点进行剔除,达到优化和提高特征点数据质量的目的,见图5。未筛选的标定靶特征点图像如图5(a)所示,经过Mean-Shift算法筛选过的特征点图像如图5(b)所示。可以明显看出,经过Mean-Shift算法优化之后,标定物特征点数据更加密集,极大地提高了自标定算法的准确率,减少了自标定算法的误差范围。

图5 机器人提高精度的Mean-Shift算法Fig.5 Mean-Shift algorithm for robot to improve accuracy

2 实验验证

2.1 实验条件

实验采用Intel Core i5 CPU,8 G内存,VS2017编译软件;使用C++与OPENCV视觉库进行编程开发。机器人平台采用珞石XB70型号机器人,本工作算法实验平台如图6所示。

图6 机器人工具末端自标定算法验证平台Fig.6 Robot tool end self-calibration algorithm verification platform

2.2 标定实验过程分析

在设备完全调试运行正常之后,将标定物放置在机器人工作区域内。首先控制机器人进行平移,由于机器人搭载的双目相机视野范围有限,因注意机器人平移过程中,标定物应该始终处于双目相机视野范围内,平移运动应该包含3方向(X、Y、Z)。然后控制机器人进行旋转,同样在旋转过程中,标定物应该始终处于双目相机视野范围内,旋转运动应该包含3方向(Rx、Ry、Rz)。在机器人平移或旋转的过程中,深度相机持续采集着标定物图像,并记录采集时刻的机器人位姿。根据采集信息,就可以计算像素坐标系下与机器人基坐标系转换关系的旋转矩阵R和平移向量t,从而完成对机器人工具末端的自标定算法。

2.3 标定实验结果分析

为了验证本工作标定算法的有效性,选取了2种具有代表性的非接触式手眼标定算法与本研究算法进行了对比:一种是文献[1]所述基于双目测量和成像对称性特点进行手眼关系标定的算法,该算法快速且操作简便,避免了其潜在的碰撞风险;另一种是文献[2]中基于3D线扫相机采集标定物特征点坐标,结合机器人基座标系下坐标计算手眼关系矩阵,该算法操作简便,标定精度高。

在相同条件下,对工业现场机器人设备使用文献[1-2]所述算法与本研究算法进行标定,重复实验15次进行对比。采用秒表计时器对每次标定操作进行计时并记录,统计结果如图7所示。

图7 手眼标定算法性能分析Fig.7 Performance analysis of hand-eye calibration algorithm

由图7可知,本研究自标定算法平均耗时5 min,而文献[1]算法平均耗时36 min,文献二算法平均耗时7 min。由图7平均耗时对比可明显看出本研究自标定算法相对其他标定算法缩减了操作时长,满足工业现场快速标定的需要。

为了平衡标定效率和算法准确度,验证本研究算法的鲁棒性及有效性。在完成机器人手眼关系标定之后,对机器人工具末端坐标实际坐标与计算坐标进行对比。表1中的计算坐标由本研究自标定算法对机器人工具末端坐标值计算得出,表1中实际坐标是使用激光跟踪仪手动测量得出。

表1 机器人工具末端坐标测量结果Table 1 Coordinate measurement results of robot tool end /mm

通过10组有效的重复测试实验,比较本研究算法标定后的绝对位置精度。从表1可以看出本研究算法标定后最大空间测量误差均不超过0.46 mm,能够满足工业领域的精度要求。

为了测量机器人视觉系统空间定位精度以及误差范围,使用本研究标定算法与文献[1-2]所述算法对标定物特征点进行重复性测量实验,分别求取标定物特征点在机器人基座标系下的坐标值,其标定结果如图8所示。

图8 特征点测量坐标误差对比实验Fig.8 Comparison experiment of characteristic point measurement coordinate error

由图8也可以看出,本研究自标定算法具有较好的空间定位精度,较文献[1-2]算法误差更小,单点测试误差在0.4 mm左右。证明了本算法具有较好的鲁棒性。也证明本研究Mean-Shift算法对提高手眼标定精度具有较好的效果。

3 结 论

建立双目视觉数学模型,基于相机小孔成像模型与机器人运动学约束,得出标定物特征点的三维坐标。通过控制机器人调整位姿,提取标定物特征点完成对机器人手眼关系矩阵的求解。通过仿真与实验对手眼系统自标定模型的正确性、求解效率、鲁棒性和误差进行分析,得到的主要结论如下:

1)本模型仅通过一次位移、一次旋转即可标定完成,极大的提高了标定效率。

2)本模型可以通过采集标定物特征点,然后根据移动路径提取多帧的多组特征点来对模型进行求解,从而提高自标定模型的鲁棒性与标定精度。

3)经过实验验证了该方法能够有效保持机器人手眼标定精度,满足了实际工业生产中机器人末端工具参数快速标定需求。

猜你喜欢

手眼双目标定
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
轻卡前视摄像头的售后标定
手眼:红色连成线
观察力、手眼协调能力
培养手眼协调能力,创意思维能力
使用朗仁H6 Pro标定北汽绅宝转向角传感器
基于双目测距的卡尔曼滤波船舶轨迹跟踪
CT系统参数标定及成像—2
CT系统参数标定及成像—2