ここでは、次の4種類の積分動作をもつスライディングモード制御(SMI制御)系の設計について述べます。
| Case | 設計モデル | 状態FB | 状態OB | 積分動作 | 注意点 |
| 1 | 5次 | 5次 | 未使用 | 要 | 「絵に描いた餅」 |
| 2 | 5次 | 3次 | 不要 | 要 | ヒーブのゲインを強制的に零 |
| 3 | 3次 | 3次 | 不要 | 要 | ヒーブからの連成を抑制できるか |
| 4 | 5次 | 5次 | 要 | 要 | コントローラが微分方程式 |
Note e13に示すように、データセットNo.1について、id=128の場合を設計用モデルとして採用したとき、Case2とCase3のどちらを用いても制御性能に大きな差異が見られません。そこでこのコントローラがどれくらいのモデル変動をカバーできるかという意味のロバスト性をシミュレーションにより調べてみます。ここで、モデル変動としては、前進速度を変える場合と、重心位置を変える場合の2通りを考えます。そのために次の3組のデータセットを考えます。
| 艇 | 艇質量[kg] | 長手方向重心位置[m] | 備考 | |
| No3 | SPTM247 | 2845 | 1.937 | 2022/1/19重量重心測定結果より |
| No4 | SPTM247 | 2945 | 1.937 | No3重量に+100kg |
| No5 | SPTM247 | 2745 | 1.937 | No3重量に-100kg |
設計用モデルとして、データセットNo.3における船外機取付角-2[deg]のときのid=128の場合を採用し、Case 2とCase 3のLQIコントローラを設計します。そしてデータセットNo.3,4,5における船外機取付角-2[deg]のときのモデル(id=126~133)を安定化できるかを調べます。シミュレーション結果を次に示します。
⇒Case2:いくつかの動作点で不安定
⇒Case3:すべて安定
図1 データセットNo.3の場合、SMIコントローラのロバスト性
⇒Case2:いくつかの動作点で不安定
⇒Case3:すべて安定
図2 データセットNo.4の場合、SMIコントローラのロバスト性
⇒Case2:いくつかの動作点で不安定
⇒Case3:すべて安定
図3 データセットNo.5の場合、SMIコントローラのロバスト性
これらのシミュレーションは本来は非線形シミュレータ上で行うべきですが、ここでは6次元線形モデルを用いて簡易的に行っています。
第1の注意点は、6次元線形モデルの第4番目の状態変数
の係数を強制的に
としていることです。これは
となる場合があって、
が発散してしまうからです。
第2の注意点は、上のシミュレーションではCase 2のコントローラではすべてを安定化できていませんが、設計用モデルとして、データセットNo.1における船外機取付角-2[deg]のときのid=128の場合を採用すると、すべて安定化されることです。
これらの事情は、線形モデルが暫定版の非線形シミュレータから得られているので正確ではないためとも考えられます。いずれにしてもできるだけ実機のダイナミックスを反映した非線形シミュレータ上での再検討が必要になります。
| MATLAB |
|
| MATLAB |
|
Note e13 SMI制御系の設計
Case 1:5次元モデルに基づくSMI制御
●制御対象

の出力を、コマンド(次式の解)
![]()
に追従させることを考えます(
は安定行列)。そのために、積分動作
![]()
を導入し、次の拡大系を構成します。ここで、(1)はすでに標準形であるとしています。
![Rendered by QuickLaTeX.com \displaystyle{(4)\quad \begin{array}{l} \left[\begin{array}{c} \dot x_r(t)\\ \dot x(t) \end{array}\right] = \left[\begin{array}{c|cc} 0 & -C_1 & -C_2\\\hline 0 & A_{11} & A_{12} \\ 0 & A_{21} & A_{22} \end{array}\right] \left[\begin{array}{c} x_r(t)\\ x(t) \end{array}\right] + \left[\begin{array}{c} 0\\\hline 0\\ B_2 \end{array}\right] u(t) + \left[\begin{array}{c} I_m \\\hline 0 \\ 0 \end{array}\right] r(t)\\ (x_r(t)\in{\rm\bf R}^m, x(t)\in{\rm\bf R}^n) \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-1ab4b378422eddd1bff475a2408082e2_l3.png)
これを、次のように分割し直しても標準形であることには変わりありません。
![Rendered by QuickLaTeX.com \displaystyle{(5a)\quad \begin{array}{l} \left[\begin{array}{c} \dot{x}_1(t)\\ \dot{x}_2(t) \end{array}\right] = \underbrace{ \left[\begin{array}{cc|c} 0 & -C_1 & -C_2\\ 0 & A_{11} & A_{12} \\\hline 0 & A_{21} & A_{22} \end{array}\right] }_{A_E} \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] + \underbrace{ \left[\begin{array}{c} 0\\ 0\\\hline B_2 \end{array}\right] }_{B_E} u(t) + \left[\begin{array}{c} I_m \\ 0 \\\hline 0 \end{array}\right] r(t)\\ (x_1(t)\in{\rm\bf R}^n, x_2(t)\in{\rm\bf R}^m) \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-374491b693fbc08a0a4648abd3e610d2_l3.png)
ただし
![]()
●この積分器による拡大系を安定化できれば、積分器の値
は定値となり、被積分項
の値は零となり、
は
へ漸近します。そこで、SM制御によって拡大系を安定化し、追従制御系を構成することを考えます。この制御系は特別な
の場合を含みますので、まずスイッチング関数として、次式を考えます。
![Rendered by QuickLaTeX.com \displaystyle{(6)\quad s(t)= \underbrace{ \left[\begin{array}{cc} S_1 & S_2 \\ \end{array}\right] }_{S} %\underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] %}_{x(t)} = \underbrace{S_2 \left[\begin{array}{cc} M & I_m \\ \end{array}\right] }_{S} %\underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] %}_{x(t)} \ (M=S_2^{-1}S_1) }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-01bb686061b94fbab2a0ff90e7d23f64_l3.png)
(5)に対して、座標変換
![Rendered by QuickLaTeX.com \displaystyle{(7)\quad \begin{array}{l} \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] = \underbrace{ \left[\begin{array}{cc} I_n & 0 \\ S_1 & S_2 \\ \end{array}\right] }_{T_s} \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right]\\ \Leftrightarrow \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] = \underbrace{ \left[\begin{array}{cc} I_n & 0 \\ -S_2^{-1}S_1 & S_2^{-1} \\ \end{array}\right] }_{T_s^{-1}} \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-19e5643bcb296d8a517aba35bc4fe14e_l3.png)
を行って、次式を得ます。
![Rendered by QuickLaTeX.com \displaystyle{(8a)\quad \begin{array}{l} %\underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot s(t) \end{array}\right] %}_{\dot{x}'(t)} = \underbrace{ \left[\begin{array}{cc} \bar{A}_{11} & \bar{A}_{12} \\ S_2\bar{A}_{21} & S_2\bar{A}_{22}S_2^{-1} \\ \end{array}\right] }_{T_sA_ET_s^{-1}} %\underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] %}_{x'(t)} + \underbrace{ \left[\begin{array}{cc} 0\\ S_2B_2 \end{array}\right] }_{T_sB_E} u(t)\\ + \left[\begin{array}{cc} B_r \\ S_1B_r \end{array}\right] r(t) \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-a23595fe93cd3fb99284c6e90f61bcf1_l3.png)
ただし
![Rendered by QuickLaTeX.com \displaystyle{(8b)\quad \left\{\begin{array}{l} \bar{A}_{11}= \left[\begin{array}{cc} 0 & -C_1 \\ 0 & A_{11} \end{array}\right] -\left[\begin{array}{c} -C_2\\ A_{12} \end{array}\right]M\\ \bar{A}_{12}= \left[\begin{array}{c} -C_2\\ A_{12} \end{array}\right]S_2^{-1}\\ \bar{A}_{21}=S_2(M\bar{A}_{11} + \left[\begin{array}{cc} 0 & A_{21} \end{array}\right] -A_{22}M)\\ \bar{A}_{22}=S_2(M \left[\begin{array}{c} -C_2\\ A_{12} \end{array}\right] +A_{22})S_2^{-1}\\ B_r=\left[\begin{array}{cc} I_m \\ 0 \end{array}\right] \end{array}\right. }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-24d62178408415d07b9cef2c8d0cfab3_l3.png)
ここで、
が安定行列となるように行列
が選ばれているとします。
●このときSM制御則は次式で与えられます。
![Rendered by QuickLaTeX.com \displaystyle{(9)\quad { \boxed{\begin{array}{l} u(t)=u_\ell(t)+u_n(t)\\ u_\ell(t)=-\underbrace{(SB_E)^{-1}(SA_E-\Phi S)}_{L=L_{eq}+L_\Phi}\left[\begin{array}{c} x_r(t)\\ x(t) \end{array}\right]\\ -\underbrace{(SB_E)^{-1}(\Phi S_r+S_1B_r)}_{L_r} r(t) +\underbrace{(SB_E)^{-1}S_r}_{L_{\dot r}} \dot{r}(t)\\ u_n(t)=-\underbrace{(SB_E)^{-1}\rho(t,x)}_{L_n}\frac{P_2(s(t)-S_rr(t))}{||P_2(s(t)-S_rr(t))||} \end{array}}} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-c4cbe9f1729638135b91b41ee797a570_l3.png)
| MATLAB |
|

図1 SMI制御系シミュレーション

図2 5次元モデルに基づくSMI制御系と符号関数を通したSMI制御
Case 2:Case1でヒーブゲインを零とする場合

図3 ヒーブゲインを零とした場合のSMI制御系と符号関数を通したSMI制御
Case 3:3次元モデルに基づくSMI制御
●制御対象YMCPBに対するSMI制御系を設計するプログラムを次に示します。
| MATLAB |
|

図4 3次元モデルに基づくSMI制御系と符号関数を通したSMI制御