周 振, 王冬青, 许崇立
(1.青岛大学 自动化工程学院,山东 青岛 266071; 2.青岛大学 电气工程学院,山东 青岛 266071)
机械臂是一种具有高度非线性、多变量、强耦合的复杂被控对象,容易受到自身参数不确定和外界干扰等不确定因素的影响[1~3],尤其是当前研究热点的模块化机械臂,其参数不确定性更大,很难得到精确的动力学数学模型[4,5]。因此,其轨迹跟踪控制具有极高的研究价值并且是一个具有挑战性的问题。为了实现机械臂稳定、快速、精确的轨迹跟踪控制,国内外学者进行了大量研究工作。
目前机械臂的轨迹跟踪方法主要包括有自适应比例—积分—微分(proportional-integral-differential,PID)控制、神经网络自适应控制、模糊自适应控制、滑模变结构控制和鲁棒自适应控制几种控制方法[6,7]。其中滑模变结构控制具有响应快速、对系统参数摄动和外部扰动不敏感等优点,广泛应用于机械臂的轨迹跟踪中[8,9]。但由于滑模控制固有的抖振问题不仅会影响系统控制的精确性,而且会增加控制器的负担,容易损坏控制器的部件。并且滑模控制需要假设系统不确定性上界已知,这就增加了理论分析的约束条件。滑模控制与智能控制相结合的控制方法是近年来抗抖振研究的热点[10]。文献[11,12]将滑模控制与模糊控制相结合,抑制了输出力矩的抖振,实现了稳定的轨迹跟踪。但模糊控制主要依赖研究者的经验,有一定的应用难度。文献[13]使用小波神经网络在线调整滑模开关增益,使控制器获得了良好的动态性能。文献[14]针对机械臂的不确定性和外部干扰提出了一种神经滑模控制方法,但没有补偿神经网络的逼近误差,在不同的条件下的收敛速度有较大的差别。
本文考虑到机械臂的模型不确定性以及外部干扰项,设计了一种控制算法不依赖机械臂的精确动力学模型和先验的上界知识。
如图1所示三自由度(degree of freedom,DoF)RRR构型模块化机械臂,其基座腰关节实现回转运动,肩与肘两关节实现俯仰运动。为了建模方便,只考虑了基座、前臂和后臂,忽略了手腕部分。a2和a3分别是后臂连杆质心到关节2的距离和前臂连杆质心到关节3的距离,l2和l3为后臂连杆和前臂连杆的长度,I1,I2,I3分别是基座、后臂连杆和前臂连杆的转动惯量。m2和m3分别是后臂连杆和前臂连杆的质量。
图1 3DoF自由度模块化机械臂模型
前臂连杆末端的位置在基参考坐标系下的位置为
x=[l2cosq2+l3cos(q2+q3)]cosq1
y=[l2cosq2+l3cos(q2+q3)]sinq1
z=l2sinq2+l3sin(q2+q3)
(1)
根据拉格朗日建模法,针对图1所示的3DoF自由度模块化机械臂,建立其动力学模型
(2)
其中
2m3a3l2cos(q2)cos(q2+q3)
2m3a3l2cos(q3)
G1=0,G2=(m2a2+m3l2)cos(q2)+m3a3gcos(q2+q3),G3=m3a3gcos(q2+q3)
可以将机械臂的动力学方程简化为
(3)
从动力学模型可以看出,3DOF模块化机械臂具有非线性和强耦合性,所以,存在较大外部干扰并且机械臂系统的精确动力学模型难以获得。
由于指数趋近律具有参数可调节,趋近速度快,可在有限时间内收敛的优点,所以本文在此基础上进行改进。但在指数趋近律中,系统在切换带中向原点运动时,不能趋近于原点,而是在原点附近来回震动进而引起抖振。本文对指数趋近律做出如下改进:利用饱和函数中的双曲正切函数tanh(s)代替符号函数sgn(s),并且在指数趋近项中引入自适应项。表示如下
(4)
双曲正切函数的表达式为
(5)
其中,w>0,w的大小决定双曲正切函数拐点的变化快慢。取w=0.5,双曲正切函数和符号函数的比较如图2所示。可以看出,双曲正切函数是连续光滑的,弥补了一般指数趋近律由于符号函数sgn(s)在平衡点处不连续引起的高频抖振,缓解了控制输入的不连续性。
图2 连续幂次函数和符号函数比较
当系统远离滑模面时,s较大,指数项占主导作用,此时|s|q的值比较大,使得系统状态能以较大的速度趋近于滑动模态,弥补了引入饱和函数而降低的系统跟踪速度。而随着系统对误差的调节,s较小,此时-ε|s|ptanh(s)为主导项,|s|p也较小,能保证系统以较小的速度到达滑模面,进而降低了系统状态进入滑模面的初始抖振。系统状态在滑模面上运动时,状态变量穿过滑模面的幅度逐渐减小,直到系统状态稳定于平衡点,抖振现象消失。
由上述分析可知,本文所设计的自适应指数趋近律克服了指数趋近律中切换带为带状的缺点,能够在提高系统趋近滑模面速度的同时削弱输入力矩的抖振现象,并且满足滑模存在及可达性条件
(6)
对于系统的名义模型,采用计算力矩法控制,在内控制回路中引入非线性补偿,使机械臂控制系统转化为易于控制的线性定常系统
(7)
(8)
(9)
结合式(7)和式(8)得到稳定的闭环系统
(10)
可以看出,在不考虑建模误差和外界扰动时,通过选择合适的增益矩阵Kd和Kp,跟踪误差可趋近于零。而实际应用中,很难得到精确的数学模型,因此,考虑到模型不确定性和未知外界干扰,将机械臂的动力学方程进一步表示为
(11)
(12)
综合考虑到机械臂的动力学模型,总控制器为
(13)
式中τs为滑模控制器,滑模面采用线性滑模函数
(14)
将式(12)、式(13)代入上式得
(15)
取趋近律为改进的趋近律,结合式(15),那么滑模控制器设计为
τs=M0(q)(ε|s|ptanh(s)+
(16)
为了实现快速、准确的轨迹跟踪,并抑制输出力矩的抖振,机械臂的不确定项必须得到近似。与反向传播神经网络(back propogation neural network,BPNN)相比,径向基函数神经网络(radial basis function neural network,RBFNN)具有逼近性能好、全局最优、结构简单、训练速度快等优点,得到了广泛的应用。理论上,RBFNN可以逼近任意精度的任意连续函数。因此,本文采用RBFNN对不确定性项进行逼近。理想的RBFNN算法描述如下
(17)
ρ(x,θ)=θ*Tφ(x)+η
(18)
(19)
(20)
式中Γ∈R3×3为待设计的调整系数矩阵。考虑到神经网络的逼近误差,那么系统的总控制器重描述为
(21)
式中v为克服神经网络逼近误差ε的鲁棒项,v=-η0tanh(s)。趋近律为
(22)
利用Lyapunov函数证明系统的稳定性,并将Lyapunov函数选为
(23)
求导得到
(24)
根据LaSalle不变性原理,闭环系统渐进稳定。综上所述,本文设计的控制系统结构框图如图3所示。
图3 控制系统结构框图
机械臂连杆的杆长为l2=0.5 m,l3=0.5 m;质量为m2=5 kg,m3=3 kg;转动惯量为I1=1.5 kg·m-2,I2=0.8 kg·m-2,I3=0.6 kg·m-2。取外界干扰模型的参数为d1=2,d2=3,d3=6。取建模误差为ΔM=0.2M,ΔC=0.2C,ΔG=0.2G。滑模控制器的参数设定为:V=diag(10,10,10),ε=0.6,p=2,q=2,w=0.5,k=5,η0=0.1,Γ=[5,5,5,5,5]。RBFNN的隐含层节点数为7,高斯基函数的基宽度bi=2,隐含层高斯基函数的中心值为c=[-1,-0.5,0,0.5,1]。
取机械臂初始状态为q1=[0,π/6,-5π/6]T终止状态为q2=[-π/2,π/3,-π/2]T。3个关节的初始角速度、初始角加速度和终止角速度、终止角加速度均为零。通过5次多项式轨迹规划获得其期望轨迹,并对比基于指数趋近律的滑模控制的仿真结果加以分析。两种算法的关节位置仿真结果如图4所示。可以看出,两种算法都能取得较好的跟踪效果。两种算法的关节角度跟踪误差比较如图4(c)所示,相较而言,由于改进趋近律中自适项的引入,使得本文所提算法收敛速度更快,跟踪精度更高。
图4 两种算法滑模控制角度跟踪结果和关节角度误差比较
两种算法的输出力矩如图5所示。在基于指数趋近律的滑模控制中,为了实现关节角度的准确跟踪,而选择了充分大的不确定项的上界值,虽然实现了关节角度的准确跟踪,但是加重了输出力矩的抖振,可以看出基于指数趋近律的滑模控制输出力矩始终有较大抖振,而本文所提方法可以自适应地辨识并补偿不确定项,又使用改进趋近律又进一步抑制了抖振,可以看出,得到的输出力矩只在开始阶段有小幅抖振,其余阶段输出力矩平稳。
图5 二种算法滑模控制输出力矩结果
针对不确定性较强的模块化机械臂系统中控制精度低,尤其是输出力矩抖振严重这一问题,提出了一种改进的指数趋近律,并利用RBFNN神经网络自适应地补偿建模不确定项和外界干扰。在3DoF模块化机械臂上对控制算法进行仿真实验。仿真结果表明:所提方法在考虑到外部干扰且没有精确的机械臂动力学模型的情况下,不仅提升了控制精度,加快了控制系统的收敛速度,实现了对规划的期望轨迹快速稳定精确跟踪,而且极大地降低输入力矩的抖振,在实际应用中可以较好地保护执行机构。