船舶运动具有大时滞、大惯性、强非线性等特点,同时由于航行条件和环境干扰的不确定性导致船舶运动模型具有严重的不确定性。因此,船舶航向控制成为非线性系统控制领域中的难点和热点问题[1-2],近年来不确定船舶航向系统控制问题取得了丰富的研究成果[3-5]。现有大多数研究仅考虑了系统的稳定性,而良好的控制系统还应考虑系统的节能问题。神经网络和模糊逻辑系统作为通用逼近器,可以用来很好地辨别非线性系统的不确定性,学者将这2种方法应用到不确定船舶航向非系统的控制设计中,文献[6-7]采用两个神经网络,执行网络和评价网络逼近代价函数和控制律,分别基于近似动态规划算法和启发式动态规划算法[8],解决了船舶航向最优控制问题,但对于期望航向跟踪时间过长,并缺乏对船舶航向实际性能需求的考虑。本文研究了非线性离散时间船舶航向系统控制问题,利用航向跟踪误差设计效用函数,并定义策略效用函数。根据贝尔曼最优控制原理得到贝尔曼方程,设计代价函数。采用梯度下降法最小化代价函数,得到最优评价信号。将最优评价信号应用于控制器设计,不仅能够加快系统追踪速度,而且能够实现最优控制。
1 船舶航向运动数学模型考虑船舶稳态回转非线性特性,本文采用如下船舶航向非线性系统数学模型:
$ \ddot \phi + \frac{1}{T}H(\dot \phi ) = \frac{K}{T}\delta $ | (1) |
式中:ϕ为航向角;δ为舵角;K是船舶转回性指数;T为船舶追随性指数;H(
$ \left\{ {\begin{array}{*{20}{l}} {{x_1}(k + 1) = {x_2}(k)}\\ {{x_2}(k + 1) = {f_2}\left( {{x_2}(k)} \right) + pu(k)}\\ {{y_k} = {x_1}(k)} \end{array}} \right. $ | (2) |
式中:xi(i=1, 2)为系统的状态;u(k)和yk分别为系统的输入和输出;p=K/T为系统控制增益;函数f2(x2(k))=(-1/T)H(x2(k))。
本文的控制目标是设计一个自适应模糊最优控制器u(k),使式(2)的输出信号yk能够跟踪参考信号yd(k),闭环系统半全局一致最终有界的,且跟踪误差收敛到零的一个小邻域内。控制系统共有2个假设条件:1)系统状态变量x1(k), x2(k)可测得;2)系统的跟踪参考信号为yd(k)∈Ωy, k>0,是已知并且有界的。
2 模糊逻辑系统及评价信号 2.1 模糊逻辑系统本文采用具有线性可调参数的第一类模糊逻辑系统逼近未知连续函数[9],Fli和Gl为对应于模糊隶属函数μFil(xi)和的模糊集合,N是模糊规则数。通过模糊化和解模糊化方法,模糊逻辑系统为:
$ y(x) = \frac{{\sum\limits_{l = 1}^N {{{\bar y}_l}} \prod\limits_{i = 1}^n {{\mu _{F_i^l}}} \left( {{x_i}} \right)}}{{\sum\limits_{l = 1}^N {\left[ {\prod\limits_{i = 1}^n {{\mu _{F_i^l}}} \left( {{x_i}} \right)} \right]} }} $ | (3) |
其中
定义模糊基函数为:
$ {\zeta _l} = \frac{{\prod\limits_{i = 1}^n {{\mu _{{F_{{l_i}}}}}} \left( {{x_i}} \right)}}{{\sum\limits_{l = 1}^N {\left( {\prod\limits_{i = 1}^n {{\mu _{{F_{{l_i}}}}}} \left( {{x_i}} \right)} \right)} }} $ | (4) |
由此,令
$ y(x) = {\mathit{\boldsymbol{\theta }}^{\rm{T}}}\zeta (x) $ | (5) |
引理1[10] f(x)是定义在闭集Ω内的连续函数,对任意给定的常数ε>0,则存在一个模糊逻辑系统(5),使得:
$ \mathop {\sup }\limits_{x \in U} \left| {f(x) - {\mathit{\boldsymbol{\theta }}^{\rm{T}}}\zeta (x)} \right| \le \varepsilon $ | (6) |
基于引理1,函数f(x)可表示为[11]:
$ f(x) = {\mathit{\boldsymbol{\theta }}^{*{\rm{T}}}}\zeta (x) + \mathit{\boldsymbol{\varepsilon }}(x) $ | (7) |
式中:θ*和ε(x)代表最优参数向量和最小模糊逼近误差,满足
令追踪误差为e1(k)=x1(k)-yd(k),滤波误差:
$ e(k) = \mathit{\boldsymbol{ \boldsymbol{\varLambda} \bar e}}(k) $ | (8) |
式中
$ q(k) = \left\{ {\begin{array}{*{20}{l}} {0,}&{\left\| {\mathit{\boldsymbol{e}}(k)} \right\| \le c}\\ {1,}&{\left\| {\mathit{\boldsymbol{e}}(k)} \right\| > c} \end{array}} \right. $ | (9) |
式中c∈R为阈值,q(k)=0表示跟踪效果良好,q(k)=1代表跟踪效果不佳。
令策略效用函数C(k)为:
$ C(k) = q(k + 1) + \beta q(k + 2) + {\beta ^2}q(k + 3) + \cdots $ | (10) |
式中β>0是权重系数。
利用模糊逻辑系统逼近策略效用函数,则
$ C(k) = \mathit{\boldsymbol{\theta }}_c^{*{\rm{T}}}{\zeta _c}(k) + \mathit{\boldsymbol{\varepsilon }}_c^*(k) $ | (11) |
其中θc*为最优模糊参数,
$ {e_c}(k) = \beta \hat C(k) - [\hat C(k - 1) - q(k)] $ | (12) |
式中:
目标函数为Ec(k)=ec2(k)/2,基于梯度下降规则,
$ {\hat \theta _c}(k + 1) = {\hat \theta _c}(k) + \Delta {\hat \theta _c}(k) $ | (13) |
其中,
$ \begin{array}{*{35}{l}} {{{\hat{\theta }}}_{c}}(k+1)={{{\hat{\theta }}}_{c}}(k)-{{\gamma }_{c}}B{{\zeta }_{c}}(k)\cdot \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ [\beta \hat{C}(k)-(\hat{C}(k-1)-q(k))] \\ \end{array} $ | (14) |
式(14)两边分别减去θc*可得
$ \begin{array}{l} {{\tilde \theta }_c}(k + 1) = {{\tilde \theta }_c}(k) - {\gamma _c}\beta {\zeta _c}(k) \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;[\beta \hat C(k) - (\tilde C(k - 1) - q(k))] \end{array} $ | (15) |
式中
船舶航向系统作为典型的严格反馈形式的非线性离散系统,基于自适应控制方法的控制器设计过程中会产生非因果关系问题,进而需要对式(2)等价变化[13]:
$ \left\{ {\begin{array}{*{20}{l}} {{x_1}(k + 2) = {x_2}(k + 1)}\\ {{x_2}(k + 1) = {F_2}(k) + pu(k)}\\ {{y_k} = {x_1}(k)} \end{array}} \right. $ | (16) |
式中:F2(k)=f2(x2(k)),针对转化后的船舶航向非线性离散系统,控制器设计及系统稳定性分析过程如下:
1) 设计虚拟控制函数。
根据系统式(16),则:
$ {e_1}(k + 2) = {x_1}(k + 2) - {y_d}(k + 2) $ | (17) |
引入误差变量e2(k+1)=x2(k+1)-α1(k),设计虚拟控制函数α1(k)为:
$ {\alpha _1}(k) = {y_d}(k + 2) $ | (18) |
由此可得:
$ {e_1}(k + 2) = {e_2}(k + 1) $ | (19) |
2) 设计优化控制器。
由e2(k+1)=x2(k+1)-α1(k),则:
$ {e_2}(k + 1) = {F_2}(k) + pu(k) - {\alpha _1}(k) $ | (20) |
定义函数
$ {U^*}(k) = - \left[ {{F_2}(k) - {\alpha _1}(k)} \right]/p $ | (21) |
利用模糊逻辑系统逼近效用函数U*(k)为:
$ {U^*}(k) = {\mathit{\boldsymbol{\theta }}^{*{\rm{T}}}}\zeta (z(k)) + {\mathit{\boldsymbol{\varepsilon }}^*}(\mathit{\boldsymbol{z}}(k)) $ | (22) |
式中:z(k)=[x1(k), x2(k), yd(k+2)]T∈Ωz,由式(21)~(20)可改写为:
$ {e_2}(k + 1) = p\left[ {u(k) - {\mathit{\boldsymbol{\theta }}^{*{\rm{T}}}}\zeta (\mathit{\boldsymbol{z}}(k)) - {\mathit{\boldsymbol{\varepsilon }}^*}(\mathit{\boldsymbol{z}}(k))} \right] $ | (23) |
实际控制输入u(k)为:
$ u(k) = {\mathit{\boldsymbol{\widehat \theta }}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) $ | (24) |
基于式(24),(23)可改写为
$ \begin{array}{l} {e_2}(k + 1) = p\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (z(k)) - } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left. {{\mathit{\boldsymbol{\theta }}^{*{\rm{T}}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) - {{\bf{ \pmb{\mathsf{ ε}} }}^*}(\mathit{\boldsymbol{z}}(k))} \right]\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\; = p\left[ {\omega (k) - {{\bf{ \pmb{\mathsf{ ε}} }}^*}(\mathit{\boldsymbol{z}}(k))} \right] \end{array} $ | (25) |
式中
用Cd(k)表示期望的策略效用函数,设:
$ {e_a}(k) = {\mathit{\boldsymbol{\widehat \theta }}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \left[ {\hat C(k) - {C_d}(k)} \right] $ | (26) |
通常,Cd(k)期望值为零代表系统输出具有较好的跟踪性能[16],故式(26)可表示为:
$ {e_a}(k) = {\mathit{\boldsymbol{\widehat \theta }}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k) $ | (27) |
设目标函数Ea(k)=ea2(k)/2,
$ \mathit{\boldsymbol{\widehat \theta }}(k + 1) = \mathit{\boldsymbol{\widehat \theta }}(k) + \Delta \mathit{\boldsymbol{\widehat \theta }}(k) $ | (28) |
式中
$ \begin{array}{l} \hat \theta (k + 1) = \hat \theta (k) - \gamma \zeta (\mathit{\boldsymbol{z}}(k)) \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \dot C(k)} \right] \end{array} $ | (29) |
定理1: 对于船舶航向离散非线性系统式(16),实际控制器式(24),自适应律式(29)构成的闭环系统所有信号半全局一致最终有界,通过调整设计参数使得追踪误差收敛到零的一个小邻域内。
证明: 首先,选取闭环系统李雅普诺夫预选函数V(k)的形式为:
$ V(k) = {V_1}(k) + {V_2}(k) + {V_3}(k) + {V_4}(k) + {V_5}(k) $ | (30) |
其中,V1(k)=τe1e12(k)/2,V2(k)=τe2e22(k)/2,
式中:τe1、τe2、τθ、τc为正常数。V1(k)的差分为:
$ \begin{array}{l} \Delta {V_1}(k) = {\tau _{{e_1}}}\left[ {e_1^2(k + 1) - e_1^2(k)} \right]/2 = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _{{e_1}}}\left[ {e_2^2(k) - e_1^2(k)} \right]/2 \end{array} $ | (31) |
V2(k)的差分为:
$ \begin{array}{l} \Delta {V_2}(k) = {\tau _{{e_2}}}\left[ {e_2^2(k + 1) - e_2^2(k)} \right]/2 = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _{{e_2}}}\left[ {p{{\left( {\omega (k) - {\varepsilon ^*}(z(k))} \right]}^2}/2} \right. - \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _{{e_2}}}e_2^2(k)/2 \end{array} $ | (32) |
基于Cauchy-Schwarz不等式:
$ {\left( {{a_1} + \cdots + {a_n}} \right)^2} \le n\left( {a_1^2 + \cdots + a_n^2} \right) $ | (33) |
式(32)变为:
$ \Delta {V_2}(k) \le {\tau _{{e_2}}}{p^2}\left( {{\omega ^2}(k) + {{\bar \varepsilon }^2}} \right) - {\tau _{{e_2}}}e_2^2(k)/2 $ | (34) |
V3(k)的差分为:
$ \begin{array}{*{20}{c}} {\Delta {V_3}(k) = {\tau _\theta }{{\tilde \theta }^{\rm{T}}}(k + 1)\tilde \theta (k + 1)/\gamma - }\\ {{\tau _\theta }{{\tilde \theta }^{\rm{T}}}(k)\tilde \theta (k)/\gamma } \end{array} $ | (35) |
式(29)两边减去θ*可得:
$ \begin{array}{l} \tilde \theta (k + 1) = \tilde \theta (k) - \gamma \zeta (z(k)) \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right] \end{array} $ | (36) |
由(36),则式(35)变为:
$ \begin{array}{l} \Delta {V_3}(k) = {\tau _\theta }[\tilde \theta (k) - \gamma \zeta (z(k)) \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;{\left. {\left( {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right)} \right]^{\rm{T}}} \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;[\mathit{\widetilde \theta }(k) - \gamma \zeta (z(k)) \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\left. {\left( {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right)} \right]/\gamma - \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _\theta }{\mathit{\boldsymbol{\widetilde \theta }}^{\rm{T}}}(k)\mathit{\boldsymbol{\widetilde \theta }}(k)/\gamma = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _\theta }\gamma {\left\| {\zeta \left( {z\left( k \right)} \right)} \right\|^2}\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)} \right. \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\zeta (z(k)) + \hat C(k){]^2} - 2{\tau _\theta }\mathit{\boldsymbol{\omega }}(k) \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right] = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\begin{array}{*{20}{l}} { - {\tau _\theta }\left[ {1 - \gamma {{\left\| {\zeta (\mathit{\boldsymbol{z}}(k))} \right\|}^2}} \right]}\\ {{{\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right]}^2} + }\\ {{\tau _\theta }\left[ {{\mathit{\boldsymbol{\theta }}^{*{\rm{T}}}}\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right] \cdot }\\ {\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right] - }\\ {{\tau _\theta }\omega (k)\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + \hat C(k)} \right]} \end{array} \end{array} $ | (37) |
因为‖ζ(z(k))‖2≤1,则:
$ \begin{array}{l} \Delta {V_3}(k) \le - {\tau _\theta }(1 - \gamma )\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\hat C(k){]^2} + {\tau _\theta }\left[ {{\mathit{\boldsymbol{\theta }}^{*{\rm{T}}}}\zeta (\mathit{\boldsymbol{z}}(k)) + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\hat C(k){]^2} - {\tau _\theta }{\mathit{\boldsymbol{\omega }}^2}(k) \end{array} $ | (38) |
利用式(33)、式(38)变为:
$ \begin{array}{l} \Delta {V_3}(k) \le - {\tau _\theta }(1 - \gamma )\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k)) + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\hat C(k){]^2} + {\tau _\theta }\left[ {{\mathit{\boldsymbol{\theta }}^{*{\rm{T}}}}\zeta (\mathit{\boldsymbol{z}}(k)) + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\left. {\mathit{\boldsymbol{\widehat \theta }}_c^{\rm{T}}(k){\zeta _c}(k)} \right]^2} - {\tau _\theta }{\mathit{\boldsymbol{\omega }}^2}(k) \le \\ \;\;\;\;\;\;\;\;\;\;\;\;\; - {\tau _\theta }(1 - \gamma )\left[ {{{\hat \theta }^{\rm{T}}}(k)\zeta (\mathit{\boldsymbol{z}}(k))} \right. + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\hat C(k){]^2} + 2{\tau _\theta }\omega _c^2(k) - \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _\theta }{\omega ^2}(k) + 2{\tau _\theta }{\left( {\bar \theta + {{\bar \theta }_c}} \right)^2} \end{array} $ | (39) |
V4(k)的差分为:
$ \begin{array}{l} \Delta {V_4}(k) = {\tau _c}\left[ {\mathit{\boldsymbol{\widetilde \theta }}_c^{\rm{T}}(k + 1){{\tilde \theta }_c}(k + 1) - } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\left. {\mathit{\boldsymbol{\widetilde \theta }}_c^{\rm{T}}(k){{\tilde \theta }_c}(k)} \right]/{\gamma _c} = \\ \;\;\;\;\;\;\;\;\;\;\;{\tau _c}\left[ {{{\tilde \theta }_c}(k) - {\gamma _c}\beta {\zeta _c}(k)} \right. \cdot \\ \;\;\;\;\;\;\;\;\;\;\;(\beta \tilde C(k) + q(k) - \hat C(k - 1)){]^{\rm{T}}} \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\left[ {{{\tilde \theta }_c}(k) - {\gamma _c}\beta {\zeta _c}(k)} \right. \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\begin{array}{*{20}{l}} {(\beta \hat C(k) + q(k) - \hat C(k - 1))]/{\gamma _c} - }\\ {{\tau _c}\tilde \theta _c^T(k){{\tilde \theta }_c}(k)/{\gamma _c} = }\\ { - {\tau _c}\left( {1 - {\gamma _c}{\beta ^2}{{\left\| {{\zeta _c}(k)} \right\|}^2}} \right)[\beta \hat C(k) + }\\ {q(k) - \hat C(k - 1){]^2} - 2{\tau _c}\beta {\omega _c}(k)}\\ {[\beta \hat C(k) + q(k) - \hat C(k - 1)] + }\\ {{\tau _c}{{[\beta \hat C(k) + q(k) - \hat C(k - 1)]}^2}} \end{array} \end{array} $ | (40) |
因为‖ζc(k)‖2≤1,式(40)变为:
$ \begin{array}{l} \Delta {V_4}\left( k \right) \le - {\tau _c}\left( {1 - {\gamma _c}{\beta ^2}} \right)\left[ {\beta \hat C\left( k \right) + q\left( k \right) - } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\left. {\hat C\left( {k - 1} \right)} \right]^2} + {\tau _c}\left[ {\beta \mathit{\boldsymbol{\theta }}_c^{ * {\rm{T}}}{\zeta _c}\left( k \right) + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;q\left( k \right) - {\omega _c}\left( {k - 1} \right) - \\ {\left. {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\mathit{\boldsymbol{\theta }}_c^{*{\rm{T}}}{\zeta _c}(k - 1)} \right]^2} - {\tau _c}{\beta ^2}\omega _c^2(k) \end{array} $ | (41) |
利用式(33)、式(41)变为:
$ \begin{array}{l} \Delta {V_4}(k) \le - {\tau _c}\left( {1 - {\gamma _c}{\beta ^2}} \right)[\beta \hat C(k) + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;q(k) - \hat C(k - 1){]^2} - \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _c}{\beta ^2}\omega _c^2(k) + 2{\tau _c}\omega _c^2(k - 1) + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;2{\tau _c}{\left( {_c^{\bar \theta }\left( {1 + \beta } \right) + 1} \right)^2} \end{array} $ | (42) |
V5(k)的差分为:
$ \Delta {V_5}(k) = 2{\tau _c}\omega _c^2(k) - 2{\tau _c}\omega _c^2(k - 1) $ | (43) |
结合式(31)、式(34)、式(39)、式(42)和(43)则:
$ \begin{array}{l} \Delta V(k) \le - {\tau _{{e_1}}}e_1^2(k)/2 - \left( {{\tau _{{e_2}}} - {\tau _{{e_1}}}} \right)e_2^2(k)/2 - \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _\theta }(1 - \gamma ){\left[ {{{\mathit{\boldsymbol{\widehat \theta }}}^{\rm{T}}}(k)\zeta (z(k)) + \hat C(k)} \right]^2} - \\ \;\;\;\;\;\;\;\;\;\;\;\;\;{\tau _c}\left( {1 - {\gamma _c}{\beta ^2}} \right)[\beta \hat C(k) + q(k) - \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\begin{array}{*{20}{l}} {\hat C(k - 1){]^2} - \left( {{\tau _\theta } - {\tau _{{e_2}}}{p^2}} \right){\omega ^2}(k) - }\\ {\left( {{\tau _c}{\beta ^2} - 2{\tau _\theta } - 2{\tau _c}} \right)\omega _c^2(k) + D} \end{array} \end{array} $ | (44) |
式中
选取0 < β2 < 1/γc,0 < γ < 1则,
$ \begin{array}{l} \Delta V(k) \le - {\tau _{{e_1}}}e_1^2(k)/2 - \left( {{\tau _{{e_2}}} - {\tau _{{e_1}}}} \right)e_2^2(k)/2 - \\ \;\;\;\;\;\;\;\;\;\;\;\;\left( {{\tau _\theta } - {\tau _{{e_2}}}{p^2}} \right){\omega ^2}(k) - \\ \;\;\;\;\;\;\;\;\;\;\;\;\left( {{\tau _c}{\beta ^2} - 2{\tau _\theta } - 2{\tau _c}} \right)\omega _c^2(k) + D \end{array} $ | (45) |
设计参数满足τe1>0,τe2>τe1,τθ>τe2p2,τcβ2>2τθ+2τc。类似文献[12-16]的分析,参数满足
利用Matlab进行计算机仿真,以大连海事大学远洋实习船“育龙”轮为例,通过与文献[14]算法的对比研究,验证本文控制算法的有效性。跟踪信号选取能够代表实际性能要求的数学模型:
$ \begin{array}{*{20}{l}} {{\phi _m}(k + 2) + 0.1{\phi _m}(k + 1) + 0.0025{\phi _m}(k) = }\\ {\;\;\;0.0025{\phi _r}(k)} \end{array} $ | (46) |
式中:ϕm代表船舶航向的期望系统性能;ϕr(k)=(sign(sin(πk/500))+1)π/12是一个经过处理的输入信号,其取值为0°~30°,周期为500 s。
已知“育龙”轮船长126.0 m.,船宽20.8 m, 满载吃水8.0 m, 方形系数为0.681,船速7.7 m/s。通过计算得船舶航向离散非线性系统数学模型参数a1=1, a2=30, K=0.478, T=216。
在仿真中,船舶航向系统的初始条件选取为:γ=0.05的初始状态为5°(即航向偏差为+5°),γ=0.05的初始状态为0,待设计参数选取γ=0.05,γc=0.01,β=0.05。模糊隶属函数选取为:
$ \begin{array}{l} \begin{array}{*{20}{l}} {{\mu _{{F_{i1}}}}(x) = \exp \left[ { - {{(x + 2)}^2} + 3} \right]}\\ {{\mu _{{F_{i2}}}}(x) = \exp \left[ { - {{(x + 1)}^2} + 3} \right]} \end{array}\\ \begin{array}{*{20}{l}} {{\mu _{{F_{i3}}}}(x) = \exp \left[ { - {{(x)}^2} + 3} \right]}\\ {{\mu _{{F_{i4}}}}(x) = \exp \left[ { - {{(x - 1)}^2} + 3} \right]} \end{array}\\ {\mu _{{F_{i5}}}}(x) = \exp \left[ { - {{(x - 2)}^2} + 3} \right] \end{array} $ | (47) |
其中x=[x1(k), x2(k), yd(k+2)]T,考虑风浪流等外界干扰的影响,本文在仿真中加了干扰项0.1sint。利用Matlab进行计算机仿真研究,图 1为船舶航向非线性离散系统自适应模糊最优控制算法仿真图。
Download:
|
|
由图 1可见,本文相比文献[14],在考虑性系统节能的前提下,对于期望航向跟踪时间较短,兼顾了船舶航向实际性能需求;在跟踪过程中,误差趋于以零为中心的一个小邻域内,表明跟踪效果良好;控制舵角的历时曲线无较大超调量并趋于稳定,表明满足要求;自适应参数的历时曲线显示其为有界的。以上仿真结果分析验证了本文所提算法的有效性。
5 结论1) 与现有船舶航向离散非线性系统的控制方法相比较,本文考虑控制器节能问题,较好的保持了航向控制系统性能,但同时也使系统的稳定性分析更为复杂和困难。
2) 经研究得出,算法在实现最优控制的同时,确保了闭环系统达到半全局最终一致稳定,也使系统的跟踪误差收敛到以零为中心的邻域内,是解决考虑节能问题的船舶航向控制问题的一个更好的方法。
工程应用中较难达到系统状态信息完全已知的情况,本文没有解决系统状态不可测的问题,下一步研究将从容错控制和状态约束等方面,基于状态观测器,探讨船舶航向控制输出反馈控制问题。
[1] |
VAN Amerongen J. Adaptive steering of ships—A model reference approach[J]. Automatica, 1984, 20(1): 3-14. DOI:10.1016/0005-1098(84)90060-8 (0)
|
[2] |
杨盐生. 船舶航向非线性系统的模型参考模糊自适应控制[J]. 中国造船, 2003, 44(3): 85-93. YANG Yansheng. Model reference fuzzy adaptive control of ship course nonlinear system[J]. Shipbuilding of China, 2003, 44(3): 85-93. DOI:10.3969/j.issn.1000-4882.2003.03.012 (0) |
[3] |
卜仁祥, 刘正江, 李铁山. 迭代滑模增量反馈及在船舶航向控制中的应用[J]. 哈尔滨工程大学学报, 2007, 28(3): 268-272. BU Renxiang, LIU Zhengjiang, LI Tieshan. Iterative sliding mode based increment feedback control and its application to ship autopilot[J]. Journal of Harbin Engineering University, 2007, 28(3): 268-272. DOI:10.3969/j.issn.1006-7043.2007.03.005 (0) |
[4] |
刘程, 李铁山, 陈纳新. 带有舵机特性的船舶航向自动舵DSC-MLP设计[J]. 哈尔滨工程大学学报, 2012, 33(1): 9-14. LIU Cheng, LI Tieshan, CHEN Naxin. Dynamic surface control and minimal learning parameter design of ship's autopilot with rudder dynamics[J]. Journal of Harbin Engineering University, 2012, 33(1): 9-14. DOI:10.3969/j.issn.1006-7043.201011004 (0) |
[5] |
王欣, 李铁山, 林彬. 考虑舵机特性的船舶航向离散非线性系统输出反馈控制设计[J]. 大连海事大学学报, 2014(2): 1-4. WANG Xin, LI Tieshan, LIN Bin. Output feedback control for ship course discrete-time nonlinear systems with rudder dynamics[J]. Journal of Dalian Maritime University, 2014(2): 1-4. DOI:10.3969/j.issn.1006-7736.2014.02.001 (0) |
[6] |
BAI Xuerui, YI Jianqiang, ZHAO Dongbin. Approximate dynamic programming for ship course control[M]// Advances in Neural Networks-ISNN 2007. Springer Berlin Heidelberg, 2007: 349-357.
(0)
|
[7] |
XIE Qingqing, LUO Bin, TAN Fuxiao. Optimal tracking control for ship course using approximate dynamic programming method[C]// Control Conference. IEEE, 2013: 2911-2916.
(0)
|
[8] |
Werbos P J. Approximate dynamic programming for real-time control and neural modeling. Handbook of Intelligent Control: Neural, Fuzzy, and Adaptive Approaches, 1992, 15: 493-525.
(0)
|
[9] |
李永明.非匹配不确定非线性系统自适应模糊控制[D].大连海事大学, 2014: 12-13. LI Yongming. Adaptive fuzzy control for unmatched uncertain nonlinear systems[D].Dalian Maritime University, 2014: 12-13. (0) |
[10] |
Wang Linxin. Stability adaptive fuzzy control of nonliner system[J]. IEEE transactions on fuzzy system, 1993, 1(2): 146-155. DOI:10.1109/91.227383 (0)
|
[11] |
LIU Yanjun, GAO Ying, TONG Shaocheng, et al. Fuzzy approximation-based adaptive backstepping optimal control for a class of nonlinear discrete-time systems with dead-zone[J]. IEEE Transactions on Fuzzy Systems, 2016, 24(1): 16-28. DOI:10.1109/TFUZZ.2015.2418000 (0)
|
[12] |
YANG Qinmin, Jagannathan S. Reinforcement learning controller design for affine nonlinear discrete-time systems using online approximators[J]. IEEE Transactions on Systems Man & Cybernetics Part B, 2012, 42(2): 377-390. (0)
|
[13] |
GE Shuzhi, LI Gangyang, LEE Tongheng. Adaptive NN control for a class of strict-feedback discrete-time nonlinear systems[J]. Automatica, 2003: 807-819. (0)
|
[14] |
王欣, 刘正江, 李铁山, 等. 船舶航向离散非线性系统自适应神经网络控制[J]. 哈尔滨工程大学学报, 2016(1): 123-126. WANG Xin, LIU Zhengjiang, LI Tieshan, et al. Neural network-based adaptive control for a ship course discrete-time nonlinear system[J]. Journal of Harbin Engineering University, 2016(1): 123-126. (0) |
[15] |
LIU Derong, WANG Ding, ZHAO Dongbin, et al. Neural-network-based optimal control for a class of unknown discrete-time nonlinear systems using globalized dual heuristic programming[J]. IEEE transactions on automation science & engineering, 2012, 9(3): 628-634. (0)
|
[16] |
HE Pingan, JAGANNATHAN S. Reinforcement learning neural-network-based controller for nonlinear discrete-time systems with input constraints[J]. IEEE transactions on systems man & cybernetics part B, 2007, 37(2): 425. (0)
|