董中华,陈鹏飞,李亚龙
(兰州理工大学 机电工程学院,甘肃 兰州 730050)
机械臂是一种多输入、多输出且具有时变性、时滞性和高度耦合性的复杂非线性系统[1]。机器臂系统的不确定性可能会导致依据该模型构造的控制器性能降低,甚至不稳定。在控制器设计时,很多控制策略都会有局限性,这将会对机械臂系统输出跟踪期望轨迹的实现带来巨大影响。因此机械臂系统中存在不确定项难以避免地会导致系统的性能大大降低[2]。神经网络应用在机械臂运动控制中,可以处理机械臂系统模型中的不确定性,还能对它进行实时控制[3]。
由于径向基神经网络结构简单,具有较强的泛化性能,近年来,很多人对RBF神经网络在机械臂控制的方向进行了研究,极大地推动了机械臂的RBF神经网络控制发展的进程。一些研究人员运用RBF神经网络的特性做出了自适应控制[4-5]。其中一部分研究人员在此基础上结合鲁棒控制,形成神经网络鲁棒自适应控制[6-7]。一些研究人员将RBF神经网络控制和模糊控制相结合,结合二者的优点组成模糊神经网络控制[8-9]。随着现代智能优化算法的兴起,如遗传算法(GA)、进化策略(ES)和粒子群算法(PSO)等,一些研究人员使用GA优化神经网络的参数,并设计了GA-RBF神经网络控制[10-11]。而PSO相对于GA而言,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易。一些研究人员使用PSO结合RBF神经网络在预测方面的研究很深入,但在机械臂控制方面不多。文献[12-13]仅在自校正控制和逆运动方面进行了研究。
本文在文献[11]的GA-RBF控制方法中得到启发,采用了另一种现代智能算法(PSO)来替代GA,设计了PSO-RBF控制方法。
由于机械臂的每个关节就是一个输入,也是一个输出,而且关节与关节之间又存在着扰动,耦合关系复杂。所以机械臂的系统模型很难精确获得。通常是用它的静止模型作为名义模型,再通过反馈进行自适应调节,以达到精确的轨迹跟踪控制。
假设被控对象为n关节机械臂,其动态方程为:
(1)
(2)
在计算力矩控制法中,采用名义模型,设计控制律为
(3)
将式(2)代入式(1),可得误差系统为
(4)
在实际工程中,f(·)通常是未知的,需要估计f(·)并对其补偿。利用RBF神经网络逼近任意非线性函数的特性逼近f(·),并对其进行补偿,就可以达到想要的控制效果。
采用RBF网络逼近f(·),其算法为
(5)
y=wTh(x)
(6)
其中:x是RBF神经网络的输入;w是神经网络的权值;h=[h1,h2,…,hm]T是高斯函数的输出。
给定一个很小的数ε使得RBF逼近公式(3)中的f(·),有如下公式:
(7)
定义逼近误差为
(8)
当逼近误差η无限趋近于0,则系统的不确定项被有效地逼近,通过补偿可以保证准确的控制。
粒子群优化算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解。
首先,粒子群算法将优化问题的解当作搜索空间中的一只鸟,在搜索的空间中以一定的速度飞行,速度大小根据它自身以及同伴的飞行经验进行动态调整。鸟被想象成为一个没有质量和体积的粒子,第i个速度粒子在n维空间里的位置表示为向量xi=(xi1,xi2,…,xin),飞行速度表示为向量vi=(vi1,vi2,…,vin)。每个粒子都有一个由被优化函数所决定的适应值,而且知道自己到目前为止所发现的最好位置xpi=(xpi1,xpi2,…,xpin)。此外,每个粒子还知道到目前为止邻域粒子所发现的最好位置xg=(xg1,xg2,…,xgn)。PSO算法是一种基于迭代的优化算法,第t1次迭代时,粒子将根据自身的经验和同伴的经验来决定下一步运动速度和位置。基本PSO算法的粒子位置和速度的更新公式如下:
vij(t+1)=wvij(t)+c1r1[xpij(t)-xij(t)]+c2r2[xgi(t)-xij(t)]
(9)
xij(t+1)=xij(t)+vij(t+1)
(10)
其中:w为惯性权重;c1和c2为学习因子;r1和r2为服从均匀分布U(0,1)的随机数;i=1,2,…,N,j=1,2,…,N,N为粒子规模。
在已知初始输入范围的条件下,运用PSO算法优化出最佳的网络权值w。取代优化参数向量n为个体粒子,PSO算法每次迭代得到的参数值为
nm=wTm=1,2,…,S
(11)
其中S为粒子种群规模。
不确定性误差为公式(8),采用不确定项的逼近误差作为参数选择的最小目标函数,设计个体适应度函数为
(12)
粒子群算法更新RBF权值的流程图如图1所示。
图1 粒子群优化算法流程图
在设计好PSO优化RBF参数的流程图后,PSO-RBF神经网络自适应控制系统如图2所示。
图2 PSO-RBF神经网络自适应控制系统框图
根据制定好的PSO-RBF神经网络自适应控制系统和参考文献[13],针对式(1)设计如下控制器:
(13)
将式(13)代入式(1),整理可得
(14)
(15)
这是一个标准的现代控制理论方程。
设计Lyapunov函数来验证其稳定性:
(16)
其中γ>0。
对V求导,整理可得
(17)
为了和文献[13]中的结果进行比较,运用文献中的自适应率
(18)
(19)
由上述的已知条件可得
(20)
其中λmin和λmax分别是矩阵Q的最小特征值和矩阵P的最大特征值。
(21)
由式(21)可得出结论,增大Q的特征值或减小P的特征值可以提高x的收敛效果。
本控制是在RBF神经网络控制的基础上,通过粒子群算法优化了控制效果,引入文献[13]中的二连杆机械臂作为被控对象进行仿真对比。
被控对象为双关节机械臂如图3所示,其动力学方程为
各项参数参考文献[13]。
图3 双关节机械臂示意图
设关节角度和关节角速度的期望跟踪指令为
仿真中,采用控制律式(14)和自适应律式(18),控制参数取
采用粒子群优化算法对RBF神经网络中的权值w进行优化,在优化工程中,粒子群优化算法的参数为:迭代次数T=100,种群规模S=50,粒子维数D=10。学习因子c1=c2=0.5。
仿真结果如图4-图7所示。
图4 关节1和关节2的轨迹跟踪
图5 关节1和关节2的角速度跟踪
图6 关节1和关节2的轨迹跟踪误差
图7 关节1和关节2的速度跟踪误差
从图4和图5分析得出,PSO- RBF神经网络控制的轨迹和速度与理想的轨迹和速度基本吻合,而且与RBF神经网络控制相比,PSO-RBF的轨迹更快地吻合理想轨迹。
从图6和图7可以看出,关节1轨迹吻合快将近4s,关节2轨迹吻合快将近2s。这表明PSO-RBF神经网络自适应控制实现了二连杆机械臂的高精度轨迹控制效果。通过和RBF控制方法对比,PSO-RBF神经网络自适应控制方法能够确保关节1和关节2的不确定项误差在一个更小的收敛领域,这说明该方法能更快逼近系统不确定项,保证控制系统在更短时间获得补偿并提高性能。
1)RBF神经网络控制能够在部分未确定机械臂模型参数的情况下获得较好的轨迹跟踪性能。而用PSO优化后的RBF神经网络控制可以获得更好的轨迹跟踪性能。
2)通过和RBF神经网络自适应控制相比,PSO-RBF神经网络自适应控制系统能够在更短时间内吻合理想控制轨迹,且控制稳定,提高了控制性能。