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

一种基于神经网络的机械臂逆运动学求解方法、电子设备及存储介质与流程

2021-11-09 21:44:00 来源:中国专利 TAG:


1.本发明涉及机械臂的逆运动学求解技术领域,具体涉及一种基于神经网络的机械臂逆动学求解方法、电子设备及存储介质。


背景技术:

2.随着机器人技术的发展,机械臂已经被应用到工业、农业、医疗等各个领域,代替人力完成各种复杂的任务。机械臂的运动学求解作为后续轨迹规划、运动控制等环节的前提和基石,已经成为科研人员们的热点研究方向。
3.机械臂的运动学求解分为正运动学求解和逆运动学求解,正运动学就是已知各个关节的角度,推算出机械臂末端的位姿,可直接通过 d-h参数表和矩阵变换解决;逆运动学则是正运动学的逆过程,即已知机械臂末端的位姿,要求算出各个关节的角度,进而通过对关节角度的调节实现机械臂末端的预设位姿。逆运动学由于其求解过程复杂、精度不高等问题,是科研人员们一直以来的研究重点。
4.目前,机械臂的逆运动学求解方法主要分为三种,分别是:解析法、几何法、迭代法。但由于机械臂种类繁多、结构复杂,解析法和几何法存在计算复杂、通用性差、闭式解不存在从而无法应用等缺陷,而传统的迭代法也存在计算复杂度大、初始点设置不当导致收敛不到精确解等缺陷。随着人工智能技术的不断发展,神经网络凭借其自身的优点,成为科研人员们解决机械臂的逆运动学问题的重要工具。
5.现有技术大多以机械臂的末端位姿作为神经网络的输入,以关节角作为神经网络的输出。神经网络的结构大多套用已有的网络结构,如常用的多层感知机(multilayer perceptron,mlp)结构、径向基函数(radial basis function,rbf)网络结构、elman结构等,或者在神经网络的优化算法上面做一些改造,例如以遗传算法、模拟退火等算法优化神经网络的参数。
6.神经网络有许多优点,但是也有一个众所周知的性质,那就是黑箱性质,因此神经网络的可解释性不强;且现有技术大多都直接套用已有的网络结构,如mlp、rbf等,没有针对数据本身的特点设计网络结构,因此除了可解释性不强的缺陷以外,也没有充分利用数据中包含的信息。


技术实现要素:

7.为了克服现有技术中用于机械臂逆运动学求解的神经网络存在的问题,本发明从数据本身的特点出发,提供一种基于神经网络的机械臂逆运动学求解方法,该方法不仅能增强神经网络的可解释性,还可以充分挖掘出数据中蕴含的信息,提升神经网络的精确性。
8.基于上述目的,本发明的技术方案如下:
9.一种基于神经网络的机械臂逆运动学求解方法,其中,将机械臂的末端位姿变量作为神经网络的输入、机械臂的关节变量作为神经网络的输出,神经网络的输出个数、机械
臂的自由度个数及机械臂的关节个数相等,所述方法包括:对每个输入进行向量化,将其转化为对应的属性向量;将各属性向量输入第一权重计算模块,得到各属性向量对应的第一权重;利用各第一权重对相应的属性向量进行加权后求和,得到第一全连接神经网络模块的输入向量,第一全连接神经网络模块的输出为至少部分关节变量的预测值。
10.进一步地,所述对每个输入进行向量化具体为,为每个输入设置对应的第一权值向量,输入与对应的第一权值向量相乘得到对应的属性向量。
11.进一步地,所述第一权重计算模块的输入还包括辅助向量,所述辅助向量与各属性向量进行运算,得到各属性向量对应的第一权重。
12.一种实施方式为,所述第一全连接神经网络模块输出所有关节变量的预测值。
13.另一种实施方式为,所述神经网络包括至少两个全连接神经网络模块;所述第一全连接神经网络模块输出部分关节变量的预测值,其中包括第一关节变量的预测值,所述第一关节变量所对应的关节距离机械臂末端最远;为所述第一关节变量的预测值设置对应的第二权值向量,所述第一关节变量的预测值与对应的第二权值向量相乘得到对应的标签向量;将所述第一关节变量预测值对应的标签向量与各属性向量输入第二权重计算模块,所述第一关节变量预测值对应的标签向量与各属性向量进行运算,得到各属性向量对应的第二权重;利用各第二权重对相应的属性向量进行加权后求和,得到第二全连接神经网络模块的输入向量,第二全连接神经网络模块的输出为至少部分剩余关节变量的预测值,其中包括第二关节变量的预测值,所述第二关节变量所对应的关节距离机械臂末端次远。
14.进一步地,所述第一全连接神经网络模块仅输出第一关节变量的预测值,所述第二全连接神经网络模块仅输出第二关节变量的预测值;以求解第二关节变量预测值的方式进行类推,依次计算出剩余关节变量的预测值。
15.进一步地,所述运算采用权重计算函数进行,所述权重计算函数为点积运算、曼哈顿距离运算、欧式距离运算或余弦距离运算。
16.进一步地,在利用神经网络进行机械臂逆运动学求解前,先对神经网络的超参数进行确定,其中,超参数包括全连接神经网络模块的隐层层数、隐层神经元数目和学习率,以及属性向量的维数、权重计算函数。
17.相应地,本发明还提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机指令,其中,所述计算机指令被所述处理器运行时执行前述的求解方法。
18.相应地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述的求解方法。
19.本发明具有以下有益效果:
20.本发明采用的方法可得到机械臂逆运动学中输入输出之间的对应关系,具有很强的鲁棒性和容错性;不仅能增强可解释性,还可以充分挖掘出数据中蕴含的信息,提升神经网络的精确性。
21.下文将结合附图对本发明具体实施例进行详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
22.图1是本发明一实施例的基于神经网络的机械臂逆运动学求解方法的流程图;
23.图2是本发明逆运动学求解方式中所采用的一种神经网络结构示意图;
24.图3是训练集上的loss在四种h候选值上的变化趋势图;
25.图4是本发明逆运动学求解方式中所采用的另一种神经网络结构示意图;
26.图5是本发明逆运动学求解方式的一实施例的示意图;
27.图6是本发明逆运动学求解方式的又一实施例的示意图;
28.图7是本发明的电子设备结构示意图。
具体实施方式
29.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
30.需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述特定的顺序。
31.如图1所示,本发明实施例提供了一种基于神经网络的机械臂逆运动学求解方法,其中,将机械臂的末端位姿变量作为神经网络的输入、机械臂的关节变量作为神经网络的输出,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数相等,所述方法包括:对每个输入进行向量化,将其转化为对应的属性向量;将各属性向量输入第一权重计算模块,得到各属性向量对应的第一权重;利用各第一权重对相应的属性向量进行加权后求和,得到第一全连接神经网络模块的输入向量,第一全连接神经网络模块的输出为至少部分关节变量的预测值。
32.现实中存在多种不同自由度的机械臂,如四自由度机械臂、六自由度机械臂等,下面以六自由度机械臂为例对方法进行描述。六自由度机械臂位姿研究中,可将其简化为7个连杆通过6个关节相连的机构,通过旋转6个关节可以使机械臂的末端到达三维空间中一定范围内的任意点。六自由度机械臂逆解问题即给定代表机械臂末端位姿的变量,要求计算出六个关节变量θ0、θ1、θ2、θ3、θ4、θ5的值。在本实施例的方法中,具体基于神经网络进行机械臂逆运动学求解,将机械臂的末端位姿变量作为神经网络的输入、机械臂的关节变量作为神经网络的输出,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数相等,对于六自由度机械臂,神经网络的输出个数、机械臂的自由度个数及机械臂的关节个数均为6。关于作为神经网络输入的机械臂末端位姿变量,可以将表示位置的p
x
、p
y
、p
z
和表示姿态的 n
x
、n
y
、n
z
、o
x
、o
y
、o
z
、a
x
、a
y
、a
z
共12维代表机械臂末端位姿的变量均作为神经网络的输入,也可以仅将3维位置变量作为输入 (即输入为p
x
、p
y
、p
z
),或者将姿态变量转化成3维欧拉角α、β、γ,然后再和位置变量一起输入神经网络(即输入为p
x
、p
y
、p
z
、α、β、γ);这些实施方式均是可行的,本实施方式采用12维输入的方式,即神经网络输入为i,(i=n
x
,n
y
,

,p
z
)。
33.本实施例中构建的一神经网络如图2所示。由于利用神经网络进行机械臂的逆运动学求解时,每一个输入都是一个实值,后面要在神经网络中计算其属性权重,为了便于后续计算处理,首先对每个输入进行向量化,将其转化为对应的属性向量,具体地,可以为每个输入设置对应的第一权值向量,输入与对应的第一权值向量相乘得到对应的属性向量,假设为每个输入设置对应的第一权值向量w
i
,(i= n
x
,n
y
,

,p
z
),每个输入乘以对应的权
值向量,将每个输入都转化成对应的属性向量v
i
,(i=n
x
,n
y
,

,p
z
),即v
i
=i*w
i
,(i=n
x
,n
y
,

,p
z
)。
34.而后,将各属性向量v
i
输入第一权重计算模块,得到各属性向量对应的第一权重。图2中,第一权重计算模块为f
w
,第一权重计算模块f
w
的输入还引入一个辅助向量v
c
,辅助向量v
c
的作用是辅助各个属性权重的计算,它会在神经网络的学习过程中不断优化,用以捕捉关节空间的变化,然后运用到属性权重的计算中。第一权重计算模块f
w
将辅助向量v
c
与各属性向量v
i
进行运算,得到各属性向量对应的第一权重。其中,运算可以采用权重计算函数进行,假设权重计算函数也记为f
w
,各属性向量v
i
对应的第一权重为α
i
,(i=n
x
,n
y
,

,p
z
),则α
i
=f
w
(v
c
,v
i
),(i=n
x
,n
y
,

,p
z
)。权重计算函数可以将向量之间的各个基本运算方法作为候选项,例如可为点积运算、曼哈顿距离运算、欧式距离运算或余弦距离运算等。可以理解的,前面所述的权值向量、属性向量及辅助向量的维数必然是一致的。
35.接着,利用各第一权重α
i
对相应的属性向量v
i
进行加权求和,得到第一全连接神经网络模块的第一输入向量即即将第一输入向量输入第一全连接神经网络模块,经过第一全连接神经网络模块得到至少部分关节变量的预测值。图2中,第一全连接神经网络模块的输出为所有关节变量的预测值
36.图2的神经网络中,第一权值向量w
i
,(i=n
x
,n
y
,

,p
z
)和辅助向量v
c
均为网络参数,会在网络训练过程中参与优化,以不断提高神经网络预测结果的准确性。
37.在利用神经网络进行机械臂逆运动学求解前,需要先对神经网络的超参数进行确定。对于图2中的神经网络,超参数包括全连接神经网络模块的隐层层数n、隐层神经元数目h和学习率α(所有神经网络共有的超参数),以及属性向量的维数k、权重计算函数f
w
(本发明神经网络特有的超参数)。对于各项超参数的确定,可以采用所属技术领域常用的操作方式进行调试确定。
38.例如,对于图2中的神经网络,由于输入属性只有12维,再权衡网络复杂度和时间效率,隐层的层数n直接按经验定为2,接下来只需利用采集的实验数据确定剩下的4个超参数即可,其中,隐层神经元数目h和学习率α由全连接神经网络模块来调试确定,全连接神经网络模块具体采用mlp结构,而属性向量的维数k和权重计算函数f
w
由图2中的神经网络来调试确定。
39.首先对隐层神经元数目h进行确定,综合考虑网络的复杂度和深度等结构特点,可先将学习率α固定为一个经验值0.005,训练轮数设置为500轮,对于h的候选项,考虑以2的幂次方递进,因此选择128、256、512、1024四个候选项。如图3所示是训练集上的损失函数loss在四种h候选值上的变化趋势(神经网络的损失函数选择均方误差),其中,横轴表示训练的轮数,从图中可以看出在训练 500轮的情况下loss基本上已经收敛,h从128到256时,loss呈现了大幅度的下降,而再增加到512时下降幅度明显减缓,再往上增加到1024之后loss出现了回升,由此看出h为512时,网络在训练集上的学习表现最佳。
40.h已经确定为512,接下来需要确定学习率α的取值。对于学习率α的候选项,以经验值0.005往前选取0.002和0.003两个值,往后选取0.008,因此确定四个候选值,分别为0.002、0.003、0.005、 0.008。以类似于确定h的方法,观察训练集上的损失函数loss在四种
α候选值上的变化趋势,确定出学习率α为0.003时最佳。
41.对于属性向量的维数k的候选项的选择,考虑到输入维度只有 12维,为了不失公平性,k的取值不能跟12相差太大,因此选取8、 12、16、20四个值作为k的候选值。网络的学习率α和全连接神经网络模块的隐层神经元数目h则使用已经确定好的0.003和512,而权重计算函数f
w
则暂时固定为向量点积计算,即观察训练集上的损失函数loss在四种k候选值上的变化趋势,确定出属性向量的维数k为16时最佳。
42.最后是权重计算函数f
w
的确定,f
w
同样设置了4种候选项,分别为点积、曼哈顿距离、欧式距离和余弦距离。观察训练集上的损失函数loss在四种f
w
候选值上的变化趋势,确定出f
w
为余弦距离时最佳。
43.上述实施例中的方法考虑到关节变量的情况,当关节变量在其关节空间中变化时,各输入的属性重要程度可能也会随之变化,因此,引入属性权重,从而使神经网络可依据关节空间的变化,时刻聚焦于更重要的输入属性;但该权重只计算一次便用于预测整个关节空间,即同时预测6个关节变量,粒度比较粗。更细粒度地考虑到在预测不同的关节变量时,其属性的权重也会不同,因此可以将6个关节变量分开进行预测。
44.图4所示的一实施例中的神经网络,其为每个关节变量分别计算一套属性权重。该神经网络的前面部分与前述实施例是一致的,不再赘述。图4中,α0即为图2中α
i
,(i=n
x
,n
y
,

,p
z
)的集合,其由辅助向量v
c
与各属性向量v
i
运算而得,图4中α0所连接的符号“·”即代表将α0中的元素α
i
与对应的属性向量v
i
进行加权求和,得到第一全连接神经网络模块的第一输入向量即即将第一输入向量输入第一全连接神经网络模块,经过第一全连接神经网络模块输出第一关节变量θ0的预测值第一关节变量θ0所对应的关节距离机械臂末端最远。
45.为第一关节变量θ0的预测值设置对应的第二权值向量第一关节变量θ0的预测值与对应的第二权值向量相乘得到对应的标签向量将第一关节变量预测值对应的标签向量与各属性向量v
i
输入第二权重计算模块,第一关节变量预测值对应的标签向量与各属性向量v
i
进行运算,得到各属性向量对应的第二权重α1;利用第二权重α1中的各元素对相应的属性向量v
i
进行加权后求和,得到第二全连接神经网络模块的输入向量第二全连接神经网络模块的输出为第二关节变量θ1的预测值第二关节变量θ1所对应的关节距离机械臂末端次远。
46.以求解第二关节变量预测值的方式进行类推,依次计算出剩余关节变量的预测值此处“依次”是指先计算距离机械臂末端较远的关节变量,后计算距离机械臂末端较近的关节变量,即θ0、θ1、θ2、θ3、θ5对应的关节距离机械臂末端由远及近。
47.图4的神经网络中,第一权值向量为w
i
,(i=n
x
,n
y


,p
z
)、辅助向量v
c
、第二权值向量以及后面的权值向量等均为网络参数,会在网络训练过程中参与优化,以不断提高神经网络预测结果的准确性。
48.该实施方式采用链式结构按顺序预测各个关节变量,且预测不同关节变量时,都重新计算其属性权重,即先预测θ0的值再重新计算属性权重,并且将用于预测θ1,再重新计算属性权重,并且将用于预测θ2,以此类推,直到预测出这样可以使属性权重随着关节空间适时变化,并且前序关节的预测信息会融合到标签向量中,用于预测后继关节变量,以充分利用各相邻关节之间的相关性,使预测更加精准,网络收敛更快。
49.图4中神经网络的超参数可与图2中神经网络的超参数保持一致。利用训练集对图2、图4中的神经网络进行训练,而后在验证集上测试其效果。具体地,可以先构造出六自由度机械臂的d-h参数表,然后在关节空间随机生成p条样本,每条样本以六元组 <θ0,θ1,θ2,θ3,θ4,θ5>表示,利用正运动学求解,求出每条样本对应的末端位姿<n
x
,n
y
,n
z
,o
x
,o
y
,o
z
,a
x
,a
y
,a
z
,p
x
,p
y
,p
z
>,将p条样本划分为训练集和验证集,训练集占q条,验证集占p-q条;以 <n
x
,n
y
,n
z
,o
x
,o
y
,o
z
,a
x
,a
y
,a
z
,p
x
,p
y
,p
z
>作为神经网络的输入,以 <θ0,θ1,θ2,θ3,θ4,θ5>作为输出,在训练集上训练神经网络;神经网络训练结束之后,在验证集上验证其性能。
50.取上述p为10万,q为8万,分别使用mlp神经网络和图2、图4所对应的神经网络验证其性能,预测出6个关节角的值,然后计算出6个关节角的平均绝对误差(mean absolute error,mae),再通过正运动学求解,算出机械臂末端的位置,从而计算出末端真实位置和预测位置之间的平均欧式距离(mean euclidean distance,med)。
51.用mlp结构的神经网络可以使验证集上关节角的mae达到 0.16098,即9.22
°
,而机械臂末端真实位置和预测位置之间的med 为3.74488cm;使用图2中的自适应属性权重的神经网络(adaptivefeature weights neural network,afwnn)将关节角的mae降到了 6.85
°
,将末端真实位置和预测位置之间的med降到了2.7604cm;使用图4中的自适应属性权重的链式神经网络(adaptive feature weightschain neural network,afwcnn)则将关节角的mae降到了0.09825,即5.63
°
,即下降了38.94%,将末端真实位置和预测位置之间的med 降到了1.1867cm,即下降了68.31%。
52.进一步地,如果分别考察mlp、afwnn(图2的神经网络)、 afwcnn(图4的神经网络)分别在6个关节变量上的mae,例如可能发现如下情况:afwcnn在θ0、θ1、θ2的预测上较另外两种神经网络的改进非常大,表明此时利用前序关节变量的信息对预测后继关节变量的帮助很大;而第四个关节变量θ3的预测的改进程度不及前面三个变量,由此可以看出机械臂的第四个关节和前三个关节分属于两个模块,相互之间的相关性并不大;第五个关节变量的改进程度也较好,说明第四个关节和第五个关节依然属于同一模块,相互之间相关性比较强;然而afwcnn在最后一个关节变量θ5上的误差反而大于了afwnn(但afwcnn的误差仍然小于传统的mlp),由此表明机械臂最后一个关节相对独立,与前序关节没有相关性,因此前序关节的信息对其预测无法起到帮助作用,甚至出现了误导效应。
53.为此,可以根据机械臂各关节之间的相互关系,调整最终神经网络的结构。例如针对上面举出的情况,可以在第一全连接神经网络模块输出θ0、θ3以及θ5的预测值,而后利用θ0的预测值更新权重,在第二全连接神经网络模块输出θ1的预测值再利用θ1的预测值更新权重,在第三全连接神经网络模块输出θ2的预测值类似地,利用θ3的预测值更新权重,在第四全连接神经网络模块输出θ4的预测值从而得到所有的预测值
预测的链条过程如图5所示。还可以在第一全连接神经网络模块输出θ0的预测值,而后利用θ0的预测值更新权重,在第二全连接神经网络模块输出θ1的预测值再利用θ1的预测值更新权重,在第三全连接神经网络模块输出θ2的预测值θ3的预测值(由于第四个关节和前三个关节关联性不大,因此无需单独更新权重);类似地,利用θ3的预测值更新权重,在第四全连接神经网络模块输出θ4的预测值θ5的预测值(由于最后一个关节相对独立,因此无需单独更新权重),从而得到所有的预测值预测的链条过程如图 6所示。
54.可见上述经调整后的afwcnn神经网络充分考虑了关节之间的关联关系,使得神经网络中至少存在两个全连接神经网络,位于链条前端的全连接神经网络模块输出的预测值用于更新权重,从而更新后端全连接神经网络模块的输入,提高预测值的精度;其中,用于更新权重的预测值所对应的关节与后端全连接神经网络模块输出所对应关节之间直接串联,且前者较后者距离机械臂的末端更远。
55.图7为本技术实施例提供的一种电子设备结构示意图,该设备包括处理器71和存储器72,存储器72和处理器71之间通过总线相互连接。存储器包括但不限于是随机存储记忆体(random access memory, ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cd-rom),该存储器用于相关指令及数据。
56.处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(central processing unit,cpu),在处理器是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。存储器用于存储网络设备的程序代码和数据。处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
57.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
58.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线 (digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
59.所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,
dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
60.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器 (read-only memory,rom)或随机存储存储器(random access memory, ram)、磁碟或者光盘等各种可存储程序代码的介质。
61.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献