CN115107022B - 一种基于gbdt算法的工业机器人位置误差补偿方法和系统 - Google Patents
一种基于gbdt算法的工业机器人位置误差补偿方法和系统 Download PDFInfo
- Publication number
- CN115107022B CN115107022B CN202210694169.6A CN202210694169A CN115107022B CN 115107022 B CN115107022 B CN 115107022B CN 202210694169 A CN202210694169 A CN 202210694169A CN 115107022 B CN115107022 B CN 115107022B
- Authority
- CN
- China
- Prior art keywords
- error
- industrial robot
- joint angle
- geometric parameter
- errors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000002245 particle Substances 0.000 claims abstract description 44
- 238000005457 optimization Methods 0.000 claims abstract description 21
- 230000002068 genetic effect Effects 0.000 claims abstract description 19
- 239000011159 matrix material Substances 0.000 claims description 24
- 238000012549 training Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 12
- 210000000349 chromosome Anatomy 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000012804 iterative process Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 abstract description 7
- 230000004048 modification Effects 0.000 abstract description 7
- 230000009466 transformation Effects 0.000 description 15
- 238000012360 testing method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000013519 translation Methods 0.000 description 6
- 238000010845 search algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种基于GBDT算法的工业机器人位置误差补偿方法和系统,其中方法包括:将各关节的几何参数误差累加得到总位置误差,将总位置误差最小化搜索出的几何参数误差作为初始种群,进行遗传优化,得到优化后的几何参数误差;将关节角度输入训练好的GBDT模型,预测残余位置误差,将优化后的几何参数误差、预测的残余位置误差与关节角度结合得到末端位置,将关节角度作为种群中的粒子,进行种群搜索,得到最优关节角度,控制工业机器人在最优关节角度下运动,完成位置误差补偿。本发明可有效降低几何参数误差和非几何参数误差对机器人位置误差的影响,在机器人控制器参数修改权限不开放的情况下完成补偿,具有适用性广,稳定性好,精度高的优点。
Description
技术领域
本发明属于工业机器人控制领域,更具体地,涉及一种基于GBDT算法的工业机器人位置误差补偿方法和系统。
背景技术
工业机器人通常需要在复杂的环境中完成高精度作业,如何保证并提高机器人的定位精度是目前的研究热点之一。机器人的定位精度和机器人的控制系统密不可分,因为对机器人的控制主要通过离线编程完成,而编程时需要利用机器人模型进行计算,但用于计算的理论模型和真实运行的实际模型之间存在偏差,所以会产生位置误差使机器人定位精度下降,这种偏差主要由静态的几何参数误差和动态的非几何参数误差造成。
提高机器人的定位精度需要通过减少静态误差和动态误差来缩小理论模型和实际模型间的差距,缩小差距的方法分为两种:一种方法是通过提高生产水平、加工精度、装配条件、材料性能从而保证机器人的实际模型与理论模型一致,达到误差预防的效果,但这种方法成本高、灵活性低,通常难以实现。另一种方法是通过高精度测量手段得到位置误差,根据位置误差修改理论模型使理论模型与实际模型间的差距减小,达到误差标定的效果,这种方法成本低、效果好、灵活性强,是提高机器人定位精度的主流方法。
目前的位置误差标定方法主要是针对静态的几何参数误差展开的,因为几何参数误差对机器人位置误差的影响更大,对几何参数误差进行标定后能满足大多数机器人的精度要求。但实际工程中大多数机器人的控制系统的修改权限不对外开放,几何参数误差无法修正到控制系统中,即使部分机器人可以对几何参数进行修改,也可能导致修改参数后机器人不再满足pieper准则,造成运动学模型无法求逆解的情况。且随着工业机器人产业的发展,部分机器人工作过程中需要考虑负载变化、人机协作、环境干扰等因素,非几何参数误差对这类机器人的影响较大。
总而言之,为满足机器人的精度要求,需要综合考虑几何参数误差和非几何参数误差进行位置误差标定和补偿,但现有的补偿方法未同时考虑几何参数误差对位置误差的影响、非几何参数误差对位置误差的影响和控制器修改权限不开放的影响,导致机器人定位精度低,存在一定的局限性。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于GBDT(GradientBoosting Decision Trees,梯度提升决策树)算法的工业机器人位置误差补偿方法和系统,由此解决现有技术由于未同时考虑几何参数误差对位置误差的影响、非几何参数误差对位置误差的影响以及控制器修改权限不开放的影响,导致机器人定位精度低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于GBDT算法的工业机器人位置误差补偿方法,包括:
建立工业机器人的DH模型,在DH模型上获取几何参数,将工业机器人各关节的几何参数误差累加得到总位置误差,将总位置误差最小化搜索出的几何参数误差作为初始种群,进行遗传优化,得到优化后的几何参数误差;
在已知工业机器人关节角度及其目标位置的情况下,将关节角度与优化后的几何参数误差结合得到预测位置,计算预测位置与目标位置之间的误差为残余位置误差;将已知工业机器人关节角度及其对应残余位置误差作为GBDT模型的训练数据,以GBDT模型输出的残余位置误差与计算的残余位置误差之间差距最小为目标进行训练,得到训练好的GBDT模型;
将关节角度输入训练好的GBDT模型,预测残余位置误差,将优化后的几何参数误差、预测的残余位置误差与关节角度结合得到工业机器人末端位置,将关节角度作为种群中的粒子,以工业机器人末端位置与目标位置之间的误差最小为目标进行种群搜索,得到最优关节角度,控制工业机器人在最优关节角度下运动,完成位置误差补偿。
进一步地,所述GBDT模型的训练还包括:
将计算的残余位置误差作为实际误差,将GBDT模型输出的残余位置误差与计算的残余位置误差之间的差距作为预测误差,计算由多个已知工业机器人关节角度计算的残余位置误差的平均值;
计算多个实际误差与预测误差之差的平方和与多个实际误差与平均值之差的平方和的比值,将一减去该比值得到决定系数;
计算训练所得GBDT模型的决定系数,将决定系数最大值对应的GBDT模型作为训练好的GBDT模型。
进一步地,所述种群搜索包括:
将关节角度作为种群中的粒子,种群中第i个粒子的位置xi由关节角度表示;
粒子按照一定的速度飞行来迭代寻优,每次迭代过程中粒子速度和位置的更新公式如下所示:
vi,j+1=wvi,j+c1r1,j[pbesti,j-xi,j]+c2r2,j[gbest,j-xi,j]
xi,j+1=xi,j+vi,j+1j表示当前迭代次数,vi,j表示第j次迭代时的粒子速度,xi,j表示第j次迭代时的粒子位置,pbesti表示个体最佳位置,gbest表示整个种群的最佳位置,c1和c2表示学习因子,c1决定pbesti对飞行速度的影响,c2决定gbest对飞行速度的影响,w表示惯性权重因子,r1,j和r2,j为第j次迭代时的两个随机数;
每次迭代时由工业机器人末端位置与目标位置之间的误差计算各粒子的适应度;
每次迭代时以适应度最大为目标找出个体最佳位置和全局最佳位置;
当迭代次数达到最大迭代次数时,全局最佳位置即为最优关节角度。
进一步地,所述粒子的适应度f:
式中,k为用于调整适应度函数大小的系数,工业机器人的目标位置为Pd,工业机器人几何参数为q,几何参数误差为Δq,F为运动学方程,计算所得为预测位置,ε(xi)为残余位置误差,F与ε(xi)之和为末端位置。
进一步地,所述种群搜索过程中对惯性权重因子采取动态调整策略:
式中wmax为最大惯性权重因子,wmin最小惯性权重因子,J为最大迭代次数。
进一步地,所述遗传优化包括:
将总位置误差最小化搜索出的几何参数误差作为初始种群,对初始种群进行染色体编码后计算个体适应度;
当个体适应度小于预设值时,对染色体编码后的个体进行选择、交叉和变异,更新种群,当个体适应度大于等于预设值时,将该个体对应的几何参数误差作为优化后的几何参数误差。
进一步地,所述个体适应度为其中,为添加几何参数误差后关节角度对应的末端实际位置分量,/>为关节角度对应的末端理论位置分量,k为用于调整适应度函数大小的系数,N为关节角度的总组数,i为某一组关节角度,b为防止分母为0的极小值。
进一步地,所述总位置误差ΔP=JΔq,其中,J为误差系数矩阵,Δq为几何参数误差;
对误差系数矩阵进行QR分解,
其中,Q为正交矩阵,R为上三角矩阵,0为0矩阵;
最终,Δq=(JTJ)-1JTΔP。
进一步地,所述几何参数误差包括:关节角度误差、连杆偏置误差、连杆长度误差和连杆扭转误差。
按照本发明的另一方面,提供了一种基于GBDT算法的工业机器人位置误差补偿系统,包括:
参数辨识模块,用于建立工业机器人的DH模型,在DH模型上获取几何参数,将工业机器人各关节的几何参数误差累加得到总位置误差,将总位置误差最小化搜索出的几何参数误差作为初始种群,进行遗传优化,得到优化后的几何参数误差;
模型训练模块,用于在已知工业机器人关节角度及其目标位置的情况下,将关节角度与优化后的几何参数误差结合得到预测位置,计算预测位置与目标位置之间的误差为残余位置误差;将已知工业机器人关节角度及其对应残余位置误差作为GBDT模型的训练数据,以GBDT模型输出的残余位置误差与计算的残余位置误差之间差距最小为目标进行训练,得到训练好的GBDT模型;
误差补偿模块,用于将关节角度输入训练好的GBDT模型,预测残余位置误差,将优化后的几何参数误差、预测的残余位置误差与关节角度结合得到工业机器人末端位置,将关节角度作为种群中的粒子,以工业机器人末端位置与目标位置之间的误差最小为目标进行种群搜索,得到最优关节角度,控制工业机器人在最优关节角度下运动,完成位置误差补偿。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明将总位置误差最小化搜索出的几何参数误差作为初始种群,进行遗传优化,解决了最小二乘法无法辨识全部参数和遗传算法辨识效果差、耗时长的问题,降低了运动学标定的误差。通过GBDT模型预测残余位置误差,解决了反向神经网络模型易陷入局部最优和决策回归树模型易发生过拟合现象的问题,降低了非运动学标定的误差。使用粒子群算法进行误差预测补偿,解决了机器人控制器修改权限不开放的问题,充分利用了几何参数误差辨识结果和残余位置误差预测结果,实现了运动学、非运动学的综合补偿。本发明可以有效降低几何参数误差和非几何参数误差对机器人位置误差的影响,并在机器人控制器参数修改权限不开放的情况下完成补偿,具有适用性广,稳定性好,精度高的优点。
(2)利用遗传优化最小二乘法辨识出的几何参数结果,计算辨识后仍存在的残余位置误差,将残余位置误差视作由非几何参数误差引起,为解决非几何参数误差难以建模的问题,将非几何参数误差模型转化为机器学习预测模型,采集多组辨识后的误差数据训练GBDT模型实现残余位置误差预测。通过决定系数评估并选择最优GBDT模型,为GBDT模型在同一数据集产生的不同训练结果提供了选择依据,保证了模型的泛化能力。
(3)本发明进行种群搜索时,将机器人的关节角度作为输入参数,搜索出使位置误差最小时的解,设置适应度函数的目的是找到最优关节角度使预测出的位置和目标位置间的误差最小。惯性权重因子决定了上一次迭代中粒子速度对当前速度的影响,对惯性权重采取动态调整策略,以平衡全局搜索能力和局部搜索能力。
(4)本发明使用遗传优化最小二乘法进行参数辨识时,最小二乘法通过QR分解去除冗余参数,缩小搜索范围,提高辨识效率。几何参数误差可以根据DH模型对应参数划分为关节角度误差、连杆偏置误差、连杆长度误差、连杆扭转误差。这些误差通过影响各关节的齐次变换矩阵使运动学模型与理论不符,最终影响机器人的定位精度,本发明通过遗传优化提升几何参数误差的辨识效果,进而通常提升机器人的定位精度。
附图说明
图1是本发明实施例提供的一种基于GBDT算法的工业机器人位置误差补偿方法的流程图;
图2为本发明实施例提供的UR10型机器人各关节坐标系;
图3为本发明实施例提供的遗传优化最小二乘法参数辨识流程图;
图4为本发明实施例提供的GBDT模型示意图;
图5为本发明实施例提供的粒子群算法补偿流程图;
图6为本发明实施例提供的预测模型评估与选择示意图;
图7为本发明实施例提供的补偿结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,针对目前误差补偿方法存在局限性的问题,本发明提供了一种基于GBDT算法的工业机器人位置误差补偿方法,包括:
建立工业机器人的DH模型,在DH模型上获取几何参数,将工业机器人各关节的几何参数误差累加得到总位置误差,将总位置误差最小化搜索出的几何参数误差作为初始种群,进行遗传优化,得到优化后的几何参数误差;
在已知工业机器人关节角度及其目标位置的情况下,将关节角度与优化后的几何参数误差结合得到预测位置,计算预测位置与目标位置之间的误差为残余位置误差;将已知工业机器人关节角度及其对应残余位置误差作为GBDT模型的训练数据,以GBDT模型输出的残余位置误差与计算的残余位置误差之间差距最小为目标进行训练,得到训练好的GBDT模型;
将关节角度输入训练好的GBDT模型,预测残余位置误差,将优化后的几何参数误差、预测的残余位置误差与关节角度结合得到工业机器人末端位置,将关节角度作为种群中的粒子,以工业机器人末端位置与目标位置之间的误差最小为目标进行种群搜索,得到最优关节角度,控制工业机器人在最优关节角度下运动,完成位置误差补偿。
以下实施例均以UNIVERSAL ROBOTS 10机器人(以下简称“UR10”)末端位置精度提升为例,对本发明的技术方案做进一步的解释说明。
实施例1
UR10型工业机器人的运动受各个关节转动的影响,这些关节都有与之对应的空间坐标系,而空间中的同一点在不同关节坐标系下的坐标不同,因此需要推导出各个关节坐标系间的转换关系,从而建立末端坐标与关节角度间的联系。
坐标变换由坐标平移变换和坐标旋转变换组成,对于空间中的一点p,其在坐标系{A}中的坐标记作Ap,在坐标系{B}中的坐标记作Bp,通过齐次变换,得到齐次方程:
式中ApB表示坐标系{B}相对与坐标系{A}的平移,表示坐标系{B}相对与坐标系{A}的旋转。
坐标系{B}到坐标系{A}的坐标齐次变换矩阵可表示为:
将坐标齐次变换矩阵分解为平移齐次变换矩阵Trans(记作T)和旋转齐次变换矩阵Rot(记作R)。
沿x轴、y轴、z轴平移a、b、c可表示为:
绕x轴旋转α可表示为:
绕y轴旋转β可表示为:
绕z轴旋转γ可表示为:
根据DH模型的建模规则,将机器人看作由连杆0、连杆1、连杆2、连杆3、连杆4、连杆5组成,基座记作连杆0,关节i连接连杆i和连杆i-1,建立UR10型机器人各关节坐标系的步骤如下:
(1)确定关节坐标系的zi轴
由于UR10型机器人所有关节均为旋转关节,因此各关节坐标系的zi轴即为关节的转轴,zi轴正方向则由下一关节的旋转正方向决定。
(2)确定关节坐标系的xi轴
本关节zi轴和上一关节zi-1轴的公垂线即为xi轴,若两关节轴线平行(此时存在无数条公垂线),则选取经过下一关节坐标系原点的公垂线作为xi轴,xi轴正方向指向下一关节。
(3)确定关节坐标系的坐标原点
关节xi轴与关节zi轴的交点即为坐标原点。
(4)确定关节坐标系的yi轴
根据右手定则可以确定yi轴及其正方向。
由上述步骤得到的UR10型机器人各关节坐标系如图2所示。
得到机器人的各关节坐标系后,各关节坐标系可以通过坐标齐次变换建立联系,坐标系{i-1}到坐标系{i}的变换过程如下:
(1)绕zi-1轴旋转θi
此时xi-1轴和xi轴平行,θi表示关节角度,正方向为绕zi-1轴的逆时针方向。
(2)沿zi-1轴平移di
此时xi-1轴和xi轴共线,di表示连杆偏置,正方向为zi-1轴的正方向。
(3)沿xi-1轴平移ai
此时两坐标系原点重合,ai表示连杆长度,正方向为xi-1轴的正方向。
(4)绕xi-1轴旋转αi
此时两坐标系完全重合,αi表示连杆扭曲,正方向为绕xi-1轴的逆时针方向。
θi、di、ai、αi四个参数也被称为DH参数(即机器人几何参数),对于UR10型机器人,θi为关节变量,其余三个参数为常量,DH参数的具体数值如表1所示,表中θi为各关节初始角度。将坐标系变换过程代入坐标齐次变换矩阵,得到坐标系{i-1}到坐标系{i}的关节齐次变换矩阵:
表1 UR10型机器人的DH参数
使用DH法建立运动学模型后,几何参数误差可以根据DH参数划分为关节角度误差、连杆偏置误差、连杆长度误差、连杆扭转误差。这些误差通过影响各关节的齐次变换矩阵使运动学模型与理论不符,最终影响机器人的定位精度,而几何参数误差的辨识效果通常体现在标定后机器人的定位精度的提升。
建立UR10型机器人的微分误差模型,微分误差模型表达式为:
式中,ΔP为总位置误差,J为误差系数矩阵,Δq为机器人几何参数误差,UR10型机器人为六轴机器人,i为某一个关节。
建立UR10型机器人的智能搜索算法误差模型,智能搜索算法模型的目的是搜索出一组几何参数误差δq使ΔP尽可能最小,即:
min(f(q+Δq)-f(q+δq))
式中,f为机器人几何参数和末端位置的函数关系,q为机器人理论几何参数,Δq为机器人实际几何参数误差,δq为搜索出的几何参数误差。
基于微分误差模型和智能搜索算法误差模型使用遗传优化最小二乘法完成参数辨识,遗传优化最小二乘法的参数辨识流程如图3所示。
使用遗传优化最小二乘法进行参数辨识时,最小二乘法通过QR分解去除冗余参数,QR分解表达式为:
式中,J为误差系数矩阵,Q为正交矩阵,R为上三角矩阵,0为0矩阵。
由最小二乘法计算出的结果确定遗传算法的初始种群:
Δq=(JTJ)-1JTΔP
根据QR分解的结果剔除R矩阵中特征值为0的无用参数和特征值非常接近0的相关参数后,以这些最小二乘法未辨识出的冗余参数作为主要搜索目标,同时缩小已辨识出参数的搜索范围,适应度函数设置为:
式中,为机器人末端实际位置分量,/>为机器人末端理论位置分量,k为用于调整适应度函数大小的系数,N为测试点的个数,b为防止分母为0的极小值。
选择运算设置为:
式中,PSi为染色体个体i进入新一代种群的概率,fi为该染色体的适应度值。
交叉运算设置为:
式中,Pc(j)为第j代的变异概率,初始变异概率Pc(0)设置为0.8,MAXGEN为最大迭代次数,设置为500。
变异运算设置为:
式中,Pm(j)为第j代的变异概率,初始变异概率Pm(0)设置为0.05。
利用遗传优化最小二乘法辨识出的几何参数结果,计算辨识后仍存在的残余位置误差,将残余位置误差视作由非几何参数误差引起。非几何参数误差包括由外力和机器人末端负载引起的柔性误差、由机械磨损引起的机械变形误差等。
非几何参数误差中机器人受载荷产生的柔性误差对机器人末端位置误差影响较大,由柔性误差造成的关节角度误差δθ′i和施加在关节上的力矩τi可表示为以下线性关系:
δθ′i=Ciτi
式中Ci为关节i的柔性系数。
柔性误差主要影响关节2和关节3的转角误差,消除几何参数误差的影响后,柔性误差模型可简化表示为:
δθ′2=k1sin(θ2)+k2cos(θ2+θ3)
δθ′3=k3sin(θ2)+k4cos(θ2+θ3)
若某一具体型号的机器人在恒定负载下工作,ki可以视作常数,因此柔性误差可转化为关于θ2和θ3的函数。
非几何参数误差对位置误差的影响机理复杂且存在耦合,难以通过辨识非几何参数误差实现非运动学标定。
为解决非几何参数误差难以建模的问题,将非几何参数误差模型转化为机器学习预测模型,采集多组辨识后的误差数据训练机器学习模型实现残余位置误差预测,机器学习模型使用集成学习中的GBDT模型,GBDT模型的结构示意图如图4所示。
初始GBDT模型为:
式中,X为输入参数,Y为输出参数,L(Yi,c)为损失函数,用于表示预测值和真实值间的关系,c为初始模型的参数,f0(X)的目的找到一个合适的参数c使损失函数值为最小,N为样本个数。
根据GBDT的加法模型可得M次迭代后的GBDT模型:
式中,J为输出参数的维度,cmj为模型在m次迭代、j维下的参数,Rmj为模型在m次迭代、j维下的输入参数取值范围。
使用智能搜索算法完成误差补偿,将运动学标定结果和非运动学标定结果综合补偿到机器人控制器的输入中,避免修改控制器的内部参数。以智能搜索算法中的粒子群算法为例,粒子群算法误差补偿流程图如图5所示。
将机器人的关节角度作为输入参数,搜索出使位置误差最小时的解。
(1)确定初始种群及种群范围
粒子种群大小和遗传算法的种群大小一样,对运算时间和搜索结果影响很大,一般种群越大搜索结果越好,但问题是消耗时间更长,本发明将种群大小N设置为1000,种群中第i个粒子位置xi可表示为:
xi=(θi1,θi2,θi3,θi4,θi5,θi6)
每个粒子的范围记作[xmin,xmax],初始种群和粒子范围的具体数值由目标位置对应的理论关节角度和关节运动范围确定。
(2)设置适应度函数
搜索的目的是找到最优的xi使预测出的位置和目标位置间的误差最小,因此适应度函数可设置为:
式中,k为用于调整适应度函数大小的系数,机器人的目标位置为Pd,机器人几何参数为q,几何参数误差为Δq,机器人关节角度为θ,则机器人的正运动学为F(q,θ),逆运动学为F(q,P),ε(xi)为残余位置误差。
(3)设置参数
粒子群算法中的粒子按照一定的速度飞行来迭代寻优,每次迭代过程中粒子速度和位置的更新公式如下所示:
vi,j+1=wvi,j+c1r1,j[pbesti,j-xi,j]+c2r2,j[gbest,j-xi,j]
xi,j+1=xi,j+vi,j+1j表示当前迭代次数,vi,j表示第j次迭代时的粒子速度,xi,j表示第j次迭代时的粒子位置,为保证粒子在限定的范围内飞行,需要对飞行速度加以限制,将其设置为粒子范围的20%,记作[vmin,vmax]。
pbesti表示个体最佳位置,gbest表示整个种群的最佳位置。
c1和c2表示学习因子,c1决定了pbesti对飞行速度的影响,c2决定了gbest对飞行速度的影响,分别代表了个体经验和群体经验,本文将c1和c2均设置为1.5保证粒子的认知能力。
r1和r2表示随机数,每次迭代时其取值在0~1之间随机产生,它们保证了种群中每个粒子是随机的个体。
w表示惯性权重因子,它决定了上一次迭代中粒子速度对当前速度的影响,主要用于平衡全局搜索能力和局部搜索能力,对惯性权重采取动态调整策略:
式中wmax为最大惯性权重因子,wmin最小惯性权重因子,J为迭代次数,本文将wmax设置为0.9,wmin设置为0.4,J设置为1000。
(4)开始迭代
找出个体最佳位置和全局最佳位置,在保证粒子速度和位置不超过设置范围的前提下,更新速度和位置。
(5)输出结果
当迭代次数达到J时,全局最优解即为需要补偿的关节角度。
为选择出GBDT模型多次训练后的最优模型,引入决定系数R2来评估模型的拟合效果,评估与选择方法如图6所示,决定系数R2的表达式为:
式中,Yi为测试点(即一组关节角度)的实际误差,Yi′为测试点的预测误差,为N个测试点实际误差的平均值,R2的范围为(-∞,1),其取值越接近1则泛化性越强,但R2=1时需要考虑是否过拟合。
将多个测试点实际位置和理论位置的最大误差、平均误差和均方根误差作为机器人定位精度的评估指标,以k个测试点为例:
最大误差:
平均误差:
均方根误差:
其中,i=1~k,Δpi为第i个测试点的位置误差。
本发明方法将位置误差转换为机器人的关节角度,通过改变控制器关节角度的输入使机器人期望位置和实际位置一致,最终补偿结果如图7所示。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,包括:
建立工业机器人的DH模型,在DH模型上获取几何参数,将工业机器人各关节的几何参数误差累加得到总位置误差,将总位置误差最小化搜索出的几何参数误差作为初始种群,进行遗传优化,得到优化后的几何参数误差;
在已知工业机器人关节角度及其目标位置的情况下,将关节角度与优化后的几何参数误差结合得到预测位置,计算预测位置与目标位置之间的误差为残余位置误差;将已知工业机器人关节角度及其对应残余位置误差作为GBDT模型的训练数据,以GBDT模型输出的残余位置误差与计算的残余位置误差之间差距最小为目标进行训练,得到训练好的GBDT模型;
将关节角度输入训练好的GBDT模型,预测残余位置误差,将优化后的几何参数误差、预测的残余位置误差与关节角度结合得到工业机器人末端位置,将关节角度作为种群中的粒子,以工业机器人末端位置与目标位置之间的误差最小为目标进行种群搜索,得到最优关节角度,控制工业机器人在最优关节角度下运动,完成位置误差补偿。
2.如权利要求1所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述GBDT模型的训练还包括:
将计算的残余位置误差作为实际误差,将GBDT模型输出的残余位置误差与计算的残余位置误差之间的差距作为预测误差,计算由多个已知工业机器人关节角度计算的残余位置误差的平均值;
计算多个实际误差与预测误差之差的平方和与多个实际误差与平均值之差的平方和的比值,将一减去该比值得到决定系数;
计算训练所得GBDT模型的决定系数,将决定系数最大值对应的GBDT模型作为训练好的GBDT模型。
3.如权利要求1或2所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述种群搜索包括:
将关节角度作为种群中的粒子,种群中第i个粒子的位置xi由关节角度表示;
粒子按照一定的速度飞行来迭代寻优,每次迭代过程中粒子速度和位置的更新公式如下所示:
vi,j+1=wvi,j+c1r1,j[pbesti,j-xi,j]+c2r2,j[gbest,j-xi,j]
xi,j+1=xi,j+vi,j+1
其中,j表示当前迭代次数,vi,j表示第j次迭代时的粒子速度,xi,j表示第j次迭代时的粒子位置,pbesti表示个体最佳位置,gbest表示整个种群的最佳位置,c1和c2表示学习因子,c1决定pbesti对飞行速度的影响,c2决定gbest对飞行速度的影响,w表示惯性权重因子,r1,j和r2,j为第j次迭代时的两个随机数;每次迭代时由工业机器人末端位置与目标位置之间的误差计算各粒子的适应度;
每次迭代时以适应度最大为目标找出个体最佳位置和全局最佳位置;
当迭代次数达到最大迭代次数时,全局最佳位置即为最优关节角度。
4.如权利要求3所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述粒子的适应度f:
式中,k为用于调整适应度函数大小的系数,工业机器人的目标位置为Pd,工业机器人几何参数为q,几何参数误差为Δq,F为运动学方程,计算所得为预测位置,ε(xi)为残余位置误差,F与ε(xi)之和为末端位置。
5.如权利要求3所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述种群搜索过程中对惯性权重因子采取动态调整策略:
式中wmax为最大惯性权重因子,wmin最小惯性权重因子,J为最大迭代次数。
6.如权利要求1或2所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述遗传优化包括:
将总位置误差最小化搜索出的几何参数误差作为初始种群,对初始种群进行染色体编码后计算个体适应度;
当个体适应度小于预设值时,对染色体编码后的个体进行选择、交叉和变异,更新种群,当个体适应度大于等于预设值时,将该个体对应的几何参数误差作为优化后的几何参数误差。
7.如权利要求6所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述个体适应度为其中,/>为添加几何参数误差后关节角度对应的末端实际位置分量,/>为关节角度对应的末端理论位置分量,k为用于调整适应度函数大小的系数,N为关节角度的总组数,i为某一组关节角度,b为防止分母为0的极小值。
8.如权利要求1或2所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述总位置误差ΔP=JΔq,其中,J为误差系数矩阵,Δq为几何参数误差;
对误差系数矩阵进行QR分解,
其中,Q为正交矩阵,R为上三角矩阵,0为0矩阵;
最终,Δq=(JTJ)-1JTΔP。
9.如权利要求1或2所述的一种基于GBDT算法的工业机器人位置误差补偿方法,其特征在于,所述几何参数误差包括:关节角度误差、连杆偏置误差、连杆长度误差和连杆扭转误差。
10.一种基于GBDT算法的工业机器人位置误差补偿系统,其特征在于,包括:
参数辨识模块,用于建立工业机器人的DH模型,在DH模型上获取几何参数,将工业机器人各关节的几何参数误差累加得到总位置误差,将总位置误差最小化搜索出的几何参数误差作为初始种群,进行遗传优化,得到优化后的几何参数误差;
模型训练模块,用于在已知工业机器人关节角度及其目标位置的情况下,将关节角度与优化后的几何参数误差结合得到预测位置,计算预测位置与目标位置之间的误差为残余位置误差;将已知工业机器人关节角度及其对应残余位置误差作为GBDT模型的训练数据,以GBDT模型输出的残余位置误差与计算的残余位置误差之间差距最小为目标进行训练,得到训练好的GBDT模型;
误差补偿模块,用于将关节角度输入训练好的GBDT模型,预测残余位置误差,将优化后的几何参数误差、预测的残余位置误差与关节角度结合得到工业机器人末端位置,将关节角度作为种群中的粒子,以工业机器人末端位置与目标位置之间的误差最小为目标进行种群搜索,得到最优关节角度,控制工业机器人在最优关节角度下运动,完成位置误差补偿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210694169.6A CN115107022B (zh) | 2022-06-16 | 2022-06-16 | 一种基于gbdt算法的工业机器人位置误差补偿方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210694169.6A CN115107022B (zh) | 2022-06-16 | 2022-06-16 | 一种基于gbdt算法的工业机器人位置误差补偿方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115107022A CN115107022A (zh) | 2022-09-27 |
CN115107022B true CN115107022B (zh) | 2024-04-19 |
Family
ID=83328843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210694169.6A Active CN115107022B (zh) | 2022-06-16 | 2022-06-16 | 一种基于gbdt算法的工业机器人位置误差补偿方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115107022B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109945860A (zh) * | 2019-05-07 | 2019-06-28 | 深圳市联和安业科技有限公司 | 一种基于卫星紧组合的ins和dr惯性导航方法与系统 |
CN111950441A (zh) * | 2020-08-10 | 2020-11-17 | 苏州大学 | 上肢运动意图的fnirs实时解码方法及系统 |
CN112161173A (zh) * | 2020-09-10 | 2021-01-01 | 国网河北省电力有限公司检修分公司 | 一种电网布线参数检测装置及检测方法 |
WO2021082662A1 (zh) * | 2019-10-30 | 2021-05-06 | 支付宝(杭州)信息技术有限公司 | 辅助用户拍摄车辆视频的方法及装置 |
CN113468210A (zh) * | 2021-06-08 | 2021-10-01 | 上海交通大学 | 基于特征工程的机器人故障诊断方法及系统 |
CN114219562A (zh) * | 2021-12-13 | 2022-03-22 | 香港中文大学(深圳) | 模型的训练方法、企业信用评估方法和装置、设备、介质 |
-
2022
- 2022-06-16 CN CN202210694169.6A patent/CN115107022B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109945860A (zh) * | 2019-05-07 | 2019-06-28 | 深圳市联和安业科技有限公司 | 一种基于卫星紧组合的ins和dr惯性导航方法与系统 |
WO2021082662A1 (zh) * | 2019-10-30 | 2021-05-06 | 支付宝(杭州)信息技术有限公司 | 辅助用户拍摄车辆视频的方法及装置 |
CN111950441A (zh) * | 2020-08-10 | 2020-11-17 | 苏州大学 | 上肢运动意图的fnirs实时解码方法及系统 |
CN112161173A (zh) * | 2020-09-10 | 2021-01-01 | 国网河北省电力有限公司检修分公司 | 一种电网布线参数检测装置及检测方法 |
CN113468210A (zh) * | 2021-06-08 | 2021-10-01 | 上海交通大学 | 基于特征工程的机器人故障诊断方法及系统 |
CN114219562A (zh) * | 2021-12-13 | 2022-03-22 | 香港中文大学(深圳) | 模型的训练方法、企业信用评估方法和装置、设备、介质 |
Non-Patent Citations (1)
Title |
---|
复杂曲面机器人自动化研抛加工试验;李振国;田凤杰;陈洪玉;吕冲;;制造技术与机床;20160816(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115107022A (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110193829B (zh) | 一种耦合运动学与刚度参数辨识的机器人精度控制方法 | |
CN111702762B (zh) | 一种工业机器人作业姿态优化方法 | |
CN109782601B (zh) | 一种协调机械臂自适应神经网络同步鲁棒控制器设计方法 | |
CN113510709B (zh) | 基于深度强化学习的工业机器人位姿精度在线补偿方法 | |
CN111367236A (zh) | 一种面向加工过程的移动机器人系统标定方法及系统 | |
CN110228067B (zh) | 一种基于激光跟踪仪的双臂机器人组合操作测试方法 | |
CN112558547B (zh) | 一种五轴数控机床平动轴几何误差补偿数据快速优化方法 | |
CN113580148B (zh) | 基于等效运动链的并联机器人运动学标定方法 | |
CN112536797A (zh) | 一种工业机器人的位置与姿态误差综合补偿方法 | |
CN113878581B (zh) | 一种五自由度混联机器人误差预测及实时补偿方法 | |
Gao et al. | Kinematic calibration for industrial robots using articulated arm coordinate machines | |
CN112720480B (zh) | 一种基于分级误差的机器人轨迹修正方法及系统 | |
CN114029959A (zh) | 一种机械臂结构参数辨识方法及装置 | |
Ma et al. | Robot error compensation based on incremental extreme learning machines and an improved sparrow search algorithm | |
CN115107022B (zh) | 一种基于gbdt算法的工业机器人位置误差补偿方法和系统 | |
CN113799137A (zh) | 一种基于神经网络的移动加工机器人快速视觉定位方法 | |
CN112207800B (zh) | 三自由度转动曲柄连杆并联平台位姿控制方法 | |
CN112643658A (zh) | 基于sir降维dh模型的串联机器人自适应误差建模的标定方法 | |
CN114800529A (zh) | 一种基于定长记忆窗口增量学习和增量模型重构的工业机器人定位误差在线补偿方法 | |
CN115431267A (zh) | 一种基于区域划分的工业机器人曲面加工方法 | |
CN110940351A (zh) | 一种基于参数降维辨识的机器人精度补偿方法 | |
CN115533896B (zh) | 一种递推式的机器人双臂协同作业路径规划方法 | |
Wu et al. | Prediction of the eigenfrequency of industrial robots based on the ANN model | |
CN114734440B (zh) | 一种混联双臂搬运机器人运动学参数精准标定方法 | |
Du Shanghai et al. | Research on Positioning Error Compensation of Industrial Robot Based on BP Neural Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |