本发明涉及视觉标定和机器人,具体说是一种基于顺序旋转机理的机器人无奇异手眼标定方法。
背景技术:
1、现有工业机器人与相机的标定技术中,需要使用特定的标定板,如棋盘格标定板,圆点标定板等,而且必须控制机器人以多种不同的姿态(对于6轴机器人而言,至少为四种,但一般为了标定精度更高,基本上都会使用15-20个的姿态)去控制相机拍摄标定板,由于姿态不同,相机拍摄的标定板图像各有不同,在图像中准确的找到标定板,给提高标定精度带来了很大的难度,调整机器人姿态,需要采用人工示教的方法。标定一次系统,需花费大量的时间及精力。尤其针对变电站巡检机器人手眼视觉系统,变电站巡检机器人工具坐标系与其所夹持相机坐标系之间的坐标关系通常被称为“手眼矩阵”,求解上述矩阵的过程就是所谓的“手眼标定”,未知手眼矩阵的求解精度将会直接影响变电站巡检机器人视觉操作任务的精细程度以及安全性。
2、在上个世纪80年代,r.y.tsai等人最早提出了手眼标定的概念,基于修改罗德里格斯参数,并给出了一种求解手眼标定问题的经典解析解,该方法至今仍被作为变电站巡检机器人手眼标定领域的经典方法。然而,修改罗德里格斯参数自身却有一个不可逾越的缺陷:即其只能用于参数化转角值不等于π弧度的旋转矩阵。因此,当未知手眼矩阵旋转部分的转角值等于π弧度时,基于该类参数手眼标定方法所估计得到的手眼矩阵值将会严重偏离其真值(这里将其称作奇异现象),从而导致变电站巡检机器人手眼标定任务的失效。
3、此外,在外界测量噪声的影响下,本发明发现当未知手眼矩阵旋转部分的转角值较接近于π弧度时,r.y.tsai所提出的手眼标定解析解估计得到的手眼矩阵亦会出现较大的误差。即在该情形下该手眼标定方法对噪声的抗干扰能力较差。然而,现有文献并未发现在上述两种情形下r.y.tsai所提出的变电站巡检机器人手眼标定解析解方法所固有的奇异现象。
4、因此,现在亟需研究适用于转角值为含π弧度在内任意角度值的未知手眼矩阵求解方法,避开修改罗德里格斯参数自身的奇异性,提高变电站巡检机器人手眼标定解析解方法的安全性以及鲁棒性。
技术实现思路
1、为解决上述问题,本发明的目的是提供一种基于顺序旋转机理的机器人无奇异手眼标定方法,该方法较好弥补了r.y.tsai基于同类参数所提出手眼标定解析解的固有不足,从一定程度上提高了基于修改罗德里格斯参数的变电站巡检机器人手眼标定解析解方法的安全性以及鲁棒性。
2、本发明为实现上述目的,通过以下技术方案实现:
3、一种基于顺序旋转机理的机器人无奇异手眼标定方法,包括以下步骤:
4、步骤1,采集用于手眼标定的测量数据组{ai,bi},并提取未知手眼矩阵旋转部分的转角值θx;所述ai为机械臂工具坐标系在相邻两次运动间的过渡矩阵,所述bi为机械臂所夹持相机坐标系在相邻两次运动间的相对位姿矩阵;
5、步骤2,若θx等于或接近于π弧度,采用以下步骤求取未知手眼矩阵的旋转及平移部分值:
6、步骤3,由用户根据自己的偏好对实际测量得到的rbi的旋转轴akbi进行一个虚拟的旋转运动,对应的旋转矩阵记作ruser,此刻向量组akbi将变成ruserkbi;
7、步骤4,则由虚拟旋转得到的向量组ruserkbi旋转至与已知测量数据arai的旋转轴线akai对应重合所需的旋转矩阵的旋转角度值可能不再等于rx所对应的旋转角度值;
8、步骤5,只要用户矩阵ruser选择适当,测量向量组{kai,ruserkbi}所决定的旋转矩阵转角值就不再等于π弧度;
9、步骤6,用ruserkbi替换原来的rbi,将rai与ruserkbi直接代入r.y.tsai所提出手眼标定算法中求解得到联立与ruser解出未知手眼矩阵的旋转部分,将rx代入raitx+tai=rxtbi+tx,得到未知手眼矩阵平移列向量tx的线性最小二乘估计值;
10、其中,rai、rbi、rx依次为ai,bi以及x的旋转矩阵,tai、tbi、tx依次为矩阵ai与bi以及x的位置列向量。
11、优选的,若θx不等于或远离π弧度,则根据r.y.tsai的手眼标定算法求解未知手眼矩阵。
12、优选的,步骤3中由用户根据自己的偏好对实际测量得到的rbi的旋转轴akbi进行一个虚拟的旋转运动,对应的旋转矩阵记作ruser,具体的,根据顺序旋转机理,定义在坐标值x、y和z方向上的三类用户矩阵,至少存在一个满足转角值介于0到2π/3弧度之间的用户矩阵。
13、优选的,根据顺序旋转机理,定义在坐标值x、y和z方向上的三类用户矩阵,至少存在一个满足转角值介于0到2π/3弧度之间的用户矩阵的具体步骤包括:
14、步骤31,根据顺序旋转机理,定义第一类用户矩阵:1ruser=rot(kx,θ);其中,kx为坐标轴x的单位方向向量;θ为介于0到π弧度之间的任意角度值;rot(kx,θ)为绕kx旋转θ弧度所得的旋转矩阵;
15、步骤32,根据顺序旋转机理,定义第二类用户矩阵:2ruser=rot(ky,θ);其中,ky为坐标轴y的单位方向向量;θ为介于0到π弧度之间的任意转角值;rot(ky,θ)为绕ky旋转θ弧度所得的旋转矩阵;
16、步骤33,根据顺序旋转机理,定义第三类用户矩阵:3ruser=rot(kz,θ);其中,kz为坐标轴z的单位方向向量;θ为介于0到π弧度之间的任意角度值;rot(kz,θ)为绕kz旋转θ弧度所得的旋转矩阵;
17、在上述三类用户自定义矩阵中,至少存在一个满足转角值介于0到2π/3弧度之间的用户矩阵。
18、优选的,步骤6中,用ruserkbi替换原来的rbi,将rai与ruserkbi直接代入r.y.tsai所提出手眼标定算法中求解得到具体步骤包括:
19、根据r.y.tsai所提出的基于修改罗德里格斯参数的手眼标定解析解方法,将向量组1ruserkbi替换原来的向量组kbi,求解使得向量组kai与1ruserkbi重合所需的旋转矩阵并提取其所对应的转角值
20、根据r.y.tsai所提出的基于修改罗德里格斯参数的手眼标定解析解方法,用向量组2ruserkbi替换原来的向量组kbi,求解向量组kai旋转至与2ruserkbi重合所需的旋转矩阵并提取其对应的转角值
21、将向量组3ruserkbi当作原来的向量组kbi,根据r.y.tsai所提出的手眼标定解析解方法求解向量组kai旋转至与3ruserkbi重合所确定的旋转矩阵并提取其对应的转角值
22、从与以及三个之中选出一个介于0到2π/3弧度之间的角度值,将其记为并记录其所对应的旋转矩阵
23、优选的,步骤1具体包括以下步骤:
24、步骤11,在摄像机的视野内,通过控制机械臂进行两次相异运动,记录ai以及bi;
25、步骤12,重复执行k次步骤11,获得k组测量数据{ai,bi},并提取其所对应的旋转轴单位方向向量{kai,kbi}及转角值{θai,θbi}。
26、优选的,步骤1还包括以下步骤:
27、步骤13,根据修改罗德里格斯参数与旋转矩阵的对应关系,依次构造ai与bi所对应的修改罗德里格斯参数pai=2sin(θai/2)kai与pbi=2sin(θbi/2)kbi;
28、步骤14,构造超定线性方程组[pai+pbi]×p'x=pai-pbi,运用线性最小二乘法求解向量p'x的值;其中,[·]×为向量所对应的反对称矩阵;
29、步骤15,将未知手眼矩阵所对应的向量p'x带入px=2p'x(1+||p'x||2)-0.5中,进而反解出px的值。
30、步骤16,根据向量px与θx=2·atan||px||2,得到未知手眼矩阵的转角值θx。
31、优选的,根据px的值,得到px所对应的旋转矩阵rx。
32、优选的,在上述三类用户自定义矩阵中,至少存在一个满足转角值介于0到弧度之间的用户矩阵,证明过程如下:
33、若由向量组kai旋转至与jruserkbi重合所需的旋转矩阵为则
34、由旋转矩阵性质可得,用户自定义矩阵的迹依次为:
35、
36、公式(i)至(iii)中,rij代表rx第i行第j列的元素,根据rx内元素间的约束整理可得,
37、则由旋转矩阵迹的性质可得,上述三个用户矩阵中至少有一个矩阵的迹是非负的,即在上述三个用户自定义旋转矩阵中,至少存在一个转角值介于0到2π/3弧度之间的用户矩阵。
38、上述一种基于顺序旋转机理的机器人无奇异手眼标定方法的应用,用于r.y.tsai提出的经典手眼标定方法出现奇异现象时。在r.y.tsai所提出的经典手眼标定方法中,求解向量p'x是其关键步骤之一。显然,当未知手眼矩阵的转角值等于π弧度时,向量p'x的值不可能由r.y.tsai所提出的手眼标定算法来精确获得,进而导致r.y.tsai所估计得到的手眼矩阵将会严重偏离其真值,即出现手眼标定奇异现象,产生这种现象的原因在于修改罗德里格斯参数本身的奇异性。
39、本发明相比现有技术具有以下优点:
40、本发明首次发现了r.y.tsai所提出经典手眼标定解析解方法所固有的缺陷,并对其奇异性进行了详细阐述。在此基础上,本发明提出了一种基于顺序旋转机理的无奇异手眼标定方法,其能够适用于转角值为含π弧度在内任意值的未知手眼矩阵求解问题。本发明所提出的无奇异手眼标定方法,能够有力避开修改罗德里格斯参数自身的奇异性,从一定程度上提高了r.y.tsai所提出变电站巡检机器人手眼标定解析解方法的适用范围以及安全性,具有优异的抗干扰能力。