曾培江,刘 霞
(西华大学电气与电子信息学院,四川 成都 610039)
随着机器人技术的迅猛发展,机器人在多种领域得到广泛应用。然而,作为一个具有多变量和强耦合特点的复杂非线性系统,机器人在运行过程中容易受到各种外部因素的影响,其中关节摩擦的存在会导致系统位置控制精度的下降,严重影响机器人的运行效率[1]。因此,在设计机器人控制算法时,考虑对关节摩擦的补偿变得尤为重要。
为了降低关节摩擦对机器人的影响,学者们提出了基于观测器的补偿控制方法。文献[2]针对柔性关节机器人中不确定重力和摩擦问题,提出一种基于扩展状态观测器的控制方案。文献[3]将下肢外骨骼机器人的建模不确定、摩擦力和外部干扰视为集中干扰,提出一种基于干扰观测器的滑模控制方案。文献[4]针对异型曲面打磨机器人的摩擦和反作用力导致加工精度降低的问题,提出一种改进的非线性干扰观测器对摩擦和反作用力进行估计和补偿。文献[5]将机器人的关节摩擦与施加在连杆上的外力视为外部干扰,提出一种非线性干扰观测器,该方案可以在不测量加速度的情况下分别对摩擦力与外力进行估计,在降低摩擦与外力影响的同时也避免了测量噪声。文献[6]为消除柔性机器人电机侧摩擦对系统的影响,提出一种基于干扰观测器的比例微分控制器。文献[7]将机器人中包含摩擦在内的不确定动力学与未知干扰力矩视为集中干扰,并采用2 种滑模观测器对该干扰进行处理。虽然文献[2—7]针对机器人摩擦问题都提出了补偿方案,但是所采用的方案都是将摩擦视为干扰,或者与系统其他问题糅合在一起,共同视为不确定动力学或外部干扰,再通过设计观测器进行估计补偿,这样的补偿方案模糊了摩擦与系统中其他问题的界限,没有体现摩擦自身的特性。
与干扰和故障等机器人的其他问题不同,摩擦具有独特的特性,摩擦的方向总是与运动方向相反。通常情况下,学者们可以采用已经建立好的数学模型描述。基于数学模型的摩擦补偿方案由于可以根据已知模型提前估算出摩擦力矩,与直接采用干扰观测器进行补偿的方案相比,计算量更小[8]。然而,由于基于模型的摩擦补偿方案依赖于已知摩擦模型的精确度,因此,一个精确的摩擦模型能显著提高摩擦补偿效果。学者们经过不断努力,提出了包含库伦摩擦、库伦+粘滞摩擦、静摩擦+库伦+粘滞摩擦、Stribeck 摩擦在内的多种静态模型和包含Dahl 摩擦、LuGre 摩擦在内的多种动态模型[9]。其中,LuGre 动态模型通过微观层面对摩擦现象进行描述,能够全面精确地描述各种动态和静态的摩擦特性,是一种比较完善的摩擦模型[10]。
由于LuGre 模型的优越性,研究者将LuGre模型应用于机器人的摩擦补偿中。文献[11]采用LuGre 模型对多关节机器人的摩擦问题进行描述,提出一种基于自适应神经补偿器的摩擦补偿方案,并在此基础上设计了鲁棒滑模控制器。文献[12]针对双连杆机械臂存在高耦合、非线性和LuGre摩擦参数未知等问题,提出一种自适应模糊神经网络控制器。文献[13]提出一种将LuGre 摩擦模型与比姆神经网络(beam network)相结合的软—固相互作用的接触模型,用于机器人人机交互的控制,提高了控制效果。文献[14]将神经网络等智能控制方法与传统滑模控制器相结合,用于处理包含LuGre 摩擦在内的各种不确定,在实现消除抖振的同时又提高了控制精度。文献[15]考虑非线性摩擦对精密伺服装配臂的影响,提出一种改进遗传算法对LuGre 模型进行识别,有效消除了摩擦的影响。然而,采用神经网络和遗传算法这类智能控制方案来处理LuGre 摩擦问题,存在计算量较大、在实际应用中难以实现的缺陷。
为了减少摩擦补偿的计算量,对于LuGre 摩擦模型的未知状态变量的问题,研究者提出了双摩擦状态观测器的方案。文献[16]针对单关节机器人摩擦导致运动控制性能下降的问题,提出基于双摩擦状态观测器的LuGre 摩擦模型自适应鲁棒控制方案。文献[17]考虑柔性关节机器人存在关节摩擦影响的问题,采用LuGre 摩擦模型,设计了双摩擦状态观测器对无法直接测量的摩擦内部状态变量进行估计,进而实现对摩擦的补偿。文献[18]针对柔性关节机器人摩擦问题,基于LuGre 摩擦模型,提出了基于双摩擦状态观测器自适应摩擦补偿方案。文献[19]将LuGre 模型用于描述分布式拉格朗日系统的摩擦问题,提出一种基于双摩擦状态观测器的估计及参数自适应的补偿控制方案。然而,文献[16—19]都有一个共同之处,即:针对传统LuGre 模型存在内部状态变量无法直接观测的问题,设计了2 个观测器来同时针对摩擦内部状态变量进行估计,这样就使得摩擦补偿的结构非常复杂。
本文提出一种基于双观测器的机器人自适应摩擦补偿控制方法。首先设计终端滑模观测器对机器人的速度进行估计,然后基于连续LuGre 模型,设计摩擦状态观测器和摩擦参数自适应律,最后结合摩擦补偿设计反演控制器,使机器人在受到关节摩擦影响的情况下能有效跟踪期望位置轨迹。与文献[16—19]需要同时设计2 个观测器才能完成对摩擦内部状态的估计相比,本文方法采用改进传统LuGre 模型后得到的连续LuGre 模型,只需要设计一个摩擦状态观测器即可实现对摩擦内部状态的估计,减少了计算量,提高了摩擦的补偿效率。同时,另一个终端滑模观测器则用来对机器人的速度进行估计,有效避免直接速度测量对系统引入的噪声。除了考虑摩擦的内部状态,本文还考虑了摩擦参数未知的情况,设计了自适应律对摩擦的参数进行估计。本文所提出的基于双观测器的自适应摩擦补偿控制方法能有效降低机器人位置跟踪误差,提高机器人的控制精度。
受关节摩擦影响的n自由度非线性机器人[20—24]的表达式为
对于各关节的摩擦力f,本文采用一种连续LuGre 模型进行描述。在未改变传统LuGre 模型特性的前提下,连续LuGre 模型通过引入反正切函数使摩擦内部状态的动力学模型变得连续可导,为本文摩擦状态观测器的设计提供了便捷。连续LuGre 模型[21]可表示为
式中:σ0是摩擦的刚度系数;σ1是 阻尼系数;σ2是黏性摩擦系数;z是无法直接测量的摩擦内部状态变量,表示为
其中,FC为 库仑摩擦力,FS为 静摩擦力,vs为Stribeck 速度。
针对非线性机器人式(1)存在关节摩擦f式(2)的问题,本文所提基于双观测器的自适应摩擦补偿控制方案如图1 所示。首先,为了避免机器人关节速度直接测量带来的噪声,设计终端滑模观测器得到机器人关节速度的估计值;然后,针对关节摩擦问题,设计摩擦状态观测器与摩擦参数自适应律,并把得到的摩擦状态的估计值与摩擦参数的自适应律(i=0,1,2)代入连续LuGre 模型中,得出摩擦的估计值;最后,根据摩擦估计值进一步设计反演控制器,并通过反演控制器计算得到控制力矩τ,完成对机器人的控制,使机器人在受到关节摩擦f影响的情况下依然可以对期望轨迹qd进行有效的跟踪。
图1 基于双观测器的自适应摩擦补偿控制框图
对于机器人的摩擦问题,结合连续LuGre 模型,分别设计摩擦状态观测器与摩擦参数自适应,实现对关节摩擦的估计。
定义机器人的位置误差e1∈Rn×1,为
式中x1d∈Rn×1为机器人关节的期望位置。对式(26)求导,得速度误差,为
结合所采用的摩擦模型式(2),摩擦估计可以表示为
式中:µ为待设计的正定摩擦状态观测器参数矩阵;ε=+λ1e1是与位置误差和速度误差相关的变量。
摩擦参数自适应律设计为
由式(28)与式(2),摩擦估计误差为
接下来设计反演控制器保证机器人的位置跟踪效果,把二阶机器人分解为2 个子系统,通过分别为2 个子系统设计Lyapunov 函数和中间虚拟控制量,完成机器人的反演控制器设计。
Step1,定义一个误差e2∈Rn×1,为
式中 φ ∈Rn×1为虚拟控制量,定义为
对所定义的误差e2式(33)求导
定义Lyapunov 函数
对式(36)求导,并把速度误差式(27)与虚拟控制量式(34)代入,得
Step2,再定义一个Lyapunov 函数
对式(38)求导并将式(35)与式(37)代入,得
设计带有摩擦估计的反演控制器,为
因此,通过基于摩擦状态观测器式(29)与摩擦参数自适应式(31)的反演控制器式(40)设计,可以使得位置误差e1、定义的误差e2和摩擦状态误差渐进收敛,从而保证机器人具有全局意义下的渐进稳定性。
将设计的虚拟控制量式(34)代入式(33),有
因为位置误差e1和定义的误差e2都能渐进收敛,所以速度误差=x2−x2d也能渐进收敛。
为验证本文的基于双观测器的摩擦自适应补偿控制方法的有效性,采用2 自由度刚性机器人进行MALTAB 仿真。机器人模型为
仿真中,将本文的基于双观测器的摩擦自适应补偿控制(本文方法)与传统反演控制(对比方法)进行对比,2 种方案针对同一被控对象,被控对象具有同样初始状态,受到同等大小的关节摩擦影响。传统反演控制器[20]为
在参数选择方面,反演控制器、终端滑模观测器、摩擦状态观测器及参数自适应律的参数选择为:λ1=5,λ2=10,a1=9,b1=7,a2=97,b2=95,ρ=0.001,γ=diag(0.001,0.000 1),l=diag(1.5,3),ζ=diag(0.000 1,0.005),K0=diag(0.001,0.05),K1=diag(0.25,1.2),µ=diag(0.001,0.001),a0=diag(1 000,1 200),a1=diag(900,1 000),a2=diag(1 200,1 000)。
其仿真结果如图2—5 所示。
由图2 可以看出:当机器人受关节摩擦影响时,采用传统反演控制方法,机器人关节1 和关节2 无法很好地跟踪期望轨迹;采用基于双观测器的摩擦自适应补偿控制方法,机器人关节1 和关节2 都能有效跟踪期望轨迹。由图3 可以看出:在关节摩擦的影响下,采用传统反演控制,机器人关节1 和关节2 始终存在较大的位置误差,跟踪效果较差;采用本文的基于双观测器的摩擦自适应补偿控制方案,关节1 和关节2 的位置误差更小且收敛速度较快。
图2 本文方法和对比方法的机器人关节的轨迹跟踪效果
图3 本文方法和对比方法的机器人关节的轨迹跟踪误差
图4 为关节1 和关节2 的速度估计。可以看出,采用本文设计的终端滑模观测器,机器人关节速度的估计值能有效跟踪实际速度值,且估计误差能收敛到0。从图5 可以看出,采用本文的基于双观测器的摩擦自适应补偿控制方法对关节1 和关节2 都有较好的摩擦估计效果,且摩擦估计误差能在很短的时间内收敛到0。
图4 机器人关节1 和关节2 的实际速度、速度估计值与速度估计误差
图5 机器人关节1 和关节2 的实际摩擦、摩擦估计值与摩擦估计误差
为了进一步分析本文提出的基于双观测器的摩擦自适应补偿控制方法的效果,对系统运行一段时间达到稳定状态之后的估计误差的范围、极差(误差最大值−误差最小值)这2 个指标进行定量分析,其结果如表1—3 所示。
表1 基于双观测器的摩擦自适应补偿控制的速度估计效果分析
表 2 基于双观测器的摩擦自适应补偿控制的摩擦估计效果分析
表 3 传统反演控制与基于双观测器的摩擦自适应补偿控制的位置跟踪性能定量比较
从表1—3 可以看出,与传统反演控制方案相比,采用本文的基于双观测器的摩擦自适应补偿控制方法能有效对机器人速度量进行估计,并有效估计关节摩擦,机器人位置跟踪误差也更小,控制精度更高。
本文针对机器人系统中关节摩擦的问题,提出一种基于双观测器的摩擦自适应补偿控制方法。首先设计终端滑模观测器对机器人的速度进行估计,然后为了实现摩擦补偿,基于连续LuGre 摩擦模型,设计了摩擦状态观测器与摩擦参数自适应律,最后结合摩擦估计设计反演控制器,使机器人在关节摩擦影响的情况下能有效跟踪期望位置轨迹。该方法能有效对机器人速度量进行估计,避免速度直接测量产生的噪声,且能有效估计补偿关节摩擦,降低机器人位置跟踪误差,提高系统控制精度。在下一步工作中研究更为复杂的柔性机器人中的摩擦补偿问题,同时将对所提控制方案进行物理实验验证。