本发明适用于各种六轴机械臂工具坐标系的标定,具体涉及一种快捷自判误机器人工具坐标系标定方法。
背景技术:
工具坐标系标定分为两部分:(1)位置标定,即获取工具末端相对于机器人腕部坐标系原点的空间距离;(2)姿态标定,即获取工具末端的工具坐标系相对于机器人腕部末端坐标系的姿态变换矩阵。
传统位置标定方法中,通过调整使机器人工具末端中心点以不同的姿态接触工作空间内的同一点,该点为空间中任意一点,由于该操作是人工操作,造成不同姿态的机器人工具末端中心点接触的点之间存在空间距离,使标定位置存在操作误差;传统的姿态标定方法中,将机器人调整为任意姿态,并保持工具姿态不变,使工具分别沿工具坐标系的+x(或+y)和+z方向移动,得到工具坐标系原点、+x(或+y)方向上的一点和+z方向上的一点,共三个数据录入点,该操作在机器人自带控制程序控制下难以实现且操作复杂。
技术实现要素:
本发明主要解决传统位置标定存在的操作误差,定义了一种工具坐标系自判误(自动判断录入数据正误)位置标定,根据机器人的不同姿态下工具末端中心点实际位置的离散程度(即标准差)来判断录入数据的精确程度,减少了操作误差对位置标定的影响;本发明主要针对传统姿态标定方法存在的步骤复杂问题,提出了一种快捷的姿态标定方法,调节机器人使工具末端平行于基坐标的z轴(见图2),可得到工具末端的工具坐标系相对于基坐标系的姿态变换矩阵,直接计算得需要标定的姿态变换矩阵,省去了平移步骤和两个数据录入点,使姿态标定更加快捷。
本发明的上述方法是通过下述技术方案得以解决的:
基于以下定义:
系{0}:基坐标系系{0},见图1;
系{6}:腕部末端坐标系系{6},见图1;
系{7}:工具坐标系系{7},见图1。
[x,y,z,α,β,γ]:源数据,即录入数据,即机器人自带系统得到的用于工具坐标系标定的数据,x,y,z是系{6}到系{0}的偏移,α,β,γ是rpy姿态描述方法系中{6}相对系{0}的旋转角。
t:两个坐标系变换矩阵(4×4矩阵),
r:两个坐标系坐标轴角度的变换矩阵,r是t的3×3子矩阵;
p:两个坐标系原点的位置向量,p是t的3×1子矩阵。
m,n:坐标系编号,m,n=0,6,7,m为出发坐标系,n为到达坐标系;
例如:ntm是坐标系{m}到坐标系{n}的变换矩阵。
因为工具和腕部末端之间没有活动部件,即系{7}相对于系{6}的位姿关系是固定的,6t7、6r7、6p7均固定不变。
i:第i种姿态,i=1,2....n,n为姿态的总数;
例如:ntm(i):第i次录入源数据计算得到的ntm。
di:0p7(i)与
s:0p7(i)的标准差,
一种工具坐标系自判误位置标定,包括位置标定和自判误机制,如下:(1)位置标定
步骤1,机器人以不同姿态接触工作空间内的任意一点,并依次记录每个位姿时对应的一组[x,y,z,α,β,γ],根据以下公式计算0t6(i)。
步骤2,由0r6(i)6p7+0p6(i)=0p7(i)可推导出计算6p7的公式。
将步骤1中0t6(i)依照
(2)自判误机制
为了进行自判误,需要计算0p7(i)的标准差s,根据s与阈值变量υ之间的大小进行判断,υ的取值见图4。其中,误差为标定得到的系{7}原点到系{6}原点的空间距离和实际系{7}原点到系{6}原点的空间距离之差,根据机器人的精度要求确定的空间距离之差范围即可容忍误差,阈值变量υ和可容忍误差最大值成正比关系。
步骤1,将上文步骤2中的0r6(i)和0p6(i),带入公式0r6(i)6p7+0p6(i)=0p7(i)得0p7(i),计算出
步骤2,求0p7(i)与
步骤3,求0p7(i)的标准差s
步骤4,比较s和υ,并根据比较结果选择是否对数据进行处理:
选择执行一:若s≤υ,则录入源数据的误差在允许范围内,计算的6p7有效;
选择执行二:若s>υ,找出最大的di,舍弃第i次采集的源数据,n=n-1,并执行步骤5。
步骤5,比较n和3,根据比较结果判断剩余源数据是否大于等于3组,并选择执行方案:
选择执行一:若n>3,利用剩余源数据,再次执行步骤1到步骤4;
选择执行二:若n≤3,则该次位置标定操作失败,直接结束。
因此,本方法具有如下优点:位置标定过程中能够自动判断源数据误差是否在可容忍范围内,并自动剔除误差超过可容忍范围的源数据,保证位置标定的准确性,为机器人的控制和运行提供良好的保障。
快捷的姿态标定方法,如下:
步骤1,调节机器人使工具末端平行于基坐标的z轴,同时并设定系{7}的z轴和x轴方向和系{0}的-z和+x方向一致,此时
步骤2,根据公式6r7=(7r00r6)-1计算出6r7。
因此,本方法具有如下优点:该方法比传统方法少两个点的源数据录入,减少了姿态标定步骤,加快了姿态标定速度,具有实际应用意义。
附图说明
图1是机器人基坐标系系{0}、腕部坐标系系{6}和工具坐标系系{7}。
图2是本发明中快捷的姿态标定方法中,系{7}和系{0}的位置和姿态关系示意图。
图3是本发明中工具坐标系标定方法的整体流程图。
图4是自判误机制中阈值变量υ的取值表
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例1
1.录入源数据
机器人以不同姿态接触工作空间内的任意一点,获取机器人的源数据[x,y,z,α,β,γ],见表1(1-4次);
如图2调节机器人,使工具末端平行于基坐标的z轴,获取机器人的源数据[x,y,z,α,β,γ],见表1(5次);
保持图2中的工具姿态不变,将工具向系{7}的+x(或+y)和+z方向移动,得到源数据[x,y,z,α,β,γ],见表1(第6-7次)。
表1采集的七次腕部的x,y,z,α,β,γ源数据
2.工具坐标系自判误位置标定
将表1中前5次录入的源数据(即n=5)带入式(1)可得到每次源数据对应的0t6。
0r6(i)6p7+0p6(i)=0p7(i)(2)
由式(2)可推导出计算6p7的公式,如式(3)。
将式(1)中计算0t6(i)依照式(4)拆开后,得到的数据带入式(3)计算出6p7,得标定结果6p7=[-46,23,329]t。
将求得的6p7及式(4)中拆得的0r6(i)和0p6(i)带入式(2),求得每个姿态下对应的0p7(i),并求平均值
将0p7(i)和
将di带入式(6)求得标准差s。
根据机器人的精度要求,设最大可容忍误差为2mm,根据图4中,最大可容忍误差和阈值υ的对应关系表,阈值υ=0.9。由式(6)计算出s=107093>υ,说明前5次录入的源数据中存在不合格的源数据。对比空间距离di,d1~d5分别为[17.4,15.5,21.9,12.97,493.1],发现d5大于所有di,i≠5,剔除第5次的源数据。用剩下的四组源数据重新计算,得到6p7=[-74.294,1.240,314.802]t,s=0.25<υ,剩下的四组源数据符合要求,6p7标定成功。
历史标定数据得到6p7的标准值为[-74.3,0.4,314.0],根据前5次源数据计算得到的6p7=[-46,23,329]t偏差较大,在判断机制执行后得到的
6p7=[-74.294,1.240,314.802]t与准确值的误差仅为1.16毫米。
3.快捷的姿态标定方法
将表1中第5次录入的源数据,带入式(1)计算出0t6,由式(4)拆出0r6。
由系{7}坐标轴和系{0}坐标轴的转换关系得7r0,如式(7)。
将0r6和7r0带入式(8)得6r7。
6r7=(7r00r6)-1(8)
表1中第5~7次源数据对应于当工具末端位于系{7}原点o、+x轴上任意一点和+z轴上任意一点,其中第5次源数据对应的工具姿态是平行于基坐标的z轴的。
使用姿态标定的新快捷方法带入第5次录入的源数据,得到
使用姿态标定的传统方法带入第5、6、7次录入的源数据计算得到
分别通过本发明的方法和传统方法得到式(9)和式(10)的数据,两组数据在小数点四位后才出现偏差,说明本发明的快捷方法是有效且准确的。