2. 广州市顺海造船有限公司,广东 广州 511440
2. Guangzhou Shunhai Shipyards Ltd., Guangzhou 511440, China
随着时代的发展,水下机器人现已被广泛应用于深海探测、海洋矿产开采及海上平台清污、维修等任务中,在人类研究和开发海洋的工作中扮演着越来越重要的角色。同时由于其工作环境较为复杂,为保证机器人的作业能力,就需要对机器人运动轨迹、航行姿态等进行有效控制。
水下机器人轨迹跟踪控制一直是水下机器人研发领域的一大研究热点。传统的控制方法有PID控制[1]、自适应控制[2]、反步滑模控制[3−4]等,虽然能够达到较好的控制效果,但皆存在着一定的问题,如PID控制抗干扰能力较弱、自适应控制可能导致的“参数漂移”现象、反步滑模控制可能存在“微分爆炸”问题及抖振问题等,同时上述控制方法也较难获取系统稳定所需的调节时间。相较于传统控制方法,有限时间控制以能够保证闭环控制系统在有限时间内稳定的特点受到广泛关注,在扰动观测器设计和轨迹跟踪控制器方面都有着较多的应用。杜家璐等[5]基于超螺旋(Super-Twisting,ST)算法分别设计出可在有限时间内对机器人所受扰动进行实时估计的扩张状态观测器和用于实现机器人三维轨迹跟踪的控制器,仿真结果对控制律的有效性进行了验证。Guerrero等[6−7] 针对考虑模型不确定性和外界扰动的AUV轨迹跟踪问题展开研究,结合超螺旋算法和自适应控制完成了扰动观测器和轨迹跟踪控制律的设计,并通过实模试验对所提出的观测器和控制律性能进行了验证。Ali等[8]设计了一个三阶快速有限时间扰动观测器用于估计自主水下机器人(AUV)总扰动及扰动的一阶导数,然后基于非奇异快速终端滑模控制(NFTSMC)设计了用于实现AUV三维轨迹跟踪控制的控制器。数值仿真结果表明,与传统扩张观测器相比,所提出的观测器的快速性和准确性都更好。Zheng等[9]针对在时变扰动条件下实现AUV轨迹跟踪问题提出了带扰动观测器的有限时间滑模控制器,并与传统的有限时间滑模控制器进行了对比,仿真结果表明所提出的控制器有着更高的跟踪精度和更强的鲁棒性。
基于上述讨论,为提高水下机器人在水下作业时抗干扰能力,针对考虑模型误差和时变外界环境扰动的水下机器人水平面轨迹跟踪问题,本文设计一种带有限时间扰动观测器的轨迹跟踪控制律。首先基于有限时间控制设计一个扰动观测器对总扰动进行实时估计,然后基于反步滑模控制完成带扰动观测器的轨迹跟踪控制律设计,设计过程中采用二阶滤波器对虚拟控制信号进行过滤,并设计滤波补偿系统用于保证滤波信号的精度。最后在Matlab Simulink平台进行仿真实验,对扰动观测器和控制律的性能进行检验。
1 水下机器人模型本文选用的坐标系如图1所示,分别定义为惯性坐标系
$ \left\{ \begin{gathered} {\boldsymbol{\dot \eta }} = {\boldsymbol{J\upsilon }},\\ {\boldsymbol{M\dot \upsilon }} + {\boldsymbol{C\upsilon }} + {\boldsymbol{D\upsilon }} + {\boldsymbol{g}} = {\boldsymbol{\tau }} + {{\boldsymbol{\tau }}_{{\text{do}}}}。\\ \end{gathered} \right. $ | (1) |
式中:
$ {\boldsymbol{J}} = \left[ {\begin{array}{*{20}{c}} {\cos \left( \psi \right)}&{ - \sin \left( \psi \right)}&0 \\ {\sin \left( \psi \right)}&{\cos \left( \psi \right)}&0 \\ 0&0&1 \end{array}} \right]。$ | (2) |
$ {\boldsymbol{C}} = \left[ {\begin{array}{*{20}{c}} 0&0&{ - {m_{22}}v} \\ 0&0&{{m_{11}}u} \\ {{m_{22}}v}&{ - {m_{11}}u}&0 \end{array}} \right] 。$ | (3) |
若定义
$ \left\{ \begin{gathered} {{\dot {\boldsymbol{\eta}} }} = {\boldsymbol{J\upsilon }},\\ {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} \dot \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{C}}} \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{D}}} \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{g}}} }} = {\boldsymbol{\tau }} + {{\boldsymbol{\tau }}_{\text{d}}} 。\end{gathered} \right. $ | (4) |
所研究的水下机器人模型近似三平面对称,故在运动分析中部分参数矩阵仅考虑对角线部分。更为详细的参数介绍可见文献[7,11]。
2 控制策略设计本文的研究目标是通过设计水下机器人水平面轨迹跟踪控制器使得其能够对期望轨迹实现有效跟踪,并保持持续且良好的跟踪效果。首先介绍相关假设及引理,相似的假设可见于文献[5,9]。
假设1 期望轨迹
假设2 总扰动项
引理1[12]:考虑系统
1) 若
2) 若
引理2 针对标量函数
为对总扰动进行实时估计,定义变量
$ \left\{ \begin{gathered} {{{\boldsymbol{\dot \sigma }}}_1} = {\boldsymbol{F}} + {\boldsymbol{\tau }} + {{\boldsymbol{\sigma }}_2},\\ {{{\boldsymbol{\dot \sigma }}}_2} = {\boldsymbol{d}} 。\\ \end{gathered} \right. $ | (5) |
式中:
结合式(5),有限时间扰动控制器可被设计为:
$ \left\{ \begin{gathered} {{{\boldsymbol{\dot {\hat \sigma} }}}_1} = {\boldsymbol{F}} + {\boldsymbol{\tau }} + {{{\boldsymbol{\hat \sigma }}}_2} + {{\boldsymbol{K}}_1}{{\boldsymbol{\varPhi }}_1}\left( {{{{\boldsymbol{\tilde \sigma }}}_1}} \right) ,\\ {{{\boldsymbol{\dot {\hat \sigma} }}}_2} = {{\boldsymbol{K}}_2}{{\boldsymbol{\varPhi }}_2}\left( {{{{\boldsymbol{\tilde \sigma }}}_1}} \right) 。\\ \end{gathered} \right. $ | (6) |
式中:
其中:
$ \left\{ \begin{gathered} {\phi _{1i}} = si{g^{{\beta _1}}}\left( {{{\tilde \sigma }_{1i}}} \right) + si{g^{{\beta _2}}}\left( {{{\tilde \sigma }_{1i}}} \right),\\ {\phi _{2i}} = \phi _{1i}'{\phi _{1i}} ,\\ \phi _{1i}' = {\beta _1}{\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _1} - 1}} + {\beta _2}{\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _2} - 1}}。\\ \end{gathered} \right. $ | (7) |
式中:
$ \left\{ \begin{gathered} {{{\boldsymbol{\dot {\tilde \sigma} }}}_1} = {{{\boldsymbol{\tilde \sigma }}}_2} - {{\boldsymbol{K}}_1}{{\boldsymbol{\varPhi }}_1}\left( {{{{\boldsymbol{\tilde \sigma }}}_1}} \right),\\ {{{\boldsymbol{\dot {\tilde \sigma} }}}_2} = {\boldsymbol{d}} - {{\boldsymbol{K}}_2}{{\boldsymbol{\varPhi }}_2}\left( {{{{\boldsymbol{\tilde \sigma }}}_1}} \right) 。\\ \end{gathered} \right. $ | (8) |
考虑Lyapunov函数
$ \begin{split} {{{{\dot {\boldsymbol E}}}}_i} =& \left[ {\begin{array}{*{20}{c}} {{\beta _1}{{\left| {{{\tilde \sigma }_{1i}}} \right|}^{{\beta _1} - 1}}\left( {{{\tilde \sigma }_{2i}} - {k_{1i}}{\phi _{1i}}} \right)} \\ { - {\beta _1}{{\left| {{{\tilde \sigma }_{1i}}} \right|}^{{\beta _1} - 1}}{k_{2i}}{\phi _{1i}}} \end{array}} \right] +\\ & \left[ {\begin{array}{*{20}{c}} {{\beta _2}{{\left| {{{\tilde \sigma }_{1i}}} \right|}^{{\beta _2} - 1}}\left( {{{\tilde \sigma }_{2i}} - {k_{1i}}{\phi _{1i}}} \right)} \\ { - {\beta _2}{{\left| {{{\tilde \sigma }_{1i}}} \right|}^{{\beta _2} - 1}}{k_{2i}}{\phi _{1i}}} \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} 0 \\ {{d_i}} \end{array}} \right] = \\ & {\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _1} - 1}}{{\boldsymbol{A}}_{i1}}{{\boldsymbol{E}}_i} + {\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _2} - 1}}{{\boldsymbol{A}}_{i2}}{{\boldsymbol{E}}_i} + {{\boldsymbol{\varOmega }}_i} 。\end{split} $ | (9) |
式中:
$ \begin{split} {{\dot V}_i}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) =& 2{{{{\boldsymbol E}}}_i}^{\text{T}}{{\boldsymbol{P}}_i}{{{{\dot {\boldsymbol E}}}}_i} = {{{{\boldsymbol E}}}_i}^{\text{T}}{\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _1} - 1}}\left( {{\boldsymbol{A}}_{i1}^{\text{T}}{{\boldsymbol{P}}_i} + {{\boldsymbol{P}}_i}{{\boldsymbol{A}}_{i1}}} \right){{{{\boldsymbol E}}}_i}+\\ & {{{{\boldsymbol E}}}_i}^{\text{T}}{\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _2} - 1}}\left( {{\boldsymbol{A}}_{i2}^{\text{T}}{{\boldsymbol{P}}_i} + {{\boldsymbol{P}}_i}{{\boldsymbol{A}}_{i2}}} \right){{{{\boldsymbol E}}}_i} + 2{{\boldsymbol{\Omega }}_i}^{\text{T}}{{\boldsymbol{P}}_i}{{{{\boldsymbol E}}}_i}= \\ & - {{{{\boldsymbol E}}}_i}^{\text{T}}{\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _1} - 1}}{{\boldsymbol{Q}}_{i1}}{{{{\boldsymbol E}}}_i} - {{{{\boldsymbol E}}}_i}^{\text{T}}{\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _2} - 1}}{{\boldsymbol{Q}}_{i2}}{{{{\boldsymbol E}}}_i} +\\ & 2{{\boldsymbol{\varOmega }}_i}^{\text{T}}{{\boldsymbol{P}}_i}{{{{\boldsymbol E}}}_i}\leqslant - {\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _1} - 1}}{\lambda _{\min }}\left( {{{\boldsymbol{Q}}_{i1}}} \right){\left\| {{{{{\boldsymbol E}}}_i}} \right\|^2} - {\left| {{{\tilde \sigma }_{1i}}} \right|^{{\beta _2} - 1}}\times\\ & {\lambda _{\min }}\left( {{{\boldsymbol{Q}}_{i2}}} \right){\left\| {{{{{\boldsymbol E}}}_i}} \right\|^2} + 2\bar d\left\| {{{\boldsymbol{P}}_i}} \right\|\left\| {{{{{\boldsymbol E}}}_i}} \right\| ,\\[-10pt] \end{split} $ | (10) |
又因为
$ {\lambda _{\max }}{\left( {{{\boldsymbol{P}}_i}} \right)^{ - 1}}{V_i}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) \leqslant {\left\| {{{\boldsymbol{E}}_i}} \right\|^2} \leqslant {\lambda _{\min }}{\left( {{{\boldsymbol{P}}_i}} \right)^{ - 1}}{V_i}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right),$ | (11) |
式(10)可表示为:
$ \begin{split} {{\dot V}_i}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) \leqslant & - {\lambda _{\min }}\left( {{{\boldsymbol{Q}}_{i1}}} \right){\left\| {{{\boldsymbol{{ E}}}_i}} \right\|^{{\beta _1} + 1}} - {\lambda _{\min }}\left( {{{\boldsymbol{Q}}_{i2}}} \right){\left\| {{{\boldsymbol{{ E}}}_i}} \right\|^2}+ \\ & 2\bar d\left\| {{{\boldsymbol{P}}_i}} \right\|\left\| {{{\boldsymbol{{ E}}}_i}} \right\|\leqslant \\ {\text{ }} & - {\alpha _{i1}}V_i^{\frac{{{\beta _1} + 1}}{2}}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) - {\alpha _{i2}}{V_i}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) + {\alpha _{i3}}V_i^{\frac{1}{2}}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) 。\end{split} $ | (12) |
式中:
由于当
$ \begin{split} {\dot V_i}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) & \leqslant - {\lambda _{\min }}\left( {{{\boldsymbol{Q}}_{i1}}} \right){\left\| {{{\boldsymbol{{\rm E}}}_i}} \right\|^{{\beta _1} + 1}} + 2\bar d\left\| {{{\boldsymbol{P}}_i}} \right\|\left\| {{{\boldsymbol{{\rm E}}}_i}} \right\| \leqslant\\ & - {\alpha _{i1}}V_i^{\frac{{{\beta _1} + 1}}{2}}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right) + {\alpha _{i3}}V_i^{\frac{1}{2}}\left( {{{{\boldsymbol{\tilde \sigma }}}_i}} \right)。\end{split} $ | (13) |
由引理1可知状态
综上,式(8)所示扰动观测器估计误差系统可在有限时间
对于满足假设1条件的期望轨迹
$ {{\boldsymbol{\dot \eta }}_{\text{e}}} = {\boldsymbol{\dot \eta }} - {{\boldsymbol{\dot \eta }}_{\text{d}}} = {\boldsymbol{J\upsilon }} - {{\boldsymbol{\dot \eta }}_{\text{d}}} ,$ | (14) |
考虑滑模面
$ {\dot V_1} = {{\boldsymbol{s}}_1}^{\text{T}}\left( {{\boldsymbol{J\upsilon }} - {{{\boldsymbol{\dot \eta }}}_{\text{d}}} + {{\boldsymbol{k}}_1}{{\boldsymbol{\eta }}_{\text{e}}}} \right) 。$ | (15) |
为避免后续控制器设计时对虚拟控制律求导,定义如下二阶滤波器[13-14]:
$ {{\boldsymbol{\ddot \upsilon }}_{{\text{df}}}} = - 2\lambda {\omega _n}{{\boldsymbol{\dot \upsilon }}_{{\text{df}}}} - \omega _n^2\left( {{{\boldsymbol{\upsilon }}_{{\text{df}}}} - {{\boldsymbol{\upsilon }}_{\text{d}}}} \right) 。$ | (16) |
式中:
为保证过滤后的信号与虚拟控制信号的接近精度,参考文献[15]所用方法,增加滤波补偿辅助系统用于补偿滤波误差,并定义滤波器误差为
考虑如下Lyapunov函数
$ {V_2} = {V_1} + 0.5{{\boldsymbol{\varphi }}^{\text{T}}}{\boldsymbol{\varphi }},$ | (17) |
求导可得:
$ {\dot V_2} = {{\boldsymbol{s}}_1}^{\text{T}}\left( {{\boldsymbol{J}}\left( {{{\boldsymbol{\upsilon }}_{\text{e}}} + {{\boldsymbol{e}}_{\text{f}}} + {{\boldsymbol{\upsilon }}_{\text{d}}}} \right) - {{{\boldsymbol{\dot \eta }}}_{\text{d}}} + {{\boldsymbol{k}}_1}{{\boldsymbol{\eta }}_{\text{e}}}} \right) + {{\boldsymbol{\varphi }}^{\text{T}}}{\boldsymbol{\dot \varphi }},$ | (18) |
若选取虚拟期望速度和辅助状态变量更新律分别为:
$ {{\boldsymbol{\upsilon }}_{\text{d}}} = {{\boldsymbol{J}}^{ - 1}}\left( {{{{\boldsymbol{\dot \eta }}}_{\text{d}}} - {{\boldsymbol{k}}_1}{{\boldsymbol{\eta }}_{\text{e}}} - {{\boldsymbol{k}}_2}{{\boldsymbol{s}}_1} + {{\boldsymbol{\rho }}_1}{\boldsymbol{\varphi }}} \right) ,$ | (19) |
$ {\boldsymbol{\dot \varphi }} = \left\{ {\begin{split} & { - {{\boldsymbol{\rho }}_2}{\boldsymbol{\varphi }} - \dfrac{{\boldsymbol{\varphi }}}{{{{\left\| {\boldsymbol{\varphi }} \right\|}^2}}}\left( {\left| {{\boldsymbol{s}}_1^{\text{T}}{\boldsymbol{J}}{{\boldsymbol{e}}_{\text{f}}}} \right|{\text{ + 0}}{\text{.5}}{{\boldsymbol{e}}_{\text{f}}}^{\text{T}}{{\boldsymbol{e}}_{\text{f}}}} \right){\text{ + }}{{\boldsymbol{e}}_{\text{f}}},{\text{ }}\left\| {\boldsymbol{\varphi }} \right\| \geqslant \delta },\\ &{{\text{ }}0,{\text{ }}\left\| {\boldsymbol{\varphi }} \right\| < \delta } 。\\[-15pt]\end{split}} \right. $ | (20) |
式中:
$ \begin{split} {\dot V_2} =& {\boldsymbol{s}}_1^{\text{T}}{\boldsymbol{J}}{{\boldsymbol{\upsilon }}_{\text{e}}} + {\boldsymbol{s}}_1^{\text{T}}{\boldsymbol{J}}{{\boldsymbol{e}}_{\text{f}}} - {\boldsymbol{s}}_1^{\text{T}}{{\boldsymbol{k}}_2}{{\boldsymbol{s}}_1} + {\boldsymbol{s}}_1^{\text{T}}{{\boldsymbol{\rho }}_1}{\boldsymbol{\varphi }} - {{\boldsymbol{\varphi }}^{\text{T}}}{{\boldsymbol{\rho }}_2}{\boldsymbol{\varphi }}- \\ & \left| {{\boldsymbol{s}}_1^{\text{T}}{\boldsymbol{J}}{{\boldsymbol{e}}_{\text{f}}}} \right| - {\text{0}}{\text{.5}}{{\boldsymbol{e}}_{\text{f}}}^{\text{T}}{{\boldsymbol{e}}_{\text{f}}} + {{\boldsymbol{\varphi }}^{\text{T}}}{{\boldsymbol{e}}_{\text{f}}}。\end{split} $ | (21) |
利用矩阵形式的Young不等式可以得到
$ \begin{split} {\dot V_2} \leqslant & {\boldsymbol{s}}_1^{\text{T}}{\boldsymbol{J}}{{\boldsymbol{\upsilon }}_{\text{e}}} - \left( {{{\boldsymbol{k}}_2} - {{\boldsymbol{I}}_{3 \times 3}}} \right){\boldsymbol{s}}_1^{\text{T}}{{\boldsymbol{s}}_1}- \\ & \left( {{{\boldsymbol{\rho }}_2} - 0.25{\boldsymbol{\rho }}_1^{\text{T}}{{\boldsymbol{\rho }}_1} - 0.5{{\boldsymbol{I}}_{3 \times 3}}} \right){{\boldsymbol{\varphi }}^{\text{T}}}{\boldsymbol{\varphi }}。\end{split} $ | (22) |
定义
$ {\dot V_3} = {\boldsymbol{s}}_2^{\text{T}}\left( { - {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{C}}} \upsilon }} - {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{D}}} \upsilon }} + {\boldsymbol{\tau }} + {{\boldsymbol{\tau }}_{\text{d}}} - {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}{{{{\dot {\boldsymbol{\upsilon}} }}}_{{\text{df}}}}} \right) 。$ | (23) |
结合前文所得扰动估计值
$ {\boldsymbol{\tau }} = {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{C}}} \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{D}}} \upsilon }} - {{\boldsymbol{\hat \tau }}_{\text{d}}} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}{{\boldsymbol{\dot \upsilon }}_{{\text{df}}}} - {{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}^{ - {\text{T}}}}{{\boldsymbol{J}}^{\text{T}}}{{\boldsymbol{s}}_1} - {{\boldsymbol{k}}_3}{{\boldsymbol{s}}_2} - {{\boldsymbol{k}}_4}{{\rm{t}}{\rm{an}}h} \left( {{{\boldsymbol{s}}_2}} \right)。$ | (24) |
式中:
考虑Lyapunov函数
$ \begin{split} {{\dot V}_4} \leqslant & {\boldsymbol{s}}_1^{\text{T}}{\boldsymbol{J}}{{\boldsymbol{\upsilon }}_{\text{e}}} - \left( {{{\boldsymbol{k}}_2} - {{\boldsymbol{I}}_{3 \times 3}}} \right){\boldsymbol{s}}_1^{\text{T}}{{\boldsymbol{s}}_1}- \\ & \left( {{{\boldsymbol{\rho }}_2} - 0.25{\boldsymbol{\rho }}_1^{\text{T}}{{\boldsymbol{\rho }}_1} - 0.5{{\boldsymbol{I}}_{3 \times 3}}} \right){{\boldsymbol{\varphi }}^{\text{T}}}{\boldsymbol{\varphi }}+ \\ & {\boldsymbol{s}}_2^{\text{T}}\left( {{{\boldsymbol{\tau }}_{\text{d}}} - {{{\boldsymbol{\hat \tau }}}_{\text{d}}} - {{{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}}^{ - {\text{T}}}}{{\boldsymbol{J}}^{\text{T}}}{{\boldsymbol{s}}_1} - {{\boldsymbol{k}}_3}{{\boldsymbol{s}}_2} - {{\boldsymbol{k}}_4}{Tanh} \left( {{{\boldsymbol{s}}_2}} \right)} \right) \leqslant \\ {\text{ }} &- \left( {{{\boldsymbol{k}}_2} - {{\boldsymbol{I}}_{3 \times 3}}} \right){\boldsymbol{s}}_1^{\text{T}}{{\boldsymbol{s}}_1} - \left( {{{\boldsymbol{\rho }}_2} - 0.25{\boldsymbol{\rho }}_1^{\text{T}}{{\boldsymbol{\rho }}_1} - 0.5{{\boldsymbol{I}}_{3 \times 3}}} \right){{\boldsymbol{\varphi }}^{\text{T}}}{\boldsymbol{\varphi }} +\\ & {\boldsymbol{s}}_2^{\text{T}}{{{\boldsymbol{\tilde \tau }}}_{\text{d}}} - {\boldsymbol{s}}_2^{\text{T}}{{\boldsymbol{k}}_3}{{\boldsymbol{s}}_2} - {\boldsymbol{s}}_2^{\text{T}}{{\boldsymbol{k}}_4}{\tan h} \left( {{{\boldsymbol{s}}_2}} \right) ,\\[-10pt] \end{split} $ | (25) |
由于
$ \begin{split} {\dot V_4} \leqslant & - \left( {{{\boldsymbol{k}}_2} - {{\boldsymbol{I}}_{3 \times 3}}} \right){\boldsymbol{s}}_1^{\text{T}}{{\boldsymbol{s}}_1} - \left( {{{\boldsymbol{\rho }}_2} - 0.25{\boldsymbol{\rho }}_1^{\text{T}}{{\boldsymbol{\rho }}_1} - 0.5{{\boldsymbol{I}}_{3 \times 3}}} \right){{\boldsymbol{\varphi }}^{\text{T}}}{\boldsymbol{\varphi }}- \\ & \left( {{{\boldsymbol{k}}_3} - {{\boldsymbol{I}}_{3 \times 3}}} \right){\boldsymbol{s}}_2^{\text{T}}{{\boldsymbol{s}}_2} + 0.25{\varepsilon ^2} \leqslant - 2{\kappa _1}{V_4} + {\kappa _2}。\\[-10pt] \end{split} $ | (26) |
式中:
$ {V_4}\left( t \right) \leqslant {V_4}\left( 0 \right){{\text{e}}^{ - 2{\kappa _1}t}} + {\kappa _2}/2{\kappa _1}。$ | (27) |
可见,
综上所述,使用扰动观测器式(6)、虚拟期望速度式(19)、辅助系统更新律式(20)和控制律式(24),可使水下机器人轨迹跟踪控制误差系统有界稳定,轨迹跟踪误差收敛于原点附近一个很小的有界区域。轨迹跟踪控制策略框图如图3所示。
为验证本文所提出控制方法在考虑模型误差和时变外界环境扰动情况下,能够实现水下机器人对水平面运动期望轨迹的有效跟踪,在2种情况下进行仿真试验。仿真所使用的水下机器人水动力参数来自文献[16],惯性矩阵
情况1 水下机器人目标运动轨迹为:
$ {{\boldsymbol{\eta }}_{\text{d}}} = {\left\{ {2\cos \left( {0.25t} \right),2\sin \left( {0.25t} \right),0.25t + \frac{{\text{π}} }{4}} \right\}^{\text{T}}}。$ | (28) |
初始状态
$ {{\boldsymbol{\tau }}_{{\text{do}}}} = \left\{ \begin{gathered} 1.1 + 0.5\sin \left( {0.2t + {\text{π}} /4} \right) + 0.2\cos \left( {0.6t + {\text{π}} /6} \right) \\ 0.9 + 0.3\sin \left( {0.3t + {\text{π}} /3} \right) + 0.4\cos \left( {0.4t + {\text{π}} /5} \right) \\ 1.3 + 0.6\sin \left( {0.1t + {\text{π}} /8} \right) + 0.1\cos \left( {0.7t + {\text{π}} /4} \right) \\ \end{gathered} \right\}。$ | (29) |
此种情况主要检测所设计控制律在较小模型误差和时变扰动下的控制性能。扰动观测器参数选取为
情况2 机器人模型误差增大为+40%,即
同时为验证本文所设计控制律的优越性,分别选择高增益扰动观测器[17]和传统反步滑模控制律作为扰动观测器和总控制律的对比项。结合本文控制律设计可得高增益扰动观测器式(30)和传统反步滑模控制律式(31),传统反步滑模控制律采用双曲正切函数用于消除抖振。2种情形下的仿真结果如图4和图5所示。
$ \left\{ \begin{gathered} {\boldsymbol{K}}{{{\boldsymbol{\dot {\hat \tau} }}}_{\text{d}}} = {\boldsymbol{\dot \upsilon }} - {{{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}}^{ - 1}}\left( { - {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{C}}} \upsilon }} - {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{D}}} \upsilon }} + {{\boldsymbol{\tau }}_{{\text{re}}}}} \right),\\ {{\boldsymbol{\tau }}_{{\text{re}}}} = {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{C}}} \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{D}}} \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}{{{\boldsymbol{\dot \upsilon }}}_{{\text{df}}}} - {{{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}}^{ - {\text{T}}}}{{\boldsymbol{J}}^{\text{T}}}{{\boldsymbol{s}}_1} - {{\boldsymbol{k}}_3}{{\boldsymbol{s}}_2} - {{\boldsymbol{k}}_4}{{\rm{tanh}}} \left( {{{\boldsymbol{s}}_2}} \right)。\\ \end{gathered} \right. $ | (30) |
$ \left\{ \begin{gathered} {{\boldsymbol{\tau }}_{{\text{bs}}}}{\text{ = }}{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{C}}} \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{D}}} \upsilon }} + {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}{{{\boldsymbol{\dot \upsilon }}}_{{\text{dbs}}}} - {{\boldsymbol{k}}_5}{{\rm{tanh}}} \left( {{{\boldsymbol{s}}_3}} \right),\\ {{\boldsymbol{\upsilon }}_{{\text{dbs}}}} = {{\boldsymbol{J}}^{ - 1}}\left( {{{{\boldsymbol{\dot \eta }}}_{\text{d}}} - {{\boldsymbol{k}}_1}{{\boldsymbol{\eta }}_{\text{e}}} - {{\boldsymbol{k}}_2}{{\boldsymbol{s}}_1}} \right),\\ {{\boldsymbol{s}}_3} = {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{M}}} }}\left( {{\boldsymbol{\upsilon }} - {{\boldsymbol{\upsilon }}_{{\text{dbs}}}}} \right)。\\ \end{gathered} \right. $ | (31) |
式中:
由图4(a)、图4(c)可以看出,在考虑较小模型误差和一定外界时变扰动的情况下,本文所设计的控制律相较于对比项控制律能够使水下机器人更快地跟踪上目标轨迹。同时可以看出,对比项控制律在各自由度上的最大稳态跟踪误差分别约为
图5为考虑较大模型误差及更大的外界时变扰动情况下的仿真结果示意图。由图5(a)可以看到,在保持与情况1不变的设计参数下,所设计的控制律仍能实现与情况1同样令人满意的的跟踪效果。综合图4与图5,增大总扰动项后,对比项观测器及控制律所得到的估计误差和跟踪误差都存在一定程度的增大,但并没有使本文设计的扰动观测器和控制律对应的扰动稳态估计误差和轨迹跟踪误差有明显的变化,说明本文所设计的控制律对水下机器人存在的模型误差及未知外界时变扰动具有良好的鲁棒性。同时控制输入项的变化仍然是较为平缓的,同样不会对执行机构产生较大的冲击。
综上所述,本文基于有限时间控制及滑模控制设计的扰动观测器相较于高增益扰动观测器拥有更高的估计精度。所设计的轨迹跟踪控制律对水下机器人存在的模型误差及未知外界时变扰动具有良好的鲁棒性,且相较于传统反步滑模控制有着更快的跟踪速度和更小的跟踪误差。
4 结 语本文针对水下机器人水平面轨迹跟踪问题展开研究,在考虑机器人模型误差及时变外界扰动的情况下,首先基于有限时间控制方法设计一个有限时间扰动观测器用于对总扰动进行实时估计,然后基于反步滑模控制完成带扰动观测器的轨迹跟踪控制律设计。最后在Matlab Simulink平台中对所设计的控制律的轨迹跟踪控制效果进行仿真实验,并选择高增益扰动观测器和传统反步滑模控制器分别作为本文所设计的扰动观测器和控制器的对比项,结果表明:
1)与传统高增益扰动观测器相比,本文基于有限时间控制提出的扰动观测器有着更快的收敛速度及更小的稳态估计误差。
2)本文所设计的控制律实现了考虑模型误差和未知外界时变扰动的水下机器人水平面轨迹跟踪控制,相较于传统反步滑模控制有着更小的稳态跟踪误差和更快的跟踪速度,同时不同总扰动情况下的仿真结果表明所设计的控制律有着良好的鲁棒性。
[1] |
陈东军, 吴家鸣. 带缆水下机器人控制仿真模拟与水动力分析[J]. 船舶力学, 2020, 24(2): 170-178. CHEN Dongjun, WU Jiaming. Control simulation and hydrodynamics analysis of a tethered underwater robot[J]. Journal of Ship Mechanics, 2020, 24(2): 170-178. |
[2] |
霍江航, 姜向远, 栾义忠, 等. 基于L1自适应理论的AUV深度控制器设计[J]. 中国舰船研究, 2021, 16(5): 150-157. HUO Jianghang, JIANG Xiangyuan, LUAN Yizhong, et al. Design of AUV depth controller based on L1 adaptive theory[J]. Chinese Journal of Ship Research, 2021, 16(5): 150-157. |
[3] |
武建国, 刘杰, 陈凯. 时变干扰下AUV三维轨迹跟踪反步滑模控制[J]. 舰船科学技术, 2022, 44(7): 82-87. Wu Jianguo, LIU Jie, CHEN Kai. Backstepping sliding mode control of auv three-dimensional trajectories tracking under time-varying interference[J]. Ship Science and Technology, 2022, 44(7): 82-87. |
[4] |
徐健, 汪慢, 乔磊, 等. 欠驱动UUV三维轨迹跟踪的反步动态滑模控制[J]. 华中科技大学学报(自然科学版), 2015, 43(8): 107-113. XU Jian, WANG Man, QIAO Lei, et al. Backstepping dynamical sliding mode controller for three-dimensional trajectory tracking of underactuated UUV[J]. Journal of Huazhong University of Science and Technology (natural science edition), 2015, 43(8): 107-113. |
[5] |
杜佳璐, 李健. 欠驱动水下机器人三维轨迹跟踪有限时间预设性能控制. 控制理论与应用[J], 2022, 39(2): 383–392. DU Jialu, LI Jian. Finite-time prescribed performance control for the three-dimension trajectory tracking of underactuated autonomous underwater vehicles[J]. Control Theory & Applications, 2022, 39(2): 383–392. |
[6] |
GUERRERO J, TORRES J, ANTONIO E, et al. Autonomous Underwater Vehicle Robust Path Tracking: Generalized Super-Twisting Algorithm and Block Backstepping Controllers[J]. Control Engineering and Applied Informatics, 2018, 20(2): 51-63. |
[7] |
GUERRERO J, TORRES J, CREUZE V, et al. Adaptive disturbance observer for trajectory tracking control of underwater vehicles [J]. Ocean Engineering, 2020, 200.
|
[8] |
ALI N, TAWIAH I, ZHANG W D. Finite-time extended state observer based nonsingular fast terminal sliding mode control of autonomous underwater vehicles. Ocean Engineering, Volume 218, 2020, 108179.
|
[9] |
ZHENG J, SONG L, LIU L, et al. Fixed-time sliding mode tracking control for autonomous underwater vehicles [J]. Applied Ocean Research, 2021, 117.
|
[10] |
FOSSEN T I. Guidance and control of ocean vehicles[M]. New York, USA: John Wiley & Sons Inc, 1994.
|
[11] |
吴乃龙. 水下机器人建模与非线性自适应控制研究[D]. 上海: 上海交通大学, 2018.
|
[12] |
HU Q, JIANG B. Continuous finite-time attitude control for rigid spacecraft based on angular velocity observer[J]. IEEE Transactions on Aerospace and Electronic Systems, 2017, 54(3): 1082-1092. |
[13] |
刘金琨. 滑膜变结构控制Matlab仿真: 基本理论与设计方法[M]. 北京: 清华大学出版社, 2019.
|
[14] |
WANG J, WANG C, WEI Y, et al. Command filter based adaptive neural trajectory tracking control of an underactuated underwater vehicle in three-dimensional space[J]. Ocean Engineering, 2019, 180: 175-86. DOI:10.1016/j.oceaneng.2019.03.061 |
[15] |
薛乃耀. 作业型水下机器人运动控制系统研究[D]. 广州: 华南理工大学, 2020.
|
[16] |
罗一汉, 吴家鸣, 周汇锋. 基于CFD水动力参数的水下机器人轨迹跟踪控制[J]. 中国舰船研究, 2022, 17(3): 237-245,272. LUO Yihan, WU Jiaming, ZHOU Huifeng. Trajectory tracking control of underwater vehicle based on hydrodynamic parameters calculated by CFD[J]. Chinese Journal of Ship Research, 2022, 17(3): 237-245,272. |
[17] |
LEI M, LI Y, PANG S. Extended state observer-based composite-system control for trajectory tracking of underactuated AUVs [J]. Applied Ocean Research, 2021, 112.
|