带有时变输出约束的机械臂自适应轨迹跟踪控制
2023-07-15朱华中刘安东
陈 涛,朱华中,刘安东,滕 游
(浙江工业大学 信息工程学院,杭州 310023)
1 引 言
随着科技的快速发展,机械臂作为机器人技术研究领域最普遍应用的自动化装置,已经被广泛应用于工业制造、康复医疗、军事活动和航空航天等领域[1-4].然而,由于机械臂的物理器件限制和人的安全性问题,必须将机械臂的操作空间约束在一定范围内以保证系统安全稳定运行[5].此外,机械臂是一种具有非线性、强耦合的时变多输入多输出系统,这将导致难以获取精确的动力学参数[6].而在高精度抛光和打磨等应用领域,需要机械臂具有更高的精确性和更稳定的控制性能.因此,研究机械臂的输出约束和动力学参数不确定性问题具有重要意义.
许多专家学者针对机械臂约束问题提出了一些控制方法,如模型预测控制[7]、模糊控制[8]、不变集控制[9]和变结构控制[10]等.与上述方法不同,近年来提出的基于障碍李雅普诺夫函数的约束控制方法可以满足约束条件,且无需求出系统的显式解,因此计算量较低,尤其是针对高阶非线性系统.文献[11]利用传统的对数型障碍李雅普诺夫函数设计控制器实现了全状态约束下的机械臂轨迹跟踪控制.文献[12]通过构造积分障碍李雅普诺夫函数来解决由于机械臂的输出约束问题.文献[13]提出一种tan型障碍李雅普诺夫函数,当系统无约束时,可以简单地用二次型函数的形式代替tan型障碍李雅普诺夫函数,拓宽了传统对数型障碍李雅普诺夫函数的适用范围.然而,尽管上述方法在处理约束问题时具有一定的控制效果,但它们中的大多数考虑的是常值约束边界.在实际应用中,机械臂的约束条件可能是时变的,若系统的初始误差较大,常值约束边界难以保证系统的控制性能.针对系统初始误差较大的问题,文献[14]针对柔性机械臂构建了一种时变障碍李雅普诺夫函数,但其考虑的是单自由度机械臂,具有一定的局限性.
为了实现机械臂系统轨迹跟踪控制的快速性、精确性与稳定性,国内外许多学者进行了大量的研究工作.在研究的早期阶段,基于系统的位置跟踪误差采用PID进行调节,这种控制方法结构简单,在实际工程应用中也较容易实现,但是PID控制直接应用机械臂控制中往往控制精度较低,稳态误差较大.为了保证机械臂系统精确、稳定地运行,提高系统的鲁棒性,专家学者提出了更有效的控制方法,如鲁棒控制[15]、滑模控制[16]和自适应控制[17]等.文献[18]将鲁棒控制和PID控制相结合设计了鲁棒PID控制器实现对机械臂的轨迹跟踪控制.文献[19]提出了一种鲁棒滑模控制方法,提高了系统的鲁棒性,改善了系统的控制性能.文献[20]提出了一种基于自适应神经网络的输出反馈控制方法解决不确定机械臂系统的轨迹跟踪问题.文献[21]针对不确定MIMO非线性系统设计了自适应神经网络跟踪控制器.为了解决系统模型参数的不确定性带来的问题,将径向基神经网络应用到控制器设计中,神经网络能在一定条件下有效逼近各种非线性函数,且对系统信息的要求较少,因此可以准确估计未知模型,让系统达到预期的控制效果.
基于以上讨论,本文针对具有输出约束和动力学模型未知的机械臂系统,提出了一种基于时变tan型障碍李雅普诺夫函数的自适应控制方法.通过设置时变约束边界将系统误差约束在一个指数衰减的时变边界内,使系统在初始误差较大时仍能满足约束条件,同时也能够满足约束与无约束的情况,拓展了传统对数型障碍李雅普诺夫函数的适用范围,提高了系统的瞬态性能和稳态性能.此外,利用RBFNN拟合系统未知动力学参数,设计了基于RBFNN的自适应控制器实现机械臂轨迹跟踪控制,有效地保证了闭环系统的性能,进一步提高系统的鲁棒性.
2 问题描述
考虑一个n自由度的机械臂系统,其动力学方程如公式(1)所示:
(1)
性质1[22].M(q)是正定对称矩阵.
(2)
另一方面,考虑机械臂的物理器件限制和人的安全性问题,必须对机械臂的操作空间进行一定的约束,使系统的输出满足:
|x1i|≤kci,∀t>0,i=1,2,…,n
(3)
其中,kc表示系统的输出约束向量.
针对系统约束问题,目前常用的解决方法有构造对数型障碍李雅普诺夫函数[11]和tan型障碍李雅普诺夫函数[13].分别表示如下:
(4)
(5)
虽然以上两种障碍李雅普诺夫函数对处理约束问题具有一定的效果,但它们都只将系统误差约束在一个常值边界内.在一些控制精度要求较高的场景下,需要将常值约束边界设置为较小值,在系统的初始误差较大时,系统误差往往会超出设置的常值约束边界,难以保证系统的瞬态性能和稳态性能.因此,针对n自由度的机械臂系统,构建如下的时变tan型障碍李雅普诺夫函数:
(6)
其中,F(t)为时变约束边界,定义为:
Fi(t)=(F0i-F∞i)e-at+F∞i,i=1,2,…,n
(7)
其中,F0为F(t)的初始值,F∞为t→∞时F(t)的稳态值,a>0表示收敛速度,初始误差值z1(0)满足|z1(0)| 本文的目的是针对带有输出约束和模型不确定的机械臂系统(2),采用RBFNN方法,设计一个基于时变tan型障碍李雅普诺夫函数(6)的自适应控制器,保证系统在初始误差较大时仍能满足约束条件,实现期望的轨迹跟踪. 在本节中,针对带有输出约束和动力学模型参数未知的机械臂系统,本文的控制目标是使系统的关节位置状态量能够跟踪期望关节位置,且关节速度状态量也能跟踪期望关节速度,最终保证系统状态量一致有界,且满足输出约束. 对于n自由度的机械臂系统,定义跟踪误差为: z1=x1-qd (8) z2=x2-α (9) 其中,α为虚拟控制量,定义为: (10) 其中,系统的控制增益K1=diag(k1i)>0,i=1,2,…,n.F(t)=kc(t)-qd为时变约束边界,kc(t)表示系统的输出约束向量. 将式(8)和式(9)对时间求导可得: (11) (12) 定理1.假设系统的初始状态是有界的,针对误差系统(11)、(12)和虚拟控制量(10),如果存在如下控制器: (13) 则该闭环系统是渐近稳定的,且系统的位置误差量满足∀t>0,-F≤z1≤F.其中,K2为系统的控制增益. 证明:为了验证本文所设计控制器(13)的有效性,定义Lyapunov函数V1为: (14) 将V1对时间求导,代入式(11)并根据性质2,可得: (15) 将式(10)代入式(15),可得: (16) 由矩阵的Moore-Penrose广义逆矩阵的性质,可得: (17) 当z2=[0,0,…,0]T时,可得: (18) (19) 证毕. 在实际应用中,人们往往无法获得机械臂具体的动力学模型参数,因此,基于模型的控制器具有局限性.为了解决这个问题,利用RBFNN来拟合系统里的未知信息,设计神经网络的自适应更新率为: (20) (21) 定理2.假设系统的初始状态是有界的,针对误差系统(11)、(12)和自适应率(20),如果存在如下基于RBFNN的控制器: (22) (23) (24) (25) 证明:为了验证本文所设计控制器(22)的有效性,定义Lyapunov函数V2为: (26) 将V2对时间求导,可得: (27) 将式(20)、式(21)和式(22)代入式(27),可得 (28) 根据不等式的关系,可知: (29) (30) 将式(29)和式(30)代入式(28)可得: (31) 其中, (32) 其中,λmin(A)和λmax(A)分别表示矩阵A的最小特征值和最大特征值.为了保证ρ>0,控制增益K1和K3分别满足λmin(K1)>0和λmin(K3-(1/2)I)>0. 证毕. 在本节中,为验证本文提出方法的有效性,本文以一个二自由度的机械臂作为仿真对象进行分析如图1所示.为了验证所设计控制器的可行性与优越性,本文将其与传统的PD控制进行对比. 图1 二自由度机械臂Fig.1 2-DOF robot manipulator 二自由度机械臂的动力学参数表达式为: (33) (34) (35) 其中, C22=0 G11=(m1lc2+m2l1)gcosq1+m2lc2gcos(q1+q2) G21=m2lc2cos(q1+q2) 二自由度机械臂的连杆参数如下:m1=2.0kg,m2=0.8kg,l1=0.50m,l2=0.50m,lc1=0.25m,lc2=0.25m,I1=0.0625kgm2,I2=0.0538kgm2.其中,m表示连杆的质量,l表示连杆的长度,lc表示连杆的质心到前一个关节的距离,I表示连杆的惯性矩. 机械臂初始关节角位置设置为x1=[0.48rad,0.35rad],初始关节角速度设置为x2=[0rad/s,0rad/s],设置期望的关节轨迹为: 考虑如下的 PD 控制器: 其中PD控制的控制增益设置为Kp=diag[120,120],Kd=diag[5,5]. 仿真结果如图2~图4所示,其中图2为关节角位置跟踪曲线,可以看出,虽然关节2轨迹跟踪性能较好,稳态误差能够较快收敛到0,但是关节1的轨迹跟踪性能较差,机械臂在运行过程中跟踪误差始终无法收敛到0.关节角速度跟踪曲线如图3所示,可以看出,在初始关节角位置误差较大时,机械臂在0s~1s内的关节角速度的振荡较大,说明机械臂关节的抖动较大,系统的瞬态性能较差.图4为PD控制下的关节控制输入,可以看出,在设置的周期性轨迹跟踪过程中,控制输入也呈现一定的周期性变化. 图2 关节角位置跟踪曲线(PD控制)Fig.2 Angular position tracking curve of joints(PD control) 图3 关节角速度跟踪曲线(PD控制)Fig.3 Angular velocity tracking curve of joints(PD control) 图4 控制输入(PD控制)Fig.4 Control input(PD control) 为了验证本文提出方法的有效性,本文将两个关节的时变位置误差约束参数均设为F(t)=(1-0.05)e-2t+0.05,设置系统的控制增益为K1=diag[1.5,1.5],K3=diag[20,20],选择神经网络径向基函数的中心点在[-1,1],神经网络的初始权重为0,节点数为128,Γ1和Γ2设置为80,σi设置为0.001. 仿真结果如图5~图9所示,其中图5和图6分别为关节1和关节2的角位置跟踪曲线和曲线误差,可以看出, 在本文提出的方法下,关节1和关节2的关节角位置误差均在约2.5s后收敛到0,且系统的关节角位置误差不违反设置的时变输出约束边界[-F(t),F(t)].关节角速度跟踪曲线如图7所示,可以看出,在0s~0.2s轻微的抖动后,关节1和关节2在不到3s的时间内可以跟踪上期望的关节角速度,且系统的瞬态性能较好.如图8所示,RBFNN的估计误差在0.4s内收敛于0.图9为本文所提方法下的关节控制输入,可以看出,控制输入在0s~0.4s有一定的振荡,这是由于RBFNN的估计误差还未收敛到0,在本文设置的周期性期望轨迹跟踪过程中,控制输入始终是有界的,并且呈现周期性变化. 图5 关节1位置跟踪曲线及误差曲线(本文的方法)Fig.5 Angular position tracking curve and error curve of joint 1(our method) 图6 关节2位置跟踪曲线及误差曲线(本文的方法)Fig.6 Angular position tracking curve and error curve of joint 2(our method) 图7 关节角速度跟踪曲线(本文的方法)Fig.7 Angular velocity tracking curve of joints(our method) 图8 RBFNN拟合误差(本文的方法)Fig.8 Approximation error of RBFNN(our method) 图9 控制输入(本文的方法)Fig.9 Control input(our method) 综上,由PD控制和基于时变tan型障碍李雅普诺夫函数自适应控制的仿真结果可以看出,相较于PD控制,本文提出的方法在关节角位置跟踪性能中有更好的效果,且关节角速度具有更好的瞬态性能,实现了机械臂系统对期望轨迹的快速稳定准确的跟踪. 针对机械臂输出约束和模型未知的问题,本文提出了一种基于时变tan型障碍李雅普诺夫函数的自适应控制方法,通过构造时变tan型障碍李雅普诺夫函数,将系统误差约束在一个指数衰减的时变约束边界内,提高了系统的瞬态性能和稳态性能.此外,通过RBFNN拟合未知的动力学模型参数,在不违反输出约束的情况下提高了系统的鲁棒性.最后,通过二自由度机械臂的轨迹跟踪仿真分析,验证了本文所提出方法与传统的PD控制方法相比具有一定的可行性与优越性.3 控制器设计与分析
4 仿真及分析
4.1 基于PD控制的方法
4.2 本文的方法
5 结 论