模型预测控制(Model Predictive Control, MPC)由于采用了多步预测、滚动优化以及反馈校正等控制策略,使得其一般具有控制效果好、鲁棒性强等优点。同时其可有效的处理执行机构约束问题和多变量控制问题,使得其被广泛应用于石油化工等过程控制系统[1],其中具有代表性的MPC控制算法主要有基于对象的脉冲响应模型算法控制[2]、基于对象的阶跃响应模型的动态矩阵控制[3]、基于对象的CARIMA(Controlled Suto-regressive Integrated Moving-average−受控自回归积分滑动平均)模型的广义预测控制[4]以及基于对象的状态空间模型滚动时域控制。SteenSon[5]基于MPC提出了一种过驱动悬停水下机器人的的深度、纵倾和航速的控制策略,李光磊等[6]采用了基于Laguerre函数的船舶航向DMPC控制方法实现了高海情下船舶航向控制,刘程[7]对比了PID、LQR、MPC这3种控制律下的船舶航向控制问题,验证了舵角舵速约束条件下MPC控制律相比LQR和PID具有很好的控制效果,范朗等[8]采用了广义预测控制算法设计了船舶航向控制器,并通过仿真验证了所设计控制器在风浪流干扰下相交于PID控制具有更好的控制效果。
为保证船舶航行时的平稳性和安全性,船舶需要根据不同的航速限制一定的最大操舵舵角,当船舶遭遇较差的海况,海浪干扰将引起操舵系统的频繁操舵,通过频繁的操舵纠正航向不仅达不到目的,反而会增加航行的附加阻力并增加舵机的磨损。
针对上述问题,本文采用了一种基于内环航向速率的航向控制策略,并通过基于Laguerre函数和状态空间模型的模型预测控制算法,研究了舵角舵速约束下的航向速率控制器,通过对转向过程中的航向速率进行限幅形成了舵角、舵速、航向速率多约束下的航向控制算法。针对海浪带来的频繁操舵问题,通过忽略舵角舵速的约束条件得到了航向控制器的线性表达形式,并在此基础上引入辅助滤波器对航向控制器进行校正。
1 船舶运动数学模型参照目前国际上普遍采用的ITTC(International Towing Tank Conference)推荐的坐标系,并依据牛顿运动定律和流体力学原理,结合MMG船舶操纵性方程[9]并忽略船舶在垂直面的运动以及横倾,得到船舶的三自由度运动动力学及运动学方程如下:
$ \left\{ \begin{array}{l} {\dot u = \dfrac{{X + mvr}}{m}},\\ {\dot v = \dfrac{{Y - mur}}{m}} ,\\ {\dot r = \dfrac{{{N_z}}}{{{I_{zz}}}}} ,\\ {\dot \psi = r} 。\end{array} \right. $ | (1) |
$ \left\{ {\begin{array}{*{20}{l}} {X = {X_H} + {X_T} + {X_R} + {X_D}},\\ {Y = {Y_H} + {Y_T} + {Y_R} + {Y_D}} ,\\ {{N_z} = {N_H} + {N_T} + {N_R} + {N_D}} 。\end{array}} \right. $ | (2) |
式中:X、Y、Nz分别为纵向合力、横向合力、转首合力矩;
本文设计了一种航向-航向速率内外环的控制策略,如图1所示。
图中
$ {\dot \psi ^*} = \lambda ({\psi ^*} - \psi )。$ | (3) |
其中,转换系数
$ \left\{ {\begin{array}{*{20}{c}} {{{\dot \psi }^*} = {{\dot \psi }_{\max }}},& {{\rm{if}}({{\dot \psi }^*} > {{\dot \psi }_{\max }})},\\ {{{\dot \psi }^*} = {{\dot \psi }_{\min }}},& {{\rm{if}}({{\dot \psi }^*} < {{\dot \psi }_{\min }})}。\end{array}} \right. $ | (4) |
其中以航向速率为控制目标的状态空间模型形式如下:
$ \begin{split} & \left[ {\begin{array}{*{20}{c}} {\dot v} \\ {\dot r} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{a_{11}}}&{{a_{12}}} \\ {{a_{21}}}&{{a_{22}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} v \\ r \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} {{b_1}} \\ {{b_2}} \end{array}} \right]{\delta _r} ,\\[-3pt] & r = \left[ {\begin{array}{*{20}{c}} 0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} v \\ r \end{array}} \right] 。\end{split} $ | (5) |
式中:a11、a12、a21、a22均为航速u的一次函数;b1、b2均为航速u的二次函数。式(5)记成标准的状态空间形式,即:
$ \dot x = {{\boldsymbol{A}}_o}x + {{\boldsymbol{B}}_o}u ,y = {{\boldsymbol{C}}_o}x 。$ | (6) |
将其转换为离散时间的线性状态空间模型:
$ {x_m}(k + 1) = {{\boldsymbol{A}}_m}{x_m}(k) + {{\boldsymbol{B}}_m}u(k),y(k) = {{\boldsymbol{C}}_m}{x_m}(k) 。$ | (7) |
式中:
$ \begin{split} & \underbrace {\left[ {\begin{array}{*{20}{c}} {\Delta {x_m}(k + 1)} \\ {y(k + 1)} \end{array}} \right]}_{x(k + 1)} = \underbrace {\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{A}}_m}}&{o_m^{\rm{T}}} \\ {{c_m}{{{A}}_m}}&1 \end{array}} \right]}_{{A}}\underbrace {\left[ {\begin{array}{*{20}{c}} {\Delta {x_m}(k)} \\ {y(k)} \end{array}} \right]}_{x(k)} +\\[-3pt] & \underbrace {\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{B}}_m}} \\ {{{\boldsymbol{C}}_m}{{\boldsymbol{B}}_m}} \end{array}} \right]}_{{B}}\Delta u(k),\\[-3pt] & y(k) = \underbrace {\left[ {\begin{array}{*{20}{c}} {{o_m}}&1 \end{array}} \right]}_{{C}}\left[ {\begin{array}{*{20}{c}} {\Delta {x_m}(k)} \\ {y(k)} \end{array}} \right] 。\end{split} $ | (8) |
其中:
$ \begin{split} & \Delta {x}_{m}(k+1) = {x}_{m}(k+1) - {x}_{m}(k)\text{;}\Delta {x}_{m}(k) = {x}_{m}(k) - {x}_{m}(k-1);\\ & \Delta {x}_{m}(k+1)={A}_{m}\Delta {x}_{m}(k)+{B}_{m}\Delta u(k);{o}_{m}=[\begin{array}{cc}0& 0\end{array}];\\ & y(k+1) - y(k)={C}_{m}({x}_{m}(k+1) - {x}_{m}(k))={C}_{m}\Delta {x}_{m}(k+1)。\\[-1pt] \end{split} $ | (9) |
由于系统中有些状态量并不一定可测量,因此可通过Luenberger状态观测器或卡尔曼滤波器的方法得到状态量的观测值
$ z(k + 1) = ({\boldsymbol{A}} - {\boldsymbol{LC}})z(k) + {\boldsymbol{B}}\Delta u(k) + {\boldsymbol{L}}y。$ | (10) |
式中:
设定预测步长为
$ Y = Fz({k_i}) + \Phi \Delta U ,$ | (11) |
其中:
$ \begin{split} & Y =\\[-3pt] & {[ \begin{array}{*{20}{c}} {y({k_i} + 1\left| k \right.)} & {y({k_i} + 2\left| k \right.)} & {y({k_i} + 3\left| k \right.)} & \cdots & {y({k_i} + {N_p}\left| k \right.)} \end{array} ]^{\rm{T}}}s,\\[-1pt] \end{split} $ | (12) |
$ \begin{split} & \Delta U = \\[-3pt] & {[ \begin{array}{*{20}{c}} {\Delta u({k_i})} & {\Delta u({k_i} + 1)} & {\Delta u({k_i} + 2)}& \cdots &{\Delta u({k_i} + {N_c} - 1)} \end{array} ]^{\rm{T}}},\end{split} $ | (13) |
$ \begin{split} & F=\left[\begin{array}{c}CA\\ C{A}^{2}\\ C{A}^{3}\\[-3pt] \vdots\\ C{A}^{{N}_{p}}\end{array}\right]\text{,}\\[-4pt] & \Phi =\left[ \begin{array}{ccccc}CB& 0& 0& \cdots & 0\\ CAB& CB& 0& \cdots & 0\\ C{A}^{2}B& CAB& CB& \cdots & 0\\[-3pt] \vdots & \vdots& \vdots & \vdots &\vdots\\ C{A}^{{N}_{p}-1}B& C{A}^{{N}_{p}-2}B& C{A}^{{N}_{p}-3}B& \cdots & CB\end{array} \right]。\end{split} $ | (14) |
对于指令信号
$ \begin{split} J =\,& \sum\limits_{m = 1}^{{N_p}} {{{(r({k_i}) - y({k_i} + m|{k_i}))}^{\rm{T}}}} (r({k_i}) - y({k_i} + m|{k_i})+ \\[-3pt] & \sum\limits_{m = 1}^{{N_p}} {{{(\Delta u({k_i} + m))}^{\rm{T}}}} {r_w}(\Delta u({k_i} + m)) ,\end{split} $ | (15) |
记成向量形式也即:
$ J = {({R_s} - Y)^{\rm{T}}}({R_s} - Y) + \Delta {U^{\rm{T}}}\bar R\Delta U,$ | (16) |
其中:
$ R_s^{\rm{T}} = \underbrace {[ {\begin{array}{*{20}{c}} 1&1& \ldots &1 \end{array}} ]}_{{N_p}}r({k_i}) \text{,} \bar R = {r_w}{I_{{N_c} \times {N_c}}} 。$ | (17) |
Laguerre函数在控制领域最初被用来对系统的脉冲响应进行系统辨识,由于其易实现性和正交性,由离散时间的拉盖尔函数组成的网络也被引入到模型预测控制算法当中,离散拉盖尔函数网络的Z变换为:
$ \begin{split} & {\Gamma _1}(z) = \frac{{\sqrt {1 - {a^2}} }}{{1 - a{z^{ - 1}}}},\\[-3pt] & {\Gamma _2}(z) = \frac{{\sqrt {1 - {a^2}} }}{{1 - a{z^{ - 1}}}}\frac{{{z^{ - 1}} - a}}{{1 - a{z^{ - 1}}}},\\[-6pt] & \vdots \\[-6pt] & {\Gamma _N}(z) = \frac{{\sqrt {1 - {a^2}} }}{{1 - a{z^{ - 1}}}}{\left(\frac{{{z^{ - 1}} - a}}{{1 - a{z^{ - 1}}}}\right)^{N - 1}} 。\end{split} $ | (18) |
其中,
$ L(k + 1) = {A_l}L(k),$ | (19) |
$ \begin{split} & {A_l} = {\left[ {\begin{array}{*{20}{c}} a&0&0&0&0 \\ \beta &a&0&0&0 \\ { - a\beta }&\beta &a&0&0 \\ [-4pt] \vdots & \vdots & \vdots & \ddots & \vdots \\ {{{( - a)}^{N - 2}}\beta }&{{{( - a)}^{N - 3}}\beta }& \ldots &\beta &a \end{array}} \right]_{N \times N}},\\[-4pt] & L(0) = \sqrt \beta \left[ {\begin{array}{*{20}{c}} 1 \\ { - a} \\ {{a^2}} \\ [-4pt] \vdots \\ {{{( - a)}^{N - 1}}} \end{array}} \right]。\end{split} $ | (20) |
其中:
在模型预测控制算法中,在
$ \Delta u({k_i} + k) = \sum\limits_{j = 1}^N {{c_j}({k_i})} {l_j}({k_i})。$ | (21) |
式中:
将式(21)记为
$ z({k_i} + m|{k_i}) = {A^m}z({k_i}) + \sum\limits_{i = 0}^{m - 1} {{A^{m - i - 1}}BL{{(i)}^{\rm{T}}}\eta },$ | (22) |
$ y({k_i} + m|{k_i}) = C{A^m}z({k_i}) + \sum\limits_{i = 0}^{m - 1} {C{A^{m - i - 1}}BL{{(i)}^{\rm{T}}}\eta }。$ | (23) |
将式(21)和式(23)代入到代价函数式(16)中,并由拉盖尔函数的正交性:
$ \sum\limits_{m = 1}^{{N_p}} {{l_i}(m)} {l_j}(m) = 0,i \ne j ,\sum\limits_{m = 1}^{{N_p}} {{l_i}(m)} {l_j}(m) = 1,i = j 。$ | (24) |
得到:
$ J = \sum\limits_{m = 1}^{{N_p}} {{{(r({k_i}) - y({k_i} + m|{k_i}))}^{\rm{T}}}} (r({k_i}) - y({k_i} + m|{k_i})) + {\eta ^{\rm{T}}}{R_L}\eta。$ | (25) |
其中,
$ J = \sum\limits_{m = 1}^{{N_p}} {{{(z({k_i} + m|{k_i}))}^{\rm{T}}}} Q(z({k_i} + m|{k_i})) + {\eta ^{\rm{T}}}{R_L}\eta。$ | (26) |
式(22)可记为:
$ z({k_i} + m|{k_i}) = {A^m}z({k_i}) + {\phi ^{\rm{T}}}(m)\eta 。$ | (27) |
其中,
$ \begin{split} J =\,& {\eta ^{\rm{T}}}\left(\sum\limits_{m = 1}^{{N_p}} {\phi (m)} Q\phi {(m)^{\rm{T}}} + {R_L}\right)\eta + 2{\eta ^{\rm{T}}} \left(\sum\limits_{m = 1}^{{N_p}} {\phi (m)} Q{A^m}\right)z({x_i}) +\\[-4pt] & \sum\limits_{m = 1}^{{N_p}} {z{{({x_i})}^{\rm{T}}}{{({A^{\rm{T}}})}^m}Q{A^m}} z({x_i})。\\[-1pt] \end{split} $ | (28) |
将式(28)对输入
$ \eta = - {\Omega ^{ - 1}}\varPsi z({x_i})。$ | (29) |
其中:
由预测控制滚动优化的思想,取控制输入的第一项
实际船舶航行时,舵角的幅值和舵速的幅值受到固有的物理条件限制,因此可将其看成一种硬约束条件。其中,舵速的限制为
舵角约束不等式为:
$ {u^{\min }} \leqslant \sum\limits_{i = 0}^{m - 1} {{L_1}{{(i)}^{\rm{T}}}} \eta + u({k_i} - 1) \leqslant {u^{\max }}。$ | (30) |
将
$ \underbrace {\left[ \begin{gathered} L{(0)^{\rm{T}}} \\[-4pt] \sum\limits_{i = 0}^1 {L{{(i)}^{\rm{T}}}} \\[-4pt] \vdots \\[-4pt] \sum\limits_{i = 0}^{m - 1} {L{{(i)}^{\rm{T}}}} \\ \end{gathered} \right]}_{{M_u}}\eta \leqslant \underbrace {\left[ \begin{gathered} {u^{\max }} - u({k_i} - 1) \\[-4pt] {u^{\max }} - u({k_i} - 1) \\[-4pt] \vdots \\[-4pt] {u^{\max }} - u({k_i} - 1) \\ \end{gathered} \right]}_{{U^{\max }} - \bar u({k_i} - 1)} \text{,} $ |
$ - \underbrace {\left[ \begin{gathered} L{(0)^{\rm{T}}} \\[-4pt] \sum\limits_{i = 0}^1 {L{{(i)}^{\rm{T}}}} \\[-4pt] \vdots \\[-4pt] \sum\limits_{i = 0}^{m - 1} {L{{(i)}^{\rm{T}}}} \\ \end{gathered} \right]}_{{M_u}} \eta \leqslant \underbrace {\left[ \begin{gathered} {u^{\min }} + u({k_i} - 1) \\[-4pt] {u^{\min }} + u({k_i} - 1) \\[-6pt] \vdots \\[-4pt] {u^{\min }} + u({k_i} - 1) \\ \end{gathered} \right]}_{ - {U^{\min }} + \bar u({k_i} - 1)}。$ | (31) |
简记为:
$ {M_u}\eta \leqslant {U^{\max }} - \bar u({k_i} - 1) ,- {M_u}\eta \leqslant - {U^{\min }} + \bar u({k_i} - 1) 。$ | (32) |
舵速约束不等式为:
$ \Delta {u^{\min }} \leqslant L{(m)^{\rm{T}}}\eta \leqslant \Delta {u^{\max }} 。$ | (33) |
则将
$ \underbrace {\left[ \begin{gathered} L{(1)^{\rm{T}}} \\[-3pt] L{(2)^{\rm{T}}} \\[-3pt] \vdots \\[-3pt] L{({N_c})^{\rm{T}}} \\ \end{gathered} \right]}_{{M_\Delta }}\eta \leqslant \underbrace {\left[ \begin{gathered} \Delta {u^{\max }} \\[-3pt] \Delta {u^{\max }} \\[-3pt] \vdots \\[-3pt] \Delta {u^{\max }} \\ \end{gathered} \right]}_{\Delta {U^{\max }}} \text{,} \underbrace {\left[ \begin{gathered} - L{(1)^{\rm{T}}} \\[-3pt] - L{(2)^{\rm{T}}} \\[-3pt] \vdots \\[-3pt] - L{({N_c})^{\rm{T}}} \\ \end{gathered} \right]}_{ - {M_\Delta }}\eta \leqslant \underbrace {\left[ \begin{gathered} - \Delta {u^{\min }} \\[-3pt] - \Delta {u^{\min }} \\[-3pt] \vdots \\[-3pt] \Delta {u^{\min }} \\ \end{gathered} \right]}_{ - \Delta {U^{\min }}} 。$ | (34) |
简记为:
$ {M_\Delta }\eta \leqslant \Delta {U^{\max }},- {M_\Delta }\eta \leqslant - \Delta {U^{\min }}。$ | (35) |
将式(32)和式(35)联立后简记为:
$ M\eta \leqslant \gamma 。$ | (36) |
联立式(36)和式(25),则航向速率控制器的求解即被转换为二次规划问题:
$ \left\{ \begin{gathered} J = \sum\limits_{m = 1}^{{N_p}} {{{(r({k_i}) - y({k_i} + m|{k_i}))}^{\mathrm{T}}}} (r({k_i}) - y({k_i} + m|{k_i})) + {\eta ^{\rm{T}}}{R_L}\eta,\\[-4pt] M\eta \leqslant \gamma 。\\ \end{gathered} \right. $ | (37) |
该二次规划问题可利用Hildreth二次规划方法等二次规划方法求解[11]。且由预测控制滚动优化的思想,在当前时刻只采样控制输入的第一项作为实际的输入值,也即
$ \Delta u(k) = L{(0)^{\rm{T}}}\eta 。$ | (38) |
文献[12]采用扩展海浪观测器的方法设计了滤波器,本文采用辅助校正器的思想来校正控制器在波浪干扰频率处的响应特性,从而避免在波浪干扰下船舶直航时的频繁打舵问题。首先,依据上述推导航向速率控制器的方式,将被控变量替换为航向并将整个系统的状态空间进行改写为:
$ \begin{split} & \left[ {\begin{array}{*{20}{c}} {\dot v} \\[-2pt] \begin{gathered} {\dot r} \\[-2pt] {\dot \psi } \\[-2pt] \end{gathered} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{a_{11}}}&{{a_{12}}}&0 \\[-2pt] {{a_{21}}}&{{a_{22}}}&0 \\[-2pt] 0&1&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} v \\[-2pt] \begin{gathered} r \\[-2pt] \psi \\[-2pt] \end{gathered} \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} {{b_1}} \\[-2pt] \begin{gathered} {b_2} \\[-2pt] 0 \\[-2pt] \end{gathered} \end{array}} \right]{\delta _r},\\ & \psi = \left[ {\begin{array}{*{20}{c}} 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} v \\[-2pt] \begin{gathered} r \\[-2pt] \psi \\[-2pt] \end{gathered} \end{array}} \right] 。\end{split} $ | (39) |
为了得到线性解的形式,近似认为船舶在直航时将不会触发舵速、舵角的约束条件也即忽略舵角、舵速约束条件,得到此时的DMPC航向控制器形式
$ \left[ {\begin{array}{*{20}{c}} {\dot z} \\[-2pt] {\dot u} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {A - LC}&B \\[-2pt] {\bar K}&{{K_0}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} z \\[-2pt] u \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} L&0 \\[-2pt] {{k_3}}&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} y \\[-2pt] \xi \end{array}} \right]。$ | (40) |
令
$ \left[ {\begin{array}{*{20}{c}} {\dot z} \\[-2pt] {\dot u} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {A - LC}&B \\[-2pt] {\bar K}&{{K_0}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} z \\[-2pt] u \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} L&0 \\[-2pt] {{k_3}}&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} y \\[-2pt] \xi \end{array}} \right] ,$ | (41) |
$ \left[ {\begin{array}{*{20}{c}} u \\[-2pt] \zeta \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&1 \\[-2pt] { - C}&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} z \\[-2pt] u \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} 0&0 \\[-2pt] 1&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} y \\[-2pt] \xi \end{array}} \right] 。$ | (42) |
则以输入为
$ \left[ {\begin{array}{*{20}{c}} u \\[-2pt] \zeta \end{array}} \right] = T(s)\left[ {\begin{array}{*{20}{c}} y \\[-2pt] \xi \end{array}} \right],\begin{array}{*{20}{c}} {}&{T(s) = \left[ {\begin{array}{*{20}{c}} {{T_{11}}(s)}&{{T_{12}}(s)} \\[-2pt] {{T_{21}}(s)}&{{T_{22}}(s)} \end{array}} \right]}。\end{array} $ | (43) |
其中,输入为
从船舶输出航向
$ G(s) = [{T_{11}}(s) + {T_{12}}(s)F(s){(I - {T_{22}}(s)F(s))^{ - 1}}{T_{21}}(s)。$ | (44) |
为达到波浪主频率点附近尽量少操舵的目的,可令
$ \begin{split} F(j\omega ) =\,& {\left\{ {{T_{12}}(j\omega ) + [ - {T_{11}}(j\omega )]{T_{21}}^{ - 1}(j\omega ){T_{22}}(j\omega )} \right\}^{ - 1}} \times\\[-4pt] & [ - {T_{11}}(j\omega )]{T_{21}}^{ - 1}(j\omega )。\\[-1pt] \end{split} $ | (45) |
得到由式(45)描述的传递函数结果后,即可设计状态空间方程对
仿真工况1:为了验证所设计的航向——航向速率控制算法的有效性,对某型船舶航向机动过程进行仿真验证。航速20 kn仿真结果如图2和图3所示。其中实际航向测量值精度和舵角测量精度都取为0.05°,航向速率限定值分别设定为1.5°/s和1°/s,指令航向设定为90°,舵角约束为
统计上述仿真试验结果,其中稳定时间为航向由初始航向达到稳态值的±2%之内(也即航向达到88°)的时间值。
仿真工况2:为验证所设计控制算法控制航向的无静差性,加入定常恒值干扰,并设定航向速率为1°/s,在与上述仿真结果同等的约束条件和指令航向条件下进行仿真。其中仿真结果如图4~图5所示。
仿真工况3:为验证DMPC航向控制器综合辅助滤波器的有效性,在上述仿真工况1的基础上添加主频w=0.8 rad/s的海浪干扰,依据时间对控制器进行切换。其中,前250 s不引入辅助滤波器进行正常的直航操纵,后250 s引入辅助滤波器。其中仿真结果如图6~图7所示。
由图2和图3及表1可知,所设计的基于内环航向速率限幅的DMPC航向控制方法能有效限制船舶航向机动过程中的最大航向速率,且与LQR航向控制方法进行对比可看出,所设计的航向控制策略相比LQR控制方法而言,响应时间稍长但能有效降低机动过程中的最大横倾。其中,限定转向速率r=1.5°/s后,稳定时间增大约20 s,最大横倾降低了约26%,限定转向速率r=1°/s后,稳定时间增大约48 s,最大横倾降低了约50%。由图4和图5可知,在船舶遭遇定常恒值干扰情况下,上述控制算法依然可达到不错的控制效果,并实现了航向控制最终状态的无静差性。由图6~图7可知,对比250 s以前的和250 s以后的方向舵曲线,可看出通过改变控制器结构和引入辅助滤波器,在很大程度上降低了海浪干扰下的操舵频率,有利于船舶驾驶整体的安全性和舒适性,但上述控制器都采用了被控对象精确的状态空间模型,如何提高所设计控制器的鲁棒性和自适应性为随后研究的重点。
[1] |
EF CAMACHO. Predictive control with constraints[C]//UK: Prentice Hall, Harlow, 2000.
|
[2] |
RICHALET J, RAULT A, TESTUD J L, et al. Model predictive heurist control: application to industrial processes[J]. Automatic, 1978, 14: 413−428.
|
[3] |
CUTLER C R, RAMAKER B L. Dynamic matrix control-a computer control algorithm[J]. Proceedings American Control Conference, 1980: 17−72.
|
[4] |
CLARKE D W, MOHTADI C, TUFFS P S, Generalised predictive control, Parts 1 and 2[J]. Automatica, 1987, 23: 137−160.
|
[5] |
STEENSON L V, TURNOCK S R, PHILLIPS A B, et al. Model Predictive control of a hybrid autonomous underwater vehicle with experimental verification[J]. Proceedings of the Institution of Mechanical Engineers. Part M: Engineering for the Maritime Environment, 2014, 2: 166−179.
|
[6] |
李光磊, 郭亦平, 林莉. 基于 Laguerre 函数的船舶航向 DMPC研究[J]. 计算机与数字工程, 2017(5): 988−993.
|
[7] |
刘程. 船舶路径跟踪与减横摇综合控制研究 [D]. 上海: 上海交通大学, 2015.
|
[8] |
范朗, 张艳. 基于广义预测控制的船舶航向控制仿真研究[J]. 工业控制计算, 2015: 28(9): 7−5+8.
|
[9] |
范尚雍. 船舶操纵性[M]. 北京: 国防工业出版社, 1988.
|
[10] |
邹涛, 丁宝仓, 张端. 模型预测控制工程应用导论[M]. 北京: 化学工业出版社, 2010.
|
[11] |
WANG Liuping. Model predictive control system design and implementation using matlab[M]. London: Springer, 2009.
|
[12] |
THOR I F. Handbook of marine craft hydrodynamics and motion control[M]. John Wiley & Sons, 2011.
|