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

一种机器人运动误差补偿方法与流程

2023-03-01 12:07:57 来源:中国专利 TAG:


1.本发明涉及机器人运动误差补偿技术领域,具体为一种机器人运动误差补偿方法。


背景技术:

2.对于串联机器人、并联机器人等多连杆、多关节的复杂机器人系统而言,由于连杆形变、关节间隙、加工误差和装配误差等因素,机器人执行末端的实际运动轨迹与理论规划运动轨迹之间存在不可避免的运动误差,这些运动误差会影响机器人运动的准确性,进而导致机器人难以精准的完成设定的任务,甚至在实际运行场景中造成严重的后果。
3.造成机器人运动误差的根本原因在于建立的机器人理论运动学模型与实际运动学模型之间存在差异,这些差异就是由上述连杆形变、关节间隙、加工误差、装配误差等误差源引起的;在诸多误差源中,有些因素可以用常数参数化表示出来,并通过建模的方式对其进行识别与补偿,我们称之为几何类误差;而有些因素无法通过传统建模的方式进行补偿,甚至都无法利用参数精准的表示出来,我们将其统称为非几何类误差。
4.机器人的实际运动位姿(位置和姿态)与理论运动位姿的关系可用下式表示:
5.ta=t
t
δt=t
t
δtg δt
ng
ꢀꢀꢀꢀ
(1)
6.上式(1)中ta=[p
xa
,p
ya
,p
za
,αa,βa,γa]
t
代表机器人执行末端实际运动位姿矩阵,其中[p
xa
,p
ya
,p
za
]是机器人执行末端坐标系原点of在参考坐标系∑o0中的位置坐标,[αa,βa,γa]是机器人执行末端坐标系∑of相对于参考坐标系∑o0的姿态欧拉角;t
t
是机器人执行末端理论运动位姿矩阵,而δt为机器人理论与实际运动的总的误差矩阵,它包含了几何类误差矩阵δtg和非几何类误差矩阵δt
ng
;为了实现运动误差的补偿,核心在于建立误差的预测模型,即建立如式(2)所示的映射关系,通过给定的运动输入关节角度位置θ来预测机器人执行末端的位姿误差δt。获得误差预测模型后,即可对机器人的运动输入关节角度位置θ进行校正,进而校正机器人执行末端的位姿输出,使其最终测量的实际位姿误差降低。
[0007]
δt=m(θ)
ꢀꢀꢀꢀ
(2)
[0008]
在现有技术中,对于机器人的误差补偿算法通常分为基于模型算法和无模型算法;传统基于模型的补偿算法一般利用结构参数和运动学模型来建立几何误差模型,然后可以通过各种识别方法识别几何误差参数,如最小二乘法、最大似然估计法、元启发式算法、扩展卡尔曼滤波方法等;对于非几何类误差补偿,由于这些误差成因复杂且具有时变性,无法使用上述基于模型的方法将它们当作常数识别出来。因此,可采用无模型算法来实现这类误差的补偿,即利用数据集直接建立运动误差与机器人输入之间的映射关系。人工神经网络由于具有高适应性、强学习能力和易用性等优点,目前已成为一种非常流行的无模型误差补偿方法。
[0009]
在现有专利方面,专利cn115179289a在机器人标定模型上,由线性叠加原理建立了机器人刚柔耦合误差模型,提高了模型的精确度;专利cn115026819a提出了一种基于fis
理论的机器人标定方法,基于有限瞬时旋量理论系统开展了误差建模与辨识的研究,建立了满足完备性、连续性以及最小性条件的机器人误差模型;专利cn114918920a提出了一种基于神经网络和距离误差模型的工业机器人标定方法,通过建立机器人末端距离误差与机器人运动学参数误差之间的模型关系,避免标定过程中坐标系的转换误差,并且考虑到连杆误差、关节柔性误差,辨识误差参数后再通过神经网络拟合残差,以达到提升工业机器人的绝对定位精度;专利cn114820813a提出了一种基于有svd监督的bp神经网络的手眼标定方法,该算法首先对bp神经网络进行预训练,再利用svd算法对神经网络进行优化以提高算法的精度和鲁棒性。专利cn202111608435.0提出了一种几何误差与非几何误差相结合的机器人标定方法,该算法首先利用机器人运动学模型和奇异值分解方法识别几何误差参数,在利用粒子群算法来补偿非几何误差;专利cn113043271b提出了一种基于天牛须算法的工业机器人标定补偿方法,通过建立机器人运动学模型,再利用天牛须算法迭代求解工业机器人的运动学模型准确参数。
[0010]
现有技术中,较为常用的基于模型的误差补偿算法只能补偿机器人运动的几何类误差,而无法补偿复杂且具有时变性的非几何类误差。无模型的误差补偿算法中,传统的人工神经网络通常使用反向传播算法进行训练,这使得它的应用受限于训练时间长、收敛速度慢、泛化性差等缺点。为解决这个问题,已有人利用元启发式算法来训练神经网络,例如有人提出了一种基于人工神经网络结合蝴蝶和花授粉算法的新型校准方法,有人将神经网络与粒子群优化算法相结合来校准工业机器人。还有人利用遗传群优化和深度神经网络建立了位置误差预测模型。然而,这些方法仍然存在收敛速度不够快、需要较长训练时间的问题,并且容易陷入局部最优的陷阱。


技术实现要素:

[0011]
针对现有技术的不足,本发明提供了一种机器人运动误差补偿方法,目的解决上述问题。
[0012]
为实现上述目的,本发明提供如下技术方案:
[0013]
一种机器人运动误差补偿方法,包含两个步骤:步骤一为利用采集的误差数据集来训练机器人运动误差预测模型,步骤二为利用训练好的运动误差预测模型来纠正机器人运动规划输出;
[0014]
优选的,步骤一中所述的误差数据集包含了位姿误差数据集和驱动关节目标角度位置数据集(n为数据集中包含样本的数量);
[0015]
优选的,所述的位姿误差数据集获得方式为:首先,在机器人执行末端的可达工作空间内,随机筛选出n个目标点位,组成目标位姿数据集随后控制机器人执行末端到达这些点位,并利用外部测量设备实测出各个点位的位姿,这些实测值则组成实测位姿数据集机器人执行末端在这些点位的实测位姿与目标位姿之间的差值是机器人的运动误差,它们组成的位姿误差数据集则用来作为训练运动误差预测模型的标签集;
[0016]
优选的,所述的驱动关节目标角度位置数据集获得方式为:将目标位姿数据集输入到机器人的理想逆运动学模型f-(t
ft
)中求得
[0017]
优选的,步骤一中所述的运动误差预测模型指的是一个极限学习机(extreme learning machine,elm)网络模型,该模型的训练方法采用的是一种新型元启发式优化算法,即改进型蜉蝣算法(modified mayfly algorithm,mma),此处将mma训练的elm网络模型简称为mma-elm模型;
[0018]
优选的,所述的改进型蜉蝣算法,是采用改进型tent混沌映射与反向学习理论对原始蜉蝣算法(mayfly algorithm,ma)的初始化策略进行了改进,以改善蜉蝣算法的初始条件与收敛速度;此外,还采用了柯西变异理论对蜉蝣算法的位置更新策略进行了改进,以降低算法陷入局部最优陷阱的概率;
[0019]
优选的,步骤二中所述的利用训练好的运动误差预测模型来纠正机器人运动规划输出的具体过程为:在工作空间内规划了一个新的机器人执行末端目标点位,该点位的位姿矩阵为t
ft
,将其输入逆运动学模型f-(t
ft
)后即可获得机器人驱动关节目标角度位置θ
t
;该θ
t
不直接用于驱动机器人,而是通过训练好的elm网络预估出此指令下的机器人执行末端位姿误差δtf;接着,将原有目标位姿t
ft
与预估位姿误差δtf相加后获得新的目标位姿t
fc
=t
ft
δtf;最后,将t
fc
输入到逆运动学模型f-(t
fc
)中可获得补偿后的驱动关节角度位置θc,θc便是用来驱动机器人的最终角度指令值。
[0020]
有益效果
[0021]
与现有技术相比,本发明具备以下有益效果:
[0022]
本发明提供的一种机器人运动误差补偿方法,其基于改进型蜉蝣算法优化的极限学习机(mma-elm)网络模型来预测机器人执行末端的运动误差,保留了elm网络结构简单和训练速度快等优点,同时克服了其性能不稳定和难以找到最优解等不足之处;因此,本发明所提出来的方法在机器人运动误差补偿时具有结构简单、预测精度高、性能稳定和训练速度快等优势。
附图说明
[0023]
图1为本发明所述一种机器人运动误差补偿方法的流程框图;
[0024]
图2为elm网络模型结构图。
具体实施方式
[0025]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]
请参阅图1,一种机器人运动误差补偿方法,其特征在于,包括如下步骤:
[0027]
步骤一、利用采集的误差数据集来训练机器人运动误差预测模型;
[0028]
步骤二、利用训练好的运动误差预测模型来纠正机器人运动规划输出。
[0029]
步骤一中的误差数据集包含了位姿误差数据集和驱动关节目标角度位置
数据集
[0030]
其中,n为数据集中包含样本的数量。
[0031]
的位姿误差数据集获得方式为:
[0032]
一、在机器人执行末端的可达工作空间内,随机筛选出n个目标点位,组成目标位姿数据集
[0033]
二、控制机器人执行末端到达这些点位,并利用外部测量设备实测出各个点位的位姿,这些实测值则组成实测位姿数据集
[0034]
三、机器人执行末端在这些点位的实测位姿与目标位姿之间的差值是机器人的运动误差,它们组成位姿误差数据集用来作为训练运动误差预测模型的标签集。
[0035]
的驱动关节目标角度位置数据集获得方式为:
[0036]
将目标位姿数据集输入到机器人的理想逆运动学模型f-(t
ft
)中求得
[0037]
步骤一中的运动误差预测模型为:
[0038]
elm网络模型,elm网络模型的训练方法采用新型元启发式优化算法,即改进型蜉蝣算法mma;
[0039]
将mma训练的elm网络模型简称为mma-elm模型。
[0040]
改进型蜉蝣算法mma采用改进型tent混沌映射与反向学习理论对原始蜉蝣算法(ma)的初始化策略进行了改进,以改善蜉蝣算法的初始条件与收敛速度;
[0041]
同时,采用了柯西变异理论对蜉蝣算法的位置更新策略进行了改进,以降低算法陷入局部最优陷阱的概率。
[0042]
的步骤二的具体过程为:
[0043]
一、在工作空间内规划了一个新的机器人执行末端目标点位,该点位的位姿矩阵为t
ft
,将其输入逆运动学模型f-(t
ft
)后即可获得机器人驱动关节目标角度位置θ
t

[0044]
该θ
t
不直接用于驱动机器人,而是通过训练好的elm网络预估出此指令下的机器人执行末端位姿误差δtf;
[0045]
二、将原有目标位姿t
ft
与预估位姿误差δtf相加后获得新的目标位姿t
fc
=t
ft
δtf;
[0046]
三、将t
fc
输入到逆运动学模型f-(t
fc
)中可获得补偿后的驱动关节角度位置θc,θc为用来驱动机器人的最终角度指令值。
[0047]
mma-elm模型具体如下:
[0048]
基于elm的神经网络结构设计:
[0049]
elm在网络结构上与传统的神经网络类似,是一种单隐藏层的前馈神经网络,它具有网络结构简单、模型泛化能力好、训练速度快等特点。
[0050]
如图2所示,本发明设计的的elm网络包含3个网络层:输入层、隐藏层以及输出层;以一个6自由度串联关节型机器人为例(其它类型机器人的方法类似),elm网络模型的输入
层设定有6个节点,分别对应6个驱动关节角度值θ=[θ1,θ2,θ3,θ4,θ5,θ6]
t
;elm网络的输出层也有6个节点,分别对应机器人执行末端的预估运动位姿误差δt=[δp
x
,δpy,δpz,δα,δβ,δγ]
t
;而elm网络的隐藏层节点个数为nb,其具体数值根据实际情况来进行调整。基于图2,δt与θ映射关系l()可以用下式(3)进行表示:
[0051]
δt=l(θ)=v
·
g(w
·
θ b)
ꢀꢀꢀꢀ
(3)
[0052]
式中,表示输入层权重系数矩阵,表示隐藏层偏置系数矩阵,表示输出层权重系数矩阵,而g()表示激活函数,在此处选用了常用的sigmoid激活函数,其表达式如下式(4)所示:
[0053][0054]
利用数据集训练elm网络的目的在于获得最优的w、b、v系数矩阵,以使得网络对δt的预估误差最小化;对于传统bp(back propagation,反向传播)神经网络而言,需要通过采集网络输出误差不断反向迭代去调整输入层、隐藏层以及输出层的权重系数来获得最优参数组合,这个过程会耗费大量时间和算力;而elm的创新之处在于:输入层w和隐藏层b通过随机方式产生,且产生后不需要再进行调整;输出层v也不需要迭代方式来调整,而是通过求解方程组一次性获得。因此,elm的训练速度远快于同等结构的bp神经网络。当给定一组数训练集和后(n
tr
为训练集的数据量),v可以通过下式(5)求得:
[0055][0056]
式中,和为随机产生的系数矩阵,其中中的元素取值范围为[-1, 1],中的元素取值范围为[0, 1],而为n
tr
列相同的组成的矩阵,符号 表示矩阵的moore-penrose广义逆。
[0057]
由于elm网络参数均不需要采用迭代优化的方式来获得,这使得它具有训练速度快的优点;但由于输入层w和隐藏层b是通过随机方式产生的,elm也存在一定的局限性:严重依赖随机初始化情况,表现不稳定;难以找到全局最优解;为克服上述缺点,同时保留elm部分性能优势,采用一种新型mma优化算法来获得w和b系数矩阵,而v系数矩阵仍通过式(5)所示的moore-penrose广义逆来直接求得。
[0058]
基于原始ma的优化算法设计
[0059]
ma算法是由konstantinos zervoudakis等人提出来的一种新型的元启发式优化算法,它的灵感来自于雌雄蜉蝣生物的飞行运动以及交配行为。在一群蜉蝣生物中,每个蜉蝣在限定搜索空间中的位置代表一个解决方案,算法的目的是通过模拟蜉蝣群体的社交行为来找寻使得适应度值最大的全局最优位置。针对elm网络结构参数的优化,每个蜉蝣的位置可用一个多维向量x=(x1,

,xi,

,xd)来表示,x由w和b系数矩阵中的所有元素组成,位置向量的维度d=ni×
nb nb,式中ni为elm网络输入层的节点数量,nb为隐藏层的节点数量。为了评价每个蜉蝣位置的性能优劣,设计了一个目标函数来计算各个位置的适应度值,如下式(6)所示:
[0060][0061]
式中,lb
kj
表示验证集中第k个位姿误差标签的第j个节点元素,no为elm网络输出层的节点个数,n
va
为验证集中的样本个数;当elm网络的输入为验证集中的时,网络输出值的第j个节点元素用ot
kj
表示;ma算法的目的是找到一组全局最优位置使得上述目标函数具有最小适应度值
[0062]
ma算法主要包含以下几种操作:位置初始化、雌性蜉蝣运动、雄性蜉蝣运动、雌雄蜉蝣交配。为了描述这些操作过程,雄性蜉蝣群体的位置表示为雌性蜉蝣群体的位置表示为式中n
ma
和n
fm
分别表示雄性和雌性蜉蝣群体的数量,通常情况下n
ma
=n
fm
;雄性和雌性蜉蝣的位置可以通过式(7)和(8)进行初始化:
[0063][0064][0065]
上两式中,rand()为生成均匀随机数的函数,并把其生成的数字限制在[x
min
,x
max
]范围内,在此[x
min
,x
max
]=[-1, 1]。
[0066]
每个蜉蝣都会在迭代过程中不断调整自己的位置,而位置的变化受到个体历史最佳位置以及整个群体最佳位置的双重影响。雄性蜉蝣与雌性蜉蝣的位置更新策略有所不同:雄性蜉蝣一般会聚集在一起,通过各自独特的运动方式斗舞来吸引雌性蜉蝣进行交配,因此雄性蜉蝣的位置更新会受到相邻个体的影响,且其位置更新速度不会太快;而雌性蜉蝣不会抱团运动,她们依据所在位置的适应度值进行排名,直接飞往排名与自身相匹配的雄性蜉蝣所在位置。雄性蜉蝣在每一个迭代周期t的位置更新方式如下式(9)所示:
[0067][0068]
式中,表示第m个雄性蜉蝣在第i个维度的位置更新速度,其表达式如下式(10)所示:
[0069][0070]
式中,dc为逐步衰减的舞蹈系数,dc
t 1
=dc
t
·
dc
damp
(0<dc
damp
<1为衰减系数),a1和a2为正吸引力系数,β为蜉蝣的能见度系数,g∈(0,1]为重力系数,为蜉蝣当前位置与自身个体历史最佳位置之间的距离,为蜉蝣当前位置与整个群体最佳位置的距离。
[0071]
雌性蜉蝣在每一个迭代周期t的位置更新方式如下式(11)所示:
[0072][0073]
式中,表示第m个雌性蜉蝣在第i个维度的位置更新速度,其表达式如下式(12)所示:
[0074][0075]
式中,a3为正吸引力系数,fl为逐步衰减的随机游走系数,fl
t 1
=fl
t
·
fl
damp
(0<fl
damp
<1为衰减系数),rand为[-1, 1]范围内的一个随机数,为雄性蜉蝣与雌性蜉蝣之间的距离。
[0076]
雄性蜉蝣与雌性蜉蝣完成一次位置更新后,通过式(6)计算各个位置的适应度值,并依据适应度值进行排序,排名相匹配的雌雄蜉蝣进行交配,并且每一对蜉蝣可以繁殖出两个后代蜉蝣,繁殖的后代蜉蝣位置可由下式(13)获得:
[0077][0078]
式中,n
off
表示后代蜉蝣的数量,l=rand(0,1)为随机数;后代蜉蝣的初始速度设置为0;为了控制蜉蝣群体的数量,繁殖出来的后代蜉蝣还需计算其适应度值,并用性能高的后代蜉蝣替换掉性能低的蜉蝣;ma算法的具体工作机制可参考原论文,其基本流程包括以下几个步骤:
[0079]
初始化雄性蜉蝣与雌性蜉蝣位置和各个参数;
[0080]
计算各个蜉蝣位置的适应度值,并进行排序,筛选出每个蜉蝣个体历史最佳位置以及整个群体最佳位置
[0081]
更新雌性蜉蝣位置与雄性蜉蝣位置,并通过交配繁殖出后代蜉蝣;
[0082]
计算各个蜉蝣位置适应度值,更新和并完成新旧蜉蝣替换;
[0083]
判断是否满足停止条件,若满足则退出迭代,否则重复步骤c)~e)。
[0084]
对ma算法的改进策略
[0085]
ma算法结合了群体智能算法和进化算法的主要优势,具有较强的寻优能力和较快的收敛速度,但它还存在以下不足之处:首先,ma算法的初始种群是利用式(7)和(8)所示的纯随机策略生成的,当随机出来的个体位置在最优解附近时,算法可以快速收敛,而当所有个体初始位置均远离最优位置时,算法收敛时间变长甚至陷入局部最优陷阱;随机初始化种群个体的不均匀性问题,使得算法的收敛速度难以预估;此外,虽然ma算法通过式(13)所示的繁殖方式可以加强算法的搜索能力,提高算法的搜索精度,但是后代种群的生成位置局限于原有种群位置的附近区域。在算法后期,随着搜索范围的缩小,ma算法仍然具有较高的陷入局部最优陷阱的风险。为了改善上述问题,本文对ma算法进行了两个方面的改进。
[0086]
(1)基于改进型tent映射与反向学习理论的ma种群初始化策略改进
[0087]
针对种群初始化问题,本发明采用高随机性、高遍历性的tent混沌映射代替随机函数来生成蜉蝣种群的初始位置,以提高初始种群的多样性、提升算法的全局搜索能力。在
此基础上再利用反向学习理论,对初始种群进行一次初步选优,进而提升算法的收敛成功率与收敛速度。tent混沌映射具有优良的遍历均匀性,但它存在小周期和不稳定周期点问题,因而本文采用的是一种改进型的tent映射,其表达式如下式(14)所示:
[0088][0089]
式中,zi代表混沌变量值,a4∈(0,1)是一个常数,通常选取a4=0.5;由于tent映射生成出来的数值不一定在蜉蝣种群位置的限定范围内,因而还需要将其载波到设定的位置解空间,如下式(15)所示:
[0090]
x
mi
=x
min
(x
max-x
min
)ziꢀꢀꢀꢀ
(15)
[0091]
反向学习理论(opposition-based learning,obl)由tizhoosh提出,目的在于求解原始种群的反向种群,以扩大搜索空间,并在原始种群与反向种群间进行一次对比,筛选出适应度值更高的个体组成新的初始种群。通过tent映射生成的种群位置的反向位置可以由下式(16)获得:
[0092][0093]
(2)基于柯西变异扰动的防局部最优陷阱策略
[0094]
针对局部最优陷阱风险,本发明采用一种变异扰动策略,在ma算法的最后选取一定比例的蜉蝣群体再进行一次位置变异,将这部分种群随机跳变至距离当前位置较远的新区域,以探测是否存在更优的位置解。这种处理方式既保留了原有繁殖群体的局部搜索能力,又增加了新的全局搜索能力,可以降低陷入局部最优陷阱的概率。柯西变异是最为常用的变异扰动方法之一,它已广泛的应用在了多种元启发式算法中,标准的柯西分布公式如式(17)所示。本发明从蜉蝣繁殖的后代群体中随机选取n
mu
t个蜉蝣,并利用柯西变异方法对它们的位置进行变异处理,如式(18)所示。变异后的种群与原始后代种群组合成新的后代种群,为了保持种群数量不变,依据适应度值该种群进行排序,筛选出性能优良的前n
off
个蜉蝣作为最终的后代种群进入算法的下一个环节。
[0095][0096][0097]
上式(18)中,ci是依据式(17)产生的随机数。
[0098]
mma-elm运动误差预测模型
[0099]
综合上述设计的elm网络结构,以及改进的ma优化算法,最终设计的mma-elm运动误差预测模型算法的伪代码如下表所示:
[0100][0101][0102]
与现有的机器人运动误差补偿算法相比,本发明属于一种基于数据的无模型算法,无需要建立精确的数学模型,可以对几何类误差和非几何类误差同时进行补偿,本发明
提出了一种机器人运动误差补偿方法,其基于改进型蜉蝣算法优化的极限学习机(mma-elm)网络模型来预测机器人执行末端的运动误差,该算法模型保留了elm网络结构简单、训练速度快等优点,同时克服了其性能不稳定、难以找到最优解等不足之处;因此,本发明所提出来的算法具有结构简单、预测精度高、性能稳定、训练速度快等优势。
[0103]
为了验证本发明所提出的运动误差补偿算法的有效性,在一个6自由度机器人上开展了运动误差预估实验以及运动误差补偿前后机器人运动精度对比实验,并对比分析了多种算法的实验效果;实验结果表明,通过mma-elm算法补偿后,机器人执行末端绝对位置误差δp相比补偿前降低了85.14%,可以明显看出,本发明所提出来的算法具有结构简单、预测精度高、性能稳定、训练速度快等优势。
[0104]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0105]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献