DOI:10.12086/oee.2021.200239
程麒1,潘丰1*,袁瑜键2
1江南大学轻工过程先进控制教育部重点实验室,江苏无锡 214122;
2无锡信捷电气股份有限公司,江苏无锡 214072
摘要:针对龙门架机器人末端执行机构只具有三个正交方向上的平移自由度的工作特性,参照传统手眼标定的两步法,
设计了一种直接对3D视觉传感器的点云坐标系与机器人执行机构的工具坐标系进行手眼标定的方法。该方法只需要
操作机器人进行两次正交的平移运动,采集三组标定板图片和对应点云数据,并通过执行机构的工具中心点(TCP)接触
式测量出标定板上标志点的基坐标值,即可解算出手眼关系的旋转矩阵和平移矢量。该方法操作简单,标定板易于制
作且成本低。采用XINJE龙门架机器人与3D视觉传感器搭建实验平台,实验结果表明,该方法具有良好的稳定性,
适合现场标定,标定精度达到±0.2 mm。
关键词:视觉引导;手眼标定;龙门架机器人;3D视觉传感器;点云
中图分类号:TP241.2 文献标志码:A
程麒,潘丰,袁瑜键. 基于3D视觉传感器的龙门架机器人手眼标定方法[J]. 光电工程,2021,48(4): 200239
Cheng Q, Pan F, Yuan Y J. Hand-eye calibration method of gantry robot based on 3D vision sensor[J]. Opto-Electron Eng, 2021, 48(4): 200239
Hand-eye calibration method of gantry robot based on 3D vision sensor
Cheng Qi1, Pan Feng1*, Yuan Yujian2
1Key Laboratory of Advanced Process Control for Light Industry (Ministry of Education), Jiangnan University, Wuxi, Jiangsu 214122, China;
2XINJE Electronic Limited Company, Wuxi, Jiangsu 214072, China
Abstract:Aiming at the working characteristics of the end-effector of the gantry robot with only three translational degrees of freedom, a method for calibrating the point cloud coordinate system of the 3D vision sensor and the tool coordinate system of the robot actuator is designed, on the basis of the traditional two-step method of hand-eye calibration. In this method, only three calibration target pictures and three sets of point clouds are collected by two orthogonal translation movements of the ro
bot, the rotation matrix and translation vector of the hand-eye relationship can be calibrated by measuring the base coordinates of mark points on the target through the TCP contact of the actuator. The method is simple to operate, and the calibration target is easy to make with low cost. The XINJE gantry
robot and 3D vision sensor of structured light was used to build an experimental platform for experiments. The
——————————————————
收稿日期:2020-06-28;收到修改稿日期:2020-11-10
基金项目:国家自然科学基金资助项目(61773182)
作者简介:程麒(1995-),男,硕士研究生,主要从事工业机器人视觉系统的设计。E-mail:
通信作者:潘丰(1963-),男,博士,教授,博士生导师,主要从事生产过程优化控制等的研究。E-mail:
版权所有○C2021中国科学院光电技术研究所
results show that the method has good stability and is suitable for field calibration, with calibration accuracy within ±0.2 mm.
Keywords: vision guidance; hand-eye calibration; gantry robot; 3D vision sensor; point cloud
1 引言
随着工业机器人在我国的普及,具备视觉定位引导功能的机器人被逐渐应用到焊接、定位抓取、货件搬运、汽车喷涂等工业生产中,是工业生产自动化和智能化的重要发展方向[1]。手眼标定技术是机器人实现视觉定位引导的关键技术环节,针对不同工作模式的机器人和不同类型的视觉传感器,研究恰当可行且具有高精度、良好稳定性的手眼标定方法对机器人视觉系统的发展具有重要意义[2]。
业界对于六自由度机器人的标定方法已经进行了广泛的研究,研究成果主要分为“两步法”和“一步法”。“两步法”将刚性变换关系分为旋转关系和平移关系,并逐步进行求解,在求解过程中会出现误差传递,这种方法主要以Tsai[3]提出的旋转向量线性解法和Park[4]提出的李最优定向法为代表。“一步法”将刚性变换关系用螺旋运动[5]来表示,一次求解出螺旋运动表达式。这种方法消除了误差传递,但对噪声比较敏感,主要以Daniilidis[6]提出的对偶四元数法和Malm[7]提出的矩阵直积法为代表。这些方法都需要控制机器人在不同姿态和位置下获取“手”和“眼”的标定数据,而在机器人可控自由度不足的情况难以实现。Zhang[8]针对SCARA机器人只有一个旋转自由度和两个平移自由度的特性提出相应的方法,但
无法解出相机与机械臂末端在z轴方向上的位置关系。叶溯等在此基础上提出了无需限定相机与机械臂在z轴方向上的安装位置即可求出手眼关系唯一解的方法[9]。文献[10-11]也针对类似情况进行了研究,提出了有价值的解决方案。
目前已有的标定方法大多是针对平面相机的手眼标定,随着3D视觉传感器的发展,研究机器人与3D 视觉传感器的手眼标定方法十分重要。大多数已有的方法如文献[12-14]都需要特制的立体标定靶标。郑健等提出了一种无需特定靶标,在空间直线约束下优化计算结构光视觉传感器与焊接机器人的手眼关系,大大降低了标定成本,但需要进行至少30组采集,示教过程比较繁琐[15]。本文针对龙门架机器人只有三个平移自由度的执行机构与3D视觉传感器的手眼标定问题提出了一种标定方法,只需要普通的平面标定板即可完成标定,且具有较高的精度和稳定性。
2 龙门架机器人手眼标定模型
2.1 机器人视觉系统模型
龙门架机器人的工作范围大,机器人的执行机构具有较高的重复定位精度,但只有三个相互正交方向上的平移自由度。3D视觉传感器能够快速获取相机视野范围内待测物体的三维坐标信息,生成实时的点云数据。视觉传感器与机器人执行机构刚性连接,随着执行机构运动。
以机器人TCP零位点作为原点,三个正交的运动方向为坐标轴方向建立机器人基坐标系O Base。由于执行机构不存在旋转自由度,执行机构与基坐标系的相对姿态关系是固定的,以执行机构当前位置的TCP三维坐标T
TCP P P P
=[1]
x y z
x为原点,与基坐标系相同的坐标轴方向建立工具坐标系O Tool。3D视觉传感器C采集物体在世界坐标系O World中的三维坐标信息并转换到点云坐标系O Cam下。这四个坐标系及其相互转换关系构成龙门架机器人手眼视觉系统的数学模型,如图1所示。
3D视觉传感器可实现待测物体的位置从世界坐标系O World到点云坐标系O Cam的转换,其转换关系用
矩阵C
W
H表示;通过手眼标定可求出待测物体的位置从点云坐标系O Cam到工具坐标系O Tool的转换关系,用
矩阵T
C
H表示;通过机器人的运动反馈数据可以得到待测物体的位置从工具坐标系O Tool到基坐标系O Base
的转换关系,用矩阵B
T
H表示。
图1 机器人手眼视觉系统示意图
Fig. 1 Schematic diagram of the robot hand-eye vision system
以上三个转换关系矩阵,是实现机器人的定位引
导的关键信息。其中,矩阵C
W
H 相当于视觉传感器的外参矩阵,在使用传感器采集待测物体的点云数据时
实际上已经实现了矩阵C
W H 所表示的转换过程,因此
不需要对其求取。根据转换关系矩阵的性质,可将矩
阵B T H 分解成旋转部分B
T R 和平移部分B T T ,根据龙门
架机器人基坐标系和工具坐标系的关系,可得其结构及获取方法:
B B
TCP B
T T
T
0101⎡⎤⎡⎤==⎢
⎥⎢⎥⎢⎥⎣⎦
⎦I x R T H  。    (1)
T
Cam C C C =[1]x y z X 、
T Tool T
T
T =[1]x y z X 、T Base B B
B =[1]x y z X 表示
待测物体在点云坐标系、工具坐标系、基坐标系下的齐次坐标。其转换关系为:
T
Tool C Cam =X H X  ,          (2) B Base T Tool =X H X  。          (3)
由于视觉传感器和机器人执行机构刚性连接,点云坐标系O Cam 和工具坐标系O Tool 的转换关系不随执
行机构的运动而改变,因此矩阵T
C H 是一个固定值。求得矩阵T C H 的值,便可通过式(2)和式(3)计算出待测
物体在基坐标系下的位置坐标X Base ,实现机器人的定
位引导。手眼标定的目的就是对矩阵T C H 进行求解。
2.2 手眼标定方法
2.2.1 Tsai 和Zhang 的手眼标定方法
Tsai 针对六轴机器人提出了手眼标定两步法[2]
操作执行机构做任意位置姿态的运动,构建隐式方程
T
T A C
C
B ⋅=⋅H H H H ,其中A H 为执行机构运动前后工
具坐标系的刚性变换矩阵,B H 为对应的相机坐标系的刚性变换矩阵,T C
H 为需要求取的手眼矩阵。参照式(1)的结构,将矩阵A H 、B H 、T C
H 分解为旋转部分
A R 、
B R 、T C
R 和平移部分A T 、B T 、T C
T ,可得到如
式(4)所示的等式关系。将式(4)展开,得到式(5)和式(6),两步法的第一步通过式(5)求解出手眼矩阵的旋转
部分T C R ,第二步将T C R 代入式(6)从而求解出平移部分T C
T 。
T
T
T
T A
A B
B C C
C C
1111⎡⎤⎡⎤⎡⎤⎡⎤
=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦
⎣⎦⎣⎦R T R T R T R T 0
00
,
(4) T T
A C
C
B R R =R R    ,            (5)
T
T T A C
A C
B C
+=+R T T R T T    。        (6)
由于龙门架机器人的执行机构没有旋转自由度,无论操作机器人做任何运动,执行机构的姿态是固定
的,即A R 为单位阵。同理,由于相机与执行机构刚性
连接,B R 也为单位阵。显然式(5)并不能解算出T
C
R ,说明Tsai 法并不适用于龙门架机器人的手眼标定。
Zhang [4]针对SCARA 机器人的工作模式设计了一种手眼标定方法,这种方法在机器人旋转自由度有限的情况下,通过多次的纯平移运动,来解算手眼矩阵
的旋转部分T
C R 。当A R 为单位阵时,式(6)可化简为
T
A C
B =T R T  。            (7)
手眼假设机器人做n (n ≥3)次平移运动,得到n 组矩阵方程:
T
A C
B (1,2,,)i i i n ==T R T    。      (8)
只要每一次点云坐标系运动的平移矢量
B (1,2,,)i i n =T  不共面,即可通过SVD 分解求解出T
C
R 。
Zhang 的方法可以在旋转自由度有限的情况下通
过多次平移运动求解出手眼矩阵的旋转部分T
C R ,但
其求解手眼矩阵平移部分T C T 的方法并不适用于本文所述的龙门架机器人手眼系统。
2.2.2 适用于龙门架机器人的手眼标定方法
本文结合Tsai 法和Zhang 法,基于龙门架机器人的工作特性,设计了一种适用于龙门架机器人的手眼标定方法。
控制机器人的执行机构做两次相互正交的平移运动(基于龙门架机器人的运动结构,可分别沿机器人工具坐标系的x 轴方向和y 轴方向运动一段距离),得到工具坐标平移运动的两个正交矢量A1T 和A2T ,以及点云坐标系平移运动的两个正交矢量B1T 和B2T ,分别构造基于工具坐标系和相机坐标系的规范正交基A M 和
B M ,构造方法如下:
1) 分别将矢量A1T 、A2T 、B1T 、B2T 单位化,得到四个单位矢量A1p 、A2p 、B1p 、B2p ,以获取单位矢量T A1A1A1
A1[]X Y Z =p 为例,单位化方法为
T
A1A1A1⎡⎤==T p T 。    (9) 2) 用单位矢量A1p 、A2p 以及它们的向量积A1A2×p p 构造规范正交基A M ,用单位矢量B1p 、B2p 以
及它们的向量积B1B2×p p 构造规范正交基B M 。以构造A M 为例,构造方法为
A A1
A2A1A2⎡⎤=×⎣⎦M p p p p
A1
A2A1A2A2A1A1
A2A1A2A2A1A1A2
A1A2A2A1 =X X Y Z Y Z Y Y Z X Z X Z Z X Y X Y ⎡⎤
−⎢⎥
−⎢⎥⎢⎥−⎣
。 (10)
由正交基的性质可知,工具坐标系的任意平移运动都可由A M 中基向量的线性组合表示,点云坐标系的任意平移运动都可由B M 中基向量的线性组合表
示,结合式(8)可得手眼关系的旋转部分T
C R 的求解方
程:
T
1C
A B −=R M M  。          (11)
通过TCP 接触式测量到机器人基坐标系下的一个标志点的三维坐标T Base0B0B0
B0=[1]x y z x ,并通
过机器人运动反馈获取得到执行机构在当前拍摄位置
的TCP 三维坐标T TCP0p0p0
p0=[1]x y z x ,由式(1)
和式(3)可得标志点在工具坐标系下的三维坐标Tool0
x 为
Tool0Base0TCP0=−x x x  ,        (12)
在当前拍摄位置采集到此标志点在点云坐标系下的三维坐标T Cam0C0
C0
C0=[]x y z x ,由式(2)可得手眼关系
的平移部分T C T 的求解方法为
T T
C
Tool0C Cam0=−T x R x  。      (13)
得到手眼关系的旋转部分T
C R 和平移部分T C T 后,即可得到完整的手眼矩阵T
C
H : T T
T
C C
C
1⎡⎤
=⎢⎥⎢⎥⎣⎦
R T H 0
。        (14) 3  标定数据的获取与优化
通过分析式(9)、式(10)、式(11)和式(13)可知,求解出手眼关系需要获取的标定数据有:工具坐标系平
移运动的矢量A1T 和A2T ,点云坐标系的平移运动的矢量B1T 和B2T ,标志点在工具坐标系中的三维坐标Tool0x ,标志点在点云坐标系中的三维坐标Cam0x 。
其中,与工具坐标系相关的数据有A1T 、A2T 和Tool0x 。A1T 和A2T 可直接从机器人的运动控制参数中
获取,Tool0x 通过式(12)获取,而式(12)中对Base0x 的接触式测量方法如图2所示。由于机器人工具中心点的
定位精度很高,因此这部分数据是比较可靠的。
与点云坐标系相关的数据包括B1T 、B2T 和Cam0x 。B1T 和B2T 需要通过平移前后采集到的点云数据中标志
点坐标的变化量来计算。以计算B1T 为例,假设执行此平移运动前后的标志点在点云坐标系中的三维坐标分
别为a Cam x 和b
Cam x ,则B1T 的计算方法为
b a
B1Cam Cam =−T x x  。        (15)
显然,要获取到B1T 、B2T 和Cam0x 都需要实现标志点在点云数据中的定位。通过分析3D 视觉传感器生成的二维图像与三维点云的关系,设计了一种图像与点云结合来实现标志点精确定位的方法,并针对3D 传感器非接触式测量可能存在的扰动,设计了相应的优化方法。
3.1 标志点的初定位
传统的以2D 相机为传感器的手眼标定只需要从标定板的图像中提取角点、圆心等特征点即可实现标志点的定位,但从点云中提取和识别一个平面上的特征点是难以做到的。本文所使用的3D 视觉传感器每次拍摄生成一张二维图像和一组点云数据,点云数据其实就是一系列三维坐标的集合,这些三维坐标有序排列,每一个三维坐标都对应图像中的一个像素。因此,通过提取某一特征点图像中的像素坐标(u ,v ),可以计算出此像素对应的三维坐标在点集合中的序号N ind ,假设图像大小为R row ×C col ,则序号N ind 的计算方法为
ind Col N uC v =+ 。        (16)
计算出N ind 后,在点云的点集合中搜索到此序号对应的三维坐标,即为此特征点在点云坐标系中的三
维坐标。但在实际标定中,为了获得更精确的数据,通常在图片中提取的标志点为亚像素,如果将亚像素取整后再搜索的话,得到的三维坐标与标志点实际的三维坐标存在一定的误差,因此这种方法只能实现标志点的初定位。 3.2 标志点的精确定位
初定位的精度依赖于3D 传感器的分辨率,也就是在3D 传感器有效成像距离内两个相邻点的空间距离。本文所使用3D 传感器分辨率为0.2 mm~0.4 mm ,也就意味着初定位的标志点存在±0.4 mm 的误差,显然会对最终的标定结果造成很大的影响。为了精确定位标志点在点云坐标系中的三维坐标,使用一种以亚像素面积比例的倒数作为空间点插值权重的方法来精确估计标志点的点云坐标。
图2  接触式测量示意图
Fig. 2
Schematic diagram of contact measurement
假设提取到的标志点的亚像素坐标为center c c (,)P u v =,其周围四个整数像素坐标分别为000(,)P u v 、100(1,)P u v +、200(,1)P u v +、300(1,1)P u v ++,
以center P 为中心,将四个像素点围成的正方形划分为四个小矩形区域,如图3所示,计算这四个矩形区域的面积S 0、S 1、S 2、S 3。显然,矩形面积与四个整数像素点对标志点的插值比例成反比,可以得到基于面积倒数的插值权函数:
()3
01
1()/0,1,2,3j i j W i i S S =⎛⎫=
= ⎪ ⎪⎝⎭
∑ 。  (17) 使用初定位方法搜索到四个整数像素对应的四个点云坐标系中的三维坐标为x 0、x 1、x 2、x 3,由相机的投影成像模型可知,像素的插值比例与空间点的插值比例相同,因此可根据式(17)所示的权函数对这四个三维坐标进行插值计算,从而求得标志点在点云坐标系下的三维坐标center x ,其计算式:
3
center 0[()]i i W i ==⋅∑x x  。        (18)
为了便于标志点像素坐标的采集,同时保证标志点的数量和在点云中的成像质量,本文借鉴OpenCV 不对称圆形标定板设计了一种平面标定板,检测到圆心像素坐标如图4所示。提取到点云中的圆心点效果如图5所示。
3.3 加权平均法优化T B 和C T T
实际情况中由于种种干扰因素(杂光干扰、接触式测量、误操作等),通过单个标志点计算出的结果往往并不可靠。如图5所示,可以从标定板的点云数据中定位出多个圆心点,假设选择其中n 个圆心点的三维坐标center (0,1,,1)i i n =−x  作为标志点在点云坐标系中的三维坐标,即:
Cam center (0,1,,1)i i i n ==−x x  。    (19)
结合式(13)可以得到n 个手眼矩阵平移部分的计算结果T C (0,1,,1)i i n =−T  ,结合式(15)可以得到n 个点云坐标系平移矢量的计算结果B (0,1,,1)i i n =−T  。使用加权平均的方法计算T B 和T C T 的最优值,可以有效
抑制噪声和误操作对标定结果带来的影响。
以计算T B 为例,加权平均算法的程序流程如图6所示。选择Danish 函数[16]作为加权平均的权值函数,能够有效抑制大尺度噪声干扰,函数式:
02
001
||()exp 1(/)||i i i i i u k ωdanish u u k u k ≤⎧⎪==⎨⎡⎤−>⎪⎣⎦⎩
。(20) 4  实  验
4.1 实验流程
本文采用XINJE 龙门架工业机器人与DLP 投影结构光三维成像仪搭建实验平台,机器人重复定位精度达到0.01 mm ,相机分辨率为728×544,测量精度为5
图3  亚像素插值比例示意图
Fig. 3
Schematic diagram of sub-pixel interpolation ratio
2
3
P 1 P 0
图4  标定板圆心检测效果图
Fig. 4  Rendering of a central point extracted
from the point cloud
图5  点云中的圆心点提取效果图
Fig. 5  Rendering of a central point extracted
from the point cloud
60
50
40 30
-20
-10
5