本发明涉及机器人3d视觉标定,特别是涉及一种协作机器人线结构光3d视觉手眼标定方法。
背景技术:
1、目前手眼标定方法常见的有三维靶标法和二维靶标法两种。二维靶标主要有棋盘格标定板,圆心标定板等,标定过程中要获取靶标不同的位姿,通过识别角点来估计手眼变换矩阵。三维靶标种类较多,为了较准确的获取特征点三维坐标,采用三维标定球法较多。标准球法是以激光线在球面形成的一段局部圆弧为基础,通过一系列点云处理来计算球心坐标。下面介绍两种现有较成熟标定算法:
2、一、两步法:
3、tsai两步法是一种经典的手眼标定方法,用于确定机器人末端与相机之间的转换关系。该方法主要实现方式如下:
4、第一步:求解旋转关系:
5、标定板放在检测平面内保持不动,改变机器人位姿进行一系列运动,并且在每个位姿处采集标定板图像数据。
6、用标定板来获取定位信息,并由此计算标定板到相机坐标系中的旋转矩阵和平移向量。
7、通过相机标定获得相机的内,外参数据,并由此计算出不同机器人位姿间标定板的相对旋转。
8、使用rodrigues公式或四元数方法来从多组不同位姿间的旋转差异中解算出手眼矩阵中的旋转矩阵。
9、第二步:求解平移关系:
10、利用第一步求取的旋转矩阵,去除旋转分量的影响。
11、使用旋转关系联合之前求得的相对平移,建立线性方程组。
12、使用最小二乘法解线性方程组来求解手眼矩阵的平移部分。
13、二、辅助标定球法:
14、标定球法手眼标定主要通过使用一个已知几何特征的标定球来辅助定位和判定机器人末端与传感器之间的空间变换关系,传感器包含相机和线激光器。标定球法手眼标定有以下步骤:
15、准备一个标定球,把标定球放置在机器人的工作空间内,使其在相机视场内,激光器发射线激光打在标定球表面。
16、控制机器人末端带动传感器移动到标定球的不同位置和方向,记录机器人每个位置的末端位姿矩阵;并用相机采集表面带有线激光的标定球图像。
17、分析相机获取的标定球图像,经过点云拟合,得到切面圆圆心坐标,后解出标定球球心坐标。
18、利用多个不同的机器人末端位姿矩阵和相对应的球心坐标,构建一个线性或非线性方程组,求解出机器人末端相对于相机坐标系的变换矩阵。
19、根据机器人末端传感器的空间关系和相机视场中球心位置的关系,求解出机器人工具坐标系和相机坐标系之间的空间变换关系,即手眼标定的结果。
20、上述现有技术方案的问题:
21、tsai两步法手眼标定需要借助棋盘格标定板辅助,且标定步骤繁杂,需要多组标定板和对应的机器人位姿,且对机器人位姿、标定板位姿数据精度要求较高,并且tsai两步法在标定过程中旋转矩阵的误差会累积到求解平移向量中。
22、辅助标定球法标定需要借助外物标定球,成本较高;切面圆弧点云分割、拟合等处理计算球心,精度容易受噪点影响,对相机的成像质量和图像处理算法都有较高的要求;由于标准球表面存在粗糙度影响,该圆弧上所有点并不都在同一平面上,会导致该平面的法向量偏移,影响球心坐标精度。
技术实现思路
1、为了解决上述现有技术存在的问题,本发明的目的是提出一种协作机器人线结构光3d视觉手眼标定方法,从应用角度出发,在实际应用中找到算法的最优应用形式,简化手眼标定的步骤,降低操作难度,并应用线结构光辅助获取三维坐标,提高特征点识别精度。
2、为实现上述目的,本发明提供了如下方案:
3、一种协作机器人线结构光3d视觉手眼标定方法,包括:
4、获取机器人运动空间,在所述机器人运动空间中选择固定焊缝特征点,确定所述固定焊缝特征点在机器人基坐标系和传感器坐标系下的坐标值;
5、基于所述固定焊缝特征点在机器人基坐标系和传感器坐标系下的坐标值,获取相机坐标系到机器人基坐标系下的转换关系;
6、获取机器人表达姿态方式,基于所述机器人表达姿态方式,确定机器人末端坐标系到机器人基座标系之间的转换矩阵、传感器坐标系到机器人末端坐标系之间的转换矩阵,即手眼矩阵;
7、通过所述相机坐标系到机器人基坐标系下的转换关系、所述机器人末端坐标系到机器人基座标系之间的转换矩阵以及手眼矩阵进行手眼标定。
8、可选地,获取所述相机坐标系到机器人基坐标系下的转换关系的方法为:
9、pb=htbhltpl
10、其中,pb为空间中点p在机器人基坐标系下的坐标,pl为空间中点p在传感器坐标系下的坐标,htb为机器人末端坐标系到机器人基座标系之间的转换矩阵,hlt为传感器坐标系到机器人末端坐标系之间的转换矩阵,即手眼矩阵。
11、可选地,获取所述机器人表达姿态方式包括:
12、基于欧拉角和四元数,确定不同表示姿转化成姿态矩阵,获取所述机器人表达姿态方式。
13、可选地,确定所述手眼矩阵包括:
14、
15、其中,hlt为传感器坐标系到机器人末端坐标系之间的转换矩阵,即手眼矩阵,r11、r12、r13、r21、r22、r23、r31、r32、r33均为手眼矩阵中旋转矩阵的参数,t1、t2、t3均为手眼矩阵中平移向量参数。
16、可选地,通过所述相机坐标系到机器人基坐标系下的转换关系、所述机器人末端坐标系到机器人基座标系之间的转换矩阵以及手眼矩阵进行手眼标定包括:
17、根据所述手眼矩阵结合相机坐标系到机器人基坐标系下的转换关系,获取第一转换结果:
18、
19、基于所述机器人末端坐标系到机器人基座标系之间的转换矩阵满秩,对所述第一转换结果乘以htb-1,获取第二转换结果:
20、
21、对所述第二转换结果进行处理,获取第三转换结果:
22、
23、将所述第二转换结果和所述第三转换结果进行联立,获取联立结果:
24、
25、其中,xb、yb、zb均为特征点在机器人基座标系下的坐标值,htb为机器人末端坐标系到机器人基座标系的转换矩阵,htb-1为机器人末端坐标系到机器人基座标系的转换矩阵的逆,r11、r12、r13、r21、r22、r23、r31、r32、r33均为手眼矩阵中的旋转矩阵的参数,t1、t2、t3均为手眼矩阵中平移向量参数,yl,zl为特征点在传感器坐标系下的坐标值,x、y、z均为替代htb-1左乘(xb,yb,zb,1)的矩阵。
26、可选地,通过所述相机坐标系到机器人基坐标系下的转换关系、所述机器人末端坐标系到机器人基座标系之间的转换矩阵以及手眼矩阵进行手眼标定还包括:
27、利用所述联立结果建立求解模型:
28、
29、其中,x1、x2、x3、x4、y1、y2、y3、y4、z1、z2、z3、z4均为替代htb-1左乘(xb,yb,zb,1)的矩阵的数值,r11、r12、r13、r21、r22、r23、r31、r32、r33均为手眼矩阵中的旋转矩阵的参数,t1、t2、t3均为手眼矩阵中平移向量参数,yl1、yl2、yl3、yl4、zl1、zl2、zl3、zl4均为一组特征点在传感器坐标系下的坐标值;
30、对所述求解模型进行简化,并分别取转置,获取转置结果:
31、dtxt=ct
32、其中,d为四组(xi,yi,zi,1)组成的矩阵,x为手眼矩阵,c为四组(0,yli,zli,1)组成的矩阵;
33、设置求解条件:a=dt,b=ct,x=xt;
34、根据所述求解条件利用奇异值分解对所述转置结果进行求解,获取手眼矩阵。
35、可选地,通过所述相机坐标系到机器人基坐标系下的转换关系、所述机器人末端坐标系到机器人基座标系之间的转换矩阵以及手眼矩阵进行手眼标定还包括:
36、定义分解条件,利用所述分解条件对所述手眼矩阵中的待正交化旋转矩阵进行奇异值分解,获取旋转矩阵:
37、r=uλvt
38、其中,r为正交化后的旋转矩阵,u为p的特征向量构成的方阵,λ为特征矩阵,v为w的特征向量构成的方阵,t为转置符号;
39、将所述特征矩阵替换为单位矩阵e,并进一步获取标准正交手眼矩阵。
40、可选地,定义分解条件为:
41、
42、其中,为手眼矩阵中的旋转矩阵,rlt为手眼矩阵中的旋转矩阵的转置。
43、本发明的有益效果为:
44、本发明无需借助额外标定物,标定过程简便。任意选择一焊缝特征点,移动机器人,使激光线打在特征点上,传感器识别到特征点即可。
45、本发明使用线结构光辅助识别三维特征点,数据获取精度较高。
46、本发明对机器人位姿要求低,数据获取较容易,计算量小。改变机器人位姿,只需四组传感器数据和机器人位姿即可求解出手眼矩阵。
47、本发明标定步骤少,易操作,尽量少的引入过程误差。