舰船科学技术  2017, Vol. 39 Issue (12): 53-58   PDF    
基于模糊自适应滑模方法的AUV轨迹跟踪控制
孙巧梅1, 陈金国2, 余万2     
1. 三峡大学 水电机械设备设计与维护湖北省重点实验室,湖北 宜昌 443002;
2. 中国船舶重工集团公司第七一〇研究所,湖北 宜昌 443003
摘要: 针对水下航行环境中自治水下机器人(Autonomous Underwater Vehicles,AUV)航迹精确跟踪问题,提出一种基于模糊自适应滑模方法的AUV航迹跟踪控制算法。在建立AUV系统动力学模型基础上,将其运动通过变结构滑模控制律结合模糊逼近设计出AUV航迹跟踪控制系统,采用模糊系统实现模型未知干扰的自适应逼近,基于Lyapunov稳定性理论,讨论了闭环系统的稳定性。在考虑加入外界干扰的条件下使用Matlab/Simulink软件,进行数值仿真,模拟轨迹跟踪能够达到稳定并且较平滑连续跟踪预定航迹,对干扰有较好的抑制作用。仿真结果表明了所提控制方法的有效性。
关键词: 航迹跟踪     滑模算法     模糊控制     自适应控制    
Trajectory-tracking control of autonomous underwater vehicles based on fuzzy adaptive sliding mode method
SUN Qiao-mei1, CHEN Jin-guo2, YU Wan2     
1. Hubei Key Laboratory of Hydroelectric Machinery Design and Maintenance, China Three Gorges University, Yichang 443002, China;
2. The 710 Research Institute of CSIC, Yichang 443003, China
Abstract: In this paper, a control system is developed based on fuzzy adaptive sliding mode method for Autonomous Underwater Vehicles (AUV) precisely trajectory-tracking. With AUV dynamic model established, variable structure sliding mode strategy and fuzzy logic methods are adopted to design the path tracking controller. Environmental disturbances are compensated by the adaptive fuzzy algorithm. The stability of the control system is discussed using Lyapunov stability theory. Numerical simulations are conducted on Matlab/Simulink and show that the proposed approach can achieve smooth continuous outputs in the condition of environment disturbances. The ability of restraining interference is enhanced. The performance of the proposed control law is evaluated by simulation results.
Key words: trajectory tracking     sliding mode strategy     fuzzy control     adaptive control    
0 引 言

自治水下机器人系统(AUV)是一种典型的非线性强耦合系统。实现AUV控制系统的高精度轨迹跟踪是确保其在水下进行复杂作业并稳定可靠工作的关键。由于AUV工作环境复杂、水动力参数难以精确求解等原因,AUV非线性系统的运动控制问题成为控制领域的一个重要研究方向。

AUV轨迹跟踪控制的目标是设计有效的控制律,使其从初始状态跟踪参考轨迹,并保证跟踪位置误差的全局一致渐进稳定[12]。目前的研究成果采用的控制方法主要有传统PID控制方法、滑模控制方法、反演控制方法、神经网络法。由于传统PID参数需要适应模型参数的变化,而AUV动力学模型参数存在不确定性,因此很难满足需要。

胡志强等[3]提出了USV系统航向在线自优化PID(比例、积分、微分)控制算法。张利军等[4]针对垂直面欠驱动水下机器人定深控制问题,基于反演法设计出了自适应输出反馈控制器。俞建成等[5]提出了基于广义动态模糊神经网络的水下机器人直接自适应控制方法,通过在线自适应学习算法构建水下机器人的逆动力学模型,提出基于网络结构的水下机器人直接自适应控制器,利用Lyapunov稳定理论,证明基于该控制器的水下机器人控制系统闭环稳定性。Lee等[6]为提高鲁棒性、解决系统耦合项纵向速度对航向的影响,设计了性能较好的AUV深度L1自适应控制器。

变结构滑模控制凭借其强鲁棒性,在AUV的轨迹跟踪控制中取得一些成果[78]。魏延辉等[9]提出一种基于解耦模型的多控制器联合控制方法,对解耦后的AUV运动模型进行轨迹跟踪控制器的设计,为轴向和侧向运动设计自适应反演滑模控制器,为首向运动设计带有干扰观测器的自适应终端滑模控制器。Conte等[10]采用滑模控制律提出一种小型水面船跟踪水下目标的轨迹跟踪控制系统,取得了满意的效果。Zool H. Ismail等[11]提出了一种基于鲁棒动态区域的滑模控制并应用于水下机器人的轨迹跟踪,并与模糊滑模和自适应模糊控制进行比较,取得了满意的效果。Gao等[12]将AUV六自由度运动模型解耦成垂直和水平面2部分,并且分别设计了有效的滑模控制器。Hnagil J等[13]针对存在未知干扰的AUV三维运动,采用二阶滑模控制器,通过实验证明控制器能够提高轨迹跟踪的精度。贾鹤鸣等[14]提出了基于神经网络的自适应输出反馈控制方法来研究水下机器人三维轨迹跟踪,控制器由基于动态补偿器的输出反馈控制项、神经网络自适应控制项和鲁棒控制项。Liu等[15]提出了一种基于模糊神经网络的鲁棒自适应控制策略,模糊神经网络是用来估计反演控制律。反演控制策略也是AUV常用的控制方法。如Lionel L等[16]提出的基于反步控制与Lypaunov函数的AUV非线性路径跟踪控制方法,Jon E R等[17]将反步控制与模型反馈控制结合应用于欠驱动水下机器人控制之中。

本文针对水下航行环境中AUV航迹精确跟踪问题,提出了模糊自适应滑模跟踪控制器。基于Lyapunov稳定性理论分析了整个闭环系统的稳定性。在Matlab软件上通过对光滑的指令航线进行跟踪仿真,结果表明所设计的控制器可以很好地克服外界干扰,取得理想的航迹跟踪效果。

1 AUV数学模型

滑模控制器的设计对系统摄动或外部干扰的要求比较宽松,所以对系统的数学模型要求也比较宽松,水下机器人运动控制系统的各耦合项和非线性项均可以归入不可测干扰内,模型处理也相对简单。假设AUV具有截面、切面和断面3个严格对称的对称面,且假设重力和浮力相等,惯性坐标系和载体坐标系作为参考坐标系。根据牛顿欧拉公式,AUV的水平面动力学数学模型可以用式(1)来表示

$\left\{ \begin{array}{l}{\dot{\eta }} = {\mathit{\boldsymbol{J}}}\left( {\mathit{\boldsymbol{\eta }}} \right){\mathit{\boldsymbol{\nu }}}\text{,}\\{\mathit{\boldsymbol{M\dot \nu }}} + {\mathit{\boldsymbol{C}}}\left( {\mathit{\boldsymbol{\nu }}} \right){\mathit{\boldsymbol{\nu }}} + {\mathit{\boldsymbol{D}}}\left( {\mathit{\boldsymbol{\nu }}} \right){\mathit{\boldsymbol{\nu }}} + {\mathit{\boldsymbol{g}}}\left( {\mathit{\boldsymbol{\eta }}} \right) = {\mathit{\boldsymbol{\tau }}} + {\mathit{\boldsymbol{d}}}\text{。}\end{array} \right.$ (1)

为了简化轨迹跟踪控制器的设计,式中 ${\mathit{\boldsymbol{\eta }}} = {\left[ {x,y,\psi } \right]^{\rm T}}$ 是AUV位置姿态向量,描述其在惯性坐标系中位置及首向角, ${\mathit{\boldsymbol{\nu }}} = {\left[ {u,v,r} \right]^{\rm T}}$ 为AUV在载体坐标系下的速度向量。M为包含附加质量的惯量矩阵且满足对称性 ${\mathit{\boldsymbol{M}}} = {{\mathit{\boldsymbol{M}}}^{\rm T}} > 0$ ${\dot{M}} = 0$ ${\mathit{\boldsymbol{J}}}\left( {\mathit{\boldsymbol{\eta }}} \right)$ 为坐标变换矩阵, ${\mathit{\boldsymbol{C}}}\left( {\mathit{\boldsymbol{\nu }}} \right){\mathit{\boldsymbol{\nu }}}$ 为包含了质量矩阵和附加质量矩阵引起的科氏力与向心力且满足反对称性, ${\mathit{\boldsymbol{C}}}\left( {\mathit{\boldsymbol{\nu }}} \right) = - {{\mathit{\boldsymbol{C}}}^{\rm T}}\left( {\mathit{\boldsymbol{\nu }}} \right)$ ${\mathit{\boldsymbol{D}}}\left( {\mathit{\boldsymbol{\nu }}} \right)$ 为黏性水动力系数矩阵且 ${\mathit{\boldsymbol{D}}}\left( {\mathit{\boldsymbol{\nu }}} \right) > 0$ g为恢复力和力矩,τ为各自由度的力和力矩,d为外界干扰,在实际中通常有界。

由式(1)可以得到

${{\mathit{\boldsymbol{M}}}_\eta }\left( {\mathit{\boldsymbol{\eta }}} \right){\ddot{\eta }} + {{\mathit{\boldsymbol{C}}}_\eta }\left( {{\mathit{\boldsymbol{\nu }}},{\mathit{\boldsymbol{\eta }}}} \right){\dot{\eta }} + {{\mathit{\boldsymbol{D}}}_\eta }\left( {{\mathit{\boldsymbol{\nu }}},{\mathit{\boldsymbol{\eta }}}} \right){\dot{\eta }} + {{\mathit{\boldsymbol{g}}}_\eta }\left( {\mathit{\boldsymbol{\eta }}} \right) = {{\mathit{\boldsymbol{\tau }}}_\eta }\text{。}$ (2)

式中:

${{\mathit{\boldsymbol{M}}}_\eta }\left( {\mathit{\boldsymbol{\eta }}} \right) = {{\mathit{\boldsymbol{J}}}^{ - {\rm T}}}\left( {\mathit{\boldsymbol{\eta }}} \right){\mathit{\boldsymbol{M}}}{{\mathit{\boldsymbol{J}}}^{ - 1}}\left( {\mathit{\boldsymbol{\eta }}} \right)$

${{\mathit{\boldsymbol{C}}}_\eta }\left( {{\mathit{\boldsymbol{\nu }}},{\mathit{\boldsymbol{\eta }}}} \right) = {{\mathit{\boldsymbol{J}}}^{ - {\rm T}}}\left( {\mathit{\boldsymbol{\eta }}} \right)\left[ {{\mathit{\boldsymbol{C}}}\left( {\mathit{\boldsymbol{\nu }}} \right) - {\mathit{\boldsymbol{M}}}{{\mathit{\boldsymbol{J}}}^{ - 1}}\left( {\mathit{\boldsymbol{\eta }}} \right){\dot{J}}\left( {\mathit{\boldsymbol{\eta }}} \right)} \right]{{\mathit{\boldsymbol{J}}}^{ - 1}}\left( {\mathit{\boldsymbol{\eta }}} \right)$

${{\mathit{\boldsymbol{g}}}_\eta }\left( {\mathit{\boldsymbol{\eta }}} \right) = {{\mathit{\boldsymbol{J}}}^{ - {\rm T}}}\left( {\mathit{\boldsymbol{\eta }}} \right){\mathit{\boldsymbol{g}}}\left( {\mathit{\boldsymbol{\eta }}} \right)$

${{\mathit{\boldsymbol{D}}}_\eta }\left( {{\mathit{\boldsymbol{\nu }}},{\mathit{\boldsymbol{\eta }}}} \right) = {{\mathit{\boldsymbol{J}}}^{ - {\rm T}}}\left( {\mathit{\boldsymbol{\eta }}} \right){\mathit{\boldsymbol{D}}}\left( {\mathit{\boldsymbol{\nu }}} \right){{\mathit{\boldsymbol{J}}}^{ - 1}}\left( {\mathit{\boldsymbol{\eta }}} \right)$

${{\mathit{\boldsymbol{\tau }}}_\eta } = {{\mathit{\boldsymbol{J}}}^{ - {\rm T}}}\left( {\mathit{\boldsymbol{\eta }}} \right){\mathit{\boldsymbol{\tau }}}$

2 轨迹跟踪控制器设计

控制目标为设计一个自适应鲁棒控制器使AUV状态向量跟踪预定航迹,跟踪误差趋近于0。航迹跟踪控制的目的是设计控制律满足使AUV系统状态 ${\mathit{\boldsymbol{\eta }}} = {\left[ {x,y,\psi } \right]^{\rm T}}$ 趋近于 ${{\mathit{\boldsymbol{\eta }}}_d}$ ,为了保证控制系统的鲁棒性,这里将状态误差向量空间作为滑模面的定义空间,跟踪误差为位置姿态误差向量 ${{\mathit{\boldsymbol{e}}}_2} = {\mathit{\boldsymbol{\eta }}} - {{\mathit{\boldsymbol{\eta }}}_d}$ 和速度误差向量 ${{\mathit{\boldsymbol{e}}}_1} = {\mathit{\boldsymbol{\nu }}} - {{\mathit{\boldsymbol{\nu }}}_d}$

滑模控制系统设计为状态反馈,设定义滑模面为:

${\mathit{\boldsymbol{\sigma }}} = \left[ {{{\mathit{\boldsymbol{s}}}_1}\;\;{{\mathit{\boldsymbol{s}}}_2}} \right]\left[ \begin{array}{l}{{\mathit{\boldsymbol{e}}}_1}\\{{\mathit{\boldsymbol{e}}}_2}\end{array} \right] = \left[ {{{\mathit{\boldsymbol{s}}}_1}\;\;{{\mathit{\boldsymbol{s}}}_2}} \right]\left[ \begin{array}{l}{\mathit{\boldsymbol{\nu }}} - {{\mathit{\boldsymbol{\nu }}}_d}\\{\mathit{\boldsymbol{\eta }}} - {{\mathit{\boldsymbol{\eta }}}_d}\end{array} \right]\text{,}$ (3)

其中 ${\mathit{\boldsymbol{\sigma }}} \in {{{R}}^{3 \times 1}}$ ${{\mathit{\boldsymbol{s}}}_1},{{\mathit{\boldsymbol{s}}}_2} \in {{{R}}^{3 \times 3}}$ 是正定对角阵,为了保证系统的状态误差e趋近于0,控制器需使σ ${\dot{\sigma }}$ 趋近于0,Lyapunov函数设为

$V = \frac{1}{2}{{\mathit{\boldsymbol{\sigma }}}^{\rm T}}{\mathit{\boldsymbol{\sigma }}}\text{。}$ (4)

为了使滑模面动态全局渐进稳定,那么

$\dot V = {{\dot{\sigma }}^{\rm T}}{\mathit{\boldsymbol{\sigma }}} < 0\text{。}$ (5)

上式对任意的t>0均成立,所以有根据标准的滑模控制律形式有

${\dot \sigma _i} = - {k_i}{\mathop{\rm sgn}} \left( {{\sigma _i}} \right)\;\;\text{,}i = 1,2,3\text{。}$ (6)

式(6)是抖振产生的主要原因,滑模存在条件为 ${{\dot{\sigma }}^{\rm T}}{\mathit{\boldsymbol{\sigma }}} < 0\;$ ,当系统达到滑模面后,将会保持在滑模面上。ki是常数,是保证系统运动得以到达滑模面的增益,其值必须足以消除不确定性的影响,才能保证滑模存在条件的成立。为了削弱抖振,可以用连续函数来代替,即

${\dot \sigma _i} = - {k_i}\tanh \left( {{\sigma _i}/{\phi _i}} \right)\;\;\text{,}i = 1,2,3\text{,}$ (7)

式中:ϕ为边界层参数,且为常数。所以 $\dot V \leqslant 0$ ,系统轨迹会收敛到滑模面σ=0。所以非线性动力学系统在自适应滑模控制律作用下,闭环系统能达到稳定。

又由式(3)和式(1),可得

$\begin{array}{l}{\bf{\dot \sigma }} = \left[ {{{\bf{s}}_1}\;\;{{\bf{s}}_2}} \right]\left[ \begin{array}{l}{{\bf{M}}^{ - 1}}{\bf{\tau }} - {{\bf{M}}^{ - 1}}{\bf{C}}\left( {\bf{\nu }} \right){\bf{\nu }} - {{\bf{M}}^{ - 1}}{\bf{D}}\left( {\bf{\nu }} \right){\bf{\nu }} - \\{{\bf{M}}^{ - 1}}{\bf{g}}\left( {\bf{\eta }} \right) + {{\bf{M}}^{ - 1}}{\bf{d}} - {{{\bf{\dot \nu }}}_d}\\{\bf{J}}\left( {\bf{\eta }} \right){\bf{\nu }} - {{{\bf{\dot \eta }}}_d}\end{array} \right]\;\\ \;\;\;\;\;= - {\bf{F}}\left( {{\bf{\sigma }},\phi } \right)\end{array}$ (8)
$\begin{array}{l}{{\mathit{\boldsymbol{s}}}_1}\left[ {{M^{ - 1}}\left( {{\mathit{\boldsymbol{\tau }}} - {\mathit{\boldsymbol{C}}}\left( {\mathit{\boldsymbol{\nu }}} \right){\mathit{\boldsymbol{\nu }}} - {\mathit{\boldsymbol{D}}}\left( {\mathit{\boldsymbol{\nu }}} \right){\mathit{\boldsymbol{\nu }}} - {\mathit{\boldsymbol{g}}}\left( {\mathit{\boldsymbol{\eta }}} \right) + {\mathit{\boldsymbol{d}}}} \right) - {{{\mathit{\boldsymbol{\dot \nu }}}}_d}} \right] + \\\;\;\;\;\;\;\;\;\;\;\;\;\;{{\mathit{\boldsymbol{s}}}_2}\left[ {{\mathit{\boldsymbol{J}}}\left( {\mathit{\boldsymbol{\eta }}} \right){\mathit{\boldsymbol{\nu }}} - {{{\mathit{\boldsymbol{\dot \eta }}}}_d}} \right] = - {\mathit{\boldsymbol{F}}}\left( {{\mathit{\boldsymbol{\sigma }}},\phi } \right)\text{。}\end{array}$ (9)

式中: ${\mathit{\boldsymbol{F}}}\left( {{\sigma _i},\phi } \right) = {k_i}\tanh ({\sigma _i},\phi )$ $i = 1,2,3$

控制律可以分为前馈、非线性反馈和切换项3部分,如下式所示:

${{\mathit{\boldsymbol{\tau }}}_{smc}} = {{\mathit{\boldsymbol{\tau }}}_1} + {{\mathit{\boldsymbol{\tau }}}_2} + {{\mathit{\boldsymbol{\tau }}}_3}\text{,}$ (10)
${{\bf{\tau }}_1}\! =\! {\left( {{{\mathit{\boldsymbol{s}}}_1}{{{\mathit{\boldsymbol{\hat M}}}}^{ - 1}}} \right)^{ - 1}}\left[ \begin{array}{l}\!\!{{\mathit{\boldsymbol{s}}}_1}{{{\mathit{\boldsymbol{\hat M}}}}^{ - 1}}{\mathit{\boldsymbol{\hat {C}}}}\left( {\bf{\nu }} \right){\bf{\nu }} + {{\mathit{\boldsymbol{s}}}_1}{{{\mathit{\boldsymbol{\hat {M}}}}}^{ - 1}}{\mathit{\boldsymbol{\hat {D}}}}\left( {\bf{\nu }} \right){\bf{\nu }} + \\\!\!{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat g}}}\left( {\bf{\eta }} \right) - {{\mathit{\boldsymbol{s}}}_1}{{{\mathit{\boldsymbol{\hat {M}}}}}^{ - 1}}{\mathit{\boldsymbol{\hat {d}}}} + {{\mathit{\boldsymbol{s}}}_1}{{{\bf{\dot \nu }}}_d}\end{array} \right]\text{,}$ (11)
${{\mathit{\boldsymbol{\tau }}}_2} = {\left( {{{\mathit{\boldsymbol{s}}}_1}{{{\hat{M}}}^{ - 1}}} \right)^{ - 1}}\left[ {{{\mathit{\boldsymbol{s}}}_2}{{{\dot{\eta }}}_d} - {{\mathit{\boldsymbol{s}}}_2}{\mathit{\boldsymbol{J}}}\left( {\mathit{\boldsymbol{\eta }}} \right){\mathit{\boldsymbol{\nu }}}} \right]\text{,}$ (12)
${{\mathit{\boldsymbol{\tau }}}_3} = - {\left( {{{\mathit{\boldsymbol{s}}}_1}{{{\hat{M}}}^{ - 1}}} \right)^{ - 1}}{\mathit{\boldsymbol{F}}}\left( {{\mathit{\boldsymbol{\sigma }}},\phi } \right)\text{。}$ (13)
3 模糊系统设计及稳定性分析

在式(10)~式(13)所示的控制律中,外界干扰较难测量和估计,由于模糊系统具有万能逼近特性,这里采用模糊自适应算法来估计干扰 ${\hat{d}}$ 。使用滑模函数σ作为模糊系统输入,分别设计5个模糊子集。模糊推理系统的规则采用下式表达:

${\rm {if}}\;{\sigma _i}\;{\rm {is}}\;{A_{ir}}\;{\rm {is}}\;{\hat d_{\rm {then}}} = {\hat B_{ir}}\text{。}$ (14)

式中:Air是模糊集,隶属度函数形式如图1所示。 ${\hat B_{ir}}$ 是各模糊规则的输出,最终输出采用重心法,即

${\hat d_i}({\sigma _i}) = \left( {\sum\limits_{r = 1}^R {{w_{ir}} \cdot {{\hat B}_{ir}}} } \right)/\sum\limits_{r = 1}^R {{w_{ir}}} \text{。}$ (15)

用向量的形式可以表示为

${\hat d_i}({\sigma _i}) = {{\hat{B}}^{\rm T}}_i{{\mathit{\boldsymbol{\varepsilon }}}_i}\left( {{\sigma _i}} \right)\text{,}$ (16)

其中:

${{\hat{B}}^{\rm T}}_i = \left[ {{{\hat B}_{i1}},{{\hat B}_{i2}}, \cdots ,{{\hat B}_{iR}}} \right]$ ${{\mathit{\boldsymbol{\varepsilon }}}_i}\left( {{\sigma _i}} \right) = \left[ {{\varepsilon _{i1}},{\varepsilon _{i2}}, \cdots ,{\varepsilon _{iR}}} \right]$ ${\varepsilon _{ir}}\left( {{\sigma _i}} \right) = {w_{ir}}/\displaystyle\sum\limits_{r = 1}^R {{w_{ir}}} $

参数采用如式(17)的自适应律自动更新,其中θi为正常数。

${\dot {\mathop {\mathit{\boldsymbol{B}}} \limits^ \frown }^{}}_i = - {\theta _i}{\sigma _i}{{\bf{\varepsilon }}_i}\left( {{\sigma _i}} \right)\text{,} $ (17)

定义最优参数为

${{\hat{B}}^*}_i = \arg \;\min \left[ {\sup \left| {{{\hat B}_i}({\sigma _i}) - {d_i}} \right|} \right]\text{。}$ (18)

${\mathit{\boldsymbol{\Delta }}} = {\hat{d}} - {{\hat{D}}^*}$ ,Lyapunov函数设为

$V = \frac{1}{2}\left( {{{\mathit{\boldsymbol{\sigma }}}^{\rm T}}{\mathit{\boldsymbol{\sigma }}} + \frac{1}{\gamma }{{\mathit{\boldsymbol{\Delta }}}^{\rm T}}{\mathit{\boldsymbol{\Delta }}}} \right)\text{,}$ (19)

那么有

$\begin{split}&\dot V = {{{\bf{\dot \sigma }}}^{\rm T}}{\bf{\sigma }} + \displaystyle\frac{1}{\gamma }{{{\bf{\dot \Delta }}}^{\rm T}}{\bf{\Delta }}=\\& \left\{ \begin{array}{l}{{\bf{s}}_1}\left[ {{{\bf{M}}^{ - 1}}\left( {{\bf{\tau }} \!\!-\!\! {\bf{C}}\left( {\bf{\nu }} \right){\bf{\nu }} \!\!-\!\! {\bf{D}}\left( {\bf{\nu }} \right){\bf{\nu }}\!\! -\!\! {\bf{g}}\left( {\bf{\eta }} \right) + {\bf{d}}} \right) - {{{\bf{\dot \nu }}}_d}} \right] \!\!+\!\! \;\\{{\bf{s}}_2}\left[ {{\bf{J}}\left( {\bf{\eta }} \right){\bf{\nu }} - {{{\bf{\dot \eta }}}_d}} \right]\end{array} \right\}{\bf{\sigma }} +\\& \displaystyle\frac{1}{\gamma }{{{\bf{\dot \Delta }}}^{\rm T}}{\bf{\Delta }}\text{。}\end{split}$ (20)

将控制律和自适应律代入,设最小的估计误差为 ${\mathit{\boldsymbol{\xi }}} = {\hat d^*}_i - d$ ,可将上式简化,

$\begin{split}\dot V &\leqslant - [{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\left( {{{\mathit{\boldsymbol{s}}}_1}{{{\mathit{\boldsymbol{\hat {M}}}}}^{ - 1}}} \right)^{ - 1}}{\mathit{\boldsymbol{K}}}{\mathop{\rm sgn}} ({\bf{\sigma }}) - {{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}\times\\&\;\;\;\;\;\;\; \left( {{\mathit{\boldsymbol{\hat {C}}\nu }} - {\mathit{\boldsymbol{{C}}\nu }} + {\mathit{\boldsymbol{\hat {D}}\nu }} - {\mathit{\boldsymbol{{D}}\nu }} + {\mathit{\boldsymbol{\hat {g}}}} - {\mathit{\boldsymbol{g}}} - {{\bf{\Delta }}^{\rm T}}{\bf{\varepsilon }} + {\bf{\xi }}} \right)-\\&\;\;\;\; \left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{{{\bf{\dot \nu }}}_d} - {{\mathit{\boldsymbol{s}}}_1}{{{\bf{\dot \nu }}}_d}} \right) - \left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{S_1}^{ - 1} - I} \right)\times\\&\;\;\;\;\;\;\;\;\;{{\mathit{\boldsymbol{s}}}_2}\left( {{{{\bf{\dot \eta }}}_d} - {\mathit{\boldsymbol{{J}}\nu }}} \right)]{\bf{\sigma }} + \displaystyle\frac{1}{\gamma }{{\bf{\Delta }}^{\rm T}}\dot {\mathop {\mathit{\boldsymbol{B}}} \limits^ \frown }=\\& - [{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\left( {{{\mathit{\boldsymbol{s}}}_1}{{{\mathit{\boldsymbol{\hat {M}}}}}^{ - 1}}} \right)^{ - 1}}{\mathit{\boldsymbol{K}}}{\mathop{\rm sgn}} ({\bf{\sigma }}) - {{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}\times\\&\;\;\;\;\;\;\;\left( {{\mathit{\boldsymbol{\hat {C}}\nu }} - {\mathit{\boldsymbol{{C}}\nu }} + {\mathit{\boldsymbol{\hat {D}}\nu }} - {\mathit{\boldsymbol{{D}}\nu }} + {\mathit{\boldsymbol{\hat {g}}}} - {\mathit{\boldsymbol{g}}} + {\bf{\xi }}} \right)-\\&\;\;\;\; \left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{{{\bf{\dot \nu }}}_d} - {{\mathit{\boldsymbol{s}}}_1}{{{\bf{\dot \nu }}}_d}} \right) - \left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{S_1}^{ - 1} - I} \right) \times\\&\;\;\;\;\;\;\;\;\;{{\mathit{\boldsymbol{s}}}_2}\left( {{{{\bf{\dot \eta }}}_d} - {\mathit{\boldsymbol{{J}}\nu }}} \right)]{\bf{\sigma }} + {{\bf{\Delta }}^{\rm T}}{\bf{\varepsilon \sigma }}\left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}} - \displaystyle\frac{1}{\gamma }{\bf{\theta }}} \right)\text{。}\end{split}$ (21)

$\gamma = {\left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}} \right)^{ - 1}}{\mathit{\boldsymbol{\theta }}}$ ,则有

$\begin{split}\dot V \leqslant& - [{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{{\mathit{\boldsymbol{s}}}_1}^{ - 1}{\mathit{\boldsymbol{K}}}{\mathop{\rm sgn}} ({\bf{\sigma }}) - {{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}\times\\&\left( {{\mathit{\boldsymbol{\hat {C}}\nu }} - {\mathit{\boldsymbol{{C}}\nu }} + {\mathit{\boldsymbol{\hat {D}}\nu }} - {\mathit{\boldsymbol{{D}}\nu }} + {\mathit{\boldsymbol{\hat {g}}}} - {\mathit{\boldsymbol{g}}} + {\bf{\xi }}} \right)-\\&\;\;\;\;\;\;\; \left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{{{\bf{\dot \nu }}}_d} - {{\mathit{\boldsymbol{s}}}_1}{{{\bf{\dot \nu }}}_d}} \right) - \left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{S_1}^{ - 1} - I} \right)\times\\&{{\mathit{\boldsymbol{s}}}_2}\left( {{{{\bf{\dot \eta }}}_d} - {\mathit{\boldsymbol{{J}}\nu }}} \right)]{\bf{\sigma }}\text{。}\end{split}$ (22)

为了保证系统稳定,假设 $\left| {{\hat{C\nu }} - {\mathit{\boldsymbol{C\nu }}}} \right| \leqslant {\mathit{\boldsymbol{\alpha }}}$ $\left| {{\hat{D\nu }} - {\mathit{\boldsymbol{D\nu }}}} \right| \leqslant {\mathit{\boldsymbol{\beta }}}$ $\left| {{\hat{g}} - {\mathit{\boldsymbol{g}}}} \right| \leqslant {\mathit{\boldsymbol{\kappa }}}$ ${{\dot{\nu }}_d}$ ${{\dot{e}}_2}$ 均有界,增益K需满足

$\begin{split}K \geqslant &{{\mathit{\boldsymbol{s}}}_1}{{{\mathit{\boldsymbol{\hat {M}}}}}^{ - 1}}\left( {{\bf{\alpha }} + {\bf{\beta }} + {\bf{\kappa }} + {\bf{\xi }}} \right)\; + \left( {{{\mathit{\boldsymbol{s}}}_1} - {{\left( {{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}} \right)}^{ - 1}}} \right){{{\bf{\dot \nu }}}_d} + \\&\left( {{{\mathit{\boldsymbol{s}}}_1}{{\mathit{\boldsymbol{M}}}^{ - 1}}{\mathit{\boldsymbol{\hat {M}}}}{{\mathit{\boldsymbol{s}}}_1}^{ - 1} - I} \right){{\mathit{\boldsymbol{s}}}_2}{{{\bf{\dot e}}}_2}\text{。}\end{split}$ (23)
图 1 隶属度函数 Fig. 1 Degree of membership function

图 2 外界干扰 Fig. 2 External disturbances
4 仿真验证

采用前面所设计的模糊自适应滑模控制器,在Matlab/Simulink环境下进行仿真,通过控制AUV在给定参考航迹下进行轨迹跟踪,同时也对传统滑模控制器作用下的AUV轨迹跟踪进行对比,从而验证本文提出的模糊自适应滑模算法的有效性。

本文研究对象的主要物理模型参数如表1所示。AUV的初始位置为(0,0),初始受向角也为0,控制器输出限定为±100 N。 ${{\mathit{\boldsymbol{s}}}_1} = {\rm {diag}}\{ 0.1,\;\;0.1,\;\;2\} $ ${{\mathit{\boldsymbol{s}}}_2} = {\rm {diag}}\{ 1,\;\;1,\;\;1\} $ $K = \left[ {10;\;\;10;\;\;10} \right]$

同时假设AUV受到的环境干扰为

$\begin{split}{\bf{d}}\left( t \right) =& [{\rm{0}}{\rm{.1sin(0}}{\rm{.1}}t - \displaystyle\frac{\pi }{4}{\rm{),0}}{\rm{.1sin(0}}{\rm{.1}}t - \displaystyle\frac{\pi }{6}{\rm{)}},\;\\&{\rm{0}}{\rm{.1sin(0}}{\rm{.1}}t - \displaystyle\frac{\pi }{3}{\rm{)}}]\end{split}$ (24)

给定目标轨迹为:

$\begin{split}\!\!\!\!\left( {x,y,\psi } \right) \!=\! ({\rm{3sin(0}}{\rm{.04}}\pi {{t)}},{\rm{3cos(0}}{\rm{.04}}\pi {{t)}},{\rm{0}}{\rm{.3sin(}}\pi {{t/60)}})\text{。}\!\!\!\!\end{split}$ (25)

图3~图6给出了在滑模控制器作用下的仿真结果。从图3可以看出AUV水平面上航迹跟踪曲线与预先给定的航迹曲线较吻合,虽然AUV的初始位置和给定航迹不同,滑模控制器能够完成目标轨迹的跟踪。图4为单独每个自由度的跟踪曲线,与给定的期望值相一致。图5为滑模控制器的输出,存在明显的抖振现象。从图6可以看出跟踪轨迹在各自由度上的误差均较小,5 s后最大值约0.04,说明存在外界干扰的情况下,滑模控制器作用的AUV能较好地跟踪上给定轨迹,克服外界干扰,在各自由度上跟踪误差小,具有较强的鲁棒性。

图 3 滑模控制下AUV水平面轨迹 Fig. 3 AUV horizontal path using sliding mode method

图 4 滑模控制AUV的跟踪曲线 Fig. 4 AUV trajectory curve using sliding mode method

图 5 滑模控制器输出 Fig. 5 Sliding mode control output

图 6 滑模控制下航迹误差 Fig. 6 Track error using sliding mode method

图 7 模糊自适应滑模控制下AUV水平面轨迹 Fig. 7 AUV horizontal path using fuzzy adaptive SMC

图 8 模糊自适应滑模控制AUV的跟踪曲线 Fig. 8 AUV trajectory curve using fuzzy adaptive SMC

图 9 模糊自适应滑模控制器输出 Fig. 9 Fuzzy adaptive SMC control output

图 10 模糊自适应滑模控制下航迹误差 Fig. 10 Track error using fuzzy adaptive SMC

表 1 AUV主要参数 Tab.1 Main parameters of AUV

图7~图10给出了在模糊自适应滑模控制器作用下的仿真结果。从图7可以看出AUV水平面上航迹跟踪曲线与预先给定的航迹曲线较吻合,虽然AUV的初始位置和给定航迹不同,模糊自适应滑模控制器也能够完成目标轨迹的跟踪。图8为单独每个自由度的曲线跟踪,与给定的期望值一致。图9为模糊自适应滑模控制器的输出,与单独的滑模控制器作用(见图5)相比,消除了抖振现象。从图10可以看出跟踪轨迹在各自由度上的误差均较小,2 s后最大值约0.01,说明存在外界干扰的情况下,模糊自适应滑模控制器作用的AUV能很好地克服外界干扰,精确跟踪给定轨迹,而且控制输出无抖振现象,在各自由度上跟踪误差小,具有很好的鲁棒性。

5 结 语

本文针对AUV轨迹跟踪问题,建立了AUV动态系统数学模型,利用模糊自适应滑模算法构建了轨迹跟踪控制系统,在给定的水平面光滑航迹下进行控制系统的仿真实验,并且与滑模控制器的作用效果进行对比。由结果可以看出2种方法设计的控制器都能使AUV快速有效跟踪给定水平面轨迹,具有较高的跟踪精度,具有较强的鲁棒性,而且相比于滑模控制器来说,模糊自适应滑模更能有效地抑制外界干扰,还能消除抖振,具有很强的自适应能力,达到了理想控制效果。

参考文献
[1] 朱大奇, 杨蕊蕊. 生物启发神经动力学模型的自治水下机器人反演跟踪控制[J]. 控制理论与应用, 2012, 29 (10): 1309–1316.
[2] 周超, 曹志强, 王硕, 等. 微小型仿生机器鱼设计与实时路径规划[J]. 自动化学报, 2008, 34 (7): 772–777.
[3] 胡志强, 周焕银, 林扬, 等. 基于在线自优化PID算法的USV系统航向控制[J]. 机器人, 2013, 35 (3): 263–268.
[4] 张利军, 齐雪, 赵杰梅, 庞永杰, 等. 垂直面欠驱动自治水下机器人定深问题的自适应输出反馈控制[J]. 控制理论与应用, 2012, 29 (10): 1371–1376.
[5] 俞建成, 张艾群, 王晓辉, 苏立娟, 等. 基于模糊神经网络水下机器人直接自适应控制[J]. 自动化学报, 2007, 33 (8): 840–846.
YU Jiancheng, ZHANG Aiqun, WANG Xiaohui, SU Lijuan, et al. Direct adaptive control of underwater vehicles based on fuzzy neural networks[J]. Acta Atuomatica Sinica, 2007, 33 (8): 840–846.
[6] LEE K W, KEUM W, SINGH S N, et al. Multi input submarine control via L1 adaptive feedback despite uncertainties[J]. Journal of system and control engineers, 2014, 228 (5): 330–347.
[7] BAGHERI A, MOGHADDAM J J. Simulation and tracking control based on neural-network strategy and sliding-mode control for underwater remotely operated vehicle[J]. Neurocomputing, 2009, 72 (8): 1934–1950.
[8] WALLACE M B, MAX S D, EDWIN K. Depth control of remotely operated underwater vehicles using an adaptive fuzzy sliding mode controller[J]. Robotics and Autonomous Systems, 2008, 56 (8): 670–677. DOI: 10.1016/j.robot.2007.11.004
[9] 魏延辉, 周卫祥, 贾献强, 王泽鹏, 等. AUV模型解耦水平运动多控制器联合控制[J]. 华中科技大学学报(自然科学版), 2016, 44 (4): 37–42.
[10] G. Designing the NGC system of a small ASV for tracking underwater targets[J]. Robotics and Autonomous Systems, 2016 (76): 46–57.
[11] ZOOL H, et al. A robust dynamic region-based control scheme for an autonomous underwater vehicle[J]. Ocean Engineering, 2016 (111): 155–165.
[12] GAO Fudong, PAN Cunyun, HAN Yanyan, et al. Nonliear traiectory tracking control of a new autonomous underwater vehicle in complex sea conditions[J]. Journal of Central South University, 2012, 19 (7): 1859–1868. DOI: 10.1007/s11771-012-1220-1
[13] HNAGIL J, MINSUNG K, SON CHEOL Y. Second order sliding mode controller for autonomous underwater vehicle in the presence of unknown disturbances[J]. Nonlinear Dynamics, 2014, 78 (1): 183–196. DOI: 10.1007/s11071-014-1431-0
[14] 贾鹤鸣, 张利军, 齐雪, 杨立新, 等. 基于神经网络的水下机器人三维航迹跟踪控制[J]. 控制理论与应用, 2012, 29 (7): 877–883.
JIA Heming, ZHANG Lijun, QI Xue, YANG Lixin, et al. Three-dimensional path tracking control for autonomous underwater vehicle based on neural network[J]. Control Theory & Applications, 2012, 29 (7): 877–883.
[15] Yan-Cheng LIU, Si-Yuan LIU, Ning WANG. Fully-tuned fuzzy neural network based robust adaptive tracking control of unmanned underwater vehicle with thruster dynamics[J]. Neurocomputing, 2016, 196 : 1–13. DOI: 10.1016/j.neucom.2016.02.042
[16] JON E R, ASGEIR J S. Model-based output feedback control of slender-body underactuated AUVs: theory and experiments[J]. IEEE Transactions on Control Systems Technology, 2008, 16 (5): 930–946. DOI: 10.1109/TCST.2007.916347
[17] LIONEL L, BRUNO J. Robust nonlinear path-following control of AUV[J]. IEEE Journal of Oceanic Engineering, 2008, 33 (2): 89–102. DOI: 10.1109/JOE.2008.923554