一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于平面约束的机器人标定方法及系统与流程

2022-04-27 15:27:54 来源:中国专利 TAG:


1.本发明涉及机器人技术领域,具体地,涉及基于平面约束的机器人标定方法及系统。


背景技术:

2.机器人的位姿精度有重复性精度和绝对定位精度,重复性精度指机器人重复同一个关节参数到达实际位姿的误差,绝对定位精度指机器人到达的实际位姿和根据运动学模型给出的位姿之间的误差。机器人大多受运动学模型控制的,但是受机械加工误差和装配误差的影响,机器人设计模型的dh参数和实际模型的dh参数存在偏差,导致机器人的绝对精度的误差通常更大。机器人在许多工业应用种需要较高的绝对精度来完成关键性的任务,例如航空制造和计量检查等,因此对机器人的dh参数进行标定是一项非常重要的工作。然而通常,机器人的标定需要昂贵的测量设备,比如激光测量跟踪仪、三坐标测量仪。本发明使用提出了一种利用简单的设备进行机器人标定的方法,降低了机器人标定的复杂程度。
3.专利文献cn104608129b(申请号:201410711022.9)公开了一种基于平面约束的机器人标定方法,具体包括以下步骤:利用dh与mdh结合的方法建立机器人运动学模型;基于微分变换原理建立机器人末端位置误差模型;基于平面约束建立机器人的位置标定模型;标定块位姿摆放;示教并记录机器人末端理论位姿;机器人运动学参数标定;利用标定结果进行对比,如不满足精度要求,重新标定。本发明克服了现有技术在标定过程中各种条件的限制,例如:该专利中需要将标定块正确的摆放在机器人的工作空间内,确保标定块上相互垂直的三个平面的法向量与机器人极坐标系轴平行。而实际操作无法实现,机器人基坐标看不见摸不着。


技术实现要素:

4.针对现有技术中的缺陷,本发明的目的是提供一种基于平面约束的机器人标定方法及系统。
5.根据本发明提供的一种基于平面约束的机器人标定方法,包括:
6.步骤s1:采集机器人关节角度;
7.步骤s2:构建机器人参数模型;
8.步骤s3:基于机器人参数模型构建代价函数;
9.步骤s4:利用采集的机器人关节角度迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
10.优选地,所述步骤s1采用:
11.步骤s1.1:将机械加工铁块放置在机器人的预设工作区域内;
12.步骤s1.2:将机器人设置在示教模式下,并将机器人末端尖针以不同的姿态触碰铁块上表面,分别采集不同姿态下的机器人6个关节的角度。
13.优选地,所述步骤s2采用:
14.步骤s2.1:根据改进的d-h建模方法,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系:
[0015][0016]
步骤s2.2:机器人末端相对于机器人基座的转换矩阵为:
[0017][0018]
步骤s2.3:已知机器人末端针尖相对机器人6轴坐标系的x,y,z方向的偏移分别为pt_x,pt_y,pt_z,则末端针尖坐标系相对6轴坐标系为:
[0019][0020]
步骤s2.4:机器人末端针尖相对机器人基坐标系的转换矩阵为:
[0021][0022]
步骤s2.5:基于第n次触碰铁块表面采集的关节角度qn,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系:
[0023][0024][0025]
步骤s2.6:联合到得到机器人末端针尖的位姿
[0026]
步骤s2.7:根据机器人模型计算针尖的位置:
[0027][0028]
优选地,所述步骤s3采用:
[0029]
步骤s3.1:定义铁块平面方程为为z=a*x b*y c,其中,z,x,y分别表示针尖的三维坐标,a,b,c为系数;
[0030]
步骤s3.2:使用最小二乘法拟合p1...pn坐标点,解方程系数:
[0031][0032]
其中,zn,xn,yn表示第n次触碰铁块根据机器人模型计算出来的针尖的三维坐标值;
[0033]
步骤s3.3:将n个点的x,y坐标分别代入铁块平面方程,得到平面上的值令z和之间的误差最小,定义代价函数f
cost

[0034][0035]
优选地,所述步骤s4采用:利用采集的机器人关节角度通过粒子群算法迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
[0036]
根据本发明提供的一种基于平面约束的机器人标定系统,包括:
[0037]
模块m1:采集机器人关节角度;
[0038]
模块m2:构建机器人参数模型;
[0039]
模块m3:基于机器人参数模型构建代价函数;
[0040]
模块m4:利用采集的机器人关节角度迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
[0041]
优选地,所述模块m1采用:
[0042]
模块m1.1:将机械加工铁块放置在机器人的预设工作区域内;
[0043]
模块m1.2:将机器人设置在示教模式下,并将机器人末端尖针以不同的姿态触碰铁块上表面,分别采集不同姿态下的机器人6个关节的角度。
[0044]
优选地,所述模块m2采用:
[0045]
模块m2.1:根据改进的d-h建模方法,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系:
[0046][0047]
模块m2.2:机器人末端相对于机器人基座的转换矩阵为:
[0048][0049]
模块m2.3:已知机器人末端针尖相对机器人6轴坐标系的x,y,z方向的偏移分别为pt_x,pt_y,pt_z,则末端针尖坐标系相对6轴坐标系为:
[0050][0051]
模块m2.4:机器人末端针尖相对机器人基坐标系的转换矩阵为:
[0052][0053]
模块m2.5:基于第n次触碰铁块表面采集的关节角度qn,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系:
[0054][0055][0056]
模块m2.6:联合到得到机器人末端针尖的位姿
[0057]
模块m2.7:根据机器人模型计算针尖的位置:
[0058][0059]
优选地,所述模块m3采用:
[0060]
模块m3.1:定义铁块平面方程为为z=a*x b*y c,其中,z,x,y分别表示针尖的三维坐标,a,b,c为系数;
[0061]
模块m3.2:使用最小二乘法拟合p1...pn坐标点,解方程系数:
[0062][0063]
其中,zn,xn,yn表示第n次触碰铁块根据机器人模型计算出来的针尖的三维坐标值;
[0064]
模块m3.3:将n个点的x,y坐标分别代入铁块平面方程,得到平面上的值令z和之间的误差最小,定义代价函数f
cost

[0065][0066]
优选地,所述模块m4采用:利用采集的机器人关节角度通过粒子群算法迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
[0067]
与现有技术相比,本发明具有如下的有益效果:
[0068]
1、本发明通过机械臂的关节零位和连杆长度进标定,提供高了机器人的绝对精度;
[0069]
2、本发明用简单的机加工铁块替换了昂贵的测量设备,使得通过廉价的方式实现了标定机器人的目的;
[0070]
3、本发明降低了采集数据的复杂度,只需要机器人末端尖针以不同的姿态触碰铁块表面,使得标定流程简化。
附图说明
[0071]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0072]
图1为机器人尖端触碰铁块示意图。
[0073]
图2为机器人尖端触碰铁块示意图。
[0074]
图3为机器人关节示意图。
[0075]
图4为改进的dh模型示意图。
具体实施方式
[0076]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0077]
实施例1
[0078]
本发明是针对机械臂的标定,包含一块机械加工的铁块,其精度根据机器人的精度要求而定,尺寸根据机械臂的工作空间而定。在本例中,加工铁块的表面粗造度达到亚毫米级精度既可,长为600mm,宽为600mm,厚度为10mm。机械臂末端安装一个尖针,尖针用来触碰铁块的表面,如图2所示。
[0079]
根据本发明提供的一种基于平面约束的机器人标定方法,如图1所示,包括:
[0080]
步骤s1:采集机器人关节角度;
[0081]
步骤s2:构建机器人参数模型;
[0082]
步骤s3:基于机器人参数模型构建代价函数;
[0083]
步骤s4:利用采集的机器人关节角度迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
[0084]
优选地,所述步骤s1采用:
[0085]
步骤s1.1:将机械加工铁块放置在机器人的主要工作区域内,如放置在机器人的正前方;
[0086]
步骤s1.2:将机器人设置在示教模式下,通过拖动机器人的末端使得末端的尖针触碰到铁块的上表面,采集到此时的机器人6个关节的角度;多次重复该采集过程,但每一次机器人末端的针尖以不同的姿态触碰铁块上表面,即以不同的角度触碰铁块表面。共采集n次(建议n大于30)采集n组机器人关节角度q1,q2,...qn;
[0087][0088]
并将机器人末端尖针以不同的姿态触碰铁块上表面,分别采集不同姿态下的机器人6个关节的角度。
[0089]
优选地,所述步骤s2采用:
[0090]
步骤s2.1:根据改进的d-h建模方法,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系,如图4所示:
[0091][0092]
其中,a
i-1
表示沿着x
i-1
轴,从z
i-1
移动到zi的距离;α
i-1
表示绕着x
i-1
轴,从z
i-1
旋转到zi的角度;di表示沿着zi轴,从x
i-1
轴移动到xi的距离;θi表示绕着zi轴,从x
i-1
轴旋转到xi的角度;
[0093]
所述关节坐标系{i}相对前一个关节坐标系{i-1}如图3所示,从基座到末端依次排序;
[0094]
步骤s2.2:机器人末端相对于机器人基座的转换矩阵为:
[0095][0096]
如图3所示,6轴关节机械臂,从机械臂的基座开始到机械臂末端,依次向后排序,1\2\3\4\5\6,0表示基坐标系;
[0097]
步骤s2.3:已知机器人末端针尖相对机器人6轴坐标系的x,y,z方向的偏移分别为pt_x,pt_y,pt_z,则末端针尖坐标系相对6轴坐标系为:
[0098][0099]
步骤s2.4:机器人末端针尖相对机器人基坐标系的转换矩阵为:
[0100][0101]
机器人末端坐标的位置包含在该转换矩阵中,该转换矩阵是机械臂的工具坐标系相对机器人基坐标系的转换矩阵;
[0102]
本发明中待标定的机器人构型如ur机器人类似,其mdh名义参数表如下,其中需要标定的参数为d
1 d
4 d
5 d
6 a
3 a
4 θ
1 θ
2 θ
3 θ
4 θ
5 θ6[0103]
linkdi(mm)ai(mm)αi(degrees)θi(degrees)1d100θ1200-90θ
2-9030a30θ3 904d4a40θ
4-905d50-90θ56d60-90θ6[0104]
步骤s2.5:θ为变量,基于第n次触碰铁块表面采集的关节角度qn,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系:
[0105][0106][0107]
步骤s2.6:联合到代入公式(5)中得到机器人末端针尖的位姿
[0108]
步骤s2.7:根据机器人模型计算针尖的位置:
[0109][0110]
其中,表示矩阵中第1行第4列数值;表示矩阵中第2行第4列数值;表示矩阵中第3行第4列数值;
[0111]
因此机器人针尖位置与关节参数定义如下函数,其中函数f与mdh参数d
1 d
4 d
5 d
6 a
3 a
4 θ
1 θ
2 θ
3 θ
4 θ
5 θ6相关。
[0112]
pn=f(qn)
ꢀꢀ
(8)
[0113]
优选地,所述步骤s3采用:
[0114]
步骤s3.1:定义铁块平面方程为为z=a*x b*y c,其中,z,x,y分别表示针尖的三维坐标,a,b,c为系数;
[0115]
步骤s3.2:使用最小二乘法拟合p1...pn坐标点,解铁块平面方程系数:
[0116][0117]
其中,zn,xn,yn表示第n次触碰铁块根据机器人模型计算出来的针尖的三维坐标值;
[0118]
步骤s3.3:将n个点的x,y坐标分别代入铁块平面方程,得到平面上的值令z和之间的误差最小,定义代价函数f
cost

[0119][0120]
优选地,所述步骤s4采用:利用采集的机器人关节角度通过粒子群算法迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
[0121]
使用粒子群算法对待标定mdh参数d
1 d
4 d
5 d
6 a
3 a
4 θ
1 θ
2 θ
3 θ
4 θ
5 θ6共12维变量进行优化,适应度函数使用上面提到的代价函数f
cost
。算法搜索边界使用名义mdh参数加上一定的偏移量得到,根据机器人的加工精度选择合适的偏移量。
[0122]
本例中杆长变量设置上下偏移5mm,角度设置上下偏差2.5度。算法迭代次数设置为300代,粒子群的种群规模设置为200。
[0123]
根据本发明提供的一种基于平面约束的机器人标定系统,包括:
[0124]
模块m1:采集机器人关节角度;
[0125]
模块m2:构建机器人参数模型;
[0126]
模块m3:基于机器人参数模型构建代价函数;
[0127]
模块m4:利用采集的机器人关节角度迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
[0128]
优选地,所述模块m1采用:
[0129]
模块m1.1:将机械加工铁块放置在机器人的主要工作区域内,如放置在机器人的正前方;
[0130]
模块m1.2:将机器人设置在示教模式下,通过拖动机器人的末端使得末端的尖针触碰到铁块的上表面,采集到此时的机器人6个关节的角度;多次重复该采集过程,但每一次机器人末端的针尖以不同的姿态触碰铁块上表面,即以不同的角度触碰铁块表面。共采集n次(建议n大于30)采集n组机器人关节角度q1,q2,...qn;
[0131][0132]
并将机器人末端尖针以不同的姿态触碰铁块上表面,分别采集不同姿态下的机器人6个关节的角度。
[0133]
优选地,所述模块m2采用:
[0134]
模块m2.1:根据改进的d-h建模方法,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系,如图4所示:
[0135]
[0136]
其中,a
i-1
表示沿着x
i-1
轴,从z
i-1
移动到zi的距离;α
i-1
表示绕着x
i-1
轴,从z
i-1
旋转到zi的角度;di表示沿着zi轴,从x
i-1
轴移动到xi的距离;θi表示绕着zi轴,从x
i-1
轴旋转到xi的角度;
[0137]
所述关节坐标系{i}相对前一个关节坐标系{i-1}如图3所示,从基座到末端依次排序;
[0138]
模块m2.2:机器人末端相对于机器人基座的转换矩阵为:
[0139][0140]
如图3所示,6轴关节机械臂,从机械臂的基座开始到机械臂末端,依次向后排序,1\2\3\4\5\6,0表示基坐标系;
[0141]
模块m2.3:已知机器人末端针尖相对机器人6轴坐标系的x,y,z方向的偏移分别为pt_x,pt_y,pt_z,则末端针尖坐标系相对6轴坐标系为:
[0142][0143]
模块m2.4:机器人末端针尖相对机器人基坐标系的转换矩阵为:
[0144][0145]
机器人末端坐标的位置包含在该转换矩阵中,该转换矩阵是机械臂的工具坐标系相对机器人基坐标系的转换矩阵;
[0146]
本发明中待标定的机器人构型如ur机器人类似,其mdh名义参数表如下,其中需要标定的参数为d
1 d
4 d
5 d
6 a
3 a
4 θ
1 θ
2 θ
3 θ
4 θ
5 θ6[0147]
linkdi(mm)ai(mm)αi(degrees)θi(degrees)1d100θ1200-90θ
2-9030a30θ3 904d4a40θ
4-905d50-90θ56d60-90θ6[0148]
模块m2.5:θ为变量,基于第n次触碰铁块表面采集的关节角度qn,关节坐标系{i}相对前一个关节坐标系{i-1}的坐标变换关系:
[0149][0150][0151]
模块m2.6:联合到代入公式(5)中得到机器人末端针尖的位姿
[0152]
模块m2.7:根据机器人模型计算针尖的位置:
[0153]
[0154]
其中,表示矩阵中第1行第4列数值;表示矩阵中第2行第4列数值;表示矩阵中第3行第4列数值;
[0155]
因此机器人针尖位置与关节参数定义如下函数,其中函数f与mdh参数d
1 d
4 d
5 d
6 a
3 a
4 θ
1 θ
2 θ
3 θ
4 θ
5 θ6相关。
[0156]
pn=f(qn)
ꢀꢀ
(8)
[0157]
优选地,所述模块m3采用:
[0158]
模块m3.1:定义铁块平面方程为为z=a*x b*y c,其中,z,x,y分别表示针尖的三维坐标,a,b,c为系数;
[0159]
模块m3.2:使用最小二乘法拟合p1...pn坐标点,解铁块平面方程系数:
[0160][0161]
其中,zn,xn,yn表示第n次触碰铁块根据机器人模型计算出来的针尖的三维坐标值;
[0162]
模块m3.3:将n个点的x,y坐标分别代入铁块平面方程,得到平面上的值令z和之间的误差最小,定义代价函数f
cost

[0163][0164]
优选地,所述模块m4采用:利用采集的机器人关节角度通过粒子群算法迭代优化代价函数,直至代价函数值最小;当代价函数值最小时,机器人的参数值最优。
[0165]
使用粒子群算法对待标定mdh参数d
1 d
4 d
5 d
6 a
3 a
4 θ
1 θ
2 θ
3 θ
4 θ
5 θ6共12维变量进行优化,适应度函数使用上面提到的代价函数f
cost
。算法搜索边界使用名义mdh参数加上一定的偏移量得到,根据机器人的加工精度选择合适的偏移量。
[0166]
本例中杆长变量设置上下偏移5mm,角度设置上下偏差2.5度。算法迭代次数设置为300代,粒子群的种群规模设置为200。
[0167]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
[0168]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献