基于Lagrangian支持向量机的机械手鲁棒自适应控制
2015-02-24刘红平
刘红平
长沙师范学院 电子信息工程系,长沙 410100
1 引言
多关节机械手系统是一个多输入多输出、高度耦合的复杂非线性系统。如果能够得到描述机器人动力学的精确数学模型,那么计算力矩控制[1]就能够有效地实现机器人的轨迹跟踪控制。然而,计算力矩控制必须事先精确获得机器人的动力学模型的先验知识。但在实际中,即使获得一个较为理想的机器人动力学模型也是很困难的。经典的PD控制不依赖系统模型,然而难以保证系统的稳定性和控制精度。在系统模型未知的情况下,为实现机械手的高性能控制,通常在控制律中引入补偿项,以消除不确定性因素的影响。传统的控制方法由于控制精度低(如:PID控制)或缺乏鲁棒性(如:计算转矩控制)等原因,往往难以保证良好的动态性能。考虑到神经网络强大的非线性逼近能力,可以补偿各种非线性未建模动态的影响,因此,基于神经网络的控制方法成为机械手智能控制的重要手段[2-6]。然而,由于神经网络固有的缺乏泛化性和容易陷入局部极小的缺陷,在一定程度上限制了其应用。支持向量机的提出,有效地解决了这一问题[7-10]。
支持向量机(SVM)是一种基于统计学习理论的学习机[10-14],通过结构风险最小化准则来提高泛化能力。相对神经网络来说,SVM具有严格的理论基础,在训练中不存在陷入局部最优和维数灾难问题,小样本学习也具有很强的泛化能力。文献[15]在标准的支持向量机基础上提出了一种改进的Lagrangian支持向量机(LSVM),并将其应用到分类问题,实验结果表明,Lagrangian支持向量机具有更快的计算速度[16-20]。
本文首先将Lagrangian支持向量机推广应用到回归问题,学习过程采用梯投影法[21-23];然后将Lagrangian支持向量机应用于机械手的滑模控制。具体来说,首先通过Lagrangian支持向量机对机械手系统进行非线性补偿;然后进一步在线调整参数,并增加一个滑模鲁棒控制项来消除逼近误差对跟踪性能的影响。最后,通过仿真实现,验证了以上控制方法的有效性。
2 Lagrangian支持向量机
2.1 LSVM分类
首先考虑标准的支持向量机分类(SVC),标准的二阶范数软间隔SVC形式为:
其中,w=(w1,w2,…,wm)T∈Rm,φ(⋅):Rn→Rm为非线性映射;b为截距,C为正则参数,ξi为松弛变量;((x1,y1),(x2,y2),…,(xl,yl))为给定的样本集,l为样本个数。其对偶问题为:
上述SVC的特点是:含有等式约束,且当样本不可分时的取值并不唯一。Lagrangian支持向量机是上述标准SVC的一种改进,在目标函数b2中增加了项,对应的LSVC形式如下:
通过引入拉格朗日函数,可将以上问题求解转化为如下对偶问题:
式(5)相对式(2)来说,没有了等式约束。因此,使得对应问题的求解相对简单。设对偶问题(5)的最优解为,则唯一的b*满足以下条件:
这样得到如下的判别函数:
2.2 LSVM回归
为了能够将Lagrangian支持向量机(LSVM)应用于函数逼近,将上述LSVM推广应用到回归问题。首先定义Huber损失函数:
其中ε为不敏感参数。对于具有Huber损失函数的LSVR定义如下:
通过引入约束优化问题(9)的拉格朗日函数,并利用KKT互补条件,得到其对偶问题为:
假定通过求解上述二次规划问题,得到最优解,则相应的回归函数为:
得到的Lagrangian支持向量机回归结构如图1所示,其中xi为支持向量机的输入,y为输出;βi可以看作支持向量机网络的输出权值。
图1 LSVR结构示意图
3 LSVR的学习
本部分主要研究如何通过样本学习获得LSVR的未知参数βi。为获得最优参数,必须求解含约束的二次规划问题(11)。首先将式(11)改写为如下矩阵形式:
将采用如下梯度投影法求解参数β:
其中,βk为k时刻变量β所在位置,s>0为学习步长。
下面,将研究参数学习过程的收敛性。对于由式(16)描述的迭代学习过程,有如下定理:
定理1设β*为二次规划问题(12)的唯一最优解,则当 0<s<2/λmax时,迭代式(16)收敛于β*,其中λmax为矩阵A的最大特征值。
证明β*由于为式(12)的唯一最优解,则β*必满足最优条件:
将式(16)(17)两式相减,得:
设矩阵A的特征值为λi,i=1,2,…,l,要使得βk收敛于β*,必须有:
由此即可得 0<s<2/λmax时,βk收敛于β*,故得证。
4 机械手控制
在本章中,将把Lagrangian支持向量机回归(LSVR)应用于机械手系统的控制。对于具有n自由度的机械手,其动力学方程为:
其中,q∈Rn为关节角位移量,M(q)∈Rn×n为惯性矩阵,C(q,)∈Rn为向心力和哥氏力,G(q)∈Rn为重力矩,F()∈Rn为摩擦力,τ∈Rn为控制力矩。系统(20)具有如下性质:
性质1(q)-2C(q,)为反对称矩阵,即:
性质2惯性矩阵M(q)为有界的对称正定矩阵,即存在m1,m2>0使得:m1I≤M(q)≤m2I
在本文中,系统的控制目标为使得关节输出q(t)跟踪参考输出qd(t)。对应跟踪误差为:
定义误差函数:
其中,Λ为对称正定矩阵,则
其中,Kv为对称正定矩阵。当f未知时,用支持向量机去学习f,用其估计值代替f。然而,由于估计误差的存在,使得控制器(24)并不能保证闭环系统的稳定性,必须对控制律进行修正。根据支持向量机回归逼近理论,存在一个最佳逼近,使得:
其中Δ为有界的逼近误差,W*为最佳逼近参数,K(x)为核函数。然而,在实际中通过有限样本的学习难以精确获得最佳参数,一般只能获得参数的近似估计值,即
此时控制力矩为:
观察上式,可以将其看作关于参数的含有结构不确定性Δ(t)的模型。对于参数不确定性,设计参数自适应律,对于结构不确定性,可在控制器式(28)的基础上增加一个鲁棒控制器。在设计鲁棒控制器时,假设存在常数L>0,使得有界的逼近误差实际中,逼近误差的界也常难以直接得到,因此,先给定L的一个估计值,然后再进行在线调整。
综合以上分析,实际的控制器由两部分组成:
且对应的参数自适应律为:
图2 LSVR控制器框图
对于此控制器有如下定理:
定理2对于由式(20)描述的机械手系统,若系统控制器由式(29)~(33)确定,则闭环控制系统渐近稳定。
证明定义系统的Lyapunov函数:
对以上Lyapunov函数求导得:
故由Lyapunov稳定性理论可得系统的渐近稳定性,定理得证。
5 仿真实例
以两关节机械手为例,对本文提出的控制方法进行仿真。考虑如图3所示的二关节机器手系统,其动力学模型由式(20)描述,其中:
首先利用LSVM对系统进行非线性补偿,其中LSVM的正则参数C=5,高斯核函数中的宽度参数σ=2。实施控制时,相应的控制参数取为:Kv=diag(15,10),Λ=diag(5,5),kL=0.5,Γ=10。所得到的仿真结果如图4和图5所示。另外,为突出跟踪效果,将本文所提出的方法与经典的PD控制方法进行了对比,其中比例和微分系数的大小选择与本文提出的控制器中误差和误差变化率的系数相同。跟踪误差比较效果如图6和图7所示。观察仿真结果可知,本文设计的控制器实现了对参考信号的跟踪,且比PD控制具有更好的跟踪性能。这是因为本文提出控制器可以看作在PD控制器的基础上增加了一个非线性前馈补偿器,前馈补偿能够抵消系统非线性和不确定性的影响,有助于提高控制器的跟踪性能。
图3 两关节机械手模型
图4 第一关节的输出q1(t)与参考输出q1d(t)
图5 第二关节的输出q2(t)与参考输出q2d(t)
图6 第一关节的输出误差e1(t)
图7 第二关节的输出误差e2(t)
6 结束语
本文将Lagrangian支持向量机推广应用到回归问题,并提出了基于梯度投影法的学习方法,与标准的SVM相比,LSVM具有更快的学习速度。进而采用LSVR补偿来实现对机械手的控制,由于补偿误差的存在,因此,在自适应控制器的基础上增加了一个鲁棒控制器,使得控制系统具有了更好的跟踪性能。对两关节机械手的仿真结果表明本文的方法优于传统的PD控制。
[1]Craig J J.Introduction to robotics:mechanics and control[M].3rd ed.New Jersey:Pearson Prentice Hall,2005.
[2]Lewis F L,Liu K,Yesildirek A.Neural net robot controller with guaranteed tracking performance[J].IEEE Trans on Neural Networks,1995,6(3):703-715.
[3]Lewis F L,Yegildirek A,Liu K.Multilayer neural-net robot controller with guaranteed tracking performance[J].IEEE Trans on Neural Networks,1996,7(2):388-399.
[4]Byung K Y,Woon C H.Adaptive control of robot manipulator using fuzzy compensator[J].IEEE Trans on Fuzzy Systems,2000,8(2):186-199.
[5]Meddah D Y,Benallegue A.A stable neuro-adaptive controller for rigid robot manipulators[J].Journal of Intelligent and Robotic Systems,1997,20(2/4):181-193.
[6]Ge S S,Hang C C.Adaptive neural network control of robot manipulators in task space[J].IEEE Trans on Industrial Electronics,1997,44(6):746-752.
[7]刘涵,刘丁,任海鹏.基于最小二乘支持向量机的混沌控制[J].物理学报,2005,55(9):4019-4025.
[8]Sun Zonghai,Sun Youxian,Yang Xuhua,et al.Sequential support vector machine control of nonlinearsystems by state feedback[C]//LNCS 3498:ISNN 2005.Berlin Heidelberg:Springer-Verlag,2005:7-14.
[9]沈曙光,王广军,陈红.最小支持向量机在系统逆动力学辨识与控制中的应用[J].中国电机工程学报,2008,28(5):85-89.
[10]Mahmoud T A.Adaptive control scheme based on the least squares support vector machine network[J].Int J Appl Math Comput Sci,2011,20(4):685-696.
[11]Vapnik V.Statistical learning theory[M].New York:John Wiley and Sons,1998.
[12]Cortes C,Vapnik V.Support vector networks[J].Machine Learning,1995,20(3):273-297.
[13]Cristianini N,Shawe-Taylor J.An introduction to support vector machines[M].Cambridge:Cambridge University Press,2000.
[14]Smola A J,Schölkopf B.On a kernel-based method for pattern recognition,regression,approximation,and operator inversion[R].1997.
[15]Mangasarian O L,Musicant D R.Lagrangian support vector machines[J].Journal of Machine Learning Research,2001,1:161-177.
[16]Mangasarian O L,Musicant D R.Successive overrelaxation for support vector machines[J].IEEE Transactions on Neural Networks,1999,10(5):1032-1037.
[17]Lee Y J,Hsieh W F,Huang C M.ε-SSVR:a smooth support vector machine forε-insensitive regression[J].IEEE Transactions on Knowledge and Date Engineering,2005,17(5):678-685.
[18]Sheng M,Chen Y,Dai Q.A novel Lagrangian support vector machine and application in the crane gear fault diagnosis system[J].Advances in Mechanical and ElectronicEngineering LectureNotesin ElectricalEngineering,2012,176:369-373.
[19]Hwang J P,Choi B,Hong I W,et al.Multiclass Lagrangian support vector machine[J].Neural Computing and Applications,2013,22(3/4):703-710.
[20]Shao Y,Chen W,Zhang J,et al.An efficient weighted Lagrangian twin supportvectormachineforimbalanced data classification[J].Pattern Recognition,2014,47(9):3158-3167.
[21]Xia Youshen,Wang Jun.A one-layer recurrent neural network forsupportvectormachinelearning[J].IEEE Transactions on Systems,Man,and Cybernetics,Part B:Cybernetics,2004,34(2):1261-1269.
[22]Bertsekas D P,Tsitsiklis J N.Parallel and distributed computation:numericalmethods[M].Englewood Cliffs,NJ:Prentice-Hall,1989:210-219.
[23]Bertsekas D P.Nonlinear programming[M].Massachusetts:Athena Scientific,1999:234-250.