一种基于跳增益积分神经网络的冗余机械臂运动规划方法

allin2022-07-12  198



1.本发明涉及冗余机械臂运动规划领域,特别涉及一种基于跳增益积分神经网络的冗余机械臂运动规划方法。


背景技术:

2.冗余机械臂是一种自由度数多余完成任务所必须的自由度数的末端能动机械装置,由于具有更多的自由度,冗余机械臂在完成末端执行器的主要任务时,还可以完成诸如躲避障碍物、关机极限位置、机械臂奇异状态等额外的任务。冗余机械臂的运动任务包括焊接、油漆、组装、挖掘和绘图等,广泛应用于装备制造、产品加工、机器作业等国民经济生产活动中。
3.冗余机械臂的逆运动学问题是指已知机械臂末端位姿,确定机械臂的关节角问题。传统的方法解决冗余机械臂逆运动学问题是基于伪逆的方法,这种方法计算量大,实时性差,考虑问题约束单一,在处理不等式约束上有困难,而且它会遇到奇异情况而生成不可行解,在实际机械臂的应用中受到很大的制约。近年来,二次规划方案来解决冗余机械臂重复运动的方法被提出,这其中又分为数值方法求解器和神经网络求解器。相较于数值方法求解器,神经网络求解器具有更加高效、实时性更好的优点。在此基础上,只要能成功地求解带有边界约束条件的时变线性方程组,就能实现约束机器人操纵臂的控制目的。本发明提出的基于跳增益的积分神经网络求解器比经典的递归神经网络求解器,计算精度更高,鲁棒性更好。
4.现有技术中,专利一种抗噪声干扰的冗余度机械臂路径规划方法,主要有以下几方面缺陷:
5.1、没有考虑到机械臂关节角的角度和速度限制;
6.2、使用变参递归神经动力学方法,其增益增加不适用于实际应用,并且会导致计算时间过长。


技术实现要素:

7.本发明的目的在于针对冗余机械臂运动规划问题,提出一种计算精度更高,抗干扰能力更好的基于跳增益积分神经网络的冗余机械臂运动规划方法。
8.本发明的目的至少通过如下技术方案之一实现。
9.一种基于跳增益积分神经网络的冗余机械臂运动规划方法,包括如下步骤:
10.s1、根据冗余机械臂末端轨迹,通过上位机在速度层上建立机械臂逆运动学方程;
11.s2、将步骤s1中的机械臂逆运动学方程设计为带有边界约束条件的时变线性方程组;
12.s3、将步骤s2中的带有边界约束条件的时变线性方程组转化为时变的等式与不等式系统求解问题;
13.s4、将步骤s3中的时变等式与不等式系统转化为一个误差函数;
14.s5、将步骤s4中的误差函数关于时间的导数代入基于跳增益的积分神经网络进行求解,得到冗余机械臂在速度层上的最优解;
15.s6、将步骤s5中求得的冗余机械臂在速度层上的最优解进行积分,得到关节角度的最优解;
16.s7、将步骤s6中求得的关节角度的最优解传递给下位机控制器驱动机械臂运动。
17.进一步地,步骤s1中,冗余机械臂逆运动学方程表示为:
18.f(θ(t))=re(t);
19.其中,t为时间参数,θ(t)为随时间t变化的机械臂关节角度,re(t)为机械臂随为随时间t变化的期望末端轨迹,f(θ(t))为关于机械臂关节角度θ(t)的非线性方程;
20.对关于机械臂关节角度θ(t)的非线性方程两边关于时间参数t求导得到速度层上的逆运动学方程:
[0021][0022]
其中,j(θ(t))为机械臂的雅克比矩阵,和分别为机械臂关节角度和末端轨迹关于时间t的导数,即机械臂关节角速度和末端移动速度。
[0023]
进一步地,步骤s2中,将步骤s1中获取的逆运动学方程设计为带有边界约束条件的时变线性方程组,具体如下:
[0024][0025]
边界约束条件为:
[0026][0027][0028]
其中,θ
+
和θ-分别代表关节角度θ(t)的上限和下限,和分别代表关节角速度的上限和下限。
[0029]
进一步地,步骤s3中,令步骤s2中获取的带有边界约束条件的时变线性方程组转化为一个时变的等式与不等式系统,具体如下:
[0030]
a(t)x(t)=b(t);
[0031]
c(t)x(t)≤d(t);
[0032]
其中,系数a(t)为机械臂的雅克比矩阵j(θ(t)),b(t)为机械臂末端轨迹关于时间t的导数c(t)=[-i;i],符号 i为单位矩阵,k>0为任意常数。
[0033]
进一步地,步骤s4中,为了更好地控制时变的等式与不等式系统的求解过程,定义一个误差函数e(t),具体如下:
[0034]
e(t)=[a(t)x(t)-b(t);c(t)x(t)-d(t)]=m(t)x(t)-q(t),
[0035]
其中m(t)=[a(t);c(t)],q(t)=[b(t);d(t)]。
[0036]
进一步地,步骤s5中,将误差函数e(t)关于时间t的导数代入跳增益积分神经网络模型,即在积分递归神经网络基
础上的一种变形得到如下跳增益积分神经网络求解器:
[0037][0038]
其中,分别为m(t)、x(t)、q(t)关于时间t的导数,λ=[i;n(0)],e(0)和n(0)分别为e(t)和n(t)的初始值,ρ、σ和γ为表示跳增益积分神经网络收敛速率的常数,第一激活函数和第二激活函数g(
·
)均为跳增益积分神经网络的激活函数,且均为单调递增的奇函数,表示阶跃函数矩阵,操作。表示hadamard积,是的伪逆;通过基于跳增益的积分神经网络进行求解最终得到等式与不等式系统的最优解x
*
(t)。
[0039]
进一步地,第一激活函数为有界激活函数,包括线性激活函数。
[0040]
进一步地,第二激活函数g(
·
)包括线性激活函数或bipolar-sigmoid激活函数。
[0041]
进一步地,步骤s6中,通过对跳增益积分神经网络求解器解得的最优解x
*
(t) 进行积分,得到冗余机械臂的关节角度最优解θ
*

[0042]
进一步地,步骤s7中,将求得关节角度的最优解θ
*
传递给下位机控制器驱动机械臂运动。
[0043]
与现有技术相比,本发明具有如下优点:
[0044]
1、与传统的基于伪逆的方法相比,本发明通过等式与不等式方案解决冗余机械臂运动规划问题,能考虑多种约束条件,直接求解,实时性好;
[0045]
2、与数值方法求解器相比,本发明属于神经网络求解器,计算速度快,效率更高;
[0046]
3、与经典的递归神经网络求解器相比,本发明采用新型的跳增益积分神经网络求解器,收敛速度更快,计算精度更高,鲁棒性更好。
附图说明
[0047]
图1为本发明实施例中的流程图;
[0048]
图2为本发明实施例中的应用示意图;
[0049]
图3a为本发明实施例中六连杆机械臂追踪蝴蝶轨迹的模拟运动轨迹示意图,图3b为本发明实施例中六连杆机械臂的机械臂运动轨迹和期望的蝴蝶轨迹示意图;图3c为本发明实施例中六连杆机械臂的轨迹跟踪误差图;
[0050]
图4a为本发明实施例中六连杆机械臂追踪四叶草轨迹的模拟运动轨迹示意图,图4b为本发明实施例中六连杆机械臂的机械臂运动轨迹和期望的四叶草轨迹示意图;图4c为本发明实施例中六连杆机械臂的轨迹跟踪误差图。
具体实施方式
[0051]
下面结合附图和实施例对本发明做进一步的说明。
[0052]
实施例1:
[0053]
如图2所示,本发明应用的系统包括上位机1、冗余机械臂(含控制器)2和目标物体3。
[0054]
一种基于跳增益积分神经网络的冗余机械臂运动规划方法,如图1所示,包括如下步骤:
[0055]
s1、根据冗余机械臂末端轨迹,通过上位机在速度层上建立机械臂逆运动学方程;
[0056]
冗余机械臂逆运动学方程表示为:
[0057]
f(θ(t))=re(t);
ꢀꢀꢀ
(1)
[0058]
其中,t为时间参数,θ(t)为随时间t变化的机械臂关节角度,re(t)为机械臂随为随时间t变化的期望末端轨迹,f(θ(t))为关于机械臂关节角度θ(t)的非线性方程;方程(1)表示由已知的末端位置,求机械臂各个关节对应时刻的位置,由于方程的非线性,方程的解并不唯一,故本发明在速度层上考虑问题。
[0059]
对关于机械臂关节角度θ(t)的非线性方程两边关于时间参数t求导得到速度层上的逆运动学方程:
[0060][0061]
其中,j(θ(t))为机械臂的雅克比矩阵,和分别为机械臂关节角度和末端轨迹关于时间t的导数,即机械臂关节角速度和末端移动速度。
[0062]
s2、通过求解时变等式与不等式系统的方法来解决冗余机械臂运动规划的问题;将步骤s1中的机械臂逆运动学方程设计为带有边界约束条件的时变线性方程组,具体如下:
[0063][0064]
其中,θ
+
和θ-分别代表关节角度θ(t)的上限和下限,和分别代表关节角速度的上限和下限。
[0065]
s3、将步骤s2中的带有边界约束条件的时变线性方程组转化为时变的等式与不等式系统求解问题;
[0066]
令步骤s2中获取的带有边界约束条件的时变线性方程组即公式(3)转化为一个时变的等式与不等式系统,具体如下:
[0067][0068]
其中,系数a(t)为机械臂的雅克比矩阵j(θ(t)),a(t)=j(θ(t))∈rm×n,b(t)为机械臂末端轨迹关于时间t的导数c(t)=[-i;i]∈r
2n
×n,符号i为单位矩阵,k>0为任意常数。
[0069]
s4、为了求解等式与不等式组(4),将步骤s3中的时变等式与不等式系统转化为一个误差函数e(t),具体如下:
[0070][0071]
其中m(t)=[a(t);c(t)],q(t)=[b(t);d(t)]。
[0072]
s5、将步骤s4中的误差函数关于时间的导数代入基于跳增益的积分神经网络进行求解,得到冗余机械臂在速度层上的最优解;
[0073]
通过神经动力学的方法,通过神经动力学的方法,将误差函数e(t)关于时间 t的导数代入跳增益积分神经网络模型(6),即在积分递归神经网络基础上的一种变形:
[0074][0075]
得到如下跳增益积分神经网络求解器:
[0076][0077]
其中,分别为m(t)、x(t)、q(t)关于时间t的导数,λ=[i;n(0)],e(0)和n(0)分别为e(t)和n(t)的初始值,ρ、σ和γ为表示跳增益积分神经网络收敛速率的常数,第一激活函数和第二激活函数g(
·
)均为跳增益积分神经网络的激活函数,且均为单调递增的奇函数,表示阶跃函数矩阵,操作。表示hadamard积,是的伪逆;通过基于跳增益的积分神经网络进行求解最终得到等式与不等式系统的最优解x
*
(t)。
[0078]
本实施例中,第一激活函数采用线性激活函数;第二激活函数g(
·
)采用 bipolar-sigmoid激活函数。
[0079]
s6、将步骤s5中求得的冗余机械臂在速度层上的最优解进行积分,得到关节角度的最优解;
[0080]
通过对跳增益积分神经网络求解器解得的最优解x
*
(t)进行积分,得到冗余机械臂的关节角度最优解θ
*

[0081]
s7、将步骤s6中求得的关节角度的最优解传递给下位机控制器驱动机械臂运动。
[0082]
实施例2:
[0083]
一种基于跳增益积分神经网络的冗余机械臂运动规划方法,如图1所示,包括如下步骤:
[0084]
s1、根据冗余机械臂末端轨迹,通过上位机在速度层上建立机械臂逆运动学方程;
[0085]
冗余机械臂逆运动学方程表示为:
[0086]
f(θ(t))=re(t);
ꢀꢀꢀ
(1)
[0087]
其中,t为时间参数,θ(t)为随时间t变化的机械臂关节角度,re(t)为机械臂随为随时间t变化的期望末端轨迹,f(θ(t))为关于机械臂关节角度θ(t)的非线性方程;方程(1)表示由已知的末端位置,求机械臂各个关节对应时刻的位置,由于方程的非线性,方程的解并不唯一,故本发明在速度层上考虑问题。
[0088]
对关于机械臂关节角度θ(t)的非线性方程两边关于时间参数t求导得到速度层上
的逆运动学方程:
[0089][0090]
其中,j(θ(t))为机械臂的雅克比矩阵,和分别为机械臂关节角度和末端轨迹关于时间t的导数,即机械臂关节角速度和末端移动速度。
[0091]
s2、通过求解时变等式与不等式系统的方法来解决冗余机械臂运动规划的问题;将步骤s1中的机械臂逆运动学方程设计为带有边界约束条件的时变线性方程组,具体如下:
[0092][0093]
其中,θ
+
和θ-分别代表关节角度θ(t)的上限和下限,和分别代表关节角速度的上限和下限。
[0094]
s3、将步骤s2中的带有边界约束条件的时变线性方程组转化为时变的等式与不等式系统求解问题;
[0095]
令步骤s2中获取的带有边界约束条件的时变线性方程组即公式(3)转化为一个时变的等式与不等式系统,具体如下:
[0096][0097]
其中,系数a(t)为机械臂的雅克比矩阵j(θ(t)),a(t)=j(θ(t))∈rm×n,b(t)为机械臂末端轨迹关于时间t的导数c(t)=[-i;i]∈r
2n
×n,符号i为单位矩阵,k>0为任意常数。
[0098]
s4、为了求解等式与不等式组(4),将步骤s3中的时变等式与不等式系统转化为一个误差函数e(t),具体如下:
[0099][0100]
其中m(t)=[a(t);c(t)],q(t)=[b(t);d(t)]。
[0101]
s5、将步骤s4中的误差函数关于时间的导数代入基于跳增益的积分神经网络进行求解,得到冗余机械臂在速度层上的最优解;
[0102]
通过神经动力学的方法,通过神经动力学的方法,将误差函数e(t)关于时间 t的导数代入跳增益积分神经网络模型(6),即在积分递归神经网络基础上的一种变形:
[0103][0104]
得到如下跳增益积分神经网络求解器:
[0105][0106]
其中,分别为m(t)、x(t)、q(t)关于时间t的导数,λ=[i;n(0)],e(0)和n(0)分别为e(t)和n(t)的初始值,ρ、σ和γ为表示跳增益积分神经网络收敛速率的常数,第一激活函数和第二激活函数g(
·
)均为跳增益积分神经网络的激活函数,且均为单调递增的奇函数,表示阶跃函数矩阵,操作。表示hadamard积,是的伪逆;通过基于跳增益的积分神经网络进行求解最终得到等式与不等式系统的最优解x
*
(t)。
[0107]
本实施例中,第一激活函数采用线性激活函数;第二激活函数g(
·
)采用线性激活函数。
[0108]
s6、将步骤s5中求得的冗余机械臂在速度层上的最优解进行积分,得到关节角度的最优解;
[0109]
本实施例中,通过对跳增益积分神经网络求解器解得的最优解x
*
(t)进行积分,得到冗余机械臂的关节角度最优解θ
*

[0110]
s7、将步骤s6中求得的关节角度的最优解传递给下位机控制器驱动机械臂运动。
[0111]
本实施例中,六连杆机械臂追踪蝴蝶轨迹,在六连杆机械臂追踪蝴蝶轨迹的方案实施过程中,机械臂初始位置关节角度设置为 [1.675;2.843;-3.216;4.187;-1.71;-2.65]弧度,角度上极限设置为θ
+
=[15;15;15;15;15;15]弧度,角度下极限设置为θ-=[-15;-15;-15;-15;-15;-15]弧度,速度上极限设置为弧度/秒,速度下极限设置为弧度/秒。所使用的跳增益积分神经网络求解器为:
[0112][0113]
将计算得到的关节速度进行积分得到关节角度最优解,再传送给机械臂控制器从而控制机械臂的运动,从而跟踪蝴蝶轨迹。
[0114]
如图3所示,图3a为六连杆机械臂的模拟运动轨迹,图3b中的黑色曲线为机械臂运动轨迹,菱形标记曲线为期望的蝴蝶轨迹。可以发现,通过使用一种基于跳增益积分神经网络的冗余机械臂运动规划方法,该六连杆机械臂很好的追踪了预期的蝴蝶轨迹。图3c为机械臂的轨迹跟踪误差图,其误差精度达到了 10的-5次方,说明本发明的跟踪精度较高。
[0115]
实施例3:
[0116]
本实施例中,六连杆机械臂追踪四叶草轨迹,在六连杆机械臂追踪四叶草轨迹的方案实施过程中,机械臂初始位置关节角度同样设置为 [1.675;2.843;-3.216;4.187;-1.71;-2.65]弧度,角度上极限设置为θ
+
=[5;5;5;5;5;5]弧度,角度下极限设置为θ-=[-5;-5;-5;-5;-5;-5]弧度,速度上极限设置为弧度/秒,速度下极限设置为弧度/秒。所使用的跳增益积分神经网络求解器同样为:
[0117][0118]
同时,假设求解过程中存在时变噪声干扰,将计算得到的关节速度进行积分得到
关节角度最优解,再传送给机械臂控制器从而控制机械臂的运动,从而跟踪四叶草轨迹。
[0119]
图4a为六连杆机械臂的模拟运动轨迹,图4b中黑色曲线为机械臂运动轨迹,菱形标记曲线为期望的四叶草轨迹。可以发现,通过使用一种基于跳增益积分神经网络的冗余机械臂运动规划方法,即使在时变噪声的干扰下,该六连杆机械臂依然很好的追踪了预期的四叶草轨迹。图4c为机械臂的轨迹跟踪误差图,其误差精度达到了10的-3次方,说明本发明的鲁棒性较强。
转载请注明原文地址: https://www.8miu.com/read-119.html

最新回复(0)