1.本发明涉及机器人零点标定技术领域,尤其涉及一种六轴机器人的零点标定方法及系统。
背景技术:2.在机器人的日常使用过程中,可能会因为一些错误操作或意外造成机器人零点数据丢失,当机器人丢失零点数据时只能进行关节模式的手动操作,需要对机器人重新进行零点标定。
3.目前的传统机器人零点标定方法中,需要操作人员在关节模式下手动调整机器人位姿使得机器人底座上的六个千分表指针同时指向指定数值,操作难度高,标定时间较长,且由于人为因素的干扰使得标定稳定性较差。
技术实现要素:4.针对现有技术中存在的问题,本发明提供一种六轴机器人的零点标定方法,于一六轴机器人的手臂末端设置一标定块,并于所述六轴机器人的机器人底座上安装一夹具,所述夹具上设有多个位移传感器,分别用于检测对应的所述位移传感器与所述标定块之间的实际距离;
5.则所述零点标定方法包括:
6.步骤s1,控制所述六轴机器人带动所述标定块移动至一预设位置,并获取各所述位移传感器在所述预设位置检测得到的各所述实际距离作为所述六轴机器人的当前位姿数据;
7.步骤s2,根据所述当前位姿数据与预设的一标定位置的目标位姿数据对所述标定块进行位置调整,并在所述标定块到达所述标定位置时,获取所述六轴机器人的各轴编码器数值作为零点标定结果。
8.优选的,所述步骤s2包括:
9.步骤s21,根据所述当前位姿数据和所述目标位姿数据处理得到在一世界坐标系中的所述标定块相对于所述标定位置的位置变换矩阵;
10.步骤s22,根据所述位置变换矩阵带动所述标定块进行位置调整至一调整后位置,并获取各所述位移传感器在所述调整后位置检测得到的各所述实际距离作为所述六轴机器人的实际位姿数据;
11.步骤s23,判断所述实际位姿数据与所述目标位姿数据是否存在偏差:
12.若是,则将所述实际位姿数据作为所述当前位姿数据输出,随后返回所述步骤s21;
13.若否,则获取所述六轴机器人的各轴编码器数值作为零点标定结果。
14.优选的,所述目标位姿数据中包括各所述实际距离对应的目标距离,则所述步骤s23包括:
15.步骤s231,分别计算所述实际位姿数据中的各所述实际距离和所述目标位姿数据中的各所述目标距离之间的差值,并判断所有所述差值是否均小于预设的一偏差阈值:
16.若是,则输出表征所述实际位姿数据与所述目标位姿数据不存在偏差的一控制信号,随后转向步骤s232;
17.若否,则输出表征所述实际位姿数据与所述目标位姿数据存在偏差的一调整信号,随后转向步骤s233;
18.步骤s232,根据所述控制信号获取所述六轴机器人的各轴编码器数值作为零点标定结果;
19.步骤s233,根据所述调整信号将所述实际位姿数据作为所述当前位姿数据输出,随后返回所述步骤s21。
20.优选的,所述夹具具有平行于一世界坐标系的yoz平面的一第一平面,平行于所述世界坐标系的xoy平面的一第二平面,以及平行于所述世界坐标系的xoz平面的一第三平面,所述第一平面、所述第二平面和所述第三平面上分别设有至少一个所述位移传感器。
21.优选的,所述第一平面上安装有三个所述位移传感器,所述第二平面上安装有二个所述位移传感器,所述第三平面上安装有一个所述位移传感器。
22.优选的,所述步骤s21包括:
23.根据所述第一平面上三个所述位移传感器检测得到的各所述实际距离处理得到所述世界坐标系中的所述标定块相对于所述标定位置的x方向位移量、绕z轴旋转角度和绕y轴旋转角度;以及
24.根据所述第二平面上二个所述位移传感器检测得到的各所述实际距离处理得到所述标定块相对于所述标定位置的z方向位移量和绕x轴旋转角度;以及
25.根据所述第三平面上所述位移传感器检测得到的各所述实际距离处理得到所述标定块相对于所述标定位置的y方向位移量,并根据所述x方向位移量、所述y方向位移量、所述z方向位移量、所述绕x轴旋转角度、所述绕y轴旋转角度和所述绕z轴旋转角度处理得到所述位置变换矩阵。
26.优选的,一种六轴机器人的零点标定系统,应用于所述零点标定方法,包括:
27.一第一控制模块,用于控制所述六轴机器人带动所述标定块移动至一预设位置,并获取各所述位移传感器在所述预设位置检测得到的各所述实际距离作为所述六轴机器人的当前位姿数据;
28.一第二控制模块,连接所述第一控制模块,用于根据所述当前位姿数据与预设的一标定位置的目标位姿数据对所述标定块进行位置调整,并在所述标定块到达所述标定位置时,获取所述六轴机器人的各轴编码器数值作为零点标定结果。
29.优选的,所述第二控制模块包括:
30.一第一处理单元,用于根据所述当前位姿数据和所述目标位姿数据处理得到在一世界坐标系中的所述标定块相对于所述标定位置的位置变换矩阵;
31.一第二处理单元,连接所述第一处理单元,用于根据所述位置变换矩阵带动所述标定块进行位置调整至一调整后位置,并获取各所述位移传感器在所述调整后位置检测得到的各所述实际距离作为所述六轴机器人的实际位姿数据;
32.一第三处理单元,连接所述第二处理单元,用于将所述实际位姿数据与所述目标
位姿数据进行比较,当所述实际位姿数据与所述目标位姿数据存在偏差时,将所述实际位姿数据作为所述当前位姿数据输出;
33.当所述实际位姿数据与所述目标位姿数据不存在偏差时,获取所述六轴机器人的各轴编码器数值作为零点标定结果。
34.优选的,所述目标位姿数据中包括各所述实际距离对应的目标距离,则所述第三处理单元包括:
35.一第一处理子单元,用于分别计算所述实际位姿数据中的各所述实际距离和所述目标位姿数据中的各所述目标距离之间的差值,并将所有所述差值与预设的一偏差阈值进行比较,当所有所述差值均小于所述偏差阈值时,输出表征所述实际位姿数据与所述目标位姿数据不存在偏差的一控制信号;
36.当所有所述差值未均小于所述偏差阈值时,输出表征所述实际位姿数据与所述目标位姿数据存在偏差的一调整信号;
37.一第二处理子单元,连接所述第一处理子单元,用于根据所述控制信号获取所述六轴机器人的各轴编码器数值作为零点标定结果;
38.一第三处理子单元,连接所述第二处理子单元,用于根据所述调整信号将所述实际位姿数据作为所述当前位姿数据输出。
39.优选的,所述六轴机器人的夹具具有平行于一世界坐标系的yoz平面的一第一平面,平行于所述世界坐标系的xoy平面的一第二平面,以及平行于所述世界坐标系的xoz平面的一第三平面,所述第一平面、所述第二平面和所述第三平面上分别设有至少一个所述位移传感器,所述第一平面上安装有三个所述位移传感器,所述第二平面上安装有二个所述位移传感器,所述第三平面上安装有一个所述位移传感器,则所述第一处理单元包括:
40.一第四处理子单元,用于根据所述第一平面上三个所述位移传感器检测得到的各所述实际距离处理得到所述世界坐标系中的所述标定块相对于所述标定位置的x方向位移量、绕z轴旋转角度和绕y轴旋转角度;
41.一第五处理子单元,根据所述第二平面上二个所述位移传感器检测得到的各所述实际距离处理得到所述标定块相对于所述标定位置的z方向位移量和绕x轴旋转角度;
42.一第六处理子单元,连接所述第四处理子单元和所述第五处理子单元,用于根据所述第三平面上所述位移传感器检测得到的各所述实际距离处理得到所述标定块相对于所述标定位置的y方向位移量,并根据所述x方向位移量、所述y方向位移量、所述z方向位移量、所述绕x轴旋转角度、所述绕y轴旋转角度和所述绕z轴旋转角度处理得到所述位置变换矩阵。
43.上述技术方案具有如下优点或有益效果:本方法及系统通过分析位移传感器实时反馈的数据以迭代修正机器人位姿数据,使机器人准确到达标定位置完成零点标定,增加标定稳定性并提高标定精度和标定效率。
附图说明
44.图1为本发明的较佳的实施例中,本方法的具体流程图;
45.图2为本发明的较佳的实施例中,预设位置示意图;
46.图3为本发明的较佳的实施例中,标定位置示意图;
47.图4为本发明的较佳的实施例中,步骤s2的具体流程图;
48.图5为本发明的较佳的实施例中,步骤s23的具体流程图;
49.图6为本发明的较佳的实施例中,位移传感器的安装示意图;
50.图7为本发明的较佳的实施例中,位移传感器a、位移传感器b和位移传感器c的位置示意图;
51.图8为本发明的较佳的实施例中,位移传感器d和位移传感器e的位置示意图;
52.图9为本发明的较佳的实施例中,本系统的结构原理图。
具体实施方式
53.下面结合附图和具体实施例对本发明进行详细说明。本发明并不限定于该实施方式,只要符合本发明的主旨,则其他实施方式也可以属于本发明的范畴。
54.本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种六轴机器人的零点标定方法,于一六轴机器人的手臂末端设置一标定块1,并于六轴机器人的机器人底座2上安装一夹具3,夹具3上设有多个位移传感器,分别用于检测对应的位移传感器与标定块1之间的实际距离;
55.则零点标定方法如图1所示,包括:
56.步骤s1,控制六轴机器人带动标定块1移动至一预设位置,并获取各位移传感器在预设位置检测得到的各实际距离作为六轴机器人的当前位姿数据;
57.步骤s2,根据当前位姿数据与预设的一标定位置的目标位姿数据对标定块1进行位置调整,并在标定块1到达标定位置时,获取六轴机器人的各轴编码器数值作为零点标定结果。
58.具体地,本实施例中,标定块1移动至预设位置的机器人姿势如图2所示,标定块1移动至标定位置的机器人姿势如图3所示。
59.本发明的较佳的实施例中,如图4所示,步骤s2包括:
60.步骤s21,根据当前位姿数据和目标位姿数据处理得到在一世界坐标系中的标定块相对于标定位置的位置变换矩阵;
61.步骤s22,根据位置变换矩阵带动标定块1进行位置调整至一调整后位置,并获取各位移传感器在调整后位置检测得到的各实际距离作为六轴机器人的实际位姿数据;
62.步骤s23,判断实际位姿数据与目标位姿数据是否存在偏差:
63.若是,则将实际位姿数据作为当前位姿数据输出,随后返回步骤s21;
64.若否,则获取六轴机器人的各轴编码器数值作为零点标定结果。
65.本发明的较佳的实施例中,目标位姿数据中包括各实际距离对应的目标距离,则步骤s23如图5所示,包括:
66.步骤s231,分别计算实际位姿数据中的各实际距离和目标位姿数据中的各目标距离之间的差值,并判断所有差值是否均小于预设的一偏差阈值:
67.若是,则输出表征实际位姿数据与目标位姿数据不存在偏差的一控制信号,随后转向步骤s232;
68.若否,则输出表征实际位姿数据与目标位姿数据存在偏差的一调整信号,随后转向步骤s233;
69.步骤s232,根据控制信号获取六轴机器人的各轴编码器数值作为零点标定结果;
70.步骤s233,根据调整信号将实际位姿数据作为当前位姿数据输出,随后返回步骤s21。
71.本发明的较佳的实施例中,夹具3具有平行于一世界坐标系的yoz平面的一第一平面,平行于世界坐标系的xoy平面的一第二平面,以及平行于世界坐标系的xoz平面的一第三平面,第一平面、第二平面和第三平面上分别设有至少一个位移传感器。
72.本发明的较佳的实施例中,第一平面上安装有三个位移传感器,第二平面上安装有二个位移传感器,第三平面上安装有一个位移传感器。
73.具体地,本实施例中,如图6所示,第一平面σ上设置位移传感器a、位移传感器b和位移传感器c,第二平面ψ上设置位移传感器d和位移传感器e,第三平面ω上设置位移传感器f,其中,位移传感器a、位移传感器b和位移传感器c在标定块1的
ɑ
面上标记点的位置如图7所示,位移传感器d和位移传感器e在标定块1的β面上标记点的位置如图8所示。
74.本发明的较佳的实施例中,步骤s21包括:
75.根据第一平面上三个位移传感器检测得到的各实际距离处理得到世界坐标系中的标定块1相对于标定位置的x方向位移量、绕z轴旋转角度和绕y轴旋转角度;以及
76.根据第二平面上二个位移传感器检测得到的各实际距离处理得到标定块1相对于标定位置的z方向位移量和绕x轴旋转角度;以及
77.根据第三平面上位移传感器检测得到的各实际距离处理得到标定块1相对于标定位置的y方向位移量,并根据x方向位移量、y方向位移量、z方向位移量、绕x轴旋转角度、绕y轴旋转角度和绕z轴旋转角度处理得到位置变换矩阵。
78.本发明的较佳的实施例中,一种六轴机器人的零点标定系统,应用于零点标定方法,如图9所示,包括:
79.一第一控制模块5,用于控制六轴机器人带动标定块1移动至一预设位置,并获取各位移传感器在预设位置检测得到的各实际距离作为六轴机器人的当前位姿数据;
80.一第二控制模块6,连接第一控制模块5,用于根据当前位姿数据与预设的一标定位置的目标位姿数据对标定块1进行位置调整,并在标定块1到达标定位置时,获取六轴机器人的各轴编码器数值作为零点标定结果。
81.本发明的较佳的实施例中,第二控制模块6包括:
82.一第一处理单元61,用于根据当前位姿数据和目标位姿数据处理得到在一世界坐标系中的标定块1相对于标定位置的位置变换矩阵;
83.一第二处理单元62,连接第一处理单元61,用于根据位置变换矩阵带动标定块1进行位置调整至一调整后位置,并获取各位移传感器在调整后位置检测得到的各实际距离作为六轴机器人的实际位姿数据;
84.一第三处理单元63,连接第二处理单元62,用于将实际位姿数据与目标位姿数据进行比较,当实际位姿数据与目标位姿数据存在偏差时,将实际位姿数据作为当前位姿数据输出;
85.当实际位姿数据与目标位姿数据不存在偏差时,获取六轴机器人的各轴编码器数值作为零点标定结果。
86.本发明的较佳的实施例中,目标位姿数据中包括各实际距离对应的目标距离,则
第三处理单元63包括:
87.一第一处理子单元631,用于分别计算实际位姿数据中的各实际距离和目标位姿数据中的各目标距离之间的差值,并将所有差值与预设的一偏差阈值进行比较,当所有差值均小于偏差阈值时,输出表征实际位姿数据与目标位姿数据不存在偏差的一控制信号;
88.当所有差值未均小于偏差阈值时,输出表征实际位姿数据与目标位姿数据存在偏差的一调整信号;
89.一第二处理子单元632,连接第一处理子单元631,用于根据控制信号获取六轴机器人的各轴编码器数值作为零点标定结果;
90.一第三处理子单元633,连接第二处理子单元632,用于根据调整信号将实际位姿数据作为当前位姿数据输出。
91.本发明的较佳的实施例中,六轴机器人的夹具具有平行于一世界坐标系的yoz平面的一第一平面,平行于世界坐标系的xoy平面的一第二平面,以及平行于世界坐标系的xoz平面的一第三平面,第一平面、第二平面和第三平面上分别设有至少一个位移传感器,第一平面上安装有三个位移传感器,第二平面上安装有二个位移传感器,第三平面上安装有一个位移传感器,则第一处理单元61包括:
92.一第四处理子单元611,用于根据第一平面上三个位移传感器检测得到的各实际距离处理得到世界坐标系中的标定块1相对于标定位置的x方向位移量、绕z轴旋转角度和绕y轴旋转角度;
93.一第五处理子单元612,根据第二平面上二个位移传感器检测得到的各实际距离处理得到标定块1相对于标定位置的z方向位移量和绕x轴旋转角度;
94.一第六处理子单元613,连接第四处理子单元611和第五处理子单元612,用于根据第三平面上位移传感器检测得到的各实际距离处理得到标定块1相对于标定位置的y方向位移量,并根据x方向位移量、y方向位移量、z方向位移量、绕x轴旋转角度、绕y轴旋转角度和绕z轴旋转角度处理得到位置变换矩阵。
95.具体地,本实施例中,在实际位姿(即预设位置的机器人位姿,也可以理解为实际位置的机器人位姿),机器人读取传感器的数据表示为da、db、dc、dd、de和df,在参考位姿(即标定位置的机器人位姿,也可以理解为参考位置的机器人位姿),机器人读取位移传感器的数据表示为d
a0
、d
b0
、d
c0
、d
d0
、d
e0
和d
f0
,且d
a0
=d
b0
=d
c0
=d
α
,d
d0
=d
e0
=d
β
,d
f0
=d
γ
,位移传感器的数据偏差值表示为δa=d
a-d
α
,δb=d
b-d
α
,δc=d
c-d
α
,δd=d
d-d
β
,δe=d
e-d
β
,δf=d
f-d
γ
,机器人位姿的偏差值表示为δx、δy、δz、δw、δp和δr,其中,δx、δy和δz是机器人实际位姿与参考位姿在x方向、y方向和z方向的偏差,按照z-y-x欧拉角定义,机器人绕参考位姿绕z轴旋转δr,再绕y轴旋转δp,最后绕x轴旋转δw到机器人实际位姿。
96.具体地,本实施例中,先计算δx、δp和δr,设a、b两点在世界坐标系y方向上的距离为δy
α
,a、c两点在世界坐标系z方向上的距离为δz
α
,因为夹具将传感器a、传感器b和传感器c位置固定,因此δy
α
与δz
α
是常量,由夹具的尺寸确定,取a点(即传感器a)的参考位置为坐标原点,a(传感器a)、b(传感器b)、c(传感器c)点的参考位置和实际位置可表示为:
97.a参考位置a0=(0,0,0),a实际位置a=(δa,0,0);
98.b参考位置b0=(0,δy
α
,0),b实际位置b=(δb,δy
α
,0);
99.c参考位置c0=(0,0,δz
α
),c实际位置b=(δc,0,δz
α
);
100.向量ab=(δb-δa,δy
α
,0),向量ac=(δc-δa,0,δz
α
);
101.然后根据δx定义,δx等于a点实际位置与a点参考位置在x轴方向的偏差量,计算δx=δa,根据δp和δr定义:参考平面α绕z轴旋转δr角度后再绕y轴旋转δp到达实际平面位置;
102.优选的,计算δp和δr,传感器a、传感器b、传感器c实际位置所构成的实际平面α的向量为:
[0103][0104]
其中,
[0105][0106]
传感器a、传感器b、传感器c参考位置所构成的参考平面α0的法向量为:
[0107]
t
[0108]nα0
=(1,0,0)
[0109]
已知z-y-x欧拉角一般旋转矩阵为:
[0110][0111]
因为传感器a、传感器b、传感器c三点只修正r和p,不修正w,因此可以令w=0,旋转矩阵简化后如下所示:
[0112][0113]
则从参考平面到实际平面的旋转变换为:
[0114][0115][0116]
然后,修正δx、δp和δr,从实际位姿到参考位姿的变换矩阵m1如下所示:
[0117]
[0118]
则机器人从实际位姿m修正到参考位姿m0的表达式如下所示:
[0119]
m1·
m=m0[0120]
具体地,本实施例中,计算δz和δw,取d点(传感器d)参考位置为坐标原点,d(传感器d)点、e(传感器e)点的参考位置和实际位置可表示为:
[0121]
d参考位置d0=(0,0,0),d实际位置d=(0,0,δd)
[0122]
e参考位置e0=(0,δy
β
,0),e实际位置e=(0,δy
β
,δe)向量d0e0=(0,1,0),向量de=(0,δy
β
,δe-δd)
[0123]
然后,根据δz定义:δz等于d点实际位置与d点参考位置在z轴方向的偏差量,计算δz=δd,根据δw定义:δr与δp完成校准后,参考平面β绕z轴旋转δw角度后到达实际平面位置;
[0124]
然后计算δw:
[0125][0126]
带入向量得:
[0127][0128]
然后,修正δz和δw,从实际位姿到参考位姿的变换矩阵m2如下所示:
[0129][0130]
机器人从实际位姿m修正到参考位姿m0的表达式如下所示:
[0131]
m2·
m=m0[0132]
具体地,本实施例中,计算δy,根据δy定义,δy等于f点实际位置与f点(传感器f)参考位置在y轴方向的偏差量,计算δy=δf,然后,修正δy,从实际位姿到参考位姿的变换矩阵m3如下所示:
[0133][0134]
机器人从实际位姿m修正到参考位姿m0的表达式如下所示:
[0135]
m3·
m=m0[0136]
具体地,实施例一中:
[0137]
假设一台六轴机器人已丢失零点数据,机器人只能在关节模式下手动操作,应用本方法进行零点标定的实施方法如下:
[0138]
步骤1:安装六个相同型号的激光位移传感器于专用夹具,专用夹具对激光传感器起到定位和固定作用,专用夹具需确保传感器a、传感器b和传感器c激光方向垂直于专用夹具σ平面,传感器d和传感器e激光方向垂直于专用夹具φ平面,传感器f垂直于专用夹具ω平面;
[0139]
步骤2:校准六个激光位移传感器,使传感器a、传感器b和传感器c三个零点所构成的平面与专用夹具σ平面平行,并且零点平面与σ平面距离d
α
,使传感器d和传感器e两个零点所构成的直线与专用夹具φ平面平面,并且零点直线与φ平面距离d
β
,使传感器f的零点距离ω平面d
γ
;
[0140]
步骤3:安装专用夹具和专用长方体标定块,卸下机器人所有负载后,将专用夹具安装于机器人底座上的夹具安装孔,将长方体标定块安装于机器人法兰盘;
[0141]
步骤4:手动执行全轴零点标定,在手动模式下用关节运动调整机器人姿态进行全轴零点标定,使机器人快速获得初始零点数据;
[0142]
步骤5:自动执行夹具零点标定,在自动模式下运行自动夹具零点标定程序,机器人通过六个激光传感器探测到的数据计算机器人实际位姿与参考位姿的偏差,之后根据偏差数据修正机器人位姿,经过迭代修正使机器人实际位姿与参考位姿偏差小于偏差阀值,此时认为机器人到达参考位姿;
[0143]
步骤6:更新零点数据,机器人记录当前各轴编码器数值并更新零点数据,完成零点标定。
[0144]
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。