2次安定性
[1] 非線形系

に対してリャプノフ関数

を考えます。これを微分して(1)を用いると((1)の解に沿って微分すると言います)

となります。このとき2次安定とは

が成り立つことを言います。これから次式を示すことができ、漸近安定性が成り立ちます。

ただし

[2] 制御対象が平衡状態にあることは線形状態方程式
において、
を意味します。そこで平衡状態が乱されて
となる時刻を
にとると、線形状態方程式は次式となります。

これに出力方程式

を考慮する場合も含めると、漸近安定性の判定法は次のようにまとめられます。
【漸近安定性の定義とその等価な条件】
定義DA: 
条件A0: 
条件A1: 
条件A2: 
条件A3: ただし、 は可観測対
条件A4:
|
まず(1)が漸近安定とすると、条件A2のリャプノフ方程式から次式を得ます。

次に(1)に対してリャプノフ関数

を考えるとき、(3)は2次安定性の条件

を意味します。これから漸近安定な線形系は2次安定であることが分かります。
●条件A2の両辺から
をかけて

を得ます。
は可観測対なので条件A3を適用して(
をはずして)
条件A2′:
ただし、
も漸近安定性の条件となることに注意します。
●たとえば、安定行列![Rendered by QuickLaTeX.com \displaystyle{ A= \left[\begin{array}{cc} 0 & 1 \\ -4 & -1 \end{array}\right] }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-c6c1c66e1cf7b93bac3aad84f54e9744_l3.png)
が与えられるとき、リャプノフ方程式
を満足する
は
![Rendered by QuickLaTeX.com \displaystyle{ P=\left[\begin{array}{cc} 2.6250 & 0.1250\\ 0.1250 & 0.6250 \end{array}\right] }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-3885fe14c47a46dd2be67bc40c3c8e75_l3.png)
のように求まります。これはMATLABで次のコマンドを用いて計算できます。
ここで、P=lyap(A,Q) はリャプノフ方程式
の解を求める関数であることに注意します。
問題設定
[3] 制御対象の状態方程式として次式を考えます。

ここで、
はモデル誤差、非線形要素、外乱などの影響を表し、有界かつ未知とします。これに対し、次のスイッチング関数を定義します。

いま(1)の解が、ある時刻
に対して

を満足するとき、スライディングモードが発生していると言います。
●以上の準備の下で、スライディングモード制御問題は次のように記述されます。
問題1: 動的システムの振る舞いが閉じ込められる超平面 を定義するスイッチング関数を決定せよ。
問題2: 有限時刻 において状態を超平面内に拘束し、引き続き留まらせる( )ことのできるスライディングモード制御則(SM制御則)を設計せよ。 |
●いま、SM制御則を、2次安定性の条件
を、2次安定性
![Rendered by QuickLaTeX.com \displaystyle{(4)\quad %\boxed{ \begin{array}{lll} V(\bar{x})= \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]^T }_{\bar{x}^T(t)} \underbrace{ \left[\begin{array}{cc} P_1 & 0\\ 0 & P_2 \end{array}\right] }_{P} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{\bar{x}(t)}\\ \Rightarrow \dot{V}(\bar{x})\le - \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]^T }_{\bar{x}^T(t)} \underbrace{ \left[\begin{array}{cc} Q_1 & 0\\ 0 & I \end{array}\right] }_{Q} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{\bar{x}(t)} \end{array}}} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-a2747656c1f7d9559f971c1a26fd7023_l3.png)
すなわち

が成り立つように決定します(
,
,
)。
以下で示すように、このSM制御則は次式で表されます。

ここで、
は正則行列であることを仮定しています。また設計パラメータは、スイッチング関数を決める行列
、安定行列
、スカラー
です。
●2重積分器に対して、
,
,
を適当に選んだときのSM制御則の計算は次のように行われます。
MATLAB |
%cDINT_smc.m
%-----
clear all, close all
A=[0 1;
0 0];
B=[0;1];
C=eye(2);
D=zeros(2,1);
M=1;
S=[M 1];
Phi=-1;
P2=lyap(Phi,1);
P2S=P2*S;
Leq=inv(S*B)*S*A;
LPhi=-inv(S*B)*Phi*S;
L=Leq+LPhi;
rho=0.5;
Ln=inv(S*B)*rho;
x0=B;
sim('DINT_smc')
%-----
%eof
|
これを実行して、図1aのシミュレーション結果を得ます。

図1a 2重積分器のSM制御

図1b 2重積分器の線形制御(SM制御のスイッチング項を外した場合)
図1bに、SM制御のスイッチング項を外した場合のシミュレーション結果を示します。これらからスイッチング項が速応性の改善に役立っていることが分かります。
●いま(1)において
、すなわち

とし、
の正則性を仮定します。
において、スライディングモード時の制御則は等価制御と呼ばれ、次式のように求められます。

これによる閉ループ系は次式となります。

●いま(1)において
の場合、適合サイズをもつ行列
を用いて

のように表されると仮定します。このとき、等価制御は

となります。これによる閉ループ系は次式となります。

すなわちマッチング条件とよばれる(9)が成り立つとき、スライディングモード時は
の影響を受けないことが分かります。
●剛体振子の運動方程式は次式で与えられました。

,
とおいて、次の非線形状態方程式を得ます。
![Rendered by QuickLaTeX.com \displaystyle{(13)\quad \left[\begin{array}{c} \dot{x}_1(t)\\ \dot{x}_2(t) \end{array}\right]= \left[\begin{array}{cc} x_2(t)\\ -a\sin x_1(t)+u(t) \end{array}\right] }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-aa83e9dac52ad382b47bbc497cef2e6e_l3.png)
これは、次式のように、2重積分器に非線形項が加えられたものとみなすことができます。
![Rendered by QuickLaTeX.com \displaystyle{(14)\quad \left[\begin{array}{c} \dot{x}_1(t)\\ \dot{x}_2(t) \end{array}\right]= \left[\begin{array}{cc} 0 & 1\\ 0 & 0 \end{array}\right] \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right]+ \left[\begin{array}{c} 0\\ 1 \end{array}\right] u(t)+ \left[\begin{array}{c} 0\\ -a\sin x_1(t) \end{array}\right] }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-fb895b4100fa03d5604bf0d34248d203_l3.png)
そこで、図1のSM制御則をそのまま用いたときの様子を調べてみます。図2は
とした場合(
)のシミュレーション結果です。

図2a 非線形項を考慮した場合のSM制御

図2b 非線形項を考慮した場合の線形制御(SM制御のスイッチング項を外した場合)
図1のSM制御則は非線形項を考慮していないのですが、マッチング条件が満たされているので、非線形項の影響を抑制していることが分かります。これは図2bのスイッチング項がない場合と比べると明らかです。
SM制御則
[4] 制御対象の状態方程式として次式を考えます。

以下では、状態方程式とスイッチング関数は次のSMC標準形(regular form)をとるように座標変換されていると仮定します(
)。
![Rendered by QuickLaTeX.com \displaystyle{(2)\quad \boxed{\underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot x_2(t) \end{array}\right] }_{\dot{x}(t)} = \underbrace{ \left[\begin{array}{cc} A_{11} & A_{12} \\ A_{21} & A_{22} \\ \end{array}\right] }_{A} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x(t)} + \underbrace{ \left[\begin{array}{c} 0\\ B_2 \end{array}\right] }_{B} u(t) + \underbrace{ \left[\begin{array}{l} f_u(t,x)\\ f_m(t,x,u) \end{array}\right] }_{f(t,x,u)}} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-492c810b2764797d15e8da449fa86719_l3.png)
![Rendered by QuickLaTeX.com \displaystyle{(3)\quad \boxed{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 \\ \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-f362cf2f2a84558f6ce3b7cbfd623471_l3.png)
これに対して、座標変換
![Rendered by QuickLaTeX.com \displaystyle{(4)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{\bar{x}(t)} = \underbrace{ \left[\begin{array}{cc} I & 0 \\ S_1 & S_2 \\ \end{array}\right] }_{T_s} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x(t)}\\ \Leftrightarrow \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x(t)} = \underbrace{ \left[\begin{array}{cc} I & 0 \\ -S_2^{-1}S_1 & S_2^{-1} \\ \end{array}\right] }_{T_s^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{\bar{x}(t)} \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-aa3c209c1893a28b597ab444a59fa480_l3.png)
を行って、次式を得ます。
![Rendered by QuickLaTeX.com \displaystyle{(5)\quad \boxed{ \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot s(t) \end{array}\right] }_{\dot{\bar{x}}(t)} = \underbrace{ \left[\begin{array}{cc} \bar{A}_{11} & \bar{A}_{12} \\ \bar{A}_{21} & \bar{A}_{22}\\ \end{array}\right] }_{\bar{A}=T_s A T_s^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{\bar{x}(t)} + \underbrace{ \left[\begin{array}{c} 0\\ \bar{B}_2 \end{array}\right] }_{\bar{B}=T_sB} u(t)\\ + \underbrace{ \left[\begin{array}{c} f_u(t,x)\\ S_1f_u(t,x)+S_2f_m(t,x,u) \end{array}\right] }_{T_sf(t,x,u)} \end{array}} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-8d94be87e2ee3e86130661d37570a682_l3.png)
ただし

以下では、
が安定行列となるようにスイッチング関数が選ばれていると仮定します。
●SMC標準形に対する等価制御は、
として
![Rendered by QuickLaTeX.com \displaystyle{ \begin{array}{cl} & s(t)=0\ \Rightarrow\ \dot{s}(t)=0\\ \Downarrow & by\ (5)\\ &\bar{A}_{21}x_1(t)+\bar{A}_{22}s(t)+\bar{B}_{2}u(t)=0\\ \Downarrow & \\ (7) & u_{eq}(t)=-\underbrace{\bar{B}_{2}^{-1}}_{([0\ I_m]T_sB)^{-1}} \underbrace{\left[\begin{array}{cc} \bar{A}_{21} & \bar{A}_{22} \\ \end{array}\right]}_{[0\ I_m]T_sAT_s^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{\bar{x}(t)}\\ \Downarrow & by\ S=[0\ I_m]T_s, x=T_s^{-1}\bar{x}\\ (8) & \boxed{u_{eq}(t)=-\underbrace{(SB)^{-1}SA}_{L_\ell}x(t)}} \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-2c000a36a1eddd1e979735e5c504c61b_l3.png)
のように得られます。線形制御則
は、この等価制御をベースして
![Rendered by QuickLaTeX.com \displaystyle{ \begin{array}{cl} (9) & u_{eq}(t)=-\underbrace{\bar{B}_{2}^{-1}}_{([0\ I_m]T_sB)^{-1}} (\underbrace{\left[\begin{array}{cc} \bar{A}_{21} & \bar{A}_{22} \\ \end{array}\right]}_{[0\ I_m]T_sAT_s^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{\bar{x}(t)}-\Phi s(t))\\ \Downarrow & by\ S=[0\ I_m]T_s, x=T_s^{-1}\bar{x}\\ (10) & \boxed{u_\ell(t)=-\underbrace{(SB)^{-1}(SA-\Phi S)}_{L=L_{eq}+L_{phi}}x(t)}} \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-f3c7ee69a5490d0416e346e8d6a29a04_l3.png)
のように構成します。ここで、
は適当に設定された安定行列です。
●このとき閉ループ系は次式で与えられます。
![Rendered by QuickLaTeX.com \displaystyle{(11)\quad \begin{array}{l} \left[\begin{array}{c} \dot{x}_1(t)\\ \dot{s}(t) \end{array}\right] = \left[\begin{array}{cc} \bar{A}_{11} & \bar{A}_{12} \\ 0 & \Phi \\ \end{array}\right] \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]\\ + \left[\begin{array}{c} f_u(t,x)\\ \bar{B}_{2}u_n(t)+S_2(Mf_u(t,x)+f_m(t,x,u)) \end{array}\right] \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-08b0fd62ceefdfc7673e603a95165c27_l3.png)
これからスライディングモード
を達成するために
の影響を与えることが分かります。簡単な例で確かめると
はダンピングを与え、速くスライディングモードを達成するためのパラメータであることが分かります。
さて、
は安定行列なので

を満たす
を選ぶことができます。これを用いて、スイッチング制御則
を

すなわち

と定めます。線形制御則(10)とスイッチング制御則(14)を用いて、2次安定性を示すことができます。
スイッチング関数(1)
[5] スライディングモードの場合、
なので

となって、
の振る舞いは
によって決まります。一方、
の振る舞いは

によって決まります。これは

に対する安定化状態フィードバック

による閉ループ系とみなすことができます。
したがって、
が安定行列となるようにスイッチング関数が選ぶためには、(3)に対する状態フィードバックによる安定化問題を解けばよいことが分かります。
●そこで、次の2次形式評価関数を最小にするように
を決定する方法が提案されています。
![Rendered by QuickLaTeX.com \displaystyle{(5)\quad \boxed{J=\int_0^\infty \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right]^T }_{x^T(t)} \underbrace{ \left[\begin{array}{cc} Q_{11} & Q_{12} \\ Q_{21} & Q_{22} \end{array}\right] }_{Q} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x(t)} dt} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-13ff85a64857f296223fc5fc4db3a6fc_l3.png)
これは


と書けます。ここで、(3)と(4)をそれぞれ


と書き直すと、次のような最適化制御問題の定式化ができていることがわかります。すなわち

を2次系式評価関数

を最小にするように

を求める問題です。この解は、リッカチ方程式

を解いて

を求め、次式から
を決めればよいことがわかります。

●2重積分器に対して、関数swflqrによるスイッチング関数Sの決定は次のように行われます。
MATLAB |
%cDINT_smc1.m
%-----
clear all, close all
A=[0 1;
0 0];
B=[0;1];
C=eye(2);
D=zeros(2,1);
Mx=0.5; Tx=0.5;
Q=diag([1/Mx,Tx/Mx].^2);
S=swflqr(A,B,Q)
Phi=-1;
P2=lyap(Phi,1);
P2S=P2*S;
Leq=inv(S*B)*S*A;
LPhi=-inv(S*B)*Phi*S;
L=Leq+LPhi;
rho=0.5;
Ln=inv(S*B)*rho;
x0=B;
sim('DINT_smc')
%-----
%eof
|
これを実行して図3のシミュレーション結果を得ます。

図3 関数swflqrによるスイッチング関数Sの決定
ここで、関数swflqrは、Edwards and Spurgeon によるものです。
スイッチング関数(2)
[6] 等価制御

による閉ループ系は次式で表されました。

ここで

また、
、
、
は、SMC標準形で与えられるとすると
![Rendered by QuickLaTeX.com \displaystyle{(4)\quad \begin{array}{l} A_{eq}= \underbrace{ \left[\begin{array}{cc} I & 0 \\ -M & 0 \\ \end{array}\right] }_{I_n-B(SB)^{-1}S} \left[\begin{array}{cc} A_{11} & A_{12} \\ A_{21} & A_{22} \\ \end{array}\right]= \left[\begin{array}{cc} A_{11} & A_{12} \\ -MA_{11} & -MA_{12} \\ \end{array}\right]\\ = \left[\begin{array}{cc} I & 0 \\ -M & I \\ \end{array}\right] \left[\begin{array}{cc} \bar{A}_{11} & A_{12} \\ 0 & 0 \\ \end{array}\right] \left[\begin{array}{cc} I & 0 \\ -M & I \\ \end{array}\right]^{-1} \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-2474825aa676243c02182b9e5a87f0f1_l3.png)
となって、
が安定行列なので、
は
個の零固有値を持ちます。一方、
の非零固有値
に対応する固有ベクトルを
とすると、

すなわち
![Rendered by QuickLaTeX.com \displaystyle{(6)\quad { \boxed{S[v_1\cdots v_{n-m}]=0 % \Rightarrow [v_1\cdots v_{n-m}]^TS^T=0}} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-33964edd7a6349891872237b63b937ec_l3.png)
が成り立ちます。したがって、まず等価制御による閉ループ系の
が望ましい固有値・固有ベクトルをもつように設計して、(5)から
を決定することが考えられます。
●2重積分器に対して、関数swfvplによるスイッチング関数Sの決定は次のように行われます。
MATLAB |
%cDINT_smc2.m
%-----
clear all, close all
A=[0 1;
0 0];
B=[0;1];
C=eye(2);
D=zeros(2,1);
lambda=-1;
nocomp=0;
specpos=rand(2,1)
specent=rand(2,1)
S=swfvpl(A,B,lambda,nocomp,specpos,specent)
Phi=-1;
P2=lyap(Phi,1);
P2S=P2*S;
Leq=inv(S*B)*S*A;
LPhi=-inv(S*B)*Phi*S;
L=Leq+LPhi;
rho=0.5;
Ln=inv(S*B)*rho;
x0=B;
sim('DINT_smc')
%-----
%eof
|
これを実行して図4のシミュレーション結果を得ます。

図4 関数swfvplによるスイッチング関数Sの決定
ここで、関数swfvplは、Edwards and Spurgeon によるものです。
積分動作の導入
[6] 定値外乱を受ける制御対象

の出力を、次のコマンド(定値目標)

に追従させることを考えます。そのために、積分動作

を考え、次の拡大系を構成します。
偏差系E3:
![Rendered by QuickLaTeX.com \displaystyle{(4)\quad \underbrace{ \frac{d}{dt} \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] }_{\dot{x}_{E3}(t)} = \underbrace{ \left[\begin{array}{cc} A & B \\ 0 & 0 \end{array}\right] }_{A_{E3}} \underbrace{ \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] }_{x_{E3}(t)} + \underbrace{ \left[\begin{array}{c} 0 \\ I_m \end{array}\right] }_{B_{E3}} {\dot u}(t) }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-3c19e131ef7f7e62fb75b0b722359667_l3.png)
を得ます。この偏差系E3が標準形となっていることに注意して、SMCを設計します。
(4)を、改めて次のように書きます。
![Rendered by QuickLaTeX.com \displaystyle{(5)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot x_2(t) \end{array}\right] }_{\dot{x}_{E3}(t)} = \underbrace{ \left[\begin{array}{cc} A & B \\ 0 & 0 \end{array}\right] }_{A_{E3}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x_{E3}(t)} + \underbrace{ \left[\begin{array}{c} 0\\ I_m \end{array}\right] }_{B_{E3}} {\dot u}(t)\\ (x_1(t)=x(t)-x_\infty, x_2(t)=u(t)-u_\infty) \end{array} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-3651de7cb254ab2cb45e5409ae9cd171_l3.png)
スイッチング関数として、次式を考えます。
![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_{E3}(t)} = \underbrace{S_2 \left[\begin{array}{cc} M & I \\ \end{array}\right] }_{S} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x_{E3}(t)} \ (M=S_2^{-1}S_1) }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-841f3fca38a28aec9d1c570b17f6f7ec_l3.png)
(15)に対して、座標変換
![Rendered by QuickLaTeX.com \displaystyle{(7)\quad \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{x'_{E3}(t)} = \underbrace{ \left[\begin{array}{cc} I & 0 \\ S_1 & S_2 \\ \end{array}\right] }_{T_s} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x_{E3}(t)}\\ \Leftrightarrow \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x_{E3}(t)} = \underbrace{ \left[\begin{array}{cc} I & 0 \\ -S_2^{-1}S_1 & S_2^{-1} \\ \end{array}\right] }_{T_s^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{x'_{E3}(t)} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-94c9c19111e524fb6b7adf025beef334_l3.png)
を行って、次式を得ます。
![Rendered by QuickLaTeX.com \displaystyle{(8)\quad \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot s(t) \end{array}\right] }_{\dot{x}'_{E3}(t)} = \underbrace{ \left[\begin{array}{cc} \bar{A}_{11} & \bar{A}_{12} \\ \bar{A}_{21} & \bar{A}_{22} \\ \end{array}\right] }_{T_sA_{E3}T_s^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{x'_{E3}(t)} + \underbrace{ \left[\begin{array}{cc} 0\\ S_2 \end{array}\right] }_{T_sB_{E3}} {\dot u}(t) }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-922fcb090845e1f769269f768e72eda3_l3.png)

以下では、
が安定行列となるようにスイッチング関数が選ばれていると仮定します。
このとき、SM制御則を、2次安定性

が成り立つように決定します(
,
,
)。
偏差系E3に対するSMCは次式で与えられます。



これらを積分して、制御対象(1)に対する積分動作をもつSMCを導出します。

まず(12)は次式のように書けます。
![Rendered by QuickLaTeX.com \displaystyle{(15)\quad {\dot u}_\ell(t)=- \boxed{\underbrace{ (SB_{E3})^{-1}(SA_{E3}-\Phi S)S_E^{-1} }_{\left[\begin{array}{cc} F & F_I \end{array}\right]}} \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-09bdbdbd69d8bc1d816020ba9b4ba6d8_l3.png)
これを積分して

次に(13)は次式のように書けます。
![Rendered by QuickLaTeX.com \displaystyle{(17)\quad {\dot u}_n(t) =-(SB_{E3})^{-1}\rho\, {\rm sgn}( \boxed{\underbrace{ P_2SS_E^{-1} }_{\left[\begin{array}{cc} G & G_I \end{array}\right]}} \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)}) }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-88922723347229f2a9ac74335912e98d_l3.png)
これを積分すれば

●2重積分器に対して、次のように行われます。
MATLAB |
%cDINT_smci.m
%-----
clear all, close all
A=[0 1;
0 0];
B=[0;1];
C=[1 0];
D=0;
n=size(A,1); m=size(B,2); p=size(C,1);
AE=[A B;zeros(m,n+m)];
BE=[zeros(n,m);eye(m)];
SE=[A B;C D];
QE=eye(n+m);
S=-swflqr(AE,BE,QE)
Phi=-0.5;
Leq=inv(S*BE)*S*AE;
LPhi=-inv(S*BE)*Phi*S;
L=(Leq+LPhi)/SE;
F=L(1:2)
FI=L(3)
P2=lyap(Phi,1)
P2S=P2*S/SE;
G=P2S(1:2)
GI=P2S(3)
rho=1;
Ln=inv(S*BE)*rho
x0=zeros(2,1);
sim('DINT_smci')
%-----
%eof
|
これを実行して図5のシミュレーション結果を得ます。

図5 積分動作を導入したSM制御
補遺:2次安定系のロバスト性…Homework
いま漸近安定な線形系

において次のようなモデルの不確かさがあるとします。

条件A2’より、適当な
と
に対して

が成り立ちます。このとき

ならば、リャプノフ関数

に対して

となって、リャプノフ安定となります。
●実際、

ここで、

に注意して、(4)の下では

となります。