范云鹏,樊春霞
(南京邮电大学自动化学院、人工智能学院,江苏 南京 210023)
如今,机器臂在各种应用中变得越来越普遍,但由于其关节内部结构的复杂性及工作环境的不确定性,导致机械臂是一个典型的非线性、强耦合、时变不确定的系统[1][2]。在机械臂带有负载时主要问题是模型不确定性和外部扰动,为了解决模型不确定和外部扰动,提出很多控制策略,例如自适应控制、鲁棒控制、滑模控制、模糊控制及神经网络控制。
由于机械臂是一个典型的非线性系统,滑模控制是运用于机械臂系统控制中最为广泛的一种。文献[3]定义了机器人的PID型滑模面,设计了非线性滑模控制器,实现了机器人的主动减振控制。文献[4]提出了一种新的自适应滑模控制器,用于机器人稳定跟踪控制。文献[5]提出了一种使用自适应积分滑模控制和时延估计的机器人机械手自适应鲁棒控制器,所提出的控制器具有很强鲁棒性,无颤动并且精度很高。
文献[3-5]保证了机械臂跟踪误差的渐近稳定性,这是一种表征时间无穷大时的稳定性,然而实际的物理系统都是有时间限制的,需要研究系统的有限时间稳定性[6,7]。文献[6]采用自适应快速终端滑模方法实现了刚性航天器的有限时间跟踪控制,但终端滑模面存在奇异性问题。文献[7]针对存在执行器故障和未知外部干扰的二阶非线性系统,提出了自适应非奇异快速终端滑模(NFTSM)控制,该控制器可以消除与常规终端滑模控制有关的奇异性问题。
在实际运行过程中,当控制输入超出了执行器输出的上下限时,“饱和”就产生了,这不仅会导致控制性能降低,甚至导致系统不稳定[8]。由于机械臂快速瞬时响应需要较大力矩,在机械臂的有限时间控制中就可能存在执行器饱和问题。文献[9]提出适用于执行器饱和的非线性机器人系统动态抗饱和优化,利用比例积分(PI)控制器,把其中的重力项通过非线性补偿技术消除。文献[10]提出了一种基于滑模控制方法的自适应反升起控制策略,自适应更新律用于估计不确定性的上限和执行器饱和度的最小值。文献[11]考虑输入饱和误差约束,实现了无人水面舰艇的自适应容错跟踪控制。文献[9-11]研究了系统的饱和控制下问题,实现了渐近稳定,没有涉及到有限时间稳定。
机械臂是一个复杂系统,很难用精确的模型来描述,往往用不确定模型描述。解决不确定性的有效工具之一是神经网络,它可以近似任意非线性函数。文献[12]考虑到当机械手捕获未知有效载荷时可能存在的模型不确定性,使用径向基函数神经网络(RBFNN)估计空间机械手模型中的不确定性。文献[13]提出了一种基于NN的自适应终端滑模控制器,用于空间机械臂的轨迹跟踪。文献[14]提出了一种应用于SCARA机器人的非线性动力学的多输入多输出自适应神经PID控制器。文献[12-14]研究了机械臂模型不确定性时控制器的设计方案,但是没有考虑执行器饱和对系统稳定性的影响。
综上所述,研究及机械臂跟踪控制问题时,不仅需要考虑有限时间稳定,而且需要考虑模型不确定性以及执行器饱和对跟踪稳定性的影响。鉴于此,本文的主要工作如下:
考虑机械臂模型不确定性以及受到外界扰动时会严重影响机械臂稳定性,提出了一种有限时间跟踪控制器,实现了抗饱和控制。利用自适应RBFNN网络逼近模型不确定性以及外界扰动;设计饱和因子的自适应律以补偿执行器饱和;提出快速终端滑模控制器,实现机械臂的有限时间跟踪。
包含干扰项的机械臂动力学方程可表示为[15]
(1)
由于执行器饱和会影响系统的稳定性[8,9],因此这里考虑执行饱和时,研究机械臂跟踪给定轨迹的控制器设计问题。此时,机械臂各个关节的输入力矩可以表示为
(2)
τ为所需的控制力矩,τmax为已知输入所需力矩τ的上界,sign(τ)=(sign(τ1),sign(τ2) ,…,sign(τn))T表示每个关节输入力矩的符号函数。
引入饱和因子描述(2)所表示的饱和函数
sat(τ)=ω(τ)τ
(3)
其中ω(τ)=diag{ω1(τ1),…,ωn(τn)}表示执行器的饱和特性
从ω(τ)的定义可以得到其满足如下限制
0<φ≤ω(τ)≤1
(4)
其中φ是饱和因子ω(τ)的下界,是一个未知常数。
由于机械臂的动力学模型中存在很多不确定性因素[12,13],因此无法精确给出式(1)中的惯性矩阵、哥氏力和离心力、重力项,更是无法准确确定外界扰动。
假设1:期望轨迹qd∈Rn是一个二次连续可微的函数。
证明机械臂有限时间跟踪给定轨迹时,将用到如下引理。
引理1[16]:具有有限时间收敛性的扩展Lyapunov描述为
(5)
其中∀t>t0,V(xt0)≥0。对于任意t0,收敛时间为
(6)
其中λ1>0,λ2>0和0 本文采用自适应方式逼近饱和因子下界φ的倒数,利用神经网络逼近机械臂跟踪给定轨迹过程中的非线性项以及外界扰动,采用终端快速滑模控制器使得机械臂能够在有限的时间内跟踪给定轨迹。 定义系统跟踪误差及其导数为 (7) 则由(1)和(7)可得 =ω(τ)τ+f (8) 其中f为机械臂轨迹跟踪过程中的未知非线性函数 (9) 为了避免滑模控制中的奇异问题[17],采用如下NFTSM滑模面 (10) 其中1/2 β=diag{β1,…,βn}(βi>0),i=1,2…n。 将滑模面(10)对时间求导,然后将式(8)代入可得 (ω(τ)τ+f) (11) 控制律可设计为 (12) (13) 滑模控制系统利用切换控制律保证系统的状态不离开滑模面,传统切换控制采用不连续控制项K·sign(s),会导致控制输入信号产生抖振。为了保证控制律为连续函数,可以使系统鲁棒性增强,降低滑模控制中的抖振,设计如下快速连续终端控制律 τsmc=-(λ1s+λ2sr5/r6) (14) 其中 0 λ1=diag(λ11,λ12,…,λ1n) λ2=diag(λ21,λ22,…,λ2n) 式中λ1i、λ2i(i=1,2,…,n)为正常数。 注2:文献[7]的滑模控制器采用了符号函数,尽管能够实现有限时间收敛,但是容易引起抖振。而(14)中采用了连续的非奇异快速终端滑模控制,能够有效地降低滑模控制的抖震,并提高系统的鲁棒性。 RBFNN具有很好的近似未知和平滑函数的能力[18]。根据Stone-Weierstrass近似定理,给定足够数量的神经元,RBFNN能够以任意精度逼近任意连续的非线性函数[19]。 采用RBF神经网络逼近f∈Rn,f能够精确表达(9)中未知非线性函数,即 (15) (16) (17) 其中i=1,2,…,n;j=1,2,…,L; 本文设计自适应神经网络逼近机械臂跟踪系统中的非线性函数(9),可以有效减少逼近误差对系统的影响。因此根据(13)(14)和(16),控制输入(12)可以被重新表示为 (18) (19) (20) 设计饱和因子下限φ的倒数φ-1的自适应律为 (21) 定理1:在执行器饱和情况下,模型不确定的机械臂(1)在控制器(18)、自适应规律(19)、(20)、(21)作用下,能够在有限时间 (22) 内收敛到给定跟踪轨迹,且跟踪误差在原点的极小邻域内。 取Lyapunov函数为 (23) 定义 (24) (25) V1对时间t求导可得 (26) 将式(18)代入式(26)可得 (27) V2对时间t求微分可得 (28) 由(27)和式(28)可得 (29) 下面分3种情况讨论Hw (30) (31) (32) 同样地,对Hε分三种情况分别讨论,可得 (33) 同时可得以下不等式 (34) (35) (36) 将式(30)-(36)代入式(29)得 (37) 根据文献[20]可得 (38) 将式(24)、(37)代入式(38)得 (39) 式(39)可写为 (40) Geomagic Touch机器人实物图如图1所示,它有三个旋转驱动关节q1、q2、q3,图2给出Geomagic Touch的平面结构图。第一关节q1为图中球形底座,q2、q3为与其相连接的杆状部分,不考虑最后一节手写笔状态,它只是为了人为操纵第三关节末端位置。 图1 Geomagic Touch 图2 平面结构图 由于机械臂第二第三关节运动在同一水平面上,为简化运算,这里将第二关节锁定,只取第一和第三关节的角度变量q1、q3进行研究。 Geomagic Touch中各个矩阵和向量具体表达式如下 其中 ci=cos(qi);si=sin(qi);c2.i=cos(2qi);s2.i=sin(2qi)。(i=1,3) 设定机械臂关节的初始位置为 q1=0.1,q3=0.1 设定机械臂关节的初始速度为 机械臂所受外部干扰为 τd1=sin(t),τd2=sin(t) 给定所需跟踪的目标轨迹为 qd1=2*sin(t),qd3=2*sin(t) Geomagic Touch机械臂参数如表1所示。 表1 Geomagic Touch参数 仿真中所取控制器的参数如表2所示。 表2 控制器参数取值 神经网络参数为 由GeomagicTouch性能指标可知,其最大输出力矩为3.3N。当超出最大输出力矩时机械臂执行器处于饱和状态下。 图3 带饱和控制器,机械臂位置跟踪 图3和图4表示机械臂不带负载时,在给定输出力矩大于最大输出力矩(3.3N)时,执行器处于饱和状态下,机械臂GeomagicTouch在控制器(18)及自适应律(19)-(20)作用下,关节1和关节3的位置和速度跟踪效果。可以看出机械臂的位置和速度可以在0.3秒内跟踪到期望轨迹上。图5和图6更加直观地给出了机械臂跟踪时位置和速度的误差,位置误差在0.2秒时小于0.005rad,速度误差在0.3秒时小于0.05rad/s。从图3-图6可以看出,当执行器饱和时,模型不确定的机械臂能够以很小的误差跟踪给定轨迹。 图4 带饱和控制器,机械臂速度跟踪 图5 带饱和控制器,机械臂位置误差 图6 带饱和控制器,机械臂速度误差 为了说明本文算法的有效性,与滑模面为线性的算法进行了仿真对比。 表3 控制器参数取值 图7 线性滑模面时,机械臂位置跟踪 图8 线性滑模面时,机械臂速度跟踪 图9 线性滑模面时,机械臂位置误差 图10 线性滑模面时,机械臂速度误差 具有执行器饱和的机械臂,在控制器为 没有饱和因子处理执行器饱和时,从图11-图12可以看出,机械臂处于饱和状态时,机械臂无法实现位置、速度的稳定跟踪。 图11 无饱和控制器,机械臂位置跟踪 图12 无饱和控制器,机械臂速度跟踪 带负载时,机械臂模型为不确定性,机械臂在控制器(18)及自适应律(19)-(20)作用下,用RBFNN神经网络逼近不确定的矩阵参数,由仿真结果图13-图16可以看,在控制器参数不改变的情况下,系统依旧可以保持稳定。 图13 带负载时,机械臂位置跟踪 图14 带负载时,机械臂速度跟踪 图15 带负载时,机械臂位置误差 图16 带负载时,机械臂速度误差 本文研究了执行器饱和下,机械臂的稳定性问题。首先利用参数自适应,辨识出执行器饱和因子下限,有效地解决了执行器因为饱和而无法增加力矩,从而无法达到预期跟踪的问题;然后利用权值自适应的径向基神经网络辨识机械臂的未知参数以及外部扰动;最后设计非奇异终端快速滑模控制器使得机械臂系统能够在有限时间内跟踪给定轨迹,并有效解决奇异问题。在仿真验证算法时,利用Geomagic Touch机械臂模型,给定输入力矩大于机械臂额定力矩,使执行器处于饱和状态,机械臂可以快速跟踪给定轨迹,达到稳定效果。在接下来的工作里,将控制器放在遥操作系统中,考虑时延和反馈力的问题进行进一步研究。3 控制器设计
3.1 滑模面设计
3.2 RBFNN设计
3.3 饱和因子的自适应律
4 稳定性分析
5 仿真
5.1 有执行器饱和处理
5.2 无执行器饱和处理
5.3 带负载仿真
6 结论