万敏, 杨山山
(西南石油大学 机电工程学院,成都 610000)
机械臂是一个比较复杂的多输入多输出的非线性系统,并且由于其具有强耦合和时变的特性,因而对机械臂的轨迹跟踪控制一直是一个难点[1]。目前对于机械臂的控制方法一般有前馈补偿法、自适应控制、变结构控制、鲁棒控制、PID控制和神经网络与模糊控制等方法[2]。目前对由于外界干扰或是自身因素引起的机械臂的参数跳变问题多是使用鲁棒控制和自适应控制,但是鲁棒控制有比较大的控制力矩。自适应控制通过在线辨识、学习,在线调整控制规律能够达到不错的控制效果,但是其每一次控制参数的变化都会重复进行一次自适应调节过程,对于实时性要求比较高的系统并不是很适合。实际上,针对含有参数跳变和有着未知扰动的机械臂系统是可以看做一个切换系统,不同的控制参数对应着不同的子系统,切换系统也弥补了自适应控制的实时性问题。近年来,对于非线性切换系统的跟踪控制问题也有着大量的研究[3-6]。文献[2]针对一类柔性机械臂在负载跳变时对其轨迹跟踪控制进行研究,其利用多Lyapunov函数及ADT理论设计的切换滑模控制器完成了对柔性机械臂的轨迹控制。文献[7]针对一类具有随机切换的非线性系统,提出了一种自适应模糊控制方案。文献[8]针对一类非严格反馈不确定切换非线性系统,提出了一种模糊自适应输出反馈控制方法,并将该方法应用于带有电机驱动的机械臂轨迹跟踪控制的研究。
状态约束是指系统由于安全性和性能因素等原因要求其某些状态在暂态和稳态时都能运行在某个特定的边界内,即满足一定的约束条件。在实际工业生产中,如果忽视这些约束限制带来的系统状态“越界”的情况,可能就会引发严重的事故,造成不必要的财产损失,因此对于状态约束控制的研究是非常有必要的。目前对于状态约束的研究多是引入合适的Barrier Lyapunov函数防止系统状态违反相应的约束。文献[9]研究了一类全状态约束和输入饱和的全向三轮驱动移动机器人的轨迹跟踪控制问题,并达到了良好的控制效果,但是其对系统状态不完全可测的情况缺乏考虑。文献[10]针对具有输入饱和的全状态约束非线性系统,研究了状态和外界干扰均不可测情况下的输出反馈跟踪控制,但是其关于反步法中存在的复杂性“爆炸”问题并未解决。文献[11]针对一类具有全状态约束和状态不完全可测的严格反馈非线性系统,提出了一种基于RBF神经网络状态观测器的动态面输出反馈技术,达到了良好的控制精度,但是该文献仅是针对单一系统进行控制器设计和稳定性分析,未考虑包含多个子系统的情况。
本文的特点在于:首先,大多数控制器的设计都是需要所有的状态向量是可测的,而本文仅是需要系统的输出信号可测即可完成控制器的设计,实用范围更广;其次, 由于在反步设计方法中虚拟控制律需要在每一级的反推设计中进行重复求导,因而所设计的控制器的计算复杂度会随着系统阶数的增加而增加,设计的控制器也只能应用于一些低阶实际系统。因此本文利用动态表面控制技术,即在反步设计方法中引入一阶滤波器,将复杂的微分运算变为简单的代数运算,从而避免了控制器设计中反复对虚拟控制律求导的情况,极大的简化了控制器的设计过程;最后,本文设计的控制算法能够应用于实际工程模型,有一定的实用性。
考虑如下一类严格反馈非线性切换系统,其形式为:
(1)
式中:x为系统的状态向量,x=[x1,x2,…,xn]T∈Rn,i=1,2,…,n-1,且只有x1是可测的;uσ(t)∈R为控制信号;σ(t):[0,∞)→M={1,2,…,m}为系统的切换信号,并且它是一个右分段连续函数,当σ(t)=k时,即第k个子系统处于运行状态,uk∈R是第k个子系统的控制器输入;y∈R为系统的输出;fi,σ(t)(i=1,2,…,n,下文中若无其他说明,i均为此取值范围)为一个未知非线性光滑函数;di,σ(t)(t)是未知扰动。
(2)
引理2[21]对任意正常数kbi,当|zi| (3) 控制目标:1) 设计一个自适应输出反馈控制器,使得输出y(t)能够跟踪期望轨迹yd(t),且跟踪误差z1=y-yd尽可能小;2) 保证闭环系统中所有信号有界;3) 系统中的所有状态都不违反约束。 对于第k个子系统,非线性切换系统(1)可以写成如下形式: (4) (5) 式中:Qk>0与Pk>0分别是任意给定的正定对角矩阵和正定对称矩阵,Qk>0和Pk>0。 (6) 其中 (7) (8) 因此,最小逼近误差可以表示为 (9) 将式(6)和式(9)代入式(4)可得: (10) 因此对于第k个子系统,神经网络状态观测器可以设计成如下形式: (11) (12) 对于自适应控制律的推导过程包括n步,通过在每一个步骤中选择恰当的Barrier Lyapunov函数Vi,k,k∈{1,2,…,m}来构造虚拟控制律。控制器设计步骤如下: 定义z1为跟踪误差,zi为虚拟误差,αi-1,k为虚拟控制律,同时引入一阶滤波器,有: (13) 步骤1 对z1进行求导,可得 (14) 定义如下的Lyapunov函数 (15) (16) 根据Young′s不等式,有: (17) (18) (19) 由式(17)~式(19)可得 (20) 将式(20)代入式(16)得 (21) (22) (23) 根据Young′s不等式,有 (24) 将式(22)和式(23)代入式(21),有 (25) 步骤i(2≤i≤n-1):对zi进行求导,可得 (26) 定义Barrier Lyapunov函数为 (27) 式中γi,k为设计参数,γi,k>0。 Vi,k的时间导数为 (28) (29) (30) 由式(29)和式(30),有 (31) 步骤n在最后一步中,系统的控制输出为u,有 (32) 定义如下的Barrier Lyapunov函数 (33) 式中γn,k为设计参数,γn,k>0。 Vn,k的时间导数为 (34) (35) (36) 由式(35)和式(36),有 (37) 定义闭环系统的李亚普洛夫函数为Vk=Vn,k,因此可以得到Vk的导数,有 (38) 根据文献[11],有 (39) 式中B1,k(·)是连续函数。 因此,有 (40) 当Vk=p时,连续函数Bi,k(·)有界,且存在一个最大值Mi,k[11]。 根据Young′s不等式,有: (41) (42) 根据引理2,可得 (43) 所以由式(38),有 (44) 其中 (45) 通过选择合适的Qk,ci,cn和νi,有 λmin(Qk)-1>0,ci,k-1>0, (46) 式中i=1,2,…,n-1。 定义正参数 (47) 定义C=minCk和D=maxMk,因此,式(44)可写为 (48) 证明W(t)=eCtVσ(t)(x(t))是系统方程式(1)的解且分段可微。根据式(48),在每一个[tj,tj+1)区间里,有 (49) 同式(16)的证明方式,有 (50) 其中μ>1,且k,l∈M。因此,可以得到 W(tj+1)=eCtj+1Vσ(tj+1)(x(tj+1))≤ μeCtj+1Vσ(tj+1)(x(tj+1))= (51) 对于任意T>t0=0,将不等式(51)从j=0迭代到j=Nσ(T,0)-1,有 (52) 因此,可得 ∀T≥t≥0 (53) 由于,Nσ(T,0)-j≤1+Nσ(T,tj+1)(j=0,1,…,Nσ(T,0)),则 (54) (55) 将式(54)和式(55)代入式(52),可得 (56) (57) 由式(57)可得 (58) (59) 因此,可得 (60) 式(60)表明,状态观测器的误差可以通过选择适当地设计参数减小[11,15]。 将提出的控制算法和已有的成果进行对比分析。 1) 文献[11]针对一类具有全状态约束和状态不完全可测的严格反馈非线性系统(其结构如式(61)所示),提出了一种自适应输出反馈控制算法。但该控制算法仅考虑的单一系统,未考虑被控对象存在着切换系统的情况。事实上,在实际生活中切换系统是广泛存在的,如汽车变速系统,智能机器人系统和电压转换系统等,因此,针对上述系统,很显然文献[11]所提的控制算法是不适用的。而本文提出的控制算法就解决了这一类切换问题,且通过利用Lyapunov方法和平均驻留时间理论保证了闭环系统的稳定性。 (61) 式中:x1,x2,…,xn是系统状态向量;u∈R和y∈R分别为系统的输入和输出;di是有界未知扰动;令Xi=[x1,…,xi]T,假定在该系统中只有x1是已知可测的,fi(Xi),是一个未知的非线性光滑函数。 2) 文献[22]针对一类严格反馈不确定非线性切换系统进行研究(其结构如式(62)所示),提出了一种基于共同Lyapunov函数的自适应动态表面控制方法。但是,该方法由于未考虑系统状态变量是否可测的问题,有着一定的局限性。因为在实际工业中通过直接测量从而得到所有状态变量的现象是很少见的,大多数情况下都需要可靠地估计出不可测量的状态变量。 因此本文通过设计神经网络状态观测器去估计系统未知状态从而解决了这一问题。 (62) 3) 文献[9]研究了一类具有全状态约束和输入饱和的全向移动机器人的轨迹控制问题,并且基于反步法设计了一种自适应输出反馈控制方法。但是该方法没有考虑反步设计方法中存在的“微分爆炸”问题,使得控制器的设计更为复杂且有着一定的局限性。因此,本文通过应用动态表面控制技术解决了这一问题,同时也避免了反步设计方法中要求参考信号必须是n阶可导条件的限制。 综上所述,本文同时针对一类具有状态约束和状态不完全可测的非线性切换系统进行研究,设计了一种基于RBF神经网络的自适应输出反馈控制方法,同时也解决了反步设计方法中存在的“微分爆炸”问题。相比于以上文献提出的控制算法,本文所提算法实用范围更广,控制精度更高。 本节将对具体的算例进行仿真,对本文所提出的控制算法进行仿真验证。考虑严格反馈非线性切换系统为: (63) 其中: (64) 约束边界选择为kc1=1.5,kc2=4。参考信号为yd=sin(t)。 设计带有观测器的自适应切换控制器为: (65) 式中k=1,2。 本文采用高斯基函数作为RBF神经网络基函数来进行相关算法的设计,其结构为 (66) 式中:i=1,2…,n;k=1,2…,n。 图1是系统的输出y和参考信号yd的跟踪轨迹,可以看到y和yd并未违反约束且能达到很好的控制效果。 图1 系统输出y和参考信号yd的跟踪轨迹 图2是跟踪误差z1,可以看到z1并未违反约束条件-ka1(t) 图2 跟踪误差z1 图3 系统状态x1和其状态观测值的轨迹 图4 系统状态x2和其状态观测值的轨迹 图5是切换系统的切换信号,当k=1时运行第一个子系统,当k=2时运行第二个子系统。图6是控制器输入轨迹。仿真结果说明,所提出的控制方法是有效的。 图5 切换信号 图6 控制器轨迹 本文所提出的控制算法通过稳定性证明和数值例子的仿真实验进行了验证,结果表明该算法针对一类具有全状态约束和状态不完全可测的严格反馈非线性切换系统有着良好的控制性能。因此,本节将所提出的控制算法应用于实际工程模型,探究其控制效果。 考虑如下一个带有电机驱动以及未知扰动的单关节机械臂系统。针对其轨迹进行跟踪控制,其动态方程[23]为: (67) (68) 其中: (69) 图7给出了单关节机械臂位置输出信号x1和参考信号yd的跟踪轨迹。 图7 位置输出信号y和参考信号yd的跟踪轨迹 图8给出了机械臂轨迹跟踪误差z1,由图易知,该系统在稳定后的轨迹跟踪误差在0.01以内,有着良好的控制效果,且所有的信号都在规定的约束边界内。 图8 位置跟踪误差z1 图9 位置输出信号x1和其状态观测值的轨迹 图10 速度信号x2和其状态观测值的轨迹 图11 电机转矩x3和其状态观测值的轨迹 图12和图13分别是机械臂系统的切换信号和控制器轨迹。 图12 机构臂切换信号 图13 机构臂控制器轨迹 通过以上的仿真结果表明,本文所提出的控制算法能够有效应用于实际工程模型,且有着良好的控制效果。 本文设计的自适应动态面输出反馈控制器,能够很好的控制一类具有全状态约束和状态不完全可测的不确定严格反馈非线性切换系统。通过Lyapunov方法、ADT理论和数值仿真分别在理论和实验层面验证了所提方法的有效性,同时,通过选择恰当的设计参数,可以使跟踪误差和观测器误差保持在一个足够小的零邻域内。最后,针对带有状态约束的机械臂进行控制,仿真结果表明,其轨迹跟踪误差很小,且有着良好的控制效果,也为将来将该控制算法应用于实际工业中奠定了理论基础。1.2 神经网络状态观测器设计
2 自适应控制律设计
3 稳定性分析
4 与已有成果的对比分析
5 仿真
6 机械臂轨迹跟踪控制
7 结论