1.本发明属于计算机视觉领域,具体的说涉及一种结构光相机坐标系和机器人末端坐标系的手眼标定方法。
背景技术:2.随着科学技术的发展和工业自动化水平的不断提高,机器人在各个行业中得到了广泛的应用,视觉与机器人的结合使得机器人多了一双“眼睛”,结构光作为一种主动视觉比相比传统2d平面视觉,鲁棒性更强,也可以获取三维数据;在焊缝跟踪或是机器人自动打磨项目中,结构光与机器人的结合更是得到了大量应用。因此,手眼标定是结构光机器人手眼视觉应用中必不可少的环节。传统三维手眼标定方法往往通过机器人带动相机运动,对标定板采集多组姿态下的图像,获得足够的标定数据,再经过矩阵拟合,姿态分解等步骤完成手眼标定;这类方法有诸多缺点:(1)姿态分解过程往往面临精度不足的问题;(2)当系统存在微小扰动时,拟合的矩阵经过姿态分解后的结果一致性较差;(3)标定过程中,机器人拍照姿态的选择对标定结果起到了至关重要的作用,标定精度过度依赖操作者的专业水平;
3.本发明着眼于传统手眼标定方法的不足,力求实现高精度、高可靠性、高易用性的结构光机器人手眼标定方法。通过直接并独立地估算x、y、z每一个轴的相对姿态,回避矩阵拟合与姿态分解的过程,从而得到高精度的相对位姿估算结果,并使结果具有高一致性,当视觉系统存在微小扰动时,标定鲁棒性较好;机器人拍照姿态的选择充分利用标定块的先验信息,通过机器人执行自动路径作业实现标定过程的高度自动化,最大可能地降低人为干预。多年来,中国科学院沈阳自动化所结合实际工程应用背景,在光电信息处理和机器人智能制造领域,取得了一系列研究成果。本发明是在已有的科研成果基础上,大胆创新,经过反复验证,提出了一种全新的结构光机器人手眼标定算法,在实际的工业生产中,具有重要意义。
技术实现要素:4.在机器人末端安装结构光传感器,借助特殊设计的标定块的几何信息,经过离线和在线两步估算方法,高精度地估算结构光相机坐标系与机器人末端坐标系的三维相对位姿关系。
5.本发明为实现上述目的所采用的技术方案是:
6.一种基于坐标系伺服对准的结构光手眼标定方法,通过标定块与安装在机器人末端的结构光相机,经过离线估算与在线估算,实现估算结构光相机坐标系的三维相对位姿,即结构光相机坐标系相对于机器人工具坐标系的位置和姿态,其中:
7.离线估算为:根据标定块的几何信息,通过调整机器人末端姿态带动结构光相机采集标定块图像并建立初始机器人工具坐标系,同时获取初始机器人工具坐标系相对于结构光相机坐标系的相对位姿;
8.在线估算为:机器人事先设定好运动路径,带动结构光相机采集标定块图像并实时建立当前时刻的机器人工具坐标系,结构光相机根据采集到的图像实时给机器人反馈在标定块用户坐标系下的运动坐标信息,机器人根据运动坐标信息的引导在原设定路径的基础上完成下一时刻的运动,循环迭代机器人工具坐标系在结构光相机坐标系下的相对位姿,直至与结构光坐标系下的相对位姿重合,停止迭代。
9.所述标定块为两相对侧面为直角梯形、上下底面为矩形的四棱柱,其中,上底面有三个不共线且每两个之间距离超过阈值的圆孔a、b、c,以及一个等腰三角形的凹槽;斜坡面有一个平行于斜坡的凹槽。
10.所述圆孔a、b、c用于建立标定块用户坐标系,以及离线估算相对姿态rx、rz;等腰三角形凹槽用于在离线估算时估算相对位置(tx,ty,tz)和相对姿态ry,在在线估算时估算相对位置(tx,ty,tz)和相对姿态rx、ry;平行于斜坡的凹槽用于在在线估算时估算相对姿态rz。
11.所述标定块的几何信息包括:一个带有等腰三角形的平面,平面上带有三个或以上不共线的圆孔,一个带有平行凹槽的斜坡面。
12.离线估算流程依次包括:估算相对姿态rz、估算相对姿态rx、估算相对姿态ry、估算相对位置(tx,ty,tz)。
13.相对姿态rz的估算:首先,机器人利用三个圆孔建立标定块用户坐标系,原点为圆孔a中心,x轴正向为从圆孔a中心到圆孔b中心,y轴正向为从圆孔a中心到圆孔c中心,坐标系符合右手定则,z轴垂直于标定块上表面向下,手动调整机器人末端姿态,使得结构光相机的激光线穿过孔a和b,此时结构光相机坐标系x轴与标定块用户坐标系x轴重合,得到相对姿态rz;
14.相对姿态rx的估算:在不改变rz的前提下,手动调整机器人末端,升高或降低标定块用户坐标系下的机器人z坐标,如果结构光相机坐标系和机器人工具坐标系存在相对姿态rx偏差,则激光线会偏离孔a和b所在的直线,调整机器人rx使得在升高或降低的过程中激光线始终穿过孔a和b,此时结构光相机坐标系z轴与标定块用户坐标系z轴平行,估算得到相对姿态rx。
15.相对姿态ry的估算:在不改变rx、rz的前提下,调整机器人末端使之沿着标定块用户坐标系y轴平移距离y
f
,使得激光线与三角形凹槽的两边相交于点d、e;结构光计算出结构光相机坐标系x轴与过点d、e的直线构成的夹角,即相对姿态ry,机器人调整ry,此时结构光相机坐标系与标定块用户坐标系三个坐标轴平行,得到相对姿态ry;ry计算公式如下:
[0016][0017]
其中结构光相机坐标系下的d点测量坐标为(x
d
,z
d
),e点测量坐标为(x
e
,z
e
),θ为结构光相机坐标系x轴与过点d、e的直线构成的夹角;
[0018]
相对位置(tx,ty,tz)的估算:由于三个坐标轴平行,则原点相对位置偏差可以用d、e中点f坐标x
f
、z
f
与机器人平移量y
f
计算得到,即:
[0019]
(tx,ty,tz)=(x
f
,y
f
,z
f
)。
[0020]
在线估算流程依次包括:循环迭代估算相对姿态ry,循环迭代估算相对姿态rz,循环迭代估算相对姿态rx,循环迭代估算相对姿态rz、ry、rx,估算相对位置(tx,ty,tz)。
[0021]
循环迭代估算相对姿态ry:机器人沿标定块用户坐标系y轴运动,使得激光线与三角形凹槽的两边相交于点d、e,相机计算出相对姿态ry,反馈给机器人,机器人判断相对姿态ry是否小于允许误差,如果大于等于允许误差,机器人更新机器人工具坐标系ry后,再进行一次测量更新,直到小于允许误差,ry估算完毕,其中ry计算公式如下:
[0022][0023]
其中,θ为结构光相机坐标系x轴与过点d、e的直线构成的夹角;
[0024]
循环迭代估算相对姿态rz:机器人沿标定块用户坐标系y轴运动,使得激光线与斜坡面平行凹槽的两边相交于点h、i,相机计算出相对姿态rz,反馈给机器人,机器人判断相对姿态rz是否小于允许误差,如果大于等于允许误差,机器人更新机器人工具坐标系rz后,再进行一次测量更新,直到小于允许误差,rz估算完毕;rz计算公式如下:
[0025][0026]
dy=tanα(z
i-z
h
);
[0027]
其中h点坐标为(x
h
,z
h
),i点坐标为(x
i
,z
i
),斜坡面与水平面夹角为α,水平凹槽两边距离为l;
[0028]
循环迭代估算相对姿态rx:机器人沿标定块用户y轴运动,使得激光线与上表面三角形凹槽的两边相交于点j、k,机器人沿标定块用户坐标系z轴运动,使得激光线与上表面三角形凹槽的两边相交于点l、m,相机计算出相对姿态rx,反馈给机器人,机器人判断相对姿态rx是否小于允许误差,如果大于等于允许误差,机器人更新机器人工具坐标系rx后,再进行一次测量更新;如果小于允许误差,rx估算完毕;rx计算公式如下:
[0029][0030][0031]
其中d1为交点j、k之间的距离,d2为交点l、m之间的距离,等腰三角形凹槽顶角角度为机器人升高距离为h,γ为机器人工具坐标系rx;
[0032]
循环迭代估算相对姿态rz、ry、rx:判断相对姿态rz、ry、rx,如果大于等于允许值,再次循环估算相对姿态rz、ry、rx,直到某个循环中分别首次得到的相对姿态同时小于允许值,则相对姿态估算完成;
[0033]
估算相对位置(tx,ty,tz):在估算完rx、ry、rz之后,此时结构光坐标系与用户系的三个坐标轴均已对齐,不存在相对姿态偏差,只剩下原点相对位置偏移,计算公式为:
[0034]
所述结构光相机坐标系、机器人工具坐标系,标定块用户坐标系,均为右手系,其中,结构光相机坐标系在结构光相机出厂时已经建立完毕,z轴为相机光轴在激光平面上的投影,x轴位于激光平面上垂直于z轴,y轴垂直于激光平面;标定块用户坐标系利用标定块上的三个圆孔建立;机器人工具坐标系建立在机器人末端,用来在标定过程中不断逼近结构光相机坐标系,并使之最终与结构光相机坐标系重合。
[0035]
本发明具有以下有益效果及优点:
[0036]
1.算法直接估计每个坐标轴姿态,避免了传统方法做矩阵姿态分解时精度不高的问题;
[0037]
2.算法在线部分采用多次循环、逐渐逼近的方法估算坐标轴姿态,能够获得高精度的标定结果;
[0038]
3.在线部分标定流程可以利用机器人作业自动执行,实现标定过程的高度自动化,降低了对操作者技术水平的依赖,标定结果也具有很好的一致性。
附图说明
[0039]
图1为标定块上表面示意图;
[0040]
图2为标定块斜坡面示意图;
[0041]
图3为用户坐标系建立示意图;
[0042]
图4为算法流程示意图;
[0043]
图5为离线阶段位姿估算流程示意图;
[0044]
图6a为离线阶段相对姿态ry计算示意图一;
[0045]
图6b为离线阶段相对姿态ry计算示意图二;
[0046]
图7为坐标系原点相对位置计算示意图;
[0047]
图8为在线阶段位姿估算流程示意图;
[0048]
图9a为在线阶段相对姿态rz计算示意图一;
[0049]
图9b为在线阶段相对姿态rz计算示意图二;
[0050]
图10为在线阶段相对姿态rx计算示意图。
具体实施方式
[0051]
下面结合附图及实施例对本发明做进一步的详细说明。
[0052]
1.标定块的设计与用户坐标系的建立
[0053]
应用于机器人与结构光相机的三维手眼标定方法,利用一个经过特殊设计的标定块的几何信息,高精度地估算结构光相机坐标系的三维相对位姿关系;特殊设计的标定块主要包含一个上表面和斜坡面,其中上表面带有3个圆孔和一个等腰三角形凹槽,斜坡面带有一个平行凹槽;图1给出了标定块上表面示意图,3个圆孔用来建立机器人用户坐标系(标定块用户坐标系),也用来离线估算相对姿态rx、rz,等腰三角形凹槽在离线阶段用来估算相对位置(tx,ty,tz)和相对姿态ry,在线阶段用来估算相对位置(tx,ty,tz)和相对姿态rx、ry;图2给出了标定块斜坡面示意图,斜坡面主要用来在线估算相对姿态rz。
[0054]
首先需要利用机器人在标定块上表面建立一个用户坐标系,如图3所示,原点建立在孔a中心,孔a到孔b的方向为x轴正向,孔a到孔c的方向为y轴正向,坐标系符合右手定则,z轴垂直上表面朝下。结构光相机光轴的方向为相机坐标系的z轴正向,x轴与z轴垂直并且位于激光平面上。
[0055]
2.算法流程
[0056]
算法主要包括离线和在线两部分,通过离线估算阶段获得结构光坐标系初始相对位姿,机器人以此建立初始工具坐标系;之后的在线阶段,视觉不断优化坐标系的估算精度,同时机器人不断更新工具坐标系,最后获得高精度的标定结果。流程如图4所示;
[0057]
3.离线标定阶段
[0058]
借助标定块的特殊几何信息,操作者可以手动调整机器人末端姿态带动相机运动采集图像,快速获得结构光相机坐标系的初始相对位姿;离线位姿估算流程依次包括:估算相对姿态rz、估算相对姿态rx、估算相对姿态ry、估算相对位置(tx,ty,tz),如图5所示;
[0059]
相对姿态rz的估算:手动调整机器人末端姿态,使得结构光相机的激光线穿过孔a和b,此时相机x轴与用户系x轴对齐,相对姿态rz调整完毕。
[0060]
相对姿态rx的估算:在不改变rz的前提下,手动调整机器人末端,适当升高和降低机器人z坐标,如果结构光坐标系和用户系存在相对姿态rx偏差,则激光线会偏离孔a和b所在的直线,调整机器人rx保证在升高或降低的过程中激光线始终穿过孔a和b,此时说明相机z轴与用户系z轴对齐,相对姿态rx调整完毕。
[0061]
相对姿态ry的估算:在不改变rx、rz的前提下,调整机器人末端使之沿着y轴平移y
f
,使得激光线与三角形的两边相交于点d、e,如图6a~图6b所示;结构光能够计算出相机x轴与过点d、e的直线构成的夹角,即相对姿态ry,机器人调整ry,此时相机坐标系与用户系三个坐标轴均已对齐,相对姿态ry调整完毕;这里ry计算公式如下:
[0062][0063]
其中d点坐标为(x
d
,z
d
),e点坐标为(x
e
,z
e
)。
[0064]
相对位置(tx,ty,tz)的估算:由于三个坐标轴均已对齐,则原点相对位置偏差可以用d、e中点f坐标x
f
、z
f
与机器人平移量y
f
计算得到,(tx,ty,tz)=(x
f
,y
f
,z
f
),如图7所示;
[0065]
4.在线标定阶段
[0066]
在获得初始位姿后,机器人可以通过包含指定路径的自动运行作业带动相机采集图像,相机反馈给机器人坐标信息(机器人的运动坐标,即相对位移和旋转。这里指在机器人原固定示教路径上叠加视觉给的相对位移和旋转。)引导下次运动,以此来循环迭代地优化相机坐标系的相对位姿,最后获得高精度的标定结果。在线位姿估算流程依次包括:循环迭代估算相对姿态ry,循环迭代估算相对姿态rz,循环迭代估算相对姿态rx,循环迭代估算相对姿态rz、ry、rx,估算相对位置(tx,ty,tz),如图8所示;
[0067]
相对姿态ry的估算:机器人延y轴运动,使得激光线与三角形的两边相交于点d、e,相机计算出相对姿态ry,反馈给机器人,机器人判断相对姿态ry是否小于允许误差,如果大于允许误差,机器人更新工具系ry后,再进行一次测量更新,直到小于允许误差,ry估算完毕,其中ry使用公式(1)计算得到。
[0068]
相对姿态rz的估算:机器人延y轴运动,使得激光线与斜坡面平行凹槽的两边相交于点h、i,如图9a~图9b所示,相机计算出相对姿态rz,反馈给机器人,机器人判断相对姿态rz是否小于允许误差,如果大于允许误差,机器人更新工具系rz后,再进行一次测量更新,直到小于允许误差,rz估算完毕;rz计算公式如下:
[0069][0070]
dy=tanα(z
i-z
h
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0071]
其中h点坐标为(x
h
,z
h
),i点坐标为(x
i
,z
i
),斜坡面与水平面夹角为α,水平凹槽两
边距离为l;
[0072]
相对姿态rx的估算:机器人延y轴运动,使得激光线与上表面三角形凹槽的两边相交于点j、k,机器人延z轴运动,使得激光线与上表面三角形凹槽的两边相交于点l、m,如图10所示,相机计算出相对姿态rx,反馈给机器人,机器人判断相对姿态rx是否小于允许误差,如果大于允许误差,机器人更新工具系rx后,再进行一次测量更新,直到小于允许误差,rx估算完毕;rx计算公式如下:
[0073][0074][0075]
其中d1为交点j、k之间的距离,d2为交点l、m之间的距离,等腰三角形凹槽顶角角度为机器人升高距离为h;
[0076]
算法采用循环逼近的方式估算相对姿态,当rx、ry、rz存在偏差时,调整任意一组姿态,其他两组姿态也会产生变化;因此,当算法完成一次相对姿态估算时,要再次估算ry->rz->rx,判断姿态偏差,如果大于允许值,再次循环,直到某个循环中ry、rz、rx的首次测量偏差同时小于允许值,则相对姿态估算完成。在估算完rx、ry、rz之后,此时认为结构光坐标系与机器人工具系的三个坐标轴均已精确对齐,可以认为不存在相对姿态偏差,只剩下原点相对位置偏移;估算方法离线阶段的计算方式一致。
[0077]
至此,结构光相机的三维相对位姿均已估算完毕,也成功引导机器人工具系最终建立在相机坐标系的位置,得到高精度的手眼标定结果。