一种基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器设计方法

文档序号:31348380发布日期:2022-08-31 12:11阅读:212来源:国知局
一种基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器设计方法

1.本发明属于自动控制技术领域,特别涉及一种用于柔性关节机械臂轨迹跟踪控制的基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器设计方法。


背景技术:

2.近几十年来,由于在航天、深海探测、工业制造、医疗等领域的广泛应用,柔性关节机械臂的研究受到了人们越来越多的关注。越来越受到人们的重视。与传统的刚性机械臂相比,柔性关节机械臂有重量轻、体积小、能耗低、载荷重量比高等优点。此外,由于机械臂的关节是柔性的,这大大提高了机械臂在实际使用时的安全性。当柔性关节发生碰撞时,柔性关节能够有效地缓解碰撞.虽然柔性关节机械臂在实际应用中具有很大的优势,但其控制方案的设计也存在较大的困难。许多研究人员都在努力设计更理想的控制方案来操纵柔性关节机械臂,使其在各项作业中能够有着更为优异的表现。
3.值得注意的是,与刚关节型机械臂相比,柔性关节机械臂的控制方案设计尚不成熟。众所周知,柔性关节机械臂是一个复杂的动力学系统,其中控制器中有很多待设计的参数。此外,某些参数在一定条件下不易获得。因此,人们正在考虑设计一种在反馈控制中对机械臂参数更低需求的方法。近年来,神经网络在学习能力映射和并行处理方面的应用引起了研究者们的关注,它能降低在控制器设计中对机械臂动力学系统参数的依赖程度,从而实现无模型控制。尽管径向基神经网络在柔性机械臂控制中的应用已经取得了很大的进展,但在以往的大多数径向基神经网络控制研究中,神经网络的权值估计更新律严重依赖于跟踪误差和瞬时估计数据,无法实现神经网络控制中系统估计误差的收敛。此外,对于时变的外部干扰,径向基神经网络还不能很好地应对。
4.在大多数轨迹跟踪控制文献中,扰动观测器是一种常用的处理时变外部扰动问题的技术,可以实现有限时间收敛。此外,该技术还可以补偿径向基神经网络的逼近误差,弥补径向基神经网络估计误差不能渐进收敛的缺点。因此,可以设计一个“神经网络+扰动观测器”联合控制律。
5.通常,在柔性关节机械臂的控制方法设计中,最普遍的控制技术是四阶反演控制和四阶动态面控制。这两种方法都要求设计者对状态变量进行多次求导来获得虚拟控制律。多次的求导会增加系统的不稳定性以及计算机在求解时出现奇异的可能性。因此,可以思考寻求一种方法来降低控制器设计中的虚拟控制律个数和对虚拟控制律的求导次数,从而降低奇异性出现的可能性,缓解反演控制中的“计算爆炸”问题。
6.此外,滑模控制是一种具有完善的、良好的瞬态性能高鲁棒性控制方法,对于柔性机械臂的控制器而言,选择合适的滑模面将显著提高其性能。这也将是本篇文章探究主题之一。
7.值得注意的是,在处理输入饱和问题方面,已有大量文献进行了研究,但在输出约束方面,学界的关注度还不够。在实际应用中,如医疗保健任务和可穿戴外骨骼机械臂,为
了避免机械臂在使用过程中对操作人员造成伤害,输出约束是非常必要的。这也将是本文研究的内容之一。


技术实现要素:

8.针对上述问题,本发明提出了一种基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器设计方法,适用于受到模型不确定性和外部干扰的影响的柔性关节机械臂的轨迹跟踪控制。提出了设计一个“神经网络+扰动观测器”联合控制方法。此方法减少了控制器设计中对柔性关节机械臂动力学模型参数的依赖性,并克服了神经网络估计误差不能渐进收敛缺点,缓解了反演控制设计中的“计算爆炸”问题,并应用了积分滑模面,提高了估计精度,降低了稳态误差。
9.本发明提出了一种基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器设计方法,具体设计方案如下:
10.步骤1,建立n自由度柔性关节机械臂动力学模型;
11.步骤2,将步骤1中模型分成两个子系统,并为每个子系统设计积分滑模面;
12.步骤3,利用rbf神经网络对模型内部的未知动力学参数进行逼近;
13.步骤4,利用新型扰动观测器对由rbf神经网络的估计误差和模型的外部扰动所组成的集总不确定度进行估计;
14.步骤5,利用障碍李亚普诺夫函数设计具有位置输出约束性能的基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器,实现机械臂的无模型控制。
15.进一步的,所述步骤1中建立n自由度柔性关节机械臂动力学模型具体步骤如下:
[0016][0017][0018]
式中,分别表示机械臂连杆侧和电机轴侧的角位置、角速度和角加速度。m(q)为对称正定惯性矩阵,为离心力和科氏力矩阵,g(q)为重力向量,为摩擦力矩,τ为控制输入,τd为未知时变外部干扰,jm表示电机转动惯量正定对角矩阵,k表示表示弹簧刚度的正定对角矩阵。
[0019]
进一步的,所述步骤2的具体步骤如下,首先将柔性关节机械臂动力学模型分解成两个子系统,连杆侧子系统
[0020][0021]
和电机侧子系统
[0022][0023]
在这两个子系统中,我们可以看到τ对qm的影响是直接的,qm对q的影响是直接的,而τ对q的影响是间接的,所以我们定义一个中间的虚拟控制量q
md
,它是qm的理想轨迹,只要τ能驱动qm跟踪q
md
,那么此时在qm的驱动下q就能跟踪上机械臂末端的理想轨迹qd。
[0024]
由此我们定义误差信号如下:
[0025]
e=q-qdꢀꢀꢀ
(45)
[0026]em
=q
m-q
md
ꢀꢀꢀ
(46)接着,我们为这两个误差信号设计积分滑模面
[0027][0028][0029]
式中,增益k1,k2是正常数。
[0030]
进一步的,所述步骤3的具体步骤为,首先介绍rbfnn神经网络的原理。rbfnn可以逼近任意非线性函数,其数学表达式为:
[0031]
f(x)=w
t
h(x)+ε
ꢀꢀꢀ
(49)
[0032]
式中w是理想权值矩阵,h(x)是高斯基函数向量,ε是神经网络的有界估计误差,它的值满足不等式|ε|≤εn(εn是ε的上界)。
[0033]
然后,我们用上述的神经网络原理对柔性关节机械臂动力学模型中的g(q)矩阵进行估计。
[0034][0035][0036]
式中,g
ij
(q)分别表示g(q)矩阵中的第i行j列元素。t表示神经网络的节点总数。因此,矩阵g(q)可以表示为
[0037][0038][0039]
式中是我们为方便表达定义的一个新的运算符号,它的运算规则的具体表示如下:
[0040][0041][0042]
矩阵wc由子矩阵w
cij
(i=1,...,n;j=1,...,n)组成;矩阵wg由子矩阵w
gij
(i=1,...,n;j=1)组成;矩阵hc(q),hg(q)分别由子矩阵(q)分别由子矩阵和h
gij
(q)(i=1,...,n;j=1)组成;估计误差矩阵εg(q)分别由子矩阵ε
cij
(i=1,...,n;j=1,...,n)和ε
gij
(i=1,...,n;j=1)组成;其中,i表示该子矩阵所处的行,j表示该子矩阵所处的列。
[0043]
进一步的,所述步骤4的具体步骤为,对引入的新型扰动观测器进行介绍。考虑如
下非线性系统
[0044][0045]
其中f1(x),是非线性函数,u是系统输入,δ(t)该系统的集总不确定度。
[0046]
对于以上系统,新型扰动观测器可以设计成如下形式:
[0047][0048][0049]
其中,ko是表示增益的正定对角矩阵,表示对系统集总不确定度δ(t)的估计,柔性关节机械臂集总不确定度的表达式将在下一步进行介绍。
[0050]
进一步的,所述步骤5的具体步骤为,第一步设计基于柔性关节机械臂动力学模型的控制器。(为了便于表述,在下文中,我们使用符号m,c,g,f表示矩阵m(q),g(q),)。
[0051]
首先选择以下障碍李亚普诺夫函数
[0052][0053]
对v1求导,则有
[0054][0055]
式中,ei表示向量e的第i个元素。k
ai
是障碍李亚普诺夫函数中的设计参数,通过设计这个参数可以将误差值ei限定在区间[-k
ai
;k
ai
]中。
[0056]
接着,我们再设计如下李雅普诺夫函数
[0057][0058]
对v2求导,则有
[0059][0060]
其中
[0061]
[0062]
使用等式(3)、(5),等式(20)中的(a)项可以变换为
[0063][0064]
然后,我们定义(21)=-k1s,就能得到虚拟控制律q
md
的如下表达式
[0065][0066]
式中,k1是一个表示控制增益的正定对角矩阵。
[0067]
接着,使用等式(4)、(6),等式(20)中的(b)项可以变换为
[0068][0069]
然后,我们定义(23)=-k2sm,就能得到实际控制律τ
[0070][0071]
式中,k2是一个表示控制增益的正定对角矩阵。
[0072]
第二步设计基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器。首先,矩阵m(q)可以写成
[0073]
m(q)=m
no
+δm
ꢀꢀꢀ
(66)
[0074]
式中,m
no
表示矩阵m(q)的已知名义值,δm表示矩阵m(q)的未知不确定度。根据公式(10)、(11)、(25),柔性机械臂动力学方程(1)、(2)可以重新写为
[0075][0076][0077]
式中,表示这个模型的集总不确定度。对于该集总不确定度,我们用上文提到的新型扰动观测器来估计。把等式(1)变换为等式(14)的形式
[0078][0079]
式中的m
no
(q)-1
τd(t)即对应等式(14)中的δ(t),m
no
(q)-1
对应等式(14)中的f(x1),k(q
m-q)对应等式(14)中的u,对应等式(14)中的对应等式(14)中的对应等式(14)中的
[0080]
因此,这个新型扰动观测器可以设计为
[0081][0082][0083][0084]
式中,表示集总不确定度τd(t)的估计值。
[0085]
由于在实际应用中,我们无法得到准确的权值矩阵wc、wg,而只能得到它们的估值
因此我们定义
[0086][0087][0088]
因此,根据经过变换后的动力学方程(26)、(27),再用等式(28)、(29)对(26)中的进行替换,用对(26)中的τd(t)进行替换,我们能够得到基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器中的虚拟控制律q
md
的表达式为
[0089]
神经网络的权值自适应更新率如下
[0090][0091][0092]
式中,子矩阵是矩阵的子矩阵,i表示子矩阵所在的行,j表示子矩阵所在的列;γ
cij

gi1
是正定对角矩阵;ηc,ηg是极小的正实数;ri分别表示向量r的第j(j=1,...,n)个和第i(i=1,...,n)个元素,向量r被定义成如下表达式
[0093][0094][0095]
式中,λ是一个待设计的正定对角矩阵。
[0096]
由于在实际情况中,控制律中涉及的状态变量是无法测得的,因此,我们应用一阶滤波器对这两个状态变量进行观测和估计。
[0097]
用于估计的一阶滤波器的设计如下
[0098][0099][0100]
式中,ζ1是一个正常数,是该滤波器的输出。我们使用作为状态变量的估计值。
[0101]
用于估计的一阶滤波器的设计如下:
[0102][0103][0104]
式中,ζ2是一个正常数,是该滤波器的输出。我们使用作为状态变量的估计值。
[0105]
因此,将等式(34)代入等式(24),并用分别对式中的状态变量进行替换,可得到基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器的实际控制律为
[0106][0107]
采用以上技术方案,实现了以下有益效果:
[0108]
(1)提出了“rbf神经网络+扰动观测器”联合控制律,把rbf神经网络的估计误差和外部扰动组成的集总不确定度用扰动观测器再一次进行观测,能够大大的降低系统的跟踪误差。
[0109]
(2)使用神经网络对柔性关节机械臂动力学模型不确定矩阵中的每一个元素进行估计,提高了神经网络的估计精度,并且使得神经网络技术能够更方便的与其它先进的控制技术结合使用。
[0110]
(3)使用积分滑模面,提高了误差的收敛速度,并且降低了稳态误差。
[0111]
(4)使用了一种新的反演设计方法,降低了反演设计的阶次,有效缓解了反演控制中的“计算爆炸”问题。
附图说明
[0112]
图1是本发明中控制器的结构框图;
[0113]
图2是本发明实施例中二连杆柔性关节机械臂物理模型示意图;
[0114]
图3是本发明实施例中机械臂关节位置跟踪示意图;
[0115]
图4是本发明实施例中机械臂关节位置跟踪误差示意图;
[0116]
图5是本发明实施例中机械臂关节速度跟踪误差示意图;
[0117]
图6是本发明实施例中机械臂关节力矩示意图。
具体实施方式
[0118]
下面结合具体实施例,进一步阐明本发明,为了更好的说明本发明,采用matlab数值仿真对所提出的控制器进行验证,图1为控制器的结构框图,图2为二连杆柔性关节机械臂物理模型示意图,结果如图3至6所示。控制器设计方法具体步骤如下:
[0119]
步骤1,建立n自由度柔性关节机械臂动力学模型具体步骤如下:
[0120][0121][0122]
式中,分别表示机械臂连杆侧和电机轴侧的角位置、角速度和角加速度。m(q)为对称正定惯性矩阵,为离心力和科氏力矩阵,g(q)为重力向量,为摩擦力矩,τ为控制输入,τd为未知时变外部干扰,jm表示电机转动惯量正定对角
矩阵,k表示表示弹簧刚度的正定对角矩阵。
[0123]
步骤2,首先我们定义误差信号如下:
[0124]
e=q-qdꢀꢀꢀ
(3)
[0125]em
=q
m-q
md
ꢀꢀꢀ
(4)接着,我们为这两个误差信号设计积分滑模面
[0126][0127][0128]
式中,增益k1,k2是正常数。
[0129]
步骤3,首先介绍rbfnn神经网络的原理。rbfnn可以逼近任意非线性函数,其数学表达式为:
[0130]
f(x)=w
t
h(x)+ε
ꢀꢀꢀ
(85)
[0131]
式中w是理想权值矩阵,h(x)是高斯基函数向量,ε是神经网络的有界估计误差,它的值满足不等式|ε|≤εn(εn是ε的上界)。
[0132]
然后,我们用上述的神经网络原理对柔性关节机械臂动力学模型中的g(q)矩阵进行估计。
[0133][0134][0135]
式中,g
ij
(q)分别表示g(q)矩阵中的第i行j列元素。t表示神经网络的节点总数。因此,矩阵g(q)可以表示为
[0136][0137][0138]
式中是我们为方便表达定义的一个新的运算符号,它的运算规则的具体表示如下:
[0139][0140][0141]
矩阵wc由子矩阵w
cij
(i=1,...,n;j=1,...,n)组成;矩阵wg由子矩阵w
gij
(i=1,...,n;j=1)组成;矩阵hc(q),hg(q)分别由子矩阵(q)分别由子矩阵和h
gij
(q)
(i=1,...,n;j=1)组成;估计误差矩阵εg(q)分别由子矩阵ε
cij
(i=1,...,n;j=1,...,n)和ε
gij
(i=1,...,n;j=1)组成;其中,i表示该子矩阵所处的行,j表示该子矩阵所处的列。
[0142]
步骤4,对引入的新型扰动观测器进行介绍。考虑如下非线性系统
[0143][0144]
其中f1(x),是非线性函数,u是系统输入,δ(t)该系统的集总不确定度。
[0145]
对于以上系统,新型扰动观测器可以设计成如下形式:
[0146][0147][0148]
其中,ko是表示增益的正定对角矩阵,表示对系统集总不确定度δ(t)的估计,柔性关节机械臂集总不确定度的表达式将在下一步进行介绍。
[0149]
步骤5,第一步设计基于柔性关节机械臂动力学模型的控制器。(为了便于表述,在下文中,我们使用符号m,c,g,f表示矩阵m(q),g(q),)。
[0150]
首先选择以下障碍李亚普诺夫函数
[0151][0152]
对v1求导,则有
[0153][0154]
式中,ei表示向量e的第i个元素。k
ai
是障碍李亚普诺夫函数中的设计参数,通过设计这个参数可以将误差值ei限定在区间[-k
ai
;k
ai
]中。
[0155]
接着,我们再设计如下李雅普诺夫函数
[0156][0157]
对v2求导,则有
[0158][0159]
其中
[0160][0161]
使用等式(3)、(5),等式(20)中的(a)项可以变换为
[0162][0163]
然后,我们定义(21)=-k1s,就能得到虚拟控制律q
md
的如下表达式
[0164][0165]
式中,k1是一个表示控制增益的正定对角矩阵。
[0166]
接着,使用等式(4)、(6),等式(20)中的(b)项可以变换为
[0167][0168]
然后,我们定义(23)=-k2sm,就能得到实际控制律τ
[0169][0170]
式中,k2是一个表示控制增益的正定对角矩阵。
[0171]
第二步设计基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器。首先,矩阵m(q)可以写成
[0172]
m(q)=m
no
+δm
ꢀꢀꢀ
(94)
[0173]
式中,m
no
表示矩阵m(q)的已知名义值,δm表示矩阵m(q)的未知不确定度。根据公式(10)、(11)、(25),柔性机械臂动力学方程(1)、(2)可以重新写为
[0174][0175][0176]
式中,表示这个模型的集总不确定度。对于该集总不确定度,我们用上文提到的新型扰动观测器来估计。把等式(1)变换为等式(14)的形式
[0177][0178]
式中的m
no
(q)-1
τd(t)即对应等式(14)中的δ(t),m
no
(q)-1
对应等式(14)中的f(x1),k(q
m-q)对应等式(14)中的u,对应等式(14)中的的对应等式(14)中的
[0179]
因此,这个新型扰动观测器可以设计为
[0180][0181][0182]
[0183]
式中,表示集总不确定度τd(t)的估计值。
[0184]
由于在实际应用中,我们无法得到准确的权值矩阵wc、wg,而只能得到它们的估值因此我们定义
[0185][0186][0187]
因此,根据经过变换后的动力学方程(26)、(27),再用等式(28)、(29)对(26)中的进行替换,用对(26)中的τd(t)进行替换,我们能够得到基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器中的虚拟控制律q
md
的表达式为
[0188]
神经网络的权值自适应更新率如下
[0189][0190][0191]
式中,子矩阵是矩阵的子矩阵,i表示子矩阵所在的行,j表示子矩阵所在的列;γ
cij

gi1
是正定对角矩阵;ηc,ηg是极小的正实数;ri分别表示向量r的第j(j=1,...,n)个和第i(i=1,...,n)个元素,向量r被定义成如下表达式
[0192][0193][0194]
式中,λ是一个待设计的正定对角矩阵。
[0195]
由于在实际情况中,控制律中涉及的状态变量是无法测得的,因此,我们应用一阶滤波器对这两个状态变量进行观测和估计。
[0196]
用于估计的一阶滤波器的设计如下
[0197][0198][0199]
式中,ζ1是一个正常数,是该滤波器的输出。我们使用作为状态变量的估计值。
[0200]
用于估计的一阶滤波器的设计如下:
[0201][0202][0203]
式中,ζ2是一个正常数,是该滤波器的输出。我们使用作为状态变量的
估计值。
[0204]
因此,将等式(34)代入等式(24),并用分别对式中的状态变量进行替换,可得到基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器的实际控制律为
[0205][0206]
本发明在matlab2019a环境下,应用simulink以及二关节柔性关节机械臂模型参数对本发明所设计的一种基于扰动观测器的柔性关节机械臂神经网络积分滑模控制器(下文坐标图中用字母组“dnism”标示)进行仿真验算并与一些其他控制算法相对比,如利用“采用线性滑模面的柔性关节机械臂控制”(下文坐标图中用字母组“lss”标示)、“只采用神经网络的柔性关节机械臂控制”(下文坐标图中用字母组“snnc”标示)、“四阶动态面柔性关节机械臂控制”(下文坐标图中用字母组“dsc”标示):
[0207]
(1)仿真参数如下
[0208][0209][0210][0211][0212]
式中,q1,q2分别表示柔性关节机械臂动力学模型中两个关节的角位置,分别表示两个关节的角速度。动力学模型系统的参数名义值为重力加速度g为9.8kg/n。各状态变量的仿真初始值选择为q(0)=[0.02,0.02]
t
,qm(0)=[0.001,0.001]
t
,
[0213]
理想轨迹q
1d
,q
2d
选为外部时变扰动设定为考虑到现实情况中存在系统不确定度,我们把二关节柔性关节机械臂动力学系统参数的实际值设定为其名义值向上波动20%,即
控制器的控制增益设定为积分滑模面的参数设置为k1=35,k2=20;障碍李亚普诺夫函数中的参数设置为k
a1
=0.1,k
a2
=0.1。至于神经网络,我们使用11个结点的rbf神经网络来对和g(q)矩阵中的每一个元素进行预测。神经网络高斯函数的中心均匀的分布在区间[-0.3,0.3]上,高斯的函数的宽度设置为b
cij
=10(i=1,...,n;j=1,...,n),b
gij
=10(i=1,...,n;j=1)。神经网络权值自适应律的参数设置为γ
cij
=100,γ
gi1
=100,η
cij
=0.0001,η
gi1
=0.0001,新型扰动观测器的参数设置为一阶滤波器的参数设置为ζ1=0.0001,ζ2=0.0001。
[0214]
结果说明:
[0215]
图3为机械臂两个关节的位置跟踪情况仿真示意图,由图可以看出,本发明中的两个柔性机械臂关节均可以在很短的时间内跟踪期望轨迹,体现了本发明快速跟踪的优点。
[0216]
图4为机械臂两个关节角位置的跟踪误差仿真示意图,由图可以看出,本发明中的两个机械臂的角位置稳态误差比其他控制方法的跟踪误差都要小,且误差曲线更平滑,体现了本发明高跟踪精度的优点。
[0217]
图5为机械臂两个关节角速度的跟踪误差仿真示意图,由图可以看出,本发明中的两个机械臂的角速度稳态误差比其他控制方法的跟踪误差都要小,且误差曲线更平滑,体现了本发明高跟踪精度的优点。
[0218]
图6为机械臂两个关节的输入力矩仿真示意图,通过和“四阶动态面柔性关节机械臂控制方法”的输入力矩进行比较,可以看出,本发明中的两个关节的控制输入曲线是平滑连续的,反演控制中存在的“计算爆炸”问题和奇异性问题被很好的避免了,而“四阶动态面柔性关节机械臂控制方法”由于对虚拟控制律进行多次求导,力矩曲线产生很大的跳变,“计算爆炸”和奇异性问题依然存在。
[0219]
综上所述,本发明所设计的控制方案可以无需柔性关节机械臂的准确模型在短时间内实现对期望轨迹的高精度跟踪,针对干扰也表现出强鲁棒性,能够实现跟踪误差的渐进稳定。
[0220]
上述具体实施案例,只是为了便于本研究领域的人员理解本发明,但本发明并不只适用于案例中的情况,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1