朱 玲,李艳东,郭 媛
(1.齐齐哈尔大学 机电工程学院,黑龙江 齐齐哈尔 161006;2.齐齐哈尔大学 计算机与控制工程学院,黑龙江 齐齐哈尔 161006)
由于移动机器人(Mobile Robot, MR)本身属于典型的非完整系统[1],并且是一种受多不确定性影响的多输入多输出的非线性系统,对其控制难度较大,过去几十年一直被世界各地的科研工作者所重视。起初,在完美的速度跟踪的假设下,基于运动学的控制器被设计[1]。然而,因为不确定性的存在,不考虑动力学模型的情况下,完美的速度跟踪很难实现。Fierro and Lewis通过反步法将运动学控制器与力矩控制器结合,将移动机器人的运动控制引入到动力学层面[2],从此,出现各种结合运动学控制器和动力学力矩控制器对系统存在多种不确定性情况下的移动机器人轨迹跟踪问题进行研究[3-8];然而,实际上机器人轮子是由驱动器驱动的,含驱动器动力学的电驱动非完整机器人模型为三阶系统,而动力学层面的机器人为二阶,不考虑驱动器动力学而设计的系统势必会影响系统的性能[9-11]。现有的力矩控制忽略了驱动器动力学,因此,针对同时受负载变化、摩檫力及外加干扰等不确定影响的含驱动器动力学的非完整移动机器人控制问题正成为当前的研究热点[11],本文正是在此背景下开展的研究。
此前有多种方法用来解决非完整移动机器人不确定性问题,如:自适应控制[4-11]、滑模控制[4-7]、模糊控制[9,10]、神经网络[3,5,7,11],单独采用某种方法都有其局限性。例如自适应控制无法独自解决系统的非结构不确定性,滑模控制存在抖振现象,模糊控制学习和适应能力缺失,神经网络无推理能力,定性表达不足。由于ADRFNN兼具自适应控制、模糊控制、神经网络各自的优点,通过递归环节的引入,在建模时输入包含了输出前一时刻的反馈值,并在线自适应地调节网络参数,能较好的对非线性不确定性模型进行建模,同时弥补了模糊控制固有的学习和适应能力欠缺及神经网络无推理归纳能力及定性表达的不足。通过与强鲁棒性的滑模控制结合,能够较好地解决系统存在的结构与非结构多不确定性问题。
因此,本文采用滑模控制结合ADRFNN进行了非完整移动机器人驱动电压控制系统设计。以ADRFNN对含轮驱动器动力学移动机器人因参数不确定及摩擦、外加干扰而引起的未知时变函数进行了估计,以滑模面作为输入,ADRFNN的输出作为未知时变函数的估计,缩小了建模误差,参数在线自适应调整,提高了系统抗干扰能力的同时,放开了对ADRFNN参数初值的选择,解决了以往神经网络参数初值选择的难题,结合鲁棒控制器系数的自适应调节,有效地克服了系统不确定性问题。
含驱动器动力学的非完整移动机器人的数学模型如下[11]:
(1)
(2)
图1 移动机器人
含驱动器模型的非完整移动机器人动力学模型,满足如下性质[2]:
性质1正定性:对于任意的 ,系统惯性矩阵 是对称正定的。
根据一致估计理论,非线性不确定函数可以采用如模糊控制、神经网络等很多函数进行估计,文中采用如图2所示的参数可以在线训练,对复杂非线性函数有良好估计能力的ADRFNN,为4层双输入双输出的网络结构,第1层为接受输入变量输入层,其输出作为第2层隶属函数层的输入;采用高斯函数作为隶属函数的第2层用来计算隶属函数值;第3层模糊规则层,第3层前的连接代表规则的前提部分,该层节点上一时刻的输出经加权后反馈到前层,构成递归结构;最后为输出层,为ADRFNN的输出。
图2 ADRFNN结构
各层输入输出关系由下列公式描述:
(3)
(4)
(5)
其中,i=1,2,j=1,2,…,n,yi为ADRFNN的第i个输出,即系统不确定性y的第i个分量的估计,wji为模糊规则层第j个节点到输出层第i个输出的加权系数,W为权值矩阵,φi为模糊规则层第j个节点的输出,Φ为模糊规则层的输出向量,μji为隶属函数层第i个输入第j项隶属函数的输出,xi为ADRFNN的第i个输入,cji,bji,σji分别为隶属函数层第i个输入第j项隶属函数的中心、递归权值和标准差,φjp为模糊规则层第 个节点的前一时刻输出值。
基于一致估计理论,存在一个最优估计y*,使
y=y*+γ=W*TΦ*(x,c*,σ*,b*)+γ
(6)
其中,W*,Φ*,c*,σ*,b*分别为W,Φ,c,σ,b的最优参数,γ为估计误差。实际,W*,Φ*,c*,σ*,b*很难获得,因此,一个ADRFNN估计器定义为
(7)
(8)
(9)
(10)
式中,i=c,σ,b,∂φk/∂i定义为
(11)
其中:
(12)
(13)
(14)
式中 ,i=1,2,k=1,2,…,n。W,c,σ,b的参数自适应律由后续设计给出。
所谓的轨迹跟踪问题就是通过设计控制律,使实际机器人能够对一个时变的参考机器人的期望速度与位姿实现跟踪的过程,参考机器人如下[1]。
(15)
式中,q、vr、ωr和分别为参考机器人的期望位姿,线速度、角速度。机器人的位姿跟踪误差qe定义为
(16)
移动机器人位姿跟踪误差的微分方程为
(17)
经典的运动学控制器为基于Backstepping方法设计的速度控制器为[1]
(18)
式中,vc和ωc分别为速度跟踪控制器输出的线速度和角速度,ki>0,i=1,2,3。
定义速度跟踪误差:
(19)
(20)
定义滑模面如下:
(21)
其中,λ=diag(λ,λ),λ为正常数,diag(·)代表对角阵。则,
(22)
驱动器电压控制器设计为如下形式:
(23)
其中,K=diag(k,k),ε=diag(ε,ε),k,ε为正常数。
驱动器电压控制器式(23)变为如下形式:
(24)
将式(24)带入式(20)则有,
(25)
定理:考虑机器人系统(1),(2),采用如式(18)的经典Backstepping运动控制器,如式(24)的自适应模糊神经滑模动力学控制器,ADRFNN的参数通过式(26)~式(29)自适应调整,通过式(30)求取ε,由性质2及Barbalat引理,机器人系统(1),(2)是渐近稳定的。
(26)
(27)
(28)
(29)
(30)
证明:选择总Lyapunov函数为
V=V1+V2
(31)
(32)
(33)
显然,V≥0,对V1进行求导并将式(17)、式(18)代入得[1]:
(34)
对V2分别求导并将式(9),式(24),式(25),式(26)~式(30)代入,并依据性质2得:
(36)
本文所提出的移动机器人自适应模糊神经滑模控制算法结构如图3所示。
图3 移动机器人自适应模糊神经滑模控制结构图
通过Matlab对所提出算法进行仿真分析,含驱动器动力学的非完整移动机器人作为研究对象,在机器人系统存在负载变化,外加干扰等诸多不确定性条件下,控制器参数如表1所示,机器人模型物理参数如表2所示。
表1 机器人控制参数
表2 机器人系统模型物理参数
仿真时ADRFNN参数初值选取为:隐层单元数取10,高斯基函数中心c按间隔为1的均匀分布取值,方差σ=2.4,其它值取0,对下面两种情况进行了仿真实验。
(1)选取跟踪的轨迹为8字形曲线,其参数定义为
θr(t)=arctan(cos(t/6)/2cos(t/3)),
xr(t)=2sin(t/3),yr(t)=2sin(t/6)
从参数可以看出这是一个速度、角速度时变的轨迹,选取位于8字形曲线的不同区域的移动机器人几个典型初始位姿:[1 0 90°],[1 0 -90°],[1.5 0 0°],对如上所定义的8字形轨迹进行了轨迹跟踪,跟踪情况如图4所示。
图4 8字形轨迹跟踪
从图4中可以得知,以不同初始位姿从不同区域出发,移动机器人都能较好的跟踪8字形轨迹,充分说明了本文设计的自适应神经模糊滑模控制器可以使受多不确定性影响的非完整移动机器人从任意初始位姿偏差对速度、角速度时变的参考轨迹进行跟踪。
(2)为了对所设计控制器的性能做进一步的研究。选取一个S形曲线轨迹作为跟踪对象,参数方程如下:
上式可知这是一个角速度跳变的轨迹,机器人初始位姿偏差选为qe=[1 -0.5 180°],参考机器人的初始位姿选为qr=[0 0 0°]。跟踪情况如图5~图8所示。
图5 S形轨迹跟踪
图6 S形轨迹跟踪位姿偏差
图7 S形轨迹跟踪速度偏差
图8 S形轨迹跟踪驱动器输入电压
仿真结果可见,自适应模糊神经滑模算法给出了很好的跟踪能力,跟踪位置误差具有较好的收敛性,位姿偏差很快收敛到0。在图7中可以看出机器人在动力学层面对辅助速度也实现了较好的跟踪,在t=10s角速度发生跳变时经过短暂调整即实现了跟踪。从图8可见驱动器输入电压消除了滑模抖振现象。
文章研究了包含驱动器动力学模型同时受多种不确定性因素影响的非完整移动机器人轨迹跟踪控制问题。以移动机器人驱动电机电压作为控制输入,采用自适应动态递归模糊神经网络估计来自参数不确定和外加干扰而引起的未知时变函数,设计了一个自适应模糊神经滑模控制器。ADRFNN避免了以往神经网络初始参数选择的困难,与自适应鲁棒控制配合使用解决了移动机器人的参数与非参数不确定性问题,提高了对系统未知时变函数的逼近精度,同时也消除了滑模控制的抖振现象。基于Lyapunov理论进行的稳定性分析,参数自适应律设计保证了系统跟踪误差的收敛性。最后,在同时考虑负载变化、干扰及摩擦等多种不确定性的情况下,对不同位姿下的速度时变、角速度跳变情况的轨迹进行了仿真实验,仿真结果证实了设计算法对克服上述现象的有效性。机器人在实际使用中存在滑移和障碍物的环境是不可避免的,因此,对于机器人防滑和避障将是进一步研究的内容。