王鹏飞,胡 健,,姚建勇,周海波,方靖荃,李 曦
(1.南京理工大学 机械工程学院,江苏 南京 210094;2.中南大学 高性能复杂制造国家重点实验室,湖南 长沙 410083)
机械臂的高精度运动控制在当今工业自动化领域中起着重要作用。随着计算机技术和控制理论的飞速发展,基于模型的控制方法逐渐成为机械臂控制的主流方法,如反馈线性化控制方法[1-2]。但是,在实际工程中,往往难以获得精确的系统数学模型[3],继而又发展出了自适应控制(Adaptive Control,AC)方法[4-6]和自适应鲁棒控制(Adaptive Robust Control,ARC)方法[7-8],但是这些方法都存在一定的缺点。传统的机械臂自适应控制大都采用滑模自适应的方法,这种方法在系统存在时变参数时往往会失效,并且在控制过程中容易出现抖振的现象。ARC在系统存在强干扰时则需要不断调大增益,而过高的增益会使系统振荡剧烈甚至完全不稳定。
神经网络已经被证明是处理系统参数不确定性和复杂外部干扰的有力工具[9]。例如,Lewis在这一领域做了很多研究[10],并提出了一套基于高斯基函数的单层神经网络控制策略。但是这种网络只能实现函数的局部逼近,其近似精度受到了限制。另外,在构建神经网络的过程中,神经网络的重构误差是难以避免的,但是许多文章中只是把重构误差看作一个有界值的扰动。在本文中将设计一个多层的前馈神经网络逼近器对模型进行逼近,不但提高了近似精度,并且考虑了一个可以在线更新的鲁棒项来减小神经网络的重构误差,而不需要知道其界值。相比于传统的自适应方法,不仅可以很好地处理系统中可能存在的时变参数和外部强干扰,而且无须知道系统的名义值参数。另外,神经网络本身也可以避免系统的高增益控制。
另一方面,机械臂的约束控制问题正在成为控制界的关注热点。考虑到机械臂系统在实际工程中存在的各种约束问题,往往要对系统的输出或者某个状态进行约束。另外,为了提高机械臂的控制精度和收敛速度,也要对系统的输出加以约束[11-12]。为了处理输出约束问题,已经有许多学者开始研究不同的技术[13-14]。文献[15]中使用了不变集定理的概念处理输出约束,文献[16]提出了一种自适应位置力控制器用于处理机器人操纵器的约束问题。相比于其他实现约束控制的方法,基于障碍李雅普诺夫函数实现的约束控制[17]对于高阶非线性系统尤其适用,并且具有计算量小和结构简单等优点[18]。
本文通过在反步控制中引入障碍李雅普诺夫函数实现输出约束,不仅提高了机械臂的控制精度和收敛速度,同时进一步降低了控制器的增益。另外,通过在鲁棒项中使用双曲正切函数,避免了出现符号函数,从而可获得光滑的控制律。
对于n自由度的刚性机器人系统,其动力学模型可以表示如下:
(1)
特性1:惯性矩阵D(q)是一个对称且正定的矩阵。
控制目标是为机器人系统设计一个鲁棒性较强的控制器,使其可以跟踪上预定的期望轨迹,并且它的输出是有界的,基于目标给出如下假设。
假设2:假设期望跟踪轨迹已知,且是连续有界的。
引理1[9]:对于前馈神经网络,如果有两个权值矩阵同时在线更新,则神经网络的估计误差为
(2)
引理2:在引理1的基础上,下面的不等式成立:
|δ(t)|≤ξ*p
(3)
引理3[11]:b∈R是任意正常数,对于任意满足|x|<|b|的x∈R,下面的不等式成立:
(4)
引理4:不等式0≤|a|-atanh(a/ρ1)≤0.2785ρ1成立,其中ρ1>0,a∈R。
(5)
定义期望轨迹xd,则系统的误差函数可以表示为
(6)
(7)
选择障碍李雅普诺夫函数:
(8)
对李雅普诺夫函数求导得:
(9)
选择第二个李雅普诺夫函数:
(10)
求导可得:
(11)
设计基于模型的反馈线性化(Feedback Linearization,FL)控制器如下:
(12)
代入式(11)中可得:
(13)
式中,K2为正对角矩阵。∀t>0,误差信号e1保持在-bi 由于模型参数和扰动未知,用一个前馈神经网络来近似这些不确定项,设计自适应神经网络鲁棒控制器如下: (14) 式中,ur为一个鲁棒项,用于减小神经网络的重构误差和未知扰动对系统性能的影响,后面会对它进行设计。 (15) (16) (17) 设计神经网络的权值自适应律: (18) (19) γW,γV为给定的正常数,设计ur: (20) (21) (22) 定义李雅普洛夫函数: (23) 对李雅普诺夫函数求导得: (24) (25) 代入式(20)~式(22),并由引理4可得: (26) 由引理3和引理5可得: ≤-ρV3+C (27) 其中: (28) (29) 为了确保ρ>0,ki需要满足min(ki)>0。 由式(27)可知,闭环系统的跟踪误差和神经网络的权值参数一致最终有界,并且可以通过调节设计参数使跟踪误差收敛到零附近的一个任意大小的领域内。图1为自适应神经网络鲁棒控制器的控制策略。 图1 自适应神经网络鲁棒控制器控制策略 为了验证所提出控制器的有效性,以2自由度的机械臂为例进行了模拟仿真实验,其系统矩阵可以表示为 (30) (31) (32) 在所有仿真中,机械臂的期望跟踪轨迹选择为qd=[(1-e-0.5t)sin(0.5t),(1-e-0.5t)sin(0.5t)],仿真时间t∈[0,60],单位为s。机械臂系统参数为m1=5 kg,m2=2 kg,r1=0.5 m,r2=0.5 m,g=9.8。图2为2自由度机械臂的模型示意图。 图2 2自由度机械臂模型示意图 为了对比所设计的控制器的控制效果,在仿真中选择反馈线性化(FL)控制器(式(12))和文献[4]中使用的一种自适应(AC)控制器与所设计的自适应神经网络鲁棒(ANNRC)控制器(式(14))做比较。分别对比了在有扰动和无扰动两种情况下3种控制器的跟踪性能。另外,通过改变位置初始条件和控制器增益大小,凸显了约束控制器的优越性能。 (1)对比3种控制器分别在有无扰动时的跟踪性能。 图3和图4为无扰动时约束控制器在低增益下的仿真结果,图5~图8为有扰动时约束控制器在低增益下的仿真结果。其中,图8中纵坐标f是式(15)中的系统真值,fn是式(16)中的神经网络的估计值。表1为有扰动时仿真数据的性能指标,Me表示误差绝对值的最大值,Au表示平均值,μ表示标准差。 图3 无扰动时约束控制器在低增益下的跟踪性能 图4 无扰动时约束控制器在低增益下的跟踪误差 图5 有扰动时约束控制器在低增益下的跟踪性能 图6 有扰动时约束控制器在低增益下的跟踪误差 图8 神经网络的估计 表1 有扰动时约束控制器在低增益下的性能指标 单位:rad 结论:① ANNRC无论是在有扰动时还是无扰动时,它的跟踪性能和收敛速度都要远远优于FL和AC,这得益于所引入的前馈神经网络和约束控制;② 相比于AC,ANNRC对时变扰动依然能有很好的处理能力;③ 相比于FL和AC,ANNRC的控制律更为光滑。 (2)测试控制器增益和初始条件对系统约束的影响。 图9、图10分别为有扰动时无约束控制器在低增益下和高增益下的仿真结果;图11为位置初始条件e1(0)=0.15时,约束控制器在低增益有扰动时的仿真结果。 图9 有扰动时无约束控制器在低增益下的跟踪误差 图10 有扰动时无约束控制器在高增益下的跟踪误差 图11 e1(0)=0.15时,约束控制器的位置输出误差对比 结论:① 无约束时控制器明显产生了违规输出,且跟踪性能下降;② 增大增益时,无约束控制器的跟踪性能有所改善,但是跟踪性能还不如约束控制器在低增益下的表现;③ 在给定初始条件e1(0)=0.15时,约束控制器ANNRC的收敛速度明显快于AC,表明所设计的约束控制器在初始条件不在给定约束范围之内时,依然有很好的适应能力。 以反步控制理论为基础,引入障碍李雅普诺夫函数实现输出约束,介绍了一种自适应神经网络鲁棒控制器,利用神经网络在线估计机械臂系统的动力学模型,并引入鲁棒项减小了神经网络的重构误差。仿真结果表明所设计的控制器具有极强的抗干扰能力,不仅提高了机械臂的控制精度,而且在低增益和初始误差较大的情况下,依然能保持极快的收敛速度。2.2 基于多层前馈神经网络的控制器设计
2.3 稳定性证明
3 仿真研究
4 结束语