发明内容
本发明的目的是针对机器人工具坐标系的构建与标定,提供一种基于激光跟踪测量的机器人工具坐标系自动标定装置及方法。
基于激光跟踪测量的机器人工具坐标系自动化标定装置包括机器人、靶标法兰、靶标安装孔、激光跟踪仪、工具、上位机;机器人上安装有靶标法兰、工具,靶标法兰上有6个靶标安装孔,机器人外侧设有激光跟踪仪、上位机。
所述的机器人的标定误差减少到0.103657mm。
所述的上位机、机器人、激光跟踪仪之间通过RS485以太网连接实现Socket通讯,以字符串的形式发送数据、命令、请求,通过上位机完成测量数据和计算数据的备份和保存。
标定机器人工具坐标系的步骤如下:
1)机器人回机械原点,通过机器人记下当前的位置,使机器人绕机器人末端手腕坐标系旋转和沿机器人末端手腕坐标系移动时以该姿态为同一起点;
2)机器人回机械原点,绕机器人末端手腕坐标系的X、Y、Z轴各旋转若干点,测量靶标在激光跟踪仪坐标系下的位置,记为Pxri、Pyri、Pzri,i=1,2...;
3)机器人回机械原点,沿机器人末端手腕坐标系的X、Y、Z轴各移动若干点,测量靶标在激光跟踪仪坐标系下的位置,记为Pxli、Pyli、Pzli,i=1,2...;
4)机器人回机械原点,测量靶标在激光跟踪仪坐标系下的位置,记为(xP0,yP0,zP0);
5)通过坐标测量得出靶标在机器人末端手腕坐标系下的位置。
6)激光跟踪仪测量并拟合圆柱类工具在激光跟踪仪坐标系下的位姿用轴线矢量(a,b,c)和工具原点(x0(l),y0(l),z0(l)),其中l为工具长度表示;
7)激光跟踪仪测量3~6个靶标在激光跟踪仪坐标系下的坐标,记为PRi,i=1,2,...m;
8)获取3~6个靶标在机器人工具坐标系下的位置关系;
9)将3~6个靶标在机器人末端手腕坐标系下和机器人工具坐标系下的位置关系进行匹配分析计算,获取机器人末端手腕坐标系到机器人工具坐标系的位姿转换矩阵,标定机器人工具坐标系。
所述的将3~6个靶标在机器人末端手腕坐标系下和机器人工具坐标系下的位置关系进行匹配分析计算,获取机器人末端手腕坐标系到机器人工具坐标系的位姿转换矩阵的步骤为:
记测量3~9个靶标的实际坐标为PA、理论坐标为PB,PAi,i=1,2,...,m为空间固定靶标的实际坐标,PBi,i=1,2,...,m为空间固定靶标的理论坐标;
姿态计算是实际测量坐标值到理论坐标值一个刚性转换ATB:
PB=ATB×PA (1)
该刚性变换ATB可表达为一个旋转变化R和一个平移变换t的组合,即:
PB=ATB×PA=R×PA+t (2)
由于测量误差的存在,变换后的结果不能完全等于理论的坐标值,即:
ζ=PBi-(R×PAi+t),ζ为误差矩阵。(3)
式中,{xAi’,yAi’,zAi’}为PAi经旋转变化和一个平移变换后的坐标值,{xAi,yAi,zAi}为PBi的坐标值。
令Di,i=1,2,...,m为靶标对应测量点转换后与理论点之间的距离,即
以位置误差的均方差为目标函数,进行最小二乘拟合求解得到R和t,从而得到测量的实际坐标值到理论坐标值的位姿变换矩阵,即可获取机器人末端手腕坐标系到机器人工具坐标系的位姿转换矩阵。
所述的获取3~6个靶标在机器人工具坐标系下的位置关系的步骤为:
设激光跟踪仪坐标系拟合圆柱类工具在激光跟踪仪坐标系下的位姿用轴线矢量(a,b,c)和工具原点(x0(l),y0(l),z0(l))(其中l为工具长度)表示,PRi(i=1,2,...,m)为靶标在激光跟踪仪坐标系下的坐标;
令轴线矢量(a,b,c)为机器人工具坐标系Z向坐标轴,记为Z=(a,b,c);4个靶标点所在拟合平面的法向方向与机器人工具坐标系X向坐标轴大致一致,记为X1;机器人工具坐标系Y向坐标轴为Z与X1的叉乘,记为Y;机器人工具坐标系X向坐标轴为Y与Z的叉乘,记为X。于是,得到刀具坐标系在激光测量坐标系下的旋转矩阵,记为T;
得到3~6个靶标在机器人工具坐标系下的位置关系为:PRTi=T1×PRi。
本发明与现有技术相比具有的有益效果:
1)建立器人工具坐标系自动化标定体系和方法;2)标定过程简单,可靠性高,可提高系统整体精度;3)具有良好的应用拓展性,可以满足多种机器人工具坐标系的自动化标定;4)整个标定过程由上位机、带附加外轴的机器人、激光跟踪仪协同完成,三个系统各司其职,操作和控制过程简单。
具体实施方式
如图1所示,基于激光跟踪测量的机器人工具坐标系自动化标定装置包括机器人1、靶标法兰2、靶标安装孔3、激光跟踪仪4、工具5、上位机6;机器人1上安装有靶标法兰2、工具5,靶标法兰2上有6个靶标安装孔3,机器人1外侧设有激光跟踪仪4、上位机6。
所述的机器人1的标定误差减少到0.103657mm。
所述的上位机6、机器人1、激光跟踪仪4之间通过RS485以太网连接实现Socket通讯,以字符串的形式发送数据、命令、请求,通过上位机6完成测量数据和计算数据的备份和保存。
标定机器人工具坐标系9的步骤如下:
1)机器人1回机械原点,通过机器人1记下当前的位置,使机器人1绕机器人末端手腕坐标系7旋转和沿机器人末端手腕坐标系7移动时以该姿态为同一起点;
2)机器人1回机械原点,绕机器人末端手腕坐标系7的X、Y、Z轴各旋转若干点,测量靶标3在激光跟踪仪坐标系8下的位置,记为Pxri、Pyri、Pzri,i=1,2...;
3)机器人1回机械原点,沿机器人末端手腕坐标系7的X、Y、Z轴各移动若干点,测量靶标3在激光跟踪仪坐标系8下的位置,记为Pxli、Pyli、Pzli,i=1,2...;
4)机器人1回机械原点,测量靶标3在激光跟踪仪坐标系8下的位置,记为(xP0,yP0,zP0);
5)通过坐标测量得出靶标3在机器人末端手腕坐标系7下的位置。
6)激光跟踪仪4测量并拟合圆柱类工具5在激光跟踪仪坐标系8下的位姿用轴线矢量a,b,c和工具原点x0l,y0l,z0l,其中l为工具长度表示;
7)激光跟踪仪4测量3~6个靶标3在激光跟踪仪坐标系8下的坐标,记为PRi,i=1,2,...m;
8)获取3~6个靶标在机器人工具坐标系9下的位置关系;
9)将3~6个靶标在机器人末端手腕坐标系7下和机器人工具坐标系9下的位置关系进行匹配分析计算,获取机器人末端手腕坐标系7到机器人工具坐标系9的位姿转换矩阵,标定机器人工具坐标系9。
所述的将3~6个靶标在机器人末端手腕坐标系7下和机器人工具坐标系9下的位置关系进行匹配分析计算,获取机器人末端手腕坐标系7到机器人工具坐标系9的位姿转换矩阵的步骤为:
记测量3~9个靶标的实际坐标为PA、理论坐标为PB,PAi,i=1,2,...,m为空间固定靶标的实际坐标,PBi,i=1,2,...,m为空间固定靶标的理论坐标;
姿态计算是实际测量坐标值到理论坐标值一个刚性转换ATB:
PB=ATB×PA (1)
该刚性变换ATB可表达为一个旋转变化R和一个平移变换t的组合,即:
PB=ATB×PA=R×PA+t (2)
由于测量误差的存在,变换后的结果不能完全等于理论的坐标值,即:
ζ=PBi-(R×PAi+t),ζ为误差矩阵。(3)
式中,{xAi’,yAi’,zAi’}为PAi经旋转变化和一个平移变换后的坐标值,{xAi,yAi,zAi}为PBi的坐标值。
令Di,i=1,2,...,m为靶标对应测量点转换后与理论点之间的距离,即
以位置误差的均方差为目标函数,进行最小二乘拟合求解得到R和t,从而得到测量的实际坐标值到理论坐标值的位姿变换矩阵,获取机器人末端手腕坐标系7到机器人工具坐标系9的位姿转换矩阵。
所述的获取3~6个靶标在机器人工具坐标系9下的位置关系的步骤为:
设激光跟踪仪坐标系4拟合圆柱类工具5在激光跟踪仪坐标系8下的位姿用轴线矢量(a,b,c)和工具原点(x0(l),y0(l),z0(l))(其中l为工具长度)表示,PRi(i=1,2,...,m)为靶标3在激光跟踪仪坐标系8下的坐标;
令轴线矢量(a,b,c)为机器人工具坐标系9Z向坐标轴,记为Z=(a,b,c);4个靶标点所在拟合平面的法向方向与机器人工具坐标系9X向坐标轴大致一致,记为X1;机器人工具坐标系9Y向坐标轴为Z与X1的叉乘,记为Y;机器人工具坐标系9X向坐标轴为Y与Z的叉乘,记为X。于是,得到刀具坐标系在激光测量坐标系下的旋转矩阵,记为T;
得到3~6个靶标3在机器人工具坐标系9下的位置关系为:PRTi=T1×PRi。
所述的上位机、机器人、激光跟踪仪之间通过RS485以太网连接实现Socket通讯,以字符串的形式发送数据、命令、请求,通过上位机完成测量数据和计算数据的备份和保存。其具体实现过程如图3所示,主要通过上位机PC相应按钮发送相应指令来实现,具体步骤如下:
(1)上位机PC发送“系统自检”指令给附加外轴机器人和激光跟踪仪,检验附加外轴机器人、激光跟踪仪全行程运动是否正常。
(2)3~6个靶标在机器人末端手腕坐标系下的位置:机器人分别绕末端手腕坐标系X、Y、Z轴旋转30度,激光跟踪仪测量靶标坐标值,上位机PC拟合计算3~6个靶标在机器人末端手腕坐标系下的位置。
(3)3~6个靶标在机器人柔性工具坐标系下的位置:激光跟踪仪测量工具特征,激光跟踪仪测量靶标在激光跟踪仪坐标系下坐标值,上位机PC拟合计算3~6个靶标在机器人柔性工具坐标系下的位置。
(4)标定靶标工具坐标系:上位机PC通过3~6个靶标在机器人末端手腕坐标系和柔性工具坐标系下的位置进行姿态匹配运算,标定靶标工具坐标系。
至此,已完全确立工具坐标系在机器人末端手腕坐标系下的位姿,实现了自动化标定过程。
算例:
TOOL0(机器人末端手腕坐标系)原点在激光坐标系下的坐标通过球心拟合来实现,TOOL0坐标轴方向在激光坐标系下的矢量通过直线拟合来实现,均采用最小二乘法计算方法。
设TOOL0原点在激光坐标系下的坐标值为(x0,y0,z0),TOOL0坐标轴X、Y、Z方向在激光坐标系下的矢量分别为(nx,ox,ax)、(ny,oy,ay)、(nz,oz,az),即TOOL0坐标系在激光坐标系下位姿可以用位姿旋转矩阵表示为
通过以上方法建立4个靶标点在TOOL0坐标系下的位置数据如下表所示。
表14个靶标点在TOOL0坐标系下的位置数据
靶标ID |
X |
Y |
Z |
1 |
61.3226 |
-105.23 |
16.2009 |
2 |
122.437 |
0.223638 |
16.0814 |
3 |
60.6443 |
105.623 |
15.9042 |
4 |
-61.2413 |
105.55 |
15.9054 |
在某一激光跟踪仪测量坐标系下,将刀具反向或标准圆柱体装夹在高速主轴头上,沿刀具外圆柱表面测量一系列的点,通过圆柱面拟合得到刀具轴线方向,用矢量表示为(0.87659,-0.48123,-0.0008143);在刀具刀长为0时的外端面测量一系列的点,通过平面拟合得到外端面,外端面与刀具轴线的交点即刀具刀长为0时的刀尖坐标值,记为(-313.3954535,-1685.324,0.152657395)。如表2所示,在该激光跟踪仪测量坐标系下靶标点坐标值。
表2激光跟踪仪测量坐标系下靶标点坐标值
靶标号 |
X |
Y |
Z |
1 |
-583.551 |
-1666.2176 |
102.369 |
2 |
-646.868 |
-1562.162 |
97.312 |
3 |
-587.605 |
-1455.859 |
87.488 |
4 |
-465.731 |
-1453.742 |
82.585 |
(1)计算刀具坐标系在激光测量坐标系下的旋转矩阵
令刀具轴线方向为刀具坐标系Z向坐标轴,4个靶标点所在拟合平面的法向方向与刀具坐标系X向坐标轴大致一致,记为X1,即
Z=[0.87659 -0.48123 -0.0008143]
X1=[0.038435 0.071335 0.996712]
刀具坐标系Y向坐标轴为Z与X1的叉乘,即
Y=Z×X1=[-0.4795896276695 -0.8737390697005 0.0810276227]
刀具坐标系X向坐标轴为Y与Z的叉乘,即
X=Y×Z=[0.0397044085963781 0.0706374739487817 0.996703847632155]
于是建立了刀具坐标系在激光测量坐标系下的旋转矩阵
TOOL=[0.0397044085963781 -0.4795896276695 0.87659;0.0706374739487817-0.8737390697005 -0.48123;0.996703847632155 0.0810276227 -0.0008143]
(2)计算靶标点在柔性刀具坐标系下的位置
刀具坐标系原点(刀尖)在激光跟踪仪坐标系下的位置可表示为
Px=-313.3954535+0.87659*L;
Py=-1685.323511+(-0.48123)*L;
Pz=0.152657395+(-0.0008143)*L;
刀具坐标系相对于激光跟踪仪坐标系的变换矩阵为
TOOL=[0.0397044085963781 -0.47958962766950.87659 Px;0.0706374739487817-0.8737390697005 -0.48123Py;0.996703847632155 0.0810276227 -0.0008143 Pz;0001]
靶标点相对于激光跟踪仪坐标系的坐标值
P1=[-583.551 -646.868 -587.605 -465.731;-1666.2176 -1562.162 -1455.859-1453.742;102.36997.31287.48882.585;1111]
靶标点相对于刀具坐标系的坐标值
P0=inv(TOOL)*P1 P0=(TOOL)-1*P1
4个靶标点在TOOL0坐标系下的位置数据恒定不变,在TOOL1坐标系下的位置数据随刀长的变化而变化。
位姿匹配计算问题是要计算TOOL0坐标系下的坐标值到TOOL1坐标系下的坐标值一个刚性转换。
刀长为53时,靶标点相对于刀具坐标系的坐标值如表3所示。
表3靶标点相对于刀具坐标系的坐标值
靶标ID |
X |
Y |
Z |
1 |
92.5040687432358 |
121.153576108732 |
-299.094944484188 |
2 |
92.2999949489006 |
60.1920436163307 |
-404.669290576293 |
3 |
92.3703551894285 |
-61.9079958948803 |
-403.868124808205 |
4 |
92.4719924099723 |
-122.604993131298 |
-298.048626241033 |
刀长为53时,经过位姿匹配,可以得到TOOL0坐标系到TOOL1坐标系的位姿变换参数如表4所示,表示TOOL0坐标系沿固定坐标系TOOL0坐标系的X、Y、Z轴分别平移-258.248334390344、-149.314570688044、109.144418797331,绕固定坐标系TOOL0坐标系的X、Y、Z轴分别旋转31.9626949832754、89.8637269435544、-118.102323297999,得到TOOL1坐标系。
表4TOOL0坐标系到TOOL1坐标系的位姿变换参数
X |
-258.248334390344 |
Y |
-149.314570688044 |
Z |
109.144418797331 |
α |
31.9626949832754 |
β |
89.8637269435544 |
γ |
-118.102323297999 |
将位姿变换参数转换为机器人系统参数所需要的四元数形式如表5所示。
表5激光跟踪仪位姿匹配法建立刀具坐标系TOOL1
X |
-258.248334390344 |
Y |
-149.314570688044 |
Z |
109.144418797331 |
q1 |
-0.18323930081974 |
q2 |
-0.682541710164218 |
q3 |
-0.182010714558617 |
q4 |
0.683690187370756 |