予備的検討

[1] 制御対象の状態空間表現として次式を考えます。

\displaystyle{ \begin{array}{ll} (1.1) & \dot{x}(t)=Ax(t)+Bu(t)+f(t,x,u)\\ (1.2) & y(t)=Cx(t)\\ & (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p, 1\le m\le p < n) \end{array} }

ただし、f(t,x,u)\in{\rm\bf R}^nはモデル誤差、非線形要素、外乱などの影響を表し、次のマッチング条件を満たすとします。

\displaystyle{ \begin{array}{ll} (2.1) & \boxed{f(t,x,u)=D\xi(t,x,u)}\\ (2.2) & ||\xi(t,x,u)||<r_1||u||+\alpha(t,y)\\ & (f(t,x,y)\in{\rm\bf R}^n, \xi(t,x,u)\in{\rm\bf R}^q) \end{array} }

●適当な座標変換x'(t)=T_ox(t)によって次式が得られていると仮定します。

\displaystyle{(3.1)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot y(t) \end{array}\right] }_{\dot{x}'(t)} = \underbrace{ \left[\begin{array}{cc} {\cal A}_{11} & {\cal A}_{12} \\ {\cal A}_{21} & {\cal A}_{22} \\ \end{array}\right] }_{T_oAT_o^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} + \underbrace{ \left[\begin{array}{c} {\cal B}_{1}\\ {\cal B}_{2} \end{array}\right] }_{T_oB} u(t) +\boxed{ \underbrace{ \left[\begin{array}{c} 0_{n-p\times p}\\ {\cal D}_{2} \end{array}\right] }_{T_oD}} \xi(t) \end{array} }

\displaystyle{(3.2)\quad y(t) = \boxed{\underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & I_p \\ \end{array}\right] }_{CT_o^{-1}}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} }

ただし、{\cal A}_{11}は安定行列であることを仮定します。

●このとき次のSMオブザーバを考えます。

\displaystyle{(4)\quad \boxed{\begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot{\hat x}_1(t)\\ \dot{\hat y}(t) \end{array}\right] }_{\dot{\hat x}'(t)} = \underbrace{ \left[\begin{array}{cc} {\cal A}_{11} & {\cal A}_{12} \\ {\cal A}_{21} & {\cal A}_{22} \\ \end{array}\right] }_{T_oAT_o^{-1}} \underbrace{ \left[\begin{array}{c} \hat{x}_1(t)\\ \hat{y}(t) \end{array}\right] }_{\hat{x}'(t)} + \underbrace{ \left[\begin{array}{c} {\cal B}_{1}\\ {\cal B}_{2} \end{array}\right] }_{T_oB} u(t)\\ - \left[\begin{array}{c} {\cal A}_{12}\\ {\cal A}_{22}-{\cal A}_{22}^{s} \end{array}\right] \underbrace{(\hat{y}(t)-y(t))}_{e_y(t)} + \left[\begin{array}{c} 0_{n-p\times p}\\ I_p \end{array}\right] \nu \end{array}} }

ここで、{\cal A}_{22}^{s}は安定行列として選ばれているとします。また、

\displaystyle{(5)\quad P_2{\cal A}_{22}^{s}+{\cal A}_{22}^{s}^TP_2=-Q_2\quad(Q_2>0) }

を満足するP_2>0を用いて、\nu

\displaystyle{(6.1)\quad \boxed{\nu=-\rho(t,y,u)||{\cal D}_{2}||\frac{P_2e_y(t)}{||P_2e_y(t)||}} }

ただし

\displaystyle{(6.2)\quad \rho(t,y,u)\ge r_1||u||+\alpha(t,y)+\gamma_0  %\rho(t,y,u)\ge r_1||u||+\alpha(t,y)+\gamma_0 \ge ||\xi(t,x,u)||+\gamma_0 }

のように与えます。

以下では、モデル誤差、非線形要素、外乱などの影響があるにも拘わらず、状態オブザーバを構成できるを検討します。

[2] (4)から(3.1)を辺々引き算して、次の誤差方程式を得ます。

\displaystyle{(7)\quad \begin{array}{l} \left[\begin{array}{c} \dot{\hat x}_1(t)-\dot{x}_1(t)\\ \dot{\hat y}(t)-\dot{y}(t) \end{array}\right] = \left[\begin{array}{cc} {\cal A}_{11} & {\cal A}_{12} \\ {\cal A}_{21} & {\cal A}_{22} \\ \end{array}\right] \left[\begin{array}{c} \hat{x}_1(t)-x_1(t)\\ \hat{y}(t)-y(t) \end{array}\right]\\ - \left[\begin{array}{cc} 0 & {\cal A}_{12}\\ 0 & {\cal A}_{22}-{\cal A}_{22}^{s} \end{array}\right] \left[\begin{array}{c} \hat{x}_1(t)-x_1(t)\\ \hat{y}(t)-y(t) \end{array}\right] + \left[\begin{array}{c} 0_{n-p}\\ \nu-{\cal D}_{2}\xi(t) \end{array}\right] \end{array} }

すなわち

\displaystyle{(7')\quad \boxed{\begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot{\hat x}_1(t)-\dot{x}_1(t)\\ \dot{\hat y}(t)-\dot{y}(t) \end{array}\right] }_{\left[\begin{array}{c} \dot{e}_1(t)\\ \dot{e}_y(t) \end{array}\right]} = \left[\begin{array}{cc} {\cal A}_{11} & 0_{n-p\times p} \\ {\cal A}_{21} & {\cal A}_{22}^{s} \\ \end{array}\right] \underbrace{ \left[\begin{array}{c} \hat{x}_1(t)-x_1(t)\\ \hat{y}(t)-y(t) \end{array}\right] }_{\left[\begin{array}{c} {e}_1(t)\\ {e}_y(t) \end{array}\right]}\\ + \left[\begin{array}{c} 0_{n-p}\\ \nu-{\cal D}_{2}\xi(t) \end{array}\right] \end{array}} }

●この誤差システムの2次安定性を示します。(5)の解P_2>0を用いて

\displaystyle{(8)\quad \hat{Q}={\cal A}^T_{21}P_2Q_2^{-1}P_2{\cal A}_{21}+Q_1>0\quad(Q_1>0) }

を定義し、

\displaystyle{(9)\quad P_1{\cal A}_{11}+{\cal A}_{11}^TP_1=-\hat{Q} }

の解P_1>0を用いて、リャプノフ関数

\displaystyle{(10)\quad \boxed{V(e_1,e_y)=e_1^T(t)P_1e_1(t)+e_y^T(t)P_2e_y(t)} }

を考えます。このとき

\displaystyle{(11)\quad \begin{array}{l} \underbrace{(e_y(t)-Q_2^{-1}P_2{\cal A}_{21}e_1(t))^T}_{\tilde{e}_y(t)^T}Q_2 \underbrace{(e_y(t)-Q_2^{-1}P_2{\cal A}_{21}e_1(t))}_{\tilde{e}_y(t)}\\ =\underline{e_y^T(t)Q_2e_y(t)-2e_1^T(t){\cal A}_{21}^TP_2e_y(t)}+e_1^T(t){\cal A}_{21}^TP_2Q_2^{-1}P_2{\cal A}_{21}e_1(t) \end{array} }

および

\displaystyle{(12)\quad \begin{array}{l} e_y^T(t)P_2{\cal D}_{2}\xi(t) \ge -|e_y^T(t)P_2{\cal D}_{2}\xi(t)|\\ \ge -||P_2e_y(t)||||{\cal D}_{2}||||\xi(t)||\\ \ge -||P_2e_y(t)||||{\cal D}_{2}||(r_1||u||+\alpha(t,y))\\ \ge -||P_2e_y(t)||||{\cal D}_{2}||(\rho(t,y,u)-\gamma_0) \end{array} }

に注意して

\displaystyle{(13)\quad \begin{array}{l} \dot{V}=2e_1^T(t)P_1\dot{e}_1(t)+2e_y^T(t)P_2\dot{e}_y(t)\\ =2e_1^T(t)P_1{\cal A}_{11}e_1(t)+2e_y^T(t)P_2({\cal A}_{21}e_1(t)+ {\cal A}_{22}^{s}e_y(t)+\nu-{\cal D}_{2}\xi(t))\\\\ =-e_1^T(t)\hat{Q}e_1(t)+2e_y^T(t)P_2{\cal A}_{21}e_1(t)+ 2e_y^T(t)P_2{\cal A}_{22}^{s}e_y(t)\\ +2e_y^T(t)P_2\nu-2e_y^T(t)P_2{\cal D}_{2}\xi(t)\\\\ =-e_1^T(t)\hat{Q}e_1(t)\underline{-e_y^T(t)Q_2e_y(t)+ 2e_y^T(t)P_2{\cal A}_{21}e_1(t)}\\ +2e_y^T(t)P_2\nu-2e_y^T(t)P_2{\cal D}_{2}\xi(t)\\\\ =-e_1^T(t)({\cal A}^T_{21}P_2Q_2^{-1}P_2{\cal A}_{21}+Q_1)e_1(t)\\ +e_1^T(t){\cal A}_{21}^TP_2Q_2^{-1}P_2{\cal A}_{21}e_1(t)-\tilde{e}_y^T(t)Q_2\tilde{e}_y(t)\\ +2e_y^T(t)P_2(-\rho(t,y,u)||{\cal D}_{2}||\frac{P_2{e}_y(t)}{||P_2{e}_y(t)||})-2e_y^T(t)P_2{\cal D}_{2}\xi(t)\\\\ =-e_1^T(t)Q_1e_1(t)-\tilde{e}_y^T(t)Q_2\tilde{e}_y(t)\\ -2\rho(t,y,u)||{\cal D}_{2}||||P_2{e}_y(t)||-2e_y^T(t)P_2{\cal D}_{2}\xi(t)\\ \le -e_1^T(t)Q_1e_1(t)-\tilde{e}_y^T(t)Q_2\tilde{e}_y(t)\\ -2\rho(t,y,u)||{\cal D}_{2}||||P_2{e}_y(t)||- 2(-||P_2e_y(t)||||{\cal D}_{2}||(\rho(t,y,u)-\gamma_0))\\\\ = -e_1^T(t)Q_1e_1(t)-\tilde{e}_y^T(t)Q_2\tilde{e}_y(t) -2\gamma_0||P_2e_y(t)||||{\cal D}_{2}||\\\\ \le -e_1^T(t)Q_1e_1(t)-\tilde{e}_y^T(t)Q_2\tilde{e}_y(t)<0 \end{array} }

●一方、誤差の振舞いはある有限時間で次の超平面上でのスライディングモードとなることがわかります。

\displaystyle{(14)\quad {\cal S}_o=\{\left[\begin{array}{c} e_1\\ e_y \end{array}\right]\in{\bf R}^{n}: e_y=0\} }

実際、(10)の第2項

\displaystyle{(15)\quad \boxed{V_s(e_y)=e_y(t)^TP_2e_y(t)} }

に対して、(12)に注意して

\displaystyle{(16)\quad \begin{array}{l} \dot{V}_s(e_y)=2e_y(t)^TP_2\dot{e}_y(t)\\ =2e_y(t)^TP_2({\cal A}_{21}{e}_1(t)+{\cal A}_{22}^{s} {e}_y(t) +\nu-{\cal D}_{2}\xi(t))\\ =2e_y(t)^TP_2{\cal A}_{22}^{s} {e}_y(t) +2e_y(t)^TP_2{\cal A}_{21}{e}_1(t) +2e_y(t)^TP_2(\nu-{\cal D}_{2}\xi(t))\\\\ \le -e_y(t)^TQ_2e_y(t)+2e_y(t)^TP_2{\cal A}_{21}{e}_1(t)\\ +2e_y^T(t)P_2(-\rho(t,y,u)||{\cal D}_{2}||\frac{P_2{e}_y(t)}{||P_2{e}_y(t)||})-2e_y^T(t)P_2{\cal D}_{2}\xi(t)\\\\ \le 2||e_y(t)^TP_2||||{\cal A}_{21}{e}_1(t)||\\ -2\rho(t,y,u)||{\cal D}_{2}||||P_2{e}_y(t)||-2(-||P_2e_y(t)||||{\cal D}_{2}||(\rho(t,y,u)-\gamma_0))\\\\ =2||P_2e_y(t)||||{\cal A}_{21}{e}_1(t)|| -2\gamma_0||P_2e_y(t)||||{\cal D}_{2}||\\ =2||P_2e_y(t)||(||{\cal A}_{21}{e}_1(t)||-\gamma_0||{\cal D}_{2}||)\\ \le -2\eta||P_2e_y(t)||\quad(||{\cal A}_{21}{e}_1(t)||-\gamma_0||{\cal D}_{2}||<-\eta)\\ \le -2\eta\sqrt{\underline{\sigma}(P_2)}\sqrt{V_s(e_y)} \end{array} }

ただし

\displaystyle{(17)\quad \begin{array}{l} ||P_2e_y(t)||^2=(P_2^{1/2}e_y(t))^TP_2(P_2^{1/2}e_y(t))^\\ \ge \underline{\sigma}(P_2)||P_2^{1/2}e_y(t)||^2=\underline{\sigma}(P_2)V_s(e_y) \end{array} }

●SMオブザーバ(4)と(6.1)を再掲すると

\displaystyle{(4)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot{\hat x}_1(t)\\ \dot{\hat y}(t) \end{array}\right] }_{\dot{\hat x}'(t)} = \underbrace{ \left[\begin{array}{cc} {\cal A}_{11} & {\cal A}_{12} \\ {\cal A}_{21} & {\cal A}_{22} \\ \end{array}\right] }_{T_oAT_o^{-1}} \underbrace{ \left[\begin{array}{c} \hat{x}_1(t)\\ \hat{y}(t) \end{array}\right] }_{\hat{x}'(t)} + \underbrace{ \left[\begin{array}{c} {\cal B}_{1}\\ {\cal B}_{2} \end{array}\right] }_{T_oB} u(t)\\ - \left[\begin{array}{c} {\cal A}_{12}\\ {\cal A}_{22}-{\cal A}_{22}^{s} \end{array}\right] \underbrace{(\hat{y}(t)-y(t))}_{e_y(t)} + \left[\begin{array}{c} 0_{n-p\times p}\\ I_p \end{array}\right] \nu \end{array} }

\displaystyle{(6.1)\quad \nu=-\rho(t,y,u)||{\cal D}_{2}||\frac{P_2e_y(t)}{||P_2e_y(t)||} }

これは、x'(t)=T_ox(t)より{\hat x}'(t)=T_o{\hat x}(t)としてよいので、次のように表すことができます。

\displaystyle{(18)\quad \boxed{\begin{array}{l} \dot{\hat x}(t)=A\hat{x}(t)+Bu(t)-G_\ell e_y(t)+G_n\nu\\ G_\ell=T_o^{-1}\left[\begin{array}{c} {\cal A}_{12}\\ {\cal A}_{22}-{\cal A}_{22}^{s} \end{array}\right]\\ G_n=||{\cal D}_{2}||T_o^{-1}\left[\begin{array}{c} 0_{n-p\times p}\\ I_p \end{array}\right]\\ \displaystyle{\nu=-\rho(t,y,u)\frac{P_2e_y(t)}{||P_2e_y(t)||} \quad(P_2{\cal A}_{22}^{s}+{\cal A}_{22}^{s}^TP_2<0)} \end{array}} }

[2] 以上の議論は(3.1)と(3.2)の形式を得るための座標変換行列T_oの存在が前提になります。これについて調べるために、出力FB型SM制御(p>m)で得られていた次の結果に注目します。

\displaystyle{ \begin{array}{ll} (18.1*)&(T_aT_bT_c)A(T_aT_bT_c)^{-1}= \left[\begin{array}{cccc} A_{11}^o & A_{12}^o & A_{121}^m & A_{121}\\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m & A_{1221}\\ 0_{p-m\times r} & A_{21}^o & A_{22}^m & A_{1222}\\ A_{2120} & A_{2121} & A_{2122} & A_{22} \end{array}\right]\\ &(A_{11}^o\in{\rm\bf R}^{r\times r},A_{22}^o\in{\rm\bf R}^{n-p-r\times n-p-r},A_{22}^m\in{\rm\bf R}^{p-m\times p-m},A_{22}\in{\rm\bf R}^{m\times m})\\ (18.2*)&(T_aT_bT_c)B= \left[\begin{array}{c} 0_{r\times m} \\ 0_{n-p-r\times m} \\ 0_{p-m\times m} \\ B_2 \end{array}\right]\\ (18.3*)&C(T_aT_bT_c)^{-1}= \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] \end{array} }

ここで、(A_{22}^o,A_{21}^o)は可観測対、A_{11}^oの固有値は(A,B,C)の不変零点でした。この不変零点は安定であること、{\rm rank}\,CB=mが仮定されていました。

●これはf(t,x,u)=B\xi(t,x,u)の場合ですが、f(t,x,u)=D\xi(t,x,u)の場合も、p>qとして同様にして次式を得ます。

\displaystyle{ \begin{array}{ll} (19.1)&(T_aT_bT_c)A(T_aT_bT_c)^{-1}= \underbrace{ \left[\begin{array}{cc|cc} A_{11}^o & A_{12}^o & A_{121}^m & A_{121}\\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m & A_{1221}\\\hline 0_{p-q\times r} & A_{21}^o & A_{22}^m & A_{1222}\\ A_{2120} & A_{2121} & A_{2122} & A_{22} \end{array}\right] }_{ \left[\begin{array}{c|c} A_{11} & *\\\hline A_{211} & *\\ *       & * \end{array}\right] }\\ &(A_{11}\in{\rm\bf R}^{n-p\times n-p},A_{211}\in{\rm\bf R}^{p-q\times n-p})\\ (19.2)&(T_aT_bT_c)D= \left[\begin{array}{c} 0_{r\times q} \\ 0_{n-p-r\times q} \\ 0_{p-q\times q} \\ D_2 \end{array}\right]\\ (19.3)&C(T_aT_bT_c)^{-1}= \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] \end{array} }

ここで、(A_{22}^o,A_{21}^o)は可観測対、A_{11}^oの固有値は(A,D,C)の不変零点です。同様に、この不変零点は安定で、{\rm rank}\,DB=pを仮定します。

A_{11}+LA_{211}を安定行列とするL\in{\rm\bf R}^{n-p\times p-q}を用いて、追加の座標変換行列を

\displaystyle{(20)\quad T_L=\left[\begin{array}{cc} I_{n-p} &  \left[\begin{array}{cc} L & 0_{n-p\times q} \end{array}\right] \\ 0_{p\times n-p} & T \end{array}\right] }

とすると

\displaystyle{ \begin{array}{ll} (21.1)&T_L(T_aT_bT_c)A(T_aT_bT_c)^{-1}= \underbrace{\left[\begin{array}{cc} I_{n-p} &  \left[\begin{array}{cc} L & 0_{n-p\times q} \end{array}\right] \\ 0_{p\times n-p} & T \end{array}\right]}_{T_L} \left[\begin{array}{c|c} A_{11} & *\\\hline A_{211} & *\\ *       & * \end{array}\right]T_L\\ &= \left[\begin{array}{c|c} A_{11}+LA_{211} & *\\\hline *       & * \end{array}\right] \underbrace{\left[\begin{array}{cc} I_{n-p} &  \left[\begin{array}{cc} L & 0_{n-p\times q} \end{array}\right] \\ 0_{p\times n-p} & T \end{array}\right]}_{T_L}\\ (21.2)&T_L(T_aT_bT_c)D= \underbrace{\left[\begin{array}{cc} I_{n-p} &  \left[\begin{array}{cc} L & 0_{n-p\times q} \end{array}\right] \\ 0_{p\times n-p} & T \end{array}\right]}_{T_L} \left[\begin{array}{c} 0_{n-p\times q} \\ 0_{p-q\times q} \\ D_2 \end{array}\right]\\ (21.3)&C(T_aT_bT_c)^{-1}= \left[\begin{array}{cc} 0_{p\times n-p} & I_p \\ \end{array}\right] \underbrace{\left[\begin{array}{cc} I_{n-p} &  \left[\begin{array}{cc} L & 0_{n-p\times q} \end{array}\right] \\ 0_{p\times n-p} & T \end{array}\right]}_{T_L} \end{array} }

すなわち

\displaystyle{ \begin{array}{ll} (22.1)&(T_LT_aT_bT_c)A(T_LT_aT_bT_c)^{-1}= \left[\begin{array}{c|c} A_{11}+LA_{211} & *\\\hline *       & * \end{array}\right]\\ (22.2)&(T_LT_aT_bT_c)D= \left[\begin{array}{c} 0_{n-p\times q} \\ T\left[\begin{array}{c} 0_{p-q\times q} \\ D_2 \end{array}\right] \end{array}\right]\\ (22.3)&C(T_LT_aT_bT_c)^{-1}= \left[\begin{array}{cc} 0_{p\times n-p} & I_p \\ \end{array}\right] \end{array} }

を得ます。したがって、T_o

\displaystyle{(23)\quad \boxed{T_o=T_LT_aT_bT_c} }

と選べばよいことが分かります。

ここまでの手順を、関数ca_form2としてプログラムすることにします。

さらに、関数smobs1としてプログラムすることにします。

入門

Utkin’s Observer…Homework

[1] 次の制御対象のモデルを考えます。

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)\\ y(t)=Cx(t)\\ (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p1, p\ge m) \end{array} }

ただし、Bは列フルランク、Cは行フルランクをもち、(A,C)は可観測対とします。

●行列C\left[\begin{array}{cc} 0 & I_p \end{array}\right]の形にするために、座標変換

\displaystyle{(2)\quad \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} = \underbrace{ \left[\begin{array}{cc} N_c^T \\ C \\ \end{array}\right] }_{T_c} x(t) \Leftrightarrow x(t)= \underbrace{ \left[\begin{array}{cc} N_c^T \\ C \\ \end{array}\right]^{-1} }_{T_c^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} }

を行うと(N_c^TT_cを正則とする適当な行列)、次式を得ます。

\displaystyle{(3.1)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot y(t) \end{array}\right] }_{\dot{x}'(t)} = \underbrace{ \left[\begin{array}{cc} A_{c11} & A_{c12} \\ A_{c21} & A_{c22} \\ \end{array}\right] }_{T_cAT_c^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} + \underbrace{ \left[\begin{array}{c} B_{c1}\\ B_{c2} \end{array}\right] }_{T_cB} u(t) \end{array} }

\displaystyle{(3.2)\quad y(t) = \underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & I_p \\ \end{array}\right] }_{CT_c^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} }

[2] Utkinは次のオブザーバを提案しています。

\displaystyle{(4.1)\quad \boxed{\begin{array}{l} \left[\begin{array}{c} \dot{\hat x}_1(t)\\ \dot{\hat y}(t) \end{array}\right] = \left[\begin{array}{cc} A_{c11} & A_{c12} \\ A_{c21} & A_{c22} \\ \end{array}\right] \left[\begin{array}{c} \hat{x}_1(t)\\ \hat{y}(t) \end{array}\right] + \left[\begin{array}{c} B_{c1}\\ B_{c2} \end{array}\right] u(t)\\ + \left[\begin{array}{c} L\\ -I_p \end{array}\right] \nu \end{array}} }

\displaystyle{(4.2)\quad \boxed{\nu=M \left[\begin{array}{c} {\rm sgn}(\hat{y}_1(t)-y_1(t))\\ \vdots\\ {\rm sgn}(\hat{y}_p(t)-y_p(t)) \end{array}\right]} }

ここで、L\in{\rm\bf R}^{n-p\times p}M\in{\rm\bf R}は設計パラメータです。

通常のオブザーバは、出力の推定誤差 e_y(t)=C\hat{x}(t)-y(t) をフィードバックしますが、上のオブザーバは出力の推定誤差のスイッチング動作が加えられています。これにより、e_y(t)=0の超平面に載せることが考えられます。

●(4.1)から(3.1)を辺々引き算して

\displaystyle{(5)\quad \underbrace{ \left[\begin{array}{c} \dot{\hat x}_1(t)-\dot{x}_1(t)\\ \dot{\hat y}(t)-\dot{y}(t) \end{array}\right] }_{\left[\begin{array}{c} \dot{e}_1(t)\\ \dot{e}_y(t) \end{array}\right]} = \left[\begin{array}{cc} A_{c11} & A_{c12} \\ A_{c21} & A_{c22} \\ \end{array}\right] \underbrace{ \left[\begin{array}{c} \hat{x}_1(t)-{x}_1(t)\\ \hat{y}(t)-{y}(t) \end{array}\right] }_{\left[\begin{array}{c} {e}_1(t)\\ {e}_y(t) \end{array}\right]} + \left[\begin{array}{c} 0\\ -\nu \end{array}\right] }

ここで、座標変換

\displaystyle{(6)\quad \left[\begin{array}{c} \tilde{e}_1(t)\\ {e}_y(t) \end{array}\right] = \left[\begin{array}{cc} I_{n-p} & L \\ 0 & I_p \\ \end{array}\right] \left[\begin{array}{c} {e}_1(t)\\ {e}_y(t) \end{array}\right] }

を行うと、次の誤差方程式を得ます

\displaystyle{(7.1)\quad \boxed{\left[\begin{array}{c} \dot{\tilde e}_1(t)\\ \dot{e}_y(t) \end{array}\right] = \left[\begin{array}{cc} \tilde{A}_{c11} & \tilde{A}_{c12} \\ \tilde{A}_{c21} & \tilde{A}_{c22} \\ \end{array}\right] \left[\begin{array}{c} \tilde{e}_1(t)\\ {e}_y(t) \end{array}\right] + \left[\begin{array}{c} 0\\ -I_p \end{array}\right]\nu} }

ただし

\displaystyle{(7.2)\quad \left\{\begin{array}{l} \tilde{A}_{c11}=A_{c11}+LA_{c21}\\ \tilde{A}_{c12}=A_{c12}+LA_{c22}-\tilde{A}_{c11}L \\ \tilde{A}_{c21}={A}_{c21} \\ \tilde{A}_{c22}=A_{c22}-A_{c21}L \\ \end{array}\right. }

ここで、\tilde{A}_{c11}が安定行列となるようにLが選ばれているとします。

●このとき、仮定

\displaystyle{(8)\quad ||\tilde{A}_{c21}\tilde{e}_1(t)||+\frac{1}{2}(\tilde{A}_{c22}+\tilde{A}^T_{c22})||e_y(t)||<M-\eta }

の下で、次の可到達条件が成り立ちます。

\displaystyle{(9)\quad \begin{array}{l} e^T_y(t)\dot{e}_y(t)=e^T_y(t)(\tilde{A}_{c21}\tilde{e}_1(t)+\tilde{A}_{c22}{e}_y(t)-\nu)\\\\ =e^T_y(t)\tilde{A}_{c21}\tilde{e}_1(t)+e^T_y(t)\tilde{A}_{c22}{e}_y(t)\\ -M \left[\begin{array}{c} \hat{y}_1(t)-y_1(t)\\ \vdots\\ \hat{y}_p(t)-y_p(t) \end{array}\right]^T \left[\begin{array}{c} {\rm sgn}(\hat{y}_1(t)-y_1(t))\\ \vdots\\ {\rm sgn}(\hat{y}_p(t)-y_p(t)) \end{array}\right]\\\\ =e^T_y(t)\tilde{A}_{c21}\tilde{e}_1(t)+e^T_y(t)\frac{1}{2}(\tilde{A}_{c22}+\tilde{A}^T_{c22}){e}_y(t)\\ -M(|\hat{y}_1(t)-y_1(t)|+\cdots+|\hat{y}_p(t)-y_p(t)|)\\\\ \le e^T_y(t)\tilde{A}_{c21}\tilde{e}_1(t)+\frac{1}{2}\bar\sigma(\tilde{A}_{c22}+\tilde{A}^T_{c22})e^T_y(t){e}_y(t)\\ -M(|\hat{y}_1(t)-y_1(t)|+\cdots+|\hat{y}_p(t)-y_p(t)|)\\\\ \le ||e_y(t)||(||\tilde{A}_{c21}\tilde{e}_1(t)||+\frac{1}{2}\bar\sigma(\tilde{A}_{c22}+\tilde{A}^T_{c22})||{e}_y(t)||)\\ -M(|\hat{y}_1(t)-y_1(t)|+\cdots+|\hat{y}_p(t)-y_p(t)|)\\\\ < ||e_y(t)||(M-\eta)-M(|\hat{y}_1(t)-y_1(t)|+\cdots+|\hat{y}_p(t)-y_p(t)|)\\ \le -\eta||e_y(t)||+M\underbrace{(||e_y(t)||-(|\hat{y}_1(t)-y_1(t)|+\cdots+|\hat{y}_p(t)-y_p(t)|))}_{\le0}\\ \le -\eta||e_y(t)||<0 \end{array} }

●これはSM標準形(7.1)に対してスイッチング関数を

\displaystyle{(10)\quad {e}_y(t) = \left[\begin{array}{cc} 0_{p\times n-p} & I_p \\ \end{array}\right] \left[\begin{array}{c} \tilde{e}_1(t)\\ {e}_y(t) \end{array}\right] }

と選ぶとき、スイッチング動作(4.2)によって{e}_y(t)=\hat{y}(t)-y(t)=0となることを示しています。このとき(7.1)から

\displaystyle{(11)\quad \dot{\tilde e}_1(t)=\tilde{A}_{c11}{\tilde e}_1(t) }

を得て、{\tilde e}_1(t)も零の漸近するので、状態オブザーバ(4.1)が構成されていることが分かります。

[3] 以上の結果を数値例で確かめてみます。

MATLAB
%ex5_ob_sm.m
%-----
 clear all, close all
%(A,B,C)
 A=[ 0 1;
    -2 0];
 B=[0; 1];
 C=[1  1];
 [nn,mm]=size(B);
 [pp,nn]=size(C); 
%-----
 Tc=[1 0;1 1];
 Ac=Tc*A*inv(Tc)
 Bc=Tc*B
 Cc=C*inv(Tc)
%[Af,Bf,Cf,r,Ta,Aa,Ba,Ca,Tb,T,Ac,Bc,Cc,Tc]=ca_form1(A,B,C)
%-----
 M=1
 L=0.5
 Tti=[eye(nn-pp) L;
     zeros(pp,nn-pp) eye(pp)]
 Ati=Tti*Ac*inv(Tti)
%-----
%eof


図1 Utkin’s observerのシミュレーション例

モデル規範・出力FB型SM制御

モデル規範・出力FB型SM制御…Homework

[1] 次の状態方程式で表される制御対象を考えます。

\displaystyle{(1)\quad \dot{x}(t)=Ax(t)+Bu(t)+B\xi(t,x,u)\quad(x(t)\in{\rm\bf R}^n) }

この状態が理想的なモデル

\displaystyle{(2)\quad \dot{x}_m(t)=A_mx_m(t)+B_mr(t)\quad(x_m(t)\in{\rm\bf R}^n) }

の状態を追従するように、すなわち

\displaystyle{(3)\quad e_x(t)=x(t)-x_m(t)\rightarrow 0 \quad(t\rightarrow\infty) }

となるように制御則を決定したいとします。

●(1)と(2)を辺々引き算して

\displaystyle{(4)\quad \begin{array}{l} \underbrace{\dot{x}(t)-\dot{w}(t)}_{\dot{e}_x(t)} %=Ax(t)+Bu(t)+B\xi(t,x,u)-(A_mx_m(t)+B_mr(t))\\ %=Ax(t)-A_mx(t)+A_mx(t)-A_mw(t)+Bu(t)+B\xi(t,x,u)-B_mr(t)\\ %=A_me_x(t)+(A-A_m)x(t)+Bu(t)+B\xi(t,x,u)-B_mr(t)\\ =Ax(t)+Bu(t)+B\xi(t,x,u)-(A_mx_m(t)+B_mr(t))\\ =Ax(t)-Ax_m(t)+Ax_m(t)-A_mx_m(t)+Bu(t)+B\xi(t,x,u)-B_mr(t)\\ =Ae_x(t)+(A-A_m)x_m(t)+Bu(t)+B\xi(t,x,u)-B_mr(t) \end{array} }

となります。いま条件

\displaystyle{(5)\quad \begin{array}{l} BL_x=A_m-A\\ BL_r=B_m \end{array} }

を仮定すると、(4)は次式となります。

\displaystyle{(6)\quad \dot{e}_x(t)=A_me_x(t)+B(u(t)-L_xx_m(t)-L_rr(t)+\xi(t,x,u)) }

次の制御則を考えます。

\displaystyle{(7)\quad u(t)=\underbrace{L_xx_m(t)+L_rr(t)}_{u_f(t)}+u_e(t) }

このとき、(6)は次式となります。

\displaystyle{(8)\quad \dot{e}_x(t)=A_me_x(t)+B(u_e(t)+\xi(t,x,u)) }

ここで、u_e

\displaystyle{(9)\quad e_y(t)=Ce_x(t) }

だけを用いて設計することが考えられます。

[2] ある航空機の線形状態方程式として、次を考えます。

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)\\ x(t)= \left[\begin{array}{ll} \phi & bank\ angle\\ r & yaw\ rate\\ p & roll\ rate\\ \beta & sideslip\ angle\\ x_5 & washed-out\ filter\ state \end{array}\right],\quad u(t)= \left[\begin{array}{ll} \delta_r & rudder\ deflection\\ \delta_a & aileron\ deflection \end{array}\right]\\ A=\left[\begin{array}{rrrrr} 0 & 0 & 1.0000 & 0 & 0\\ 0 & -0.1540 & -0.0042 & 1.5400 & 0\\ 0 & 0.2490 & -1.0000 & -5.2000 & 0\\ 0.0386 & -0.9960 & -0.0003 & -0.1170 & 0\\ 0 & 0.5000 & 0 & 0 & -0.5000 \end{array}\right],\quad\\ B=\left[\begin{array}{rr} 0 & 0 \\ -0.7440 & -0.0320 \\ 0.3370 & -1.1200 \\ 0.0200 & 0\\ 0 & 20 \end{array}\right] \end{array} }

\displaystyle{(2)\quad \begin{array}{l} y(t)=C_Mx(t),\ z(t)=Cx(t)\\ y(t)= \left[\begin{array}{ll} r_{wo} & washed-out\ yaw\ rate\\ p & roll\ rate\\ \beta & sideslip\ angle\\ \phi & bank\ angle \end{array}\right],\quad z(t)= \left[\begin{array}{ll} \phi & bank\ angle\\ \beta & sideslip\ angle \end{array}\right]\\ C_M=\left[\begin{array}{rrrrr} 0 & 1 & 0 & 0 & -1\\ 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1 & 0\\ 1 & 0 & 0 & 0 & 0 \end{array}\right],\quad C=\left[\begin{array}{rrrrr} 1 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 & 0 \end{array}\right] \end{array} }

A行列の固有値は次のように求められます。

\displaystyle{(2)\quad \lambda(A):\left\{\begin{array}{cl}   -0.5000 + 0.0000i\\   -0.0882 + 1.2695i\\   -0.0882 - 1.2695i\\   -1.0855 + 0.0000i\\   -0.0092 + 0.0000i\\ \end{array}\right. }

●これに対するモデル規範・出力FB型SM制御系の設計手順を以下に示します。

MATLAB
%ex4_of_sm.m
%-----
 clear all, close all
%(A,B,C)
 A=[0 0 1 0 0;
    0 -0.1540 -0.0042  1.5400 0;
    0  0.2490 -1.0000 -5.2000 0;
    0.0386 -0.9960 -0.0003 -0.1170 0;
    0 0.5 0 0 -0.5];
 pl=eig(A)
 B=[0 0;
    -0.7440 -0.0320;
    0.3370 -1.1200;
    0.0200 0;
    0 0];
 CM=[0 1 0 0 -1;
     0 0 1 0  0;
     0 0 0 1  0;
     1 0 0 0  0];
 C=[1 0 0 0 0;
    0 0 0 1 0]; 
 [nn,mm]=size(B);
 [pp,nn]=size(CM); 
%-----
%  p1=[-0.05 -2 1.5 -1.5 1.5]
%  p1=[-0.05 -2+1.5*i -2-1.5*i -1.5+1.5*i -1.5-1.5*i]
 Lx=[-0.3131 3.3211 -0.1386 -0.7379 4.1180;
      3.9524 5.6616  2.2906 -65.6425 -90.7262];
 pCL=eig(A+B*Lx)
 Am=A+B*Lx;
 Lr=-inv(C*(Am\B));
 Bm=B*Lr;
 Cm=C;
%-----
 [Af,Bf,Cf,r,Ta,Aa,Ba,Ca,Tb,T,Ac,Bc,Cc,Tc]=ca_form1(A,B,CM)
%-----
%Assumes the triple (A,B,C) is in the canonical form of Lemma 5.3
%p1 is an nn-pp-r vector containing the desired poles of (A22o+Lo A21o)
%p2 is an nn-mm-r vector containing the desired poles of (A11tilde-A122 K)
%p3 is an mm vector representing the poles of the range space dynamics
 A11o=Af(1:r,1:r);
 A12o=Af(1:r,r+1:nn-pp);
 A22o=Af(r+1:nn-pp,r+1:nn-pp);
 A21o=Af(nn-pp+1:nn-mm,r+1:nn-pp);
 A121m=Af(1:r,nn-pp+1:nn-mm);
 A122m=Af(r+1:nn-pp,nn-pp+1:nn-mm);
 A22m=Af(nn-pp+1:nn-mm,nn-pp+1:nn-mm);
 A121=Af(1:r,nn-mm+1:nn);
 A122=Af(r+1:nn-mm,nn-mm+1:nn);
 A211=Af(nn-mm+1:nn,1:r);
 A212=Af(nn-mm+1:nn,r+1:nn-pp);
 A213=Af(nn-mm+1:nn,nn-pp+1:nn-mm);
 A22=Af(nn-mm+1:nn,nn-mm+1:nn);
 A11tilde=[A22o A122m;A21o A22m];
 A1221=A122(1:nn-pp-r,:);
 A1222=A122(nn-pp-r+1:nn-mm-r,:);
%-----
 p1=-5
 Lo=place(A22o',-A21o',p1)
 Lo=Lo';
%-----
 Tr=Ta*Tb*Tc
 Q=diag([5,1,1,5,5]);
 Qt=Tr*Q*Tr';
 Q11=Qt(1:nn-mm,1:nn-mm);
 Q12=Qt(1:nn-mm,nn-mm+1:nn);
 Q21=Qt(nn-mm+1:nn,1:nn-mm);
 Q22=Qt(nn-mm+1:nn,nn-mm+1:nn);
 Qhat=Q11-Q12*inv(Q22)*Q21;
 Rhat=Q22;
 [K,pl]=opt(A11tilde,A122,eye(3),Qhat,Rhat);
 K1=K(:,1:nn-pp-r)
 K2=K(:,nn-pp-r+1:nn-mm-r)
%-----
 H=A22o+Lo*A21o
 D1=A122m+Lo*A22m-H*Lo
 D2=A1221+Lo*A1222
 K=K2-K1*Lo
 Kc=K1
 Hhat=[A11o A12o;
       zeros(nn-pp-r,r) H]
 Dhat=[A121m-A12o*Lo A121;
       D1 D2]*T'
%----- 
 S2=eye(mm);
 S=S2*[zeros(mm,r) Kc K eye(mm)]
 Ahat=[A11o A12o A121m-A12o*Lo A121;
       zeros(nn-pp-r,r) H D1 D2;
       zeros(pp-mm,r) A21o A22m-A21o*Lo A1222;
       A211 A212 A213-A212*Lo A22]
 p3=[-5,-5]
 Phi=diag(p3)
 Lambda=S*Bf
 L=-inv(Lambda)*S*Ahat+inv(Lambda)*Phi*S
 rho=1
 Ln=rho*inv(Lambda)
 P2=lyap(Phi',eye(mm))
%-----
%eof


図1 モデル規範・出力FB型SM制御のシミュレーション例

補償器によるSM制御

補償器によるSM制御…Homework

[1] 制御対象

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)+B\xi(t,x,u)\\ y(t)=Cx(t)\\ (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p) \end{array} }

に対するSM制御則の線形制御部を、補償器

\displaystyle{(2)\quad \boxed{\dot{x}_c(t)=Hx_c(t)+Dy(t)}\quad(x_c(t)\in{\rm\bf R}^q) }

を用いて実現することを考えます。このときのスイッチング関数を

\displaystyle{(3)\quad \boxed{s(t)=F_cx_c(t)+Fy(t)}\quad(s(t)\in{\rm\bf R}^m) }

とします。

出力FB型SM制御(p>m)の議論により、次のSM標準形を得ているものとします。

\displaystyle{(18.1^*)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x'''_1(t)\\ \dot x'''_2(t) \end{array}\right] }_{\dot{x}'''(t)} = \underbrace{ \left[\begin{array}{ccc|c} A_{11}^o & A_{12}^o & A_{121}^m & A_{121}\\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m & A_{1221}\\ 0_{p-m\times r} & A_{21}^o & A_{22}^m & A_{1222}\\\hline A_{2120} & A_{2121} & A_{2122} & A_{22} \end{array}\right] }_{(T_aT_bT_c)A(T_aT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] }_{x'''(t)}\\ + \underbrace{ \left[\begin{array}{c} 0_{r\times m} \\ 0_{n-p-r\times m} \\ 0_{p-m\times m} \\\hline B_2 \end{array}\right] }_ {(T_aT_bT_c)B} \underbrace{(u(t)+\xi(t,x,u))}_{u'(t)}\\ (A_{11}^o\in{\rm\bf R}^{r\times r},A_{22}^o\in{\rm\bf R}^{n-p-r\times n-p-r},A_{22}^m\in{\rm\bf R}^{p-m\times p-m},A_{22}\in{\rm\bf R}^{m\times m}) \end{array} }

\displaystyle{(18.2^*)\quad \begin{array}{l} y(t) = \underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] }_{C(T_aT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] }_{x'''(t)} \end{array} }

このとき、C_1=\left[\begin{array}{cc} 0_{p-m\times n-p} & I_{p-m}  \end{array}\right]とおくと

\displaystyle{(2')\quad \begin{array}{l} \dot{x}_c(t)=Hx_c(t)+Dy(t)\\ =Hx_c(t)+ \left[\begin{array}{cc} 0_{p\times n-p} & DT \\ \end{array}\right] %\underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] %}_{x'''(t)} \\ =Hx_c(t)+ \left[\begin{array}{cc} D_1C_1 & D_2 \\ \end{array}\right] %\underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] %}_{x'''(t)} \\ =Hx_c(t)+D_1C_1x'''_1(t)+D_2x'''_2(t)\\ (DT=\left[\begin{array}{cc} D_1 & D_2 \end{array}\right], D_1\in{\rm\bf R}^{m\times p-m}, D_2\in{\rm\bf R}^{m\times m}) \end{array} }

および

\displaystyle{(3')\quad \begin{array}{l} s(t)=F_cx_c(t)+Fy(t)\\ =Hx_c(t)+ \left[\begin{array}{cc} 0_{p\times n-p} & FT \\ \end{array}\right] %\underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] %}_{x'''(t)} \\ =Hx_c(t)+ \left[\begin{array}{cc} F_1C_1 & F_2 \\ \end{array}\right] %\underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] %}_{x'''(t)} \\ =Hx_c(t)+F_1C_1x'''_1(t)+F_2x'''_2(t)\\ (FT=\left[\begin{array}{cc} F_1 & F_2 \end{array}\right], F_1\in{\rm\bf R}^{m\times p-m}, F_2\in{\rm\bf R}^{m\times m}) \end{array} }

●(18.1^*)と(2′)を結合し、\tilde{C}_1=\left[\begin{array}{cc} 0_{p-m\times n-p-r} & I_{p-m}  \end{array}\right]を用いて、次式を得ます。

\displaystyle{(4)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x'''_1(t)\\\hline \dot x'''_2(t)\\\hline\hline \dot x_c(t) \end{array}\right] }_{\dot{x}'''(t)} = \left[\begin{array}{c|c||c} \left.\begin{array}{ccc} A_{11}^o & A_{12}^o & A_{121}^m \\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m \\ 0_{p-m\times r} & A_{21}^o & A_{22}^m \\ \end{array}\right.& \left.\begin{array}{cc} A_{121}\\ A_{1221}\\ A_{1222} \end{array}\right.& \left.\begin{array}{cc} 0_{r\times q} \\ 0_{n-p-r\times q} \\ 0_{p-m\times q} \end{array}\right. \\\hline \left.\begin{array}{ccc} A_{211} & A_{2121} &A_{2122} \end{array}\right.& \left.\begin{array}{cc} A_{22} \end{array}\right.& 0_{m\times q} \\\hline\hline %D_1C_1 \left.\begin{array}{cc} 0_{q\times r} & D_1\tilde{C}_1 \end{array}\right. & D_2 & H \end{array}\right]\\ \times \underbrace{ \left[\begin{array}{c} x'''_1(t)\\\hline x'''_2(t)\\\hline\hline x_c(t) \end{array}\right] }_{x'''(t)} + \left[\begin{array}{c} 0_{r\times m} \\ 0_{n-p-r\times m} \\ 0_{p-m\times m} \\\hline B_2\\\hline\hline 0_{q\times m} \end{array}\right] u'(t) \end{array} }

x'''_2x_cを入れ替えて

\displaystyle{(5)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x'''_1(t)\\\hline \dot x_c(t)\\\hline\hline \dot x'''_2(t) \end{array}\right] }_{\dot{x}'''(t)} = \left[\begin{array}{c|c||c} \left.\begin{array}{ccc} A_{11}^o & A_{12}^o & A_{121}^m \\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m \\ 0_{p-m\times r} & A_{21}^o & A_{22}^m \\ \end{array}\right.& \left.\begin{array}{cc} 0_{r\times q} \\ 0_{n-p-r\times q} \\ 0_{p-m\times q} \end{array}\right. & \left.\begin{array}{cc} A_{121}\\ A_{1221}\\ A_{1222} \end{array}\right. \\\hline %D_1C_1 \left.\begin{array}{ccc} 0_{q\times r} & D_1\tilde{C}_1 \end{array}\right.  & \left.\begin{array}{cc} H \end{array}\right. & D_2 \\\hline\hline \left.\begin{array}{ccc} A_{211} & A_{2121} &A_{2122} \end{array}\right. & 0_{m\times q} & A_{22} \end{array}\right]\\ \times \underbrace{ \left[\begin{array}{c} x'''_1(t)\\\hline x_c(t)\\\hline\hline x'''_2(t) \end{array}\right] }_{x'''(t)} + \left[\begin{array}{c} 0_{r\times m} \\ 0_{n-p-r\times m} \\ 0_{p-m\times m} \\\hline 0_{q\times m}\\\hline\hline B_2\\ \end{array}\right] u'(t) \end{array} }

ここで、x'''_1(t)x'''_{r}(t)\in{\rm\bf R}^{r}x'''_{11}(t)\in{\rm\bf R}^{n-p-r}x'''_{12}(t)\in{\rm\bf R}^{p-m}に分割し、座標変換

\displaystyle{(6)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} x'''_r(t)\\ x'''_{11}(t)\\ x'''_{12}(t)\\\hline x_c(t)\\\hline\hline x''''_2(t)\\ \end{array}\right] }_{x''''(t)} = \underbrace{ \left[\begin{array}{ccc|c||c} I_{r} & 0 & 0 & 0& 0 \\ 0 & I_{n-p-r} & 0 & 0& 0 \\ 0 & 0 & I_{p-m} & 0 & 0\\\hline 0 & 0 & 0 & I_q &0 \\\hline\hline 0 & 0 & K & K_c & I_m  \end{array}\right] }_{T_s} \underbrace{ \left[\begin{array}{c} x'''_r(t)\\ x'''_{11}(t)\\ x'''_{12}(t)\\\hline x_c(t)\\\hline\hline x'''_2(t)\\ \end{array}\right] }_{x'''(t)}\\ (K=F_2^{-1}F_1, K_c=F_2^{-1}F_c) \end{array} }

を行って、次式を得ます。

\displaystyle{(7)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x'''_r(t)\\ \dot x'''_{11}(t)\\ \dot x'''_{12}(t)\\\hline \dot x_c(t)\\\hline \dot x''''_2(t) \end{array}\right] }_{\dot{x}''''(t)} = \left[\begin{array}{c|c} \left[\begin{array}{c|c} \left.\begin{array}{ccc} A_{11}^o & A_{12}^o & A_{121}^m \\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m \\ 0_{p-m\times r} & A_{21}^o & A_{22}^m \\ \end{array}\right. & \left.\begin{array}{cc} 0_{r\times q} \\ 0_{n-p-r\times q} \\ 0_{p-m\times q} \end{array}\right. \\\hline %D_1C_1 \left.\begin{array}{cc} 0_{q\times r} & D_1\tilde{C}_1 \end{array}\right. & H \end{array}\right]\\ - \left[\begin{array}{cc} A_{121}\\ A_{1221}\\ A_{1222}\\\hline D_2 \end{array}\right] \left[\begin{array}{ccccc} 0_{m\times r} & K\tilde{C}_1 & K_c \end{array}\right] & \left.\begin{array}{cc} A_{121}\\ A_{1221}\\ A_{1222}\\\hline D_2 \end{array}\right. \\\hline \left.\begin{array}{ccc|c} A_{211} & A_{2121} &A_{2122} & 0_{m\times q} \end{array}\right. & A_{22} \end{array}\right]\\ \times \underbrace{ \left[\begin{array}{c} x'''_r(t)\\ x'''_{11}(t)\\ x'''_{12}(t)\\\hline x_c(t)\\\hline x''''_2(t)\\ \end{array}\right] }_{x''''(t)} + \left[\begin{array}{c} 0_{r\times m} \\ 0_{n-p-r\times m} \\ 0_{p-m\times m} \\\hline 0_{q\times m}\\\hline B_2 \end{array}\right] u'(t)\\ = \underbrace{ \left[\begin{array}{c|c} \left.\begin{array}{c|c} \left.\begin{array}{ccc} A_{11}^o & A_{12}^o & A_{121}^m-A_{121}K \\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m-A_{1221}K \\ 0_{p-m\times r} & A_{21}^o & A_{22}^m-A_{1222}K \end{array}\right. & \left.\begin{array}{cc} -A_{121}K_c\\ -A_{1221}K_c\\ -A_{1222}K_c\\ \end{array}\right. \\\hline %(D_1-D_2K)C_1 \left.\begin{array}{cc} 0_{q\times r} & D(D_1-D_2K)\tilde{C}_1 \end{array}\right. & H-D_2K_c \end{array}\right. & \left.\begin{array}{cc} A_{121}\\ A_{1221}\\ A_{1222}\\\hline D_2 \end{array}\right.\\\hline \left.\begin{array}{ccc|c} A_{211} & A_{2121} &A_{2122} & 0_{m\times q} \end{array}\right. & A_{22} \end{array}\right] }_{ \left[\begin{array}{cc} \tilde{\cal A}_{11} & \tilde{\cal A}_{12} \\ \tilde{\cal A}_{21} & \tilde{\cal A}_{22} \end{array}\right]} \\ \times \underbrace{ \left[\begin{array}{c} x'''_r(t)\\ x'''_{11}(t)\\ x'''_{12}(t)\\\hline x_c(t)\\\hline x''''_2(t)\\ \end{array}\right] }_{x''''(t)} + \left[\begin{array}{c} 0_{r\times m} \\ 0_{n-p-r\times m} \\ 0_{p-m\times m} \\\hline 0_{q\times m}\\\hline B_2 \end{array}\right] u'(t) \end{array} }

以前の議論と同様に、A_{11}^oが安定行列であることを前提として、\tilde{\cal A}_{11}を安定行列とするH,D_1,D_2,K,K_cを求めます。

[2] 一つのアプローチとして

\displaystyle{(8)\quad \begin{array}{l} \left[\begin{array}{c} \dot x'''_{11}(t)\\ \dot x'''_{12}(t) \end{array}\right]= \underbrace{ \left[\begin{array}{cc} A_{22}^o & A_{122}^m \\ A_{21}^o & A_{22}^m \\ \end{array}\right] }_{\tilde{A}_{11}} \left[\begin{array}{c} x'''_{11}(t)\\ x'''_{12}(t) \end{array}\right] + \underbrace{ \left[\begin{array}{cc} A_{1221} \\ A_{1222} \\ \end{array}\right] }_{A_{122}} \underbrace{x'''_{2}(t)}_{\tilde u(t)} \\ \underbrace{x'''_{12}(t)}_{\tilde y(t)} = \underbrace{ \left[\begin{array}{cc} 0_{p-m\times n-p-r} & I_{p-m} \end{array}\right] }_{\tilde{C}_1}} \left[\begin{array}{c} x'''_{11}(t)\\ x'''_{12}(t) \end{array}\right] \end{array} }

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

\displaystyle{(9)\quad \tilde u(t)= \left[\begin{array}{cc} K_1 & K_2 \end{array}\right] \left[\begin{array}{c} x'''_{11}(t)\\ x'''_{12}(t) \end{array}\right] }

とします。ここで、x'''_{11}(t)のすべての要素は観測できないので、関数オブザーバ

\displaystyle{(10)\quad \begin{array}{l} \dot{x}_{ob}(t)=\hat{A}x_{ob}(t)+\hat{B}\underbrace{x'''_{12}(t)}_{\tilde{y}(t)}+\hat{J}\underbrace{x'''_{2}(t)}_{\tilde{u}(t)}\\ z(t)=\hat{C}x_{ob}(t)+\hat{D}\underbrace{x'''_{12}(t)}_{\tilde{y}(t)} \end{array} }

を考え、この出力z(t)に安定化状態フィードバック則\tilde{u}(t)を推定させます。すなわち

\displaystyle{(11)\quad z(t)\rightarrow \tilde{u}(t)= K_1x'''_{11}(t)+K_2x'''_{12}(t) \quad(t\rightarrow\infty) }

そのためには、関数オブザーバの状態x_{ob}(t)も適当な状態の線形関数を推定する必要があり、これを次のように表します。

\displaystyle{(12)\quad x_{ob}(t)\rightarrow  \underbrace{ \left[\begin{array}{cc} I_{n-p-r} & -L^o \end{array}\right] }_{U} \left[\begin{array}{c} x'''_{11}(t)\\ x'''_{12}(t) \end{array}\right]= x'''_{11}(t)-L^ox'''_{12}(t) \quad(t\rightarrow\infty) }

いまK_1,K_2,L^oを適当に与えたとき、関数オブザーバのパラメータは

\displaystyle{(13)\quad \left[\begin{array}{c} U\tilde{A}_{11}\\ \left[\begin{array}{cc} {K}_1 & {K}_2 \end{array}\right] \end{array}\right] = \left[\begin{array}{cc} \hat{A} & \hat{B}\\ \hat{C} & \hat{D} \end{array}\right] \left[\begin{array}{c} U\\ \tilde{C}_1 \end{array}\right] }

を解いて

\displaystyle{(14)\quad \begin{array}{l} \left[\begin{array}{cc} \hat{A} & \hat{B}\\ \hat{C} & \hat{D} \end{array}\right] = \left[\begin{array}{c} U\tilde{A}_{11}\\ \left[\begin{array}{cc} {K}_1 & {K}_2 \end{array}\right] \end{array}\right] \left[\begin{array}{c} U\\ \tilde{C}_1 \end{array}\right]^{-1}\\ = \left[\begin{array}{c} \left[\begin{array}{cc} I_{n-p-r} & L^o \end{array}\right] \left[\begin{array}{cc} A_{22}^o & A_{122}^m \\ A_{21}^o & A_{22}^m \\ \end{array}\right]\\ \left[\begin{array}{cc} {K}_1 & {K}_2 \end{array}\right] \end{array}\right] \left[\begin{array}{cc} I_{n-p-r} & L^o\\ 0_{p-m\times n-p-r} & I_{p-m} \end{array}\right]^{-1}\\ = \left[\begin{array}{cc} A_{22}^o+L^oA_{21}^o & A_{122}^m+L^oA_{22}^m \\ {K}_1 & {K}_2 \end{array}\right] \left[\begin{array}{cc} I_{n-p-r} & -L^o\\ 0_{p-m\times n-p-r} & I_{p-m} \end{array}\right]\\ = \left[\begin{array}{cc} A_{22}^o+L^oA_{21}^o & A_{122}^m+L^oA_{22}^m-(A_{22}^o+L^oA_{21}^o)L^o \\ K_1 & K_2-K_1L^o \end{array}\right] \end{array} }

ここで、L_o\hat{A}が安定行列となるように選んでおきます。また

\displaystyle{(15)\quad \hat{J}=UA_{122}= \left[\begin{array}{cc} I_{n-p-r} & L^o \end{array}\right] \left[\begin{array}{cc} A_{1221} \\ A_{1222} \\ \end{array}\right] =A_{1221}+A_{1222}L^o }

以上を踏まえて、K_c=K_1,K=K_2-K_1L^oと選び、線形関数オブザーバを

\displaystyle{(16)\quad \begin{array}{l} \underbrace{\dot{x}_{ob}(t)}_{\dot{x}_c(t)} =\underbrace{\hat{A}}_{H}\underbrace{x_{ob}(t)}_{x_c(t)} +\underbrace{\hat{B}}_{D_1}\underbrace{x'''_{12}(t)}_{\tilde{y}(t)} +\underbrace{\hat{J}}_{D_2}\underbrace{x'''_{2}(t)}_{\tilde{u}(t)}\\ \underbrace{z(t)}_{\tilde{u}(t)} =\underbrace{\hat{C}}_{K_c}\underbrace{x_{ob}(t)}_{x_c(t)} +\underbrace{\hat{D}}_{K}\underbrace{x'''_{12}(t)}_{\tilde{y}(t)} \end{array} }

とみなせば、第2式を第1式に代入して

\displaystyle{(16')\quad \dot{x}_c(t)=(H-D_2K_c)x_c(t)+(D_1-D_2K)x'''_{12}(t) }

ただし

\displaystyle{(16'')\quad \boxed{\begin{array}{l} H=A_{22}^o+L^oA_{21}^o\\ D_1=A_{122}^m+L^oA_{22}^m-(A_{22}^o+L^oA_{21}^o)L^o\\ D_2=A_{1221}+A_{1222}L^o\\ K_c=K_1 \\ K=K_2-K_1L^o \end{array}} }

となって、補償器を得ていることになります。以下では、この補償器を用いたSM制御則の構成法について検討します。

[3] 制御対象の状態方程式と観測方程式は、それぞれ(18.1^*)と(18.2^*)から次式で与えられます。

\displaystyle{(17.1)\quad \begin{array}{l} \left[\begin{array}{c} \dot x'''_r(t)\\ \dot x'''_{11}(t)\\ \dot x'''_{12}(t)\\ \dot x'''_2(t) \end{array}\right]= \left[\begin{array}{ccccc} A_{11}^o & A_{12}^o & A_{121}^m & A_{121} \\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m & A_{1221} \\ 0_{p-m\times r} & A_{21}^o & A_{22}^m & A_{1222} \\ A_{211} & A_{212} & A_{213} & A_{22} \end{array}\right] \left[\begin{array}{c} x'''_r(t)\\ x'''_{11}(t)\\ x'''_{12}(t)\\ x'''_2(t) \end{array}\right]\\ + \left[\begin{array}{c} 0_{r\times m}\\ 0_{n-p-r\times m}\\ 0_{p-m\times m}\\ B_2\\ \end{array}\right] u(t)\\ (x'''_r(t)\in{\rm\bf R}^{r},x'''_{11}(t)\in{\rm\bf R}^{n-p-r},x'''_{12}(t)\in{\rm\bf R}^{p-m},x'''_{2}(t)\in{\rm\bf R}^{m}) \end{array} }

\displaystyle{(17.2)\quad \begin{array}{l} y(t) = \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] \left[\begin{array}{c} x'''_r(t)\\ x'''_{11}(t)\\ x'''_{12}(t)\\ x'''_2(t) \end{array}\right]=T \left[\begin{array}{c} x'''_{12}(t)\\ x'''_2(t) \end{array}\right] \quad(T\in{\rm\bf R}^{p\times p}) \end{array} }

補償器は(16′)から次式で与えられます。

\displaystyle{(18)\quad \begin{array}{l} \dot{x}_c(t) =Hx_c(t) +D_1x'''_{12}(t) +D_2}x'''_{2}(t)\\ (x'''_{2}(t)=K_cx_c(t)+Kx'''_{12}(t)) \end{array} }

このとき補償器を合わせた制御対象のダイナミックスは次式のように表すことができます。

\displaystyle{(19.1)\quad \underbrace{ \left[\begin{array}{c} \dot z_r(t)\\ \dot x_c(t)\\ \dot x'''_{12}(t)\\ \dot x'''_2(t) \end{array}\right] }_{\hat x(t)} = \underbrace{ \left[\begin{array}{ccccc} A_{11}^o & A_{12}^o & A_{121}^m-A_{12}^oL^o & A_{121} \\ 0_{q\times r} & H & D_1 & D_2 \\ 0_{p-m\times r} & A_{21}^o & A_{22}^m-A_{21}^oL^o & A_{1222} \\ A_{211} & A_{212} & A_{213}-A_{212}L^o & A_{22} \end{array}\right] }_{\hat A} \underbrace{ \left[\begin{array}{c} z_r(t)\\ x_c(t)\\ x'''_{12}(t)\\ x'''_2(t) \end{array}\right] }_{\hat x(t)} }
\displaystyle{ + \underbrace{ \left[\begin{array}{ccccc} 0_{r\times r} & 0_{r\times m} \\ 0_{q\times r} & 0_{q\times m} \\ 0_{p-m\times r} & A_{21}^o \\ A_{211} & A_{212} \end{array}\right] }_{\hat A_e} \underbrace{ \left[\begin{array}{c} e_r(t)\\ e_c(t) \end{array}\right] }_{\hat{e}(t)} + \underbrace{ \left[\begin{array}{c} 0_{r\times m}\\ 0_{q\times m}\\ 0_{p-m\times m}\\ B_2\\ \end{array}\right] }_{\hat B} u(t) }

\displaystyle{(19.2)\quad \underbrace{ \left[\begin{array}{c} \dot e_r(t)\\ \dot e_c(t) \end{array}\right] }_{\dot{\hat{e}}(t)} = \underbrace{ \left[\begin{array}{cc} A_{11}^o & A_{12}^o \\ 0 & H \end{array}\right] }_{\hat{H}} \underbrace{ \left[\begin{array}{c} e_r(t)\\ e_c(t) \end{array}\right] }_{\hat{e}(t)} }

ここで、A_{11}^oが安定行列であることは前提条件であり、またHは安定行列となるようにオブザーバゲインL_oを決めます。

●(12)における推定誤差を

\displaystyle{(20)\quad e_c(t)=x_c(t) -(x'''_{11}(t)+L_ox'''_{12}(t)) }

で定義します。補償器の状態方程式は

\displaystyle{(21)\quad \begin{array}{l} \dot x_c(t)=Hx_c(t)+D_1x'''_{12}(t)+D_2x'''_{2}(t)}\\ =Hx_c(t)+(A_{122}^m+L^oA_{22}^m-(A_{22}^o+L^oA_{21}^o)L^o)x'''_{12}(t)\\ +(A_{1221}+A_{1222}L^o)x'''_{2}(t) \end{array}  }

となることから、次式すなわち(19.2)の下段式を得ます。

\displaystyle{(22)\quad \begin{array}{l} \dot e_c(t)=Hx_c(t)\\ +(A_{122}^m+L^oA_{22}^m-(A_{22}^o+L^oA_{21}^o)L^o)x'''_{12}(t) +(A_{1221}+A_{1222}L^o)x'''_{2}(t)\\ -(A_{22}^ox'''_{11}(t) + A_{122}^mx'''_{12}(t) + A_{1221}x'''_2(t))\\ -L_o(A_{21}^ox'''_{11}(t) + A_{22}^mx'''_{12}(t) + A_{1222}x'''_2(t))\\ =H(x_c(t) -x'''_{11}(t)-L_ox'''_{12}(t))\\ =He_c(t) \end{array}  }

●(17.1)の第1式から

\displaystyle{(23)\quad \begin{array}{l} \dot x'''_r(t)=A_{11}^ox'''_r (t)+ A_{12}^ox'''_{11}(t) + A_{121}^mx'''_{12}(t) + A_{121}x'''_2(t)\\ =A_{11}^ox'''_r(t) + A_{11}^o(-e_c(t) + x_c(t)-L_ox'''_{12}(t)) + A_{121}^mx'''_{12}(t) + A_{121}x'''_2(t)\\ = A_{11}^ox'''_r(t) + A_{11}^ox_c(t) + (A_{121}^m-A_{11}^oL_o)x'''_{12}(t) + A_{121}x'''_{2}(t) -A_{11}^oe_c(t) \end{array} }

ここで、e_c\rightarrow 0の場合の目標となるダイナミックスを次式で表します。

\displaystyle{(24)\quad \dot z_r(t)=A_{11}^oz_r(t) + A_{12}^ox_c(t) + (A_{121}^m-A_{12}^oL_o)x'''_{12}(t) + A_{121} x'''_2(t) }

両者の状態の誤差を

\displaystyle{(25)\quad e_r(t)=z_r(t)-x'''_r(t)\\ }

とすると、次式すなわち(19.2)の上段式を得ます。

\displaystyle{(26)\quad \begin{array}{l} \dot e_r(t)=A_{11}^oz_r(t) + A_{12}^ox_c(t) + (A_{121}^m-A_{12}^oL_o)x'''_{12}(t) + A_{121} x'''_2(t)\\ -(A_{11}^ox'''_r(t) + A_{12}^ox'''_{11}(t) + A_{121}^mx'''_{12}(t) + A_{121}x'''_2(t))\\ =A_{11}^oe_r(t) + A_{12}^o(x_c(t) -x'''_{11}(t)-L_ox'''_{12}(t))\\ =A_{11}^oe_r(t) + A_{12}^oe_c(t) \end{array} }

●(19.1)の第3式と第4式は、それぞれ(17.1)の第3式と第4式から次式のように得られます。

\displaystyle{(27)\quad \begin{array}{l} \dot x'''_{12}(t)= A_{21}^ox'''_{11}(t) + A_{22}^mx'''_{12}(t)+ A_{1222}x'''_{2}(t)\\ = A_{21}^o(-e_c(t) + x_c(t)-L_ox'''_{12}(t)) + A_{22}^mx'''_{12}(t)+ A_{1222}x'''_{2}(t)\\ = A_{21}^ox_c(t) + (A_{22}^m-A_{21}^oL_o)x'''_{12}(t)+ A_{1222}x'''_{2}(t) -A_{21}^oe_c(t) \end{array}  }

\displaystyle{(28)\quad \begin{array}{l} \dot x'''_2(t)= A_{211}x'''_r(t) + A_{212}x'''_{11}(t) + A_{213}x'''_{12}(t) + A_{22}x'''_{2}(t) \\ = A_{211}(-e_r(t)+z_r(t)) + A_{212}(-e_c(t) + x_c(t)-L_ox'''_{12}(t))\\  + A_{213}x'''_{12}(t) + A_{22}x'''_{2}(t)+B_2u(t)\\ = A_{211}z_r(t) + A_{212}x_c(t) + (A_{213}-A_{212}L_o)x'''_{12}(t)\\ + A_{22}x'''_{2}(t) -A_{211}e_r(t)-A_{212}e_c(t)+B_2u(t) \end{array}  }

ちなみに(19.1)の第1式と第2式は、それぞれ(24)と(18)です。

●このときスイッチング関数(3′)は

\displaystyle{(3'')\quad \begin{array}{l} s(t)=Hx_c(t)+F_1C_1x'''_1(t)+F_2x'''_2(t)\\ =\boxed{\underbrace{F_2\left[\begin{array}{cccc} 0_{m\times r} & K_c & K & I_m \end{array}\right]}_{S}} \underbrace{ \left[\begin{array}{c} z_r(t)\\ x_c(t)\\ x'''_{12}(t)\\ x'''_2(t) \end{array}\right] }_{\hat x(t)} \end{array} }

と表すことができます。

[4] 以上の準備のもとで、補償器によるSM制御則を次のように構築します。これは次のように線形制御部とスイッチング部からなります。

\displaystyle{(29)\quad u(t)=u_\ell(t)+u_n(t) }

線形制御部を、SM標準形(19.1)に基づいて次式のように決めます。

\displaystyle{(30)\quad \boxed{u_\ell(t)=-\underbrace{(S{\hat B})^{-1}(S{\hat A}-\Phi S)}_{L}{\hat x}(t)} }

ここで、{\hat A}{\hat B}は(19.1)で定義されます。また{\hat x}(t)は、(17.2)より

\displaystyle{(31)\quad \left[\begin{array}{c} x'''_{12}(t)\\ x'''_2(t) \end{array}\right] =T'y(t) }

と表せることに注意して、次の補償器の出力として得ます。

\displaystyle{(32)\quad \boxed{\begin{array}{l} \left[\begin{array}{c} \dot z_r(t)\\ \dot x_c(t) \end{array}\right] = \underbrace{ \left[\begin{array}{ccccc} A_{11}^o & A_{12}^o  \\ 0_{q\times r} & H  \end{array}\right] }_{\hat H} \left[\begin{array}{c} z_r(t)\\ x_c(t) \end{array}\right] + \underbrace{ \left[\begin{array}{ccccc} A_{121}^m-A_{12}^oL^o & A_{121} \\ D_1 & D_2  \end{array}\right]T' }_{\hat D} y(t)\\ \underbrace{ \left[\begin{array}{c} z_r(t)\\ x_c(t)\\ x'''_{12}(t)\\ x'''_2(t) \end{array}\right] }_{\hat x(t)}= \underbrace{ \left[\begin{array}{ccccc} I_r & 0_{r\times q}\\ 0_{q\times r} & I_q\\ 0_{p-m\times r} & 0_{p-m\times q} \\ 0_{m\times r} & 0_{m\times q} \\ \end{array}\right]}_{\widehat{\cal C}} \left[\begin{array}{c} z_r(t)\\ x_c(t) \end{array}\right] + \underbrace{\left[\begin{array}{ccccc} 0_{r\times p-m} & 0_{r\times m} \\ 0_{q\times p-m} & 0_{q\times m} \\ I_{p-m} & 0_{p-m\times m}\\ 0_{m\times p-m} & I_m \end{array}\right]T' }_{\widehat{\cal D}} y(t) \end{array}} }

スイッチング部を、次式のように決めます。

\displaystyle{(33)\quad \boxed{u_n(t)=-\rho(t,y)\underbrace{(S{\hat B})^{-1}}_{L_n}\frac{Ps(t)}{||Ps(t)||}} }

ここで、s(t)は(3”)で与えられます。また、P>0は適当な安定行列\Phiを与えて

\displaystyle{(34)\quad P\Phi+\Phi^TP=-I_m }

の解として求め、また\rho(t,y)

\displaystyle{(35)\quad \rho(t,y)=\frac{k_1||S{\hat B}||||u_\ell(t)||+||S{\hat B}||\alpha(t,y)+\gamma_2}{1-k_1\kappa(S{\hat B})} }

●以上に基づく設計手順を、数値例で示します。

MATLAB
%ex2_of_sm.m
%-----
 clear all, close all
%(A,B,C)
 A=[-2 1 0 0;
     0 0 4 1;
     0 1 0 0;
     1 -6 -9 -2];
 B=[0;0;0;1];
 C=[0 0 1 0;
    0 0 0 1];
 [nn,mm]=size(B);
 [pp,nn]=size(C); 
%-----
 [Af,Bf,Cf,r,Ta,Aa,Ba,Ca,Tb,T,Ac,Bc,Cc,Tc]=ca_form1(A,B,C)
%-----
%Assumes the triple (A,B,C) is in the canonical form of Lemma 5.3
%p1 is an nn-pp-r vector containing the desired poles of (A22o+Lo A21o)
%p2 is an nn-mm-r vector containing the desired poles of (A11tilde-A122 K)
%p3 is an mm vector representing the poles of the range space dynamics
 A11o=Af(1:r,1:r);
 A12o=Af(1:r,r+1:nn-pp);
 A22o=Af(r+1:nn-pp,r+1:nn-pp);
 A21o=Af(nn-pp+1:nn-mm,r+1:nn-pp);
 A121m=Af(1:r,nn-pp+1:nn-mm);
 A122m=Af(r+1:nn-pp,nn-pp+1:nn-mm);
 A22m=Af(nn-pp+1:nn-mm,nn-pp+1:nn-mm);
 A121=Af(1:r,nn-mm+1:nn);
 A122=Af(r+1:nn-mm,nn-mm+1:nn);
 A211=Af(nn-mm+1:nn,1:r);
 A212=Af(nn-mm+1:nn,r+1:nn-pp);
 A213=Af(nn-mm+1:nn,nn-pp+1:nn-mm);
 A22=Af(nn-mm+1:nn,nn-mm+1:nn);
 A11tilde=[A22o A122m;A21o A22m];
 A1221=A122(1:nn-pp-r,:);
 A1222=A122(nn-pp-r+1:nn-mm-r,:);
%-----
 p1=-2.5
 Lo=place(A22o',A21o',p1)
 Lo=Lo';
%-----
 p2=[-1,-1.5]
 calK=place(A11tilde,A122,p2)
 K1=calK(:,1:nn-pp-r)
 K2=calK(:,nn-pp-r+1:nn-mm-r)
%-----
 H=A22o+Lo*A21o
 D1=A122m+Lo*A22m-H*Lo
 D2=A1221+Lo*A1222
 K=K2-K1*Lo
 Kc=K1
 Hhat=[A11o A12o;
       zeros(nn-pp-r,r) H]
 Dhat=[A121m-A12o*Lo A121;
       D1 D2]*T'
%----- 
 S2=eye(mm);
 S=S2*[zeros(mm,r) Kc K eye(mm)]
 Ahat=[A11o A12o A121m-A12o*Lo A121;
       zeros(nn-pp-r,r) H D1 D2;
       zeros(pp-mm,r) A21o A22m-A21o*Lo A1222;
       A211 A212 A213-A212*Lo A22]
 p3=-5
 Phi=diag(p3)
 Lambda=S*Bf
 L=-inv(Lambda)*S*Ahat+inv(Lambda)*Phi*S
 P=lyap(Phi',eye(mm))
%-----
%eof


図1 補償器によるSM制御のシミュレーション例

出力FB型SM制御(p>m)

出力数>入力数の場合…Homework

[0] 制御対象の状態空間表現として次式を考えます。

\displaystyle{ \begin{array}{ll} (1.1) & \dot{x}(t)=Ax(t)+Bu(t)+f(t,x,u)\\ (1.2) & y(t)=Cx(t)\\ & (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p, 1\le m\le p < n) \end{array} }

ただし、f(t,x,u)\in{\rm\bf R}^nはモデル誤差、非線形要素、外乱などの影響を表し、次のマッチング条件を満たすとします。

\displaystyle{ \begin{array}{ll} (2.1) & f(t,x,u)=B\xi(t,x,u)\\ (2.2) & ||\xi(t,x,u)||<k_1||u||+\alpha(t,y)\quad(k_1<1)\\ & (f(t,x,y)\in{\rm\bf R}^n, \xi(t,x,u)\in{\rm\bf R}^m) \end{array} }

これに対し、次のスイッチング関数を定義します。

\displaystyle{(3)\quad \begin{array}{l} s(t)=Fy(t)=\underbrace{FC}_{S}x(t)\\ (s(t)\in{\rm\bf R}^m, F\in{\rm\bf R}^{m\times p}) \end{array} }

[1] 行列C\left[\begin{array}{cc} 0 & I_p \end{array}\right]の形にするために、座標変換

\displaystyle{(4)\quad \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} = \underbrace{ \left[\begin{array}{cc} N_c^T \\ C \\ \end{array}\right] }_{T_c} x(t) \Leftrightarrow x(t)= \underbrace{ \left[\begin{array}{cc} N_c^T \\ C \\ \end{array}\right]^{-1} }_{T_c^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} }

を行うと(N_cT_cを正則とする適当な行列)、次式を得ます。

\displaystyle{(5.1)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot y(t) \end{array}\right] }_{\dot{x}'(t)} = \underbrace{ \left[\begin{array}{cc} A_{c11} & A_{c12} \\ A_{c21} & A_{c22} \\ \end{array}\right] }_{T_cAT_c^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} + \underbrace{ \left[\begin{array}{c} B_{c1}\\ B_{c2} \end{array}\right] }_{T_cB} \underbrace{(u(t)+\xi(t,x,u))}_{u'(t)}\\ (B_{c2}\in{\rm\bf R}^{p\times m}) \end{array} }

\displaystyle{(5.2)\quad y(t) = \underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & I_p \\ \end{array}\right] }_{CT_c^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} }

\displaystyle{(5.3)\quad s(t)= \underbrace{ \left[\begin{array}{cc} 0_{m\times n-p} & F \\ \end{array}\right] }_{FCT_c^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)} }

B_{c2}\in{\rm\bf R}^{p\times m}

\displaystyle{(6)\quad T^TB_{c2}=\left[\begin{array}{c} 0_{p-m\times m}\\ B_2 \end{array}\right]\quad(B_{2}\in{\rm\bf R}^{m\times m}) }

のように変換する直交行列T\in{\rm\bf R}^{p\times p}を用いて(B_2は正則行列)、座標変換

\displaystyle{(7)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} x''_1(t)\\ x''_2(t)\\ \end{array}\right] }_{x''(t)} = \underbrace{ \left[\begin{array}{cc} I_{n-p} & -B_{c1}(B_{c2}^TB_{c2})^{-1}B_{c2}^T \\ 0_{p\times n-p} & T^T  \end{array}\right] }_{T_b} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)}\\ \Leftrightarrow \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{x'(t)}= \underbrace{ \left[\begin{array}{cc} I_{n-p} & B_{c1}(B_{c2}^TB_{c2})^{-1}B_{c2}^T \\ 0_{p\times n-p} & T \end{array}\right] }_{T_b^{-1}} \underbrace{ \left[\begin{array}{c} x''_1(t)\\ x''_2(t)\\ \end{array}\right] }_{x''(t)}\\ (x''_1(t)\in{\rm\bf R}^{n-p},x''_2(t)\in{\rm\bf R}^{p},T\in{\rm\bf R}^{p\times p}) \end{array} }

を行うと、次式を得ます。

\displaystyle{(8.1)\quad \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] }_{(T_bT_c)A(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x''_1(t)\\ x''_2(t)\\ \end{array}\right] }_{x''(t)} + \underbrace{ \left[\begin{array}{c} 0_{n-p\times m}\\ B_2 \end{array}\right] }_ {(T_bT_c)B} u'(t)\\ }

\displaystyle{(8.2)\quad y(t) = \underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] }_{C(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x''_1(t)\\ x''_2(t)\\ \end{array}\right] }_{x''(t)} }

\displaystyle{(8.3)\quad \begin{array}{l} s(t)= \underbrace{ \left[\begin{array}{cc} 0_{m\times n-p} & FT \\ \end{array}\right] }_{FC(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x''_1(t)\\ x''_2(t)\\ \end{array}\right] }_{x''(t)} = \underbrace{ \left[\begin{array}{cc|c} 0_{m\times n-p} & F_1 & F_2 \\ \end{array}\right] }_{FC(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x''_1(t)\\ x''_2(t)\\ \end{array}\right] }_{x''(t)}\\ (FT=\left[\begin{array}{cc} F_1 & F_2 \end{array}\right], F_1\in{\rm\bf R}^{m\times p-m}, F_2\in{\rm\bf R}^{m\times m}) \end{array} }

ここで、等価制御が存在する条件{\rm rank}\,SB=m

\displaystyle{(9)\quad {\rm rank}\,\underbrace{FCB}_{SB}={\rm rank}\,F\cdot C(T_bT_c)^{-1}\cdot (T_bT_c)B=F_2B_{2}=m }

となります。以下では{\rm rank}\,CB=mを仮定します。このときB_{2}の正則性から、正方行列F_2も正則となります。

[2] (7)では、x''(t)x_1(t)\in{\rm\bf R}^{n-p}x_2(t)\in{\rm\bf R}^pに分割していますが、(8.1)と(8.3)に対するSM標準形を得るために、x''(t)\tilde{x}''_1(t)\in{\rm\bf R}^{n-m}\tilde{x}''_2(t)\in{\rm\bf R}^{m}に分割し直して、座標変換

\displaystyle{(10)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \tilde{x}''_1(t)\\ s(t) \end{array}\right] }_{\tilde{x}''(t)} = \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ F_1C' & F_2 \\ \end{array}\right] }_{T_s} \underbrace{ \left[\begin{array}{c} \tilde{x}''_1(t)\\ \tilde{x}''_2(t) \end{array}\right] }_{x''(t)}\\ \Leftrightarrow \underbrace{ \left[\begin{array}{c} \tilde{x}''_1(t)\\ \tilde{x}''_2(t) \end{array}\right] }_{x''(t)} = \underbrace{ \left[\begin{array}{cc} I_{n-m}& 0 \\ -F_2^{-1}F_1C' & F_2^{-1}  \end{array}\right] }_{T_s^{-1}} \underbrace{ \left[\begin{array}{c} \tilde{x}''_1(t)\\ s(t) \end{array}\right] }_{\tilde{x}''(t)}\\ (C'=\left[\begin{array}{cc} 0_{p-m\times n-p} & I_{p-m}  \end{array}\right]) \end{array} }

を行うと、次式を得ます。

\displaystyle{(11)\quad \underbrace{ \left[\begin{array}{c} \dot{\tilde{x}}''_1(t)\\ \dot{s}(t) \end{array}\right] }_{\dot{\tilde{x}}''(t)} = \underbrace{ \left[\begin{array}{cc} \tilde{A}_{11} & \tilde{A}_{12} \\ \tilde{A}_{21} & \tilde{A}_{22} \end{array}\right] }_{\tilde{A}=(T_sT_bT_c)A(T_sT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} \tilde{x}''_1(t)\\ s(t) \end{array}\right] }_{\tilde{x}''(t)} + \underbrace{ \left[\begin{array}{c} 0\\ \tilde{B}_2 \end{array}\right] }_{\tilde{B}=T_sT_bT_cB} u'(t) }

ただし

\displaystyle{(11')\quad  \left\{\begin{array}{l} \tilde{A}_{11}=A_{11}-A_{12}M\quad(M=F_2^{-1}F_1C')\\ \tilde{A}_{12}=A_{12}F_2^{-1}\\ \tilde{A}_{21}=F_2(M\tilde{A}_{11}+A_{21}-A_{22}M)\\ \tilde{A}_{22}=F_2(M{A}_{12}+A_{22})F_2^{-1}\\ \tilde{B}_{2}=F_2B_2 \end{array}\right. }

ここで、\tilde{A}_{11}を安定行列とすることができるかが問題となります。\tilde{A}_{11}

\displaystyle{(12)\quad  \boxed{\tilde{A}_{11}=\underbrace{A_{11}}_{A'}-\underbrace{A_{12}}_{B'} \underbrace{F_2^{-1}F_1}_{K} \underbrace{\left[\begin{array}{cc} 0_{p-m\times n-p} & I_{p-m}  \end{array}\right]}_{C'}} }

と書けるので、仮想システム

\displaystyle{(13)\quad \begin{array}{l} \dot{w}(t)=A'w(t)+B'v(t)\\ z(t)=C'w(t)\\ (w(t)\in{\rm\bf R}^{n-m}, v(t)\in{\rm\bf R}^m, z(t)\in{\rm\bf R}^{p-m}) \end{array} }

を出力フィードバック

\displaystyle{(14)\quad v(t)=-Kz(t) }

によって安定化する問題となります。そのためには(13)が可制御かつ可観測で、Kimura-Davisonの条件が成り立つことが必要です。

●(13)の可制御性については

\displaystyle{(15)\quad \begin{array}{l} {\rm rank} \left[\begin{array}{cc} sI-A & B \end{array}\right]& ={\rm rank} \left[\begin{array}{cc} sI-(T_bT_c)A(T_bT_c)^{-1} & (T_bT_c)B \end{array}\right]\\ ={\rm rank} \left[\begin{array}{ccc} sI-A_{11} & -A_{12} & 0\\ -A_{21} & sI-A_{22} & B_2 \end{array}\right]\\ ={\rm rank} \left[\begin{array}{cc} sI-A_{11} & -A_{12} \end{array}\right]+m\\ ={\rm rank} \left[\begin{array}{cc} sI-A' & B' \end{array}\right]+m \end{array} }

より、(1.1)が可制御であれば(13)も可制御となります。

●(13)の可観測性については、次式に基づいて検討します。

\displaystyle{(16)\quad \begin{array}{l} {\rm rank} \left[\begin{array}{c} sI-A' \\  C' \end{array}\right]\\ ={\rm rank} \left[\begin{array}{cc} sI-A_{1111} & -A_{1112} \\ -A_{1121} & sI-A_{1122} \\ 0 & I_{p-m} \end{array}\right]\ (A'=A_{11}= \left[\begin{array}{cc} A_{1111} & A_{1112} \\ A_{1121} & A_{1122}  \end{array}\right])\\ ={\rm rank} \left[\begin{array}{c} sI-A_{1111} \\ A_{1121}  \end{array}\right]+p-m\\ ={\rm rank} \left[\begin{array}{c} sI-T_{obs}A_{1111}T_{obs}^{-1} \\ A_{1121} T_{obs}^{-1}  \end{array}\right]+p-m\\  (T_{obs}A_{1111}T_{obs}^{-1}= \left[\begin{array}{cc} A_{11}^o & A_{12}^o \\ 0_{n-p-r\times r} & A_{22}^o \end{array}\right],  A_{1121} T_{obs}^{-1}= \left[\begin{array}{cc} 0_{p-m\times r} & A_{21}^o \end{array}\right] )\\ ={\rm rank} \left[\begin{array}{cc} sI-A_{11}^o & -A_{12}^o \\ 0_{n-p-r\times r} & sI-A_{22}^o\\ 0_{p-m\times r} & A_{21}^o  \end{array}\right]+p-m\\ ={\rm rank}(sI-A_{11}^o)+ \underbrace{{\rm rank}\left[\begin{array}{cc} sI-A_{22}^o\\ A_{21}^o  \end{array}\right]}_{n-p-r}+p-m \end{array} }

ここで、T_{obs}\in{\rm\bf R}^{n-p\times n-p}は、可観測標準形への変換行列です。このとき適当なr>0に対して最終式の第2項が成り立ちます。したがって、一般には(13)の可観測性は成り立つとは言えないのですが、要は\tilde{A}_{11}=A'-B'KC'を安定行列とできればよいので、この観点から調べていきます。

[3] 上のT_{obs}を用いて、(8.1)に対して、座標変換

\displaystyle{(17)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] }_{x'''(t)} = \underbrace{ \left[\begin{array}{cc|c} T_{obs} & 0 & 0\\ 0 & I_{p-m} & 0 \\\hline 0 & 0 & I_m  \end{array}\right] }_{T_a} \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|c} T_{obs}^{-1} & 0 & 0\\ 0 & I_{p-m} & 0 \\\hline 0 & 0 & I_m  \end{array}\right] }_{T_a^{-1}} \underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] }_{x'''(t)}\\ (x'''_1(t)\in{\rm\bf R}^{n-m},x'''_2(t)\in{\rm\bf R}^{m}) \end{array} }

を行うと、次式を得ます。

\displaystyle{(18.1)\quad \boxed{\begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x'''_1(t)\\ \dot x'''_2(t) \end{array}\right] }_{\dot{x}'''(t)} = \underbrace{ \left[\begin{array}{ccc|c} A_{11}^o & A_{12}^o & A_{121}^m & A_{121}\\ 0_{n-p-r\times r} & A_{22}^o & A_{122}^m & A_{1221}\\ 0_{p-m\times r} & A_{21}^o & A_{22}^m & A_{1222}\\\hline A_{2120} & A_{2121} & A_{2122} & A_{22} \end{array}\right] }_{(T_aT_bT_c)A(T_aT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] }_{x'''(t)}\\ + \underbrace{ \left[\begin{array}{c} 0_{r\times m} \\ 0_{n-p-r\times m} \\ 0_{p-m\times m} \\\hline B_2 \end{array}\right] }_ {(T_aT_bT_c)B} u(t)\\ (A_{11}^o\in{\rm\bf R}^{r\times r},A_{22}^o\in{\rm\bf R}^{n-p-r\times n-p-r},A_{22}^m\in{\rm\bf R}^{p-m\times p-m}) \end{array}} }

\displaystyle{(18.2)\quad \boxed{\begin{array}{l} y(t) = \underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] }_{C(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{cc|c} T_{obs}^{-1} & 0 & 0\\ 0 & I_{p-m} & 0 \\\hline 0 & 0 & I_m  \end{array}\right] }_{T_a^{-1}} \underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] }_{x'''(t)}\\ = \underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] }_{C(T_aT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} x'''_1(t)\\ x'''_2(t) \end{array}\right] }_{x'''(t)} \end{array}} }

また、(12)より

\displaystyle{(12')\quad  \begin{array}{l} T_{a'}\tilde{A}_{11}T_{a'}^{-1}=T_{a'}(A'-B'KC')T_{a'}^{-1} \quad (T_{a'}= \left[\begin{array}{cc} T_{obs} & 0 \\ 0 & I_{p-m}  \end{array}\right])\\ =T_{a'}A_{11}T_{a'}^{-1}-T_{a'}A_{12} K \left[\begin{array}{ccc} 0_{p-m\times r} & 0_{p-m\times n-p-r} & I_{p-m}  \end{array}\right]T_{a'}^{-1}\\ = \underbrace{ \left[\begin{array}{c|cc} A_{11}^o & A_{12}^o & A_{121}^m \\\hline 0_{n-p-r\times r} & A_{22}^o & A_{122}^m \\ 0_{p-m\times r} & A_{21}^o & A_{22}^m  \end{array}\right]}_{T_{a'}A_{11}T_{a'}^{-1}} -\underbrace{\left[\begin{array}{ccc} A_{121}\\\hline A_{1221}\\ A_{1222} \end{array}\right]}_{T_{a'}A_{12}} \left[\begin{array}{ccc} 0_{p-m\times r} & 0_{p-m\times n-p-r} & K \end{array}\right]\\ = \left[\begin{array}{c|c} A_{11}^o &  \left[\begin{array}{cc} A_{12}^o & A_{121}^m-A_{121}K \end{array}\right]\\\hline 0_{n-m-r\times r} &  \left[\begin{array}{cc} A_{22}^o & A_{122}^m \\ A_{21}^o & A_{22}^m  \end{array}\right] -\left[\begin{array}{c} A_{1221}\\ A_{1222} \end{array}\right] K\left[\begin{array}{cc} 0_{p-m\times n-p-r} & I_{p-m}  \end{array}\right] \end{array}\right] \end{array} }

を得るので、\tilde{A}_{11}の固有値は、A_{11}^oの固有値と

\displaystyle{(19)\quad  \begin{array}{l} \underbrace{\left[\begin{array}{cc} A_{22}^o & A_{122}^m \\ A_{21}^o & A_{22}^m  \end{array}\right]}_{A''} - \underbrace{\left[\begin{array}{c} A_{1221}\\ A_{1222} \end{array}\right]}_{B''} K \underbrace{\left[\begin{array}{cc} 0_{p-m\times n-p-r} & I_{p-m}  \end{array}\right]}_{C''}\\ (A''\in{\rm\bf R}^{n-m-r\times n-m-r}, B''\in{\rm\bf R}^{n-m-r\times m}, C''\in{\rm\bf R}^{p-m\times n-m-r})\\ =\underbrace{\left[\begin{array}{cc} A_{22}^o & A_{122}^m \\ A_{21}^o & A_{22}^m  \end{array}\right]}_{A''} - \underbrace{\left[\begin{array}{cc} B''_1 & 0_{n-m-r\times m-m'} \end{array}\right]}_{B''T_m} \underbrace{\left[\begin{array}{cc} K_1\\ K_2 \end{array}\right]}_{T_m^{-1}K} \underbrace{\left[\begin{array}{cc} 0_{p-m\times n-p-r} & I_{p-m}  \end{array}\right]}_{C''}\\ (T_m\in{\rm\bf R}^{m\times m}, B''_1\in{\rm\bf R}^{n-m-r\times m'}, K_1\in{\rm\bf R}^{m'\times p-m}, K_2\in{\rm\bf R}^{m-m'\times p-m})\\ =A''-B''_1K_1C'' \end{array} }

の固有値の和となります。ここで、{\rm rank}B''={\rm rank}B''_1=m'を仮定しています。したがって、まず、A_{11}^oの固有値は左半平面にあることが前提となります。

●そこで、A''-B''_1K_1C''を安定行列とすることができるかを考えます。これは、(低次の)仮想システム

\displaystyle{(20)\quad \begin{array}{l} \dot{w}'(t)=A''w'(t)+B''_1v(t)\\ z(t)=C''w'(t)\\ (w'(t)\in{\rm\bf R}^{n-m-r}, v(t)\in{\rm\bf R}^{m'}, z(t)\in{\rm\bf R}^{p-m}) \end{array} }

を出力フィードバック

\displaystyle{(21)\quad v(t)=-K_1z(t)\ }

によって安定化するブレイクダウンした問題となります。そのためにはKimura-Davisonの条件

\displaystyle{(22)\quad m'+p+r \ge n+1 }

が成り立ち、(20)が可制御かつ可観測であることが必要です。後者については、補遺に示すように成り立ちます。ただし、これらは求解条件であって、具体的にK_1を求めるアルゴリズムについては、状態フィードバックのように確立されたものがあるわけではありません。

ここまでの手順を、関数ca_form1としてプログラムすることにします。

[4] 以上の準備の下で、p>mの場合のSM制御則をどう決めるかを考えます。(8.3)で定義した、

\displaystyle{(23)\quad FT=\left[\begin{array}{cc} F_1 & F_2 \end{array}\right] }

から次式を得ます。

\displaystyle{(24)\quad F=F_2\left[\begin{array}{cc} K & I_m \end{array}\right]T^T\quad(K=F_2^{-1}F_1) }

ここで、Kは(12)の\tilde{A}_{11}が安定行列となるように決めますが、上で調べたように、\tilde{A}_{11}の固有値は、A_{11}^oの固有値とA''-B''_1K_1C''の固有値の和です。そこで、A_{11}^oは安定行列であることが前提となります。一方K_1A''-B''_1K_1C''が安定行列となるように決め、

\displaystyle{(25)\quad K=T_m \left[\begin{array}{cc} K_1\\ K_2 \end{array}\right] }

のように構成します。ここで、K_2は任意でよく、またT_m\in{\rm\bf R}^{m\times m}は(19)で定めた行列です。ちなみにp=mの場合は、F_1は存在せずF=F_2となり、\tilde{A}_{11}の固有値はA_{11}^oの固有値だけとなります。

●以上では(8.1)に対して、座標変換(10)によって、(11)を得ていました。ここでは、(25)のK=F_2^{-1}F_1を用いた次の座標変換を行います(\bar{x}''_1(t)={x}''_1(t)\bar{s}(t)=F_2^{-1}s(t)と置き換え、記法\tilde{(\cdot)}\bar{(\cdot)}に置き換わっています)。

\displaystyle{(26)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)} = \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ KC' & I_m \\ \end{array}\right] }_{\bar{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_{n-m}& 0 \\ -KC' & I_m  \end{array}\right] }_{\bar{T}_s^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)}\\ (C'=\left[\begin{array}{cc} 0_{p-m\times n-p} & I_{p-m}  \end{array}\right]) \end{array} }

を行うために、まず(26)を(8.1)に代入して

\displaystyle{(27)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{cc} I_{n-m}& 0 \\ -KC' & I_m  \end{array}\right] }_{\bar{T}_s^{-1}} \underbrace{ \left[\begin{array}{c} \dot{\bar{x}}''_1(t)\\ \dot{\bar{s}}(t) \end{array}\right] }_{\dot{\bar{x}}''(t)}\\ = \underbrace{ \left[\begin{array}{cc} A_{11} & A_{12} \\ A_{21} & A_{22} \\ \end{array}\right] }_{(T_bT_c)A(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{cc} I_{n-m}& 0 \\ -KC' & I_m  \end{array}\right] }_{\bar{T}_s^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)} + \underbrace{ \left[\begin{array}{c} 0\\ B_2 \end{array}\right] }_{(T_bT_c)B} u'(t) \end{array} }

左から\bar{T}_sをかけて

\displaystyle{(28)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot{\bar{x}}''_1(t)\\ \dot{\bar{s}}(t) \end{array}\right] }_{\dot{\bar{x}}''(t)} = \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ KC' & I_m  \end{array}\right] }_{\bar{T}_s} \underbrace{ \left[\begin{array}{cc} A_{11}-A_{12}KC' & A_{12} \\ A_{21}-A_{22}KC' & A_{22} \end{array}\right] }_{(T_bT_c)A(\bar{T}_sT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)}\\ + \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ KC' & I_m  \end{array}\right] }_{\bar{T}_s} \underbrace{ \left[\begin{array}{c} 0\\ B_2 \end{array}\right] }_{B} u'(t) \end{array} }

すなわち、次式を得ます。

\displaystyle{(29.1)\quad \underbrace{ \left[\begin{array}{c} \dot{\bar{x}}''_1(t)\\ \dot{\bar{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}=(\bar{T}_sT_bT_c)A(\bar{T}_sT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)} + \underbrace{ \left[\begin{array}{c} 0\\ \bar{B}_2 \end{array}\right] }_{\bar{B}=\bar{T}_sT_bT_cB} u'(t) }

\displaystyle{(29.1')\quad  \left\{\begin{array}{l} \bar{A}_{11}=A_{11}-A_{12}KC'\\ \bar{A}_{12}=A_{12}\\ \bar{A}_{21}=KC'\bar{A}_{11}+A_{21}-A_{22}KC'\\ \bar{A}_{22}=KC'{A}_{12}+A_{22}\\ \bar{B}_{2}=B_2 \end{array}\right. }

\displaystyle{(29.2)\quad \begin{array}{l} y(t) = \underbrace{ \left[\begin{array}{cc} 0_{p\times n-p} & T \\ \end{array}\right] }_{C(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{cc} I_{n-m}& 0 \\ -KC' & I_m  \end{array}\right] }_{\bar{T}_s^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)}\\ = \underbrace{ \left[\begin{array}{cc} -TKC' & T  \end{array}\right] }_{C(\bar{T}_sT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)} \end{array} }

\displaystyle{(29.3)\quad \begin{array}{l} s(t)= \underbrace{ \left[\begin{array}{cc} 0_{m\times n-p} & FT \\ \end{array}\right] }_{FC(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{cc} I_{n-m}& 0 \\ -KC' & I_m  \end{array}\right] }_{\bar{T}_s^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)}\\ = \underbrace{ \left[\begin{array}{cc|c} 0_{m\times n-p} & F_1 & F_2 \\ \end{array}\right] }_{FC(T_bT_c)^{-1}} \underbrace{ \left[\begin{array}{cc|c} I_{n-p}& 0 & 0\\ 0 & I_{p-m} & 0 \\\hline 0 & -K & I_m  \end{array}\right] }_{\bar{T}_s^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)}\\ = \underbrace{ \left[\begin{array}{cc|c} 0_{m\times n-p} & 0_{m\times p-m} & F_2 \\ \end{array}\right] }_{FC(\bar{T}_sT_bT_c)^{-1}} \underbrace{ \left[\begin{array}{c} \bar{x}''_1(t)\\ \bar{s}(t) \end{array}\right] }_{\bar{x}''(t)}\\ (FT=\left[\begin{array}{cc} F_1 & F_2 \end{array}\right], F_1\in{\rm\bf R}^{m\times p-m}, F_2\in{\rm\bf R}^{m\times m}) \end{array} }

●ここからは出力FB型SM制御(p=m)の議論と同様にして、SM制御則として次式を考えます。

\displaystyle{(30)\quad u(t)=-\gamma Fy(t)-\rho(t,y)\frac{Fy(t)}{||Fy(t)||}\quad(\gamma>\gamma_0) }

ただし、

\displaystyle{(31)\quad  \underbrace{ \left[\begin{array}{cc} 0 & \bar{B}_2^T \end{array}\right] }_{\bar{B}^T} \underbrace{ \left[\begin{array}{cc} P_1 & 0 \\ 0  & P_2  \end{array}\right] }_{P} =F \underbrace{ \left[\begin{array}{cc} -TKC' & T  \end{array}\right] }_{\bar{C}}\\ \Rightarrow \bar{B}_2^TP_2=F_2 }

\displaystyle{(32)\quad  \rho(t,y)=\frac{k_1\gamma||Fy(t)||+\alpha(t,y)+\gamma_2}{1-k_1} }

\displaystyle{(33)\quad \begin{array}{l} \gamma_0=\frac{1}{2}\bar{\sigma}(F_2^{-T}(P_2\bar{A}_{22}+\bar{A}_{22}^TP_2\\ -(P_1\bar{A}_{12}+\bar{A}_{21}^TP_2)^T(P_1\bar{A}_{11}+\bar{A}_{11}^TP_1)^{-1}(P_1\bar{A}_{12}+\bar{A}_{21}^TP_2))F_2^{-1}) \end{array} }

●以上に基づく設計手順を、数値例で示します。

MATLAB
%ex1_of_sm.m
%-----
 clear all, close all
%(A,B,C)
 A=[ 0 1 0;
     0 0 1;
    -1 1/3 -1];
 B=[0; 1; 1];
 C=[1 8/3  1;
    4 2/3 -2];
 [nn,mm]=size(B);
 [pp,nn]=size(C); 
%-----
 [Af,Bf,Cf,r,Ta,Aa,Ba,Ca,Tb,T,Ac,Bc,Cc,Tc]=ca_form1(A,B,C)
%-----
 A11ti=Af(1:2,1:2);
 B1ti=Af(1:2,3);
 C1ti=[0,1];
 [Kopt,pl]=opt(A11ti,B1ti,C1ti,1,1)
 K=Kopt/C1ti %-1.0556
 A11bar=A11ti-B1ti*K*C1ti;
 lambda=eig(A11bar)
 Q1=eye(2,2); 
 P1=lyap(A11bar',Q1);
% 
 P2=1;
 B2=Ba(3,1);
 F2=B2'*P2; %-3.9016
 F=F2*[K 1]*T'
%
 Tbar=[eye(nn-mm) zeros(nn-mm,mm);
       K*C1ti eye(mm)];
 Abar=Tbar*Aa*inv(Tbar);  
 A12bar=Abar(1:2,3);
 A21bar=Abar(3,1:2);
 A22bar=Abar(3,3); 
 Q2=P1* A12bar+A21bar'*P2;
 Q3=P2* A22bar+A22bar'*P2; 
 W=inv(F2)'*(Q3+Q2'*inv(Q1)*Q2)*inv(F2);
 gamma0=0.5*norm(W) %0.2452
%-----
%eof


図1 出力FB型SM制御のシミュレーション例

出力FB型SM制御(p=m)

出力数=入力数の場合…Homework

これまでは、SM制御則の線形制御部を状態フィードバックの形で求めていましたが、以下では出力フィードバックに置き換えることを検討していきます。

[1] 制御対象の状態空間表現として次式を考えます。

\displaystyle{ \begin{array}{ll} (1.1) & \dot{x}(t)=Ax(t)+Bu(t)+f(t,x,u)\\ (1.2) & y(t)=Cx(t)\\ & (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p, 1\le \boxed{m=p} < n) \end{array} }

ただし、f(t,x,u)\in{\rm\bf R}^nはモデル誤差、非線形要素、外乱などの影響を表し、次のマッチング条件を満たすとします。

\displaystyle{ \begin{array}{ll} (2.1) & f(t,x,u)=B\xi(t,x,u)\\ (2.2) & ||\xi(t,x,u)||<k_1||u||+\alpha(t,y)\quad(k_1<1)\\ & (f(t,x,y)\in{\rm\bf R}^n, \xi(t,x,u)\in{\rm\bf R}^m) \end{array} }

これに対し、次のスイッチング関数を定義します。

\displaystyle{(3)\quad \boxed{s(t)=Fy(t)}\quad(s(t)\in{\rm\bf R}^m, F\in{\rm\bf R}^{m\times m}) }

●状態方程式(1.1)は次のSM標準形をとるように座標変換されているとします(Note C22-1参照)。

\displaystyle{(4.1)\quad \begin{array}{l} \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} \underbrace{(u(t)+\xi(t,x,u))}_{u'(t)}\\ (x_1(t)\in{\rm\bf R}^{n-m}, x_2(t)\in{\rm\bf R}^m, B_2\in{\rm\bf R}^{m\times m}) \end{array} }

これに対応して、観測方程式(1.2)も次のように表しておきます。

\displaystyle{(4.2)\quad y(t)= \underbrace{ \left[\begin{array}{cc} C_{1} & C_{2} \\ \end{array}\right] }_{C} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x(t)}\quad (y(t)\in{\rm\bf R}^m, C_2\in{\rm\bf R}^{m\times m}) }

すなわち、以下では行列A,B,Cは(4.1)と(4.2)のような分割をもつとします。

●スイッチング関数(3)を

\displaystyle{(5)\quad s(t)=Fy(t)=F \underbrace{ \left[\begin{array}{cc} C_{1} & C_{2} \\ \end{array}\right] }_{C} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x(t)} =\underbrace{ \left[\begin{array}{cc} FC_{1} & FC_{2} \\ \end{array}\right] }_{S=FC} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x(t)} }

と表すと、等価制御が存在する前提条件{\rm rank}\,SB=m

\displaystyle{(6)\quad {\rm rank}\,\underbrace{FCB}_{SB}={\rm rank}\,FC_2B_2=m }

となります。以下では{\rm rank}\,CB=mを仮定します。このとき、正方行列F,C_2,B_2はすべて正則となります。

[2] (4.1)に対して、座標変換

\displaystyle{(7)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{\bar{x}(t)} = \underbrace{ \left[\begin{array}{cc} I_{n-m}& 0 \\ C_1 & C_2 \\ \end{array}\right] }_{T_y} \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_{n-m}& 0 \\ -C_2^{-1}C_1 & C_2^{-1}  \end{array}\right] }_{T_y^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{\bar{x}(t)} \end{array} }

を行うために、まず(7)を(4.1)に代入して(M=C_2^{-1}C_1

\displaystyle{(8)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ -M & C_2^{-1} \\ \end{array}\right] }_{T_y^{-1}} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot y(t) \end{array}\right] }_{\dot{\bar{x}}(t)}\\ = \underbrace{ \left[\begin{array}{cc} A_{11} & A_{12} \\ A_{21} & A_{22} \\ \end{array}\right] }_{A} \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ -M & C_2^{-1} \\ \end{array}\right] }_{T_y^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{\bar{x}(t)} + \underbrace{ \left[\begin{array}{c} 0\\ B_2 \end{array}\right] }_{B} u'(t) \end{array} }

を得て、左からT_yをかけて

\displaystyle{(9)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot y(t) \end{array}\right] }_{\dot{\bar{x}}(t)} = \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ C_1 & C_2 \\ \end{array}\right] }_{T_y} \underbrace{ \left[\begin{array}{cc} A_{11}-A_{12}M & A_{12}C_2^{-1}  \\ A_{21}-A_{22}M & A_{22}C_2^{-1}  \\ \end{array}\right] }_{AT_y^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{\bar{x}(t)}\\ + \underbrace{ \left[\begin{array}{cc} I_{n-m} & 0 \\ C_1 & C_2 \\ \end{array}\right] }_{T_y} \underbrace{ \left[\begin{array}{c} 0\\ B_2 \end{array}\right] }_{B} u'(t) \end{array} }

すなわち、次式を得ます。

\displaystyle{(10)\quad \boxed{ %\begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot y(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_y A T_y^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{\bar{x}(t)} + \underbrace{ \left[\begin{array}{c} 0\\ \bar{B}_2 \end{array}\right] }_{\bar{B}=T_yB} u'(t) %\end{array} }}

ただし

\displaystyle{(10')\quad  \left\{\begin{array}{l} \bar{A}_{11}=A_{11}-A_{12}M\quad(M=C_2^{-1}C_1)\\ \bar{A}_{12}=A_{12}C_2^{-1}\\ \bar{A}_{21}=C_2(M\bar{A}_{11}+A_{21}-A_{22}M)\\ \bar{A}_{22}=C_2(M{A}_{12}+A_{22})C_2^{-1}\\ \bar{B}_{2}=C_2B_2 \end{array}\right. }

また、(4.2)と(3)は、次式のように表せます。

\displaystyle{(11)\quad  \boxed{y(t)= \underbrace{ \left[\begin{array}{cc} 0 & I_{m} \\ \end{array}\right] }_{\bar{C}=CT_y^{-1}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{\bar{x}(t)}} }

\displaystyle{(12)\quad  \boxed{s(t)=Fy(t)= \underbrace{ \left[\begin{array}{cc} 0 & F \\ \end{array}\right] }_{F\bar{C}} \underbrace{ \left[\begin{array}{c} x_1(t)\\ y(t) \end{array}\right] }_{\bar{x}(t)}} }

ここで、\bar{A}_{11}=A_{11}-A_{12}Mの固有値が (A,B,C)の不変零点に等しく、スライディングモードの振舞いを決めます。しかし、M=C_2^{-1}C_1ですから、Mには選択の自由度がないことに注意します。

[3] 以下では、(10),(11),(12)を考えますが、煩雑さを避けるために\bar{A}\bar{B}\bar{C}\bar{x}のバーをとって記述します。

●さて、出力FB型のSM制御則として次式を考えます。

\displaystyle{(13)\quad \boxed{  u(t)=-\gamma Fy(t)\underbrace{-\rho(t,y)\frac{Fy(t)}{||Fy(t)||}}_{\nu_c(t)}\quad(\gamma>\gamma_0) }}

ここで、\gamma\rho(t,y)は設計パラメータ、\gamma_0は後で示す定数です。

これによる閉ループ系は、(13)を(4.1)に代入して、次式となります。

\displaystyle{(14)\quad  \dot{x}(t)=(A-\gamma BFC)x(t)+B(-\rho(t,y)\frac{Fy(t)}{||Fy(t)||}+\xi(t,x,y)) }

●このとき、SM制御則(13)を、2次安定性

\displaystyle{(15)\quad  \boxed{ V(x)=x(t)^TPx(t) \Rightarrow \dot{V}(x)\le -x(t)^TL(\gamma)x(t)} }

が成り立つように決定します(P>0, L(\gamma)>0)。ただし、次式を仮定します。

\displaystyle{(16)\quad  B^TP=FC }
\displaystyle{(17)\quad  \rho(t,y)=\frac{k_1\gamma||Fy(t)||+\alpha(t,y)+\gamma_2}{1-k_1} }

また、(17)と(13)から次式が得られることに注意します。

\displaystyle{  \begin{array}{cl} (18.1) &\rho(t,y)=k_1(\gamma||Fy(t)||+\rho(t,y))+\alpha(t,y)+\gamma_2\\ \Downarrow & using\ ||u(t)||\le \gamma||Fy(t)||+\rho(t,y)\\ (18.2) & \ge k_1||u(t)||+\alpha(t,y)+\gamma_2\\ \end{array} }

●これらの準備の下で、(15)が次のように示されます。

\displaystyle{ \begin{array}{cl} (19.1) & \dot{V}(x)=2x(t)^TP\dot{x}(t)\\ (19.2) & =2x^T(t)P((A-\gamma BFC)x(t)+B(-\rho(t,y)\frac{Fy(t)}{||Fy(t)||}+B\xi(t,x,u))\\ (19.3) & =x^T(t)\underbrace{(P(A-\gamma BFC)+(A-\gamma BFC)^TP)}_{L(\gamma)}x(t)\\  & -2x^T(t)\underbrace{PB}_{C^TF^T}\rho(t,y)\frac{Fy(t)}{||Fy(t)||}+2x^T(t)\underbrace{PB}_{C^TF^T}\xi(t,x,u))\\ (19.4) & =-x^T(t)L(\gamma)x(t)-2\rho(t,y)||Fy(t)||+2(Fy(t))^T\xi(t,x,u)\\ \Downarrow & by\ (Fy(t))^T\xi(t,x,u)\le||Fy(t)||\cdot||\xi(t,x,u)||\\ (19.5) & \le -x^T(t)L(\gamma)x(t)-2\rho(t,y)||Fy(t)||+2||Fy(t)||\cdot||\xi(t,x,u)||\\ (19.6) & = -x^T(t)L(\gamma)x(t)-2||Fy(t)||(\rho(t,y)-||\xi(t,x,u)||)\\ \Downarrow & by\ (2.2):||\xi(t,x,u)||<k_1||u||+\alpha(t,y)\quad(k_1<1)\\ (19.7) & \le -x^T(t)L(\gamma)x(t)-2||Fy(t)||(\rho(t,y)-k_1||u||-\alpha(t,y))\\ \Downarrow & by\ (18):\rho(t,y)\ge k_1||u(t)||+\alpha(t,y)+\gamma_2\\ (19.8) & \le -x^T(t)L(\gamma)x(t)-2\gamma_2||Fy(t)||\\ (19.9) & \le -x^T(t)L(\gamma)x(t) \end{array} }

●ここで、次式を示すことができします。

\displaystyle{(20)\quad  \boxed{L(\gamma)=\underbrace{P(A-\gamma BFC)+(A-\gamma BFC)^TP}_{PA+A^TP-2\gamma (FC)^TFC}<0 \Leftrightarrow \gamma>\gamma_0} }

実際、左辺は

\displaystyle{ \begin{array}{cl} (21.1) & L(\gamma)=PA+A^TP-2\gamma (FC)^TFC\\ (21.2) &  =\underbrace{\left[ \begin{array}{cc} P_1 & 0 \\ 0   & P_2 \\ \end{array}\right]}_{P} \underbrace{\left[\begin{array}{cc} A_{11} & A_{12} \\ A_{21} & A_{22} \\ \end{array}\right]}_{A} + \underbrace{\left[\begin{array}{cc} A_{11} & A_{12} \\ A_{21} & A_{22} \\ \end{array}\right]^T}_{A^T} \underbrace{\left[\begin{array}{cc} P_1 & 0 \\ 0   & P_2 \\ \end{array}\right]}_{P}\\ &-2\gamma \underbrace{\left[\begin{array}{cc} 0 & F \\ \end{array}\right]^T}_{(FC)^T} \underbrace{\left[\begin{array}{cc} 0 & F \\ \end{array}\right]}_{FC}\\ (21.3) &  =\left[ \begin{array}{cc} P_1A_{11}+A_{11}^TP_1 & P_1A_{12}+A_{21}^TP_2 \\ (P_1A_{12}+A_{21}^TP_2)^T   & P_2A_{22}+A_{22}^TP_2 \\ \end{array}\right] -2\gamma \left[\begin{array}{cc} 0 & 0 \\ 0 & F^TF \\ \end{array}\right]\\ (21.4) &  =\left[\begin{array}{cc} P_1A_{11}+A_{11}^TP_1 & P_1A_{12}+A_{21}^TP_2 \\ (P_1A_{12}+A_{21}^TP_2)^T   & P_2A_{22}+A_{22}^TP_2-2\gamma F^TF \\ \end{array}\right]<0 \end{array} }

となり、これは公式

\displaystyle{(22)\quad \begin{array}{l} \left[\begin{array}{cc} X & Z \\ Z^T & Y \end{array}\right]<0\\ \ \Leftrightarrow\  X-ZY^{-1}Z^T<0,\ Y<0 \\ \ \Leftrightarrow\  X<0,\ Y-Z^TX^{-1}Z<0  \end{array} }

を用いて、以下と等価になります。

\displaystyle{ \begin{array}{cl} (23.1) &  \left\{\begin{array}{l} P_1A_{11}+A_{11}^TP_1<0\\ P_2A_{22}+A_{22}^TP_2 -2\gamma F^TF-(P_1A_{12}+A_{21}^TP_2)^T\\ \times(P_1A_{11}+A_{11}^TP_1)^{-1}(P_1A_{12}+A_{21}^TP_2)<0 \end{array}\right.\\ (23.2) &  \Leftrightarrow\  \left\{\begin{array}{l} P_1A_{11}+A_{11}^TP_1<0\\ P_2A_{22}+A_{22}^TP_2 -(P_1A_{12}+A_{21}^TP_2)^T\\ \times(P_1A_{11}+A_{11}^TP_1)^{-1}(P_1A_{12}+A_{21}^TP_2)<2\gamma F^TF \end{array}\right.\\ (23.3) &  \Leftrightarrow\  \left\{\begin{array}{l} P_1A_{11}+A_{11}^TP_1<0\\ F^{-T}(P_2A_{22}+A_{22}^TP_2 -(P_1A_{12}+A_{21}^TP_2)^T\\ \times(P_1A_{11}+A_{11}^TP_1)^{-1}(P_1A_{12}+A_{21}^TP_2))F^{-1}<2\gamma I \end{array}\right.\\ (23.4) &  \Leftrightarrow\  \left\{\begin{array}{l} P_1A_{11}+A_{11}^TP_1<0\quad(*)\\ \underbrace{\begin{array}{l} \frac{1}{2}\bar{\sigma}(F^{-T}(P_2A_{22}+A_{22}^TP_2 -(P_1A_{12}+A_{21}^TP_2)^T\\ \times(P_1A_{11}+A_{11}^TP_1)^{-1}(P_1A_{12}+A_{21}^TP_2))F^{-1}) \end{array} }_{\gamma_0}<\gamma  \end{array}\right. \end{array} }

ここで、(*)は仮定より満足されるので、\gamma>\gamma_0L(\gamma)>0となるための条件となることが分かります。

SMCまとめ

2次安定性

[1] 非線形系

\displaystyle{(1)\quad \dot{x}(t)=f(x(t))}

に対してリャプノフ関数

\displaystyle{(5)\quad V(x)=x^T(t)Px(t)\quad(P>0)}

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

\displaystyle{(6)\quad %\begin{array}{l} \frac{d}{dt}V(x)=\dot{x}^T(t)Px(t)+x^T(t)P\dot{x}(t)=2x^T(t)P\dot{x}(t)=2x^T(t)Pf(x) %\end{array} }

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

\displaystyle{(7)\quad  { \boxed{\frac{d}{dt}V(x)=2x^T(t)Pf(x)\le -x^T(t)Qx(t)\quad(Q>0)} }}

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

\displaystyle{(8)\quad  \boxed{||x(t)||\le \beta||x(0)||e^{-\frac{1}{2}\alpha t}} }

ただし

\displaystyle{(9)\quad {\alpha=\sigma_n(P^{-1}Q),\ \beta=\sqrt{\frac{\sigma_1(P)}{\sigma_n(P)} }}

[2] 制御対象が平衡状態にあることは線形状態方程式\dot{x}(t)=Ax(t)+Bu(t)において、x=0, u=0を意味します。そこで平衡状態が乱されてx\ne0となる時刻をt=0にとると、線形状態方程式は次式となります。

\displaystyle{(1)\quad \dot{x}(t)=Ax(t)\qquad(x(0)\ne0) }

これに出力方程式

\displaystyle{(2)\quad y(t)=Cx(t) }

を考慮する場合も含めると、漸近安定性の判定法は次のようにまとめられます。

【漸近安定性の定義とその等価な条件】
定義DA: \forall x(0)\ne 0: x(t)=\exp(At)x(0)\rightarrow 0\quad(t\rightarrow\infty)
条件A0: \exp(At)\rightarrow 0\quad(t\rightarrow\infty)
条件A1: {\rm Re}(\lambda_i(A))<0\quad(i=1,\cdots,n)
条件A2: \exists P>0: PA+A^TP+I_n=0
条件A3: \exists P>0: PA+A^TP+C^TC=0 ただし、(A,C)は可観測対
条件A4: \exists P>0: PA+A^TP<0

まず(1)が漸近安定とすると、条件A2のリャプノフ方程式から次式を得ます。

\displaystyle{(3)\quad x^T(t)(PA+A^TP)x(t)=-x(t)^Tx(t) }

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

\displaystyle{(4)\quad V(x)=x^T(t)Px(t) }

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

\displaystyle{(5)\quad \begin{array}{l} \frac{d}{dt}V(x)=2x^T(t)P\dot{x}(t)=2x^T(t)PAx(t)=x^T(t)(PA+A^TP)x(t)\\ =-x^T(t)x(t) \end{array} }

を意味します。これから漸近安定な線形系は2次安定であることが分かります。

●条件A2の両辺からQ^{1/2}\ (Q>0)をかけて

\displaystyle{(6)\quad \underbrace{Q^{1/2}PQ^{1/2}}_{P'}\underbrace{Q^{-1/2}AQ^{1/2}}_{A'}+\underbrace{Q^{1/2}A^TQ^{-1/2}}_{A'^T}\underbrace{PQ^{1/2}Q^{1/2}}_{P'}+\underbrace{Q^{1/2}Q^{1/2}}_{Q}=0 }

を得ます。(A',Q^{1/2})は可観測対なので条件A3を適用して('をはずして)

条件A2′: \boxed{\exists P>0: PA+A^TP+Q=0} ただし、Q>0

も漸近安定性の条件となることに注意します。

●たとえば、安定行列\displaystyle{ A= \left[\begin{array}{cc} 0 & 1 \\ -4 & -1 \end{array}\right] }

が与えられるとき、リャプノフ方程式PA+A^TP+I_n=0を満足するP>0

\displaystyle{ P=\left[\begin{array}{cc} 2.6250 & 0.1250\\ 0.1250 & 0.6250 \end{array}\right] }

のように求まります。これはMATLABで次のコマンドを用いて計算できます。

MATLAB
P=lyap(A',eye(2))

ここで、P=lyap(A,Q) はリャプノフ方程式PA^T+AP+Q=0の解を求める関数であることに注意します。

問題設定

[3] 制御対象の状態方程式として次式を考えます。

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)+f(t,x,u)\\ (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, f(t,x,u)\in{\rm\bf R}^n, m< n, {\rm rank}B=m) \end{array} }

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

\displaystyle{(2)\quad \boxed{s(t)=Sx(t)}\quad(s(t)\in{\rm\bf R}^m, {\rm rank}S=m) }

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

\displaystyle{(3)\quad s(t)=0\quad(t\ge t_s) }

を満足するとき、スライディングモードが発生していると言います。

●以上の準備の下で、スライディングモード制御問題は次のように記述されます。

問題1: 動的システムの振る舞いが閉じ込められる超平面 {\cal S}=\{x:Sx=0\} を定義するスイッチング関数を決定せよ。
問題2: 有限時刻 t_s において状態を超平面内に拘束し、引き続き留まらせる(\forall t>t_s: s(t)=0)ことのできるスライディングモード制御則(SM制御則)を設計せよ。

●いま、SM制御則を、2次安定性の条件
を、2次安定性

\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}}} }

すなわち

\displaystyle{(4')\quad  \begin{array}{lll} V(\bar{x})= \underbrace{x_1^T(t)P_1x_1(t)}_{V(x_1)}+\underbrace{s^T(t)P_2s(t)}_{V(s)}\\ \Rightarrow \dot{V}(\bar{x})\le  -x_1^T(t)Q_1x_1(t)-s^T(t)s(t) \end{array}} }

が成り立つように決定します(P_1>0, P_2>0, Q_1>0)。

以下で示すように、このSM制御則は次式で表されます。

\displaystyle{(5)\quad { \boxed{\begin{array}{l} u(t)=\underbrace{u_\ell(t)}_{linear\ control}+\underbrace{u_n(t)}_{switching\ component}\\ u_\ell(t)=-\underbrace{(SB)^{-1}(SA-\Phi S)}_{L=L_{eq}+L_{phi}}x(t) \quad(\Phi:stable\ matrix)\\ u_n(t)=-\underbrace{(SB)^{-1}\rho(t,x)}_{L_n}\frac{P_2s(t)}{||P_2s(t)||}\quad(P_2\Phi+\Phi^TP_2=-I) \end{array}}} }

ここで、SBは正則行列であることを仮定しています。また設計パラメータは、スイッチング関数を決める行列S、安定行列\Phi、スカラー\rho>0です。

●2重積分器に対して、S,\Phi,\rhoを適当に選んだときの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)においてf(t,x,u)=0、すなわち

\displaystyle{(6)\quad \dot{x}(t)=Ax(t)+Bu(t) }

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

\displaystyle{(7)\quad \begin{array}{l} s(t)=0\\ \Rightarrow\dot{s}(t)=0\\ \Rightarrow S\dot{x}(t)=SAx(t)+SBu(t)=0\\ \Rightarrow \boxed{u_{eq}(t)=-\underbrace{(SB)^{-1}SA}_{L_{eq}}x(t)} \end{array} }

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

\displaystyle{(8)\quad \boxed{\dot{x}(t)=\underbrace{(I_n-B(SB)^{-1}S)A}_{A_{eq}}x(t)}\quad(t\ge t_s) }

●いま(1)においてf(t,x,u)\ne 0の場合、適合サイズをもつ行列Rを用いて

\displaystyle{(9)\quad { \boxed{f(t,x,u)=BR\xi(t,x)}} }

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

\displaystyle{(10)\quad \begin{array}{l} s(t)=0\\ \Rightarrow\dot{s}(t)=0\\ \Rightarrow S\dot{x}(t)=SAx(t)+SBu(t)+SBR\xi(t,x)=0\\ \Rightarrow u(t)=-(SB)^{-1}(SAx(t)+SBR\xi(t,x)) \end{array} }

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

\displaystyle{(11)\quad \begin{array}{l} \dot{x}(t)=Ax(t)-B(SB)^{-1}(SAx(t)+SBR\xi(t,x))+BR\xi(t,x)\\ =\underbrace{(I_n-B(SB)^{-1}S)A}_{A_{eq}}x(t)+ \underbrace{(I_n-B(SB)^{-1}S)B}_0R\xi(t,x)\\ =\underbrace{(I_n-B(SB)^{-1}S)A}_{A_{eq}}x(t) \end{array} }

すなわちマッチング条件とよばれる(9)が成り立つとき、スライディングモード時はf(t,x,u)の影響を受けないことが分かります。

●剛体振子の運動方程式は次式で与えられました。

\displaystyle{(12)\quad \ddot{\theta}(t)=-\underbrace{\frac{3g}{4\ell}}_{a}\sin\theta(t)+\underbrace{\frac{1}{J}\tau(t)}_{u(t)} }

x_1=\theta, x_2=\dot{\theta}とおいて、次の非線形状態方程式を得ます。

\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] }

これは、次式のように、2重積分器に非線形項が加えられたものとみなすことができます。

\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] }

そこで、図1のSM制御則をそのまま用いたときの様子を調べてみます。図2はa=15とした場合(\ell=0.5)のシミュレーション結果です。


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

図2b 非線形項を考慮した場合の線形制御(SM制御のスイッチング項を外した場合)

図1のSM制御則は非線形項を考慮していないのですが、マッチング条件が満たされているので、非線形項の影響を抑制していることが分かります。これは図2bのスイッチング項がない場合と比べると明らかです。

SM制御則

[4] 制御対象の状態方程式として次式を考えます。

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)+f(t,x,u)\\ (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, f(t,x,u)\in{\rm\bf R}^n) \end{array} }

以下では、状態方程式とスイッチング関数は次のSMC標準形(regular form)をとるように座標変換されていると仮定します({\rm rank}B={\rm rank}S=m)。

\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)}} }

\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)} }

これに対して、座標変換

\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} }

を行って、次式を得ます。

\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}} }

ただし

\displaystyle{(6)\quad  \left\{\begin{array}{l} \bar{A}_{11}=A_{11}-A_{12}M\\ \bar{A}_{12}=A_{12}S_2^{-1}\\ \bar{A}_{21}=S_2(M\bar{A}_{11}+A_{21}-A_{22}M)\\ \bar{A}_{22}=S_2(M{A}_{12}+A_{22})S_2^{-1}\\ \bar{B}_{2}=S_2B_2 \end{array}\right. }

以下では、\bar{A}_{11}が安定行列となるようにスイッチング関数が選ばれていると仮定します。

●SMC標準形に対する等価制御は、f_u=0, f_m=0として

\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} }

のように得られます。線形制御則u_\ellは、この等価制御をベースして

\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} }

のように構成します。ここで、\Phiは適当に設定された安定行列です。

●このとき閉ループ系は次式で与えられます。

\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} }

これからスライディングモードs=0を達成するために\Phiの影響を与えることが分かります。簡単な例で確かめると\Phiはダンピングを与え、速くスライディングモードを達成するためのパラメータであることが分かります。

さて、\Phiは安定行列なので

\displaystyle{(12)\quad \begin{array}{l} \boxed{P_2\Phi+\Phi^TP_2=-I} \end{array} }

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

\displaystyle{(13)\quad  u_n(t)=-\underbrace{\bar{B}_{2}^{-1}}_{(SB)^{-1}}\rho(t,x)\frac{P_2s(t)}{||P_2s(t)||} }

すなわち

\displaystyle{(14)\quad  \boxed{u_n(t)=-\underbrace{(SB)^{-1}\rho(t,x)}_{L_n}\frac{P_2s(t)}{||P_2s(t)||}} }

と定めます。線形制御則(10)とスイッチング制御則(14)を用いて、2次安定性を示すことができます。

スイッチング関数(1)

[5] スライディングモードの場合、s(t)=0なので

\displaystyle{(1)\quad s(t)=0 \Rightarrow Sx(t)=S_1x_1(t)+S_2x_2(t)=0\Rightarrow x_2(t)=-\underbrace{S_2^{-1}S_1}_Mx_1(t)}}

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

\displaystyle{(2)\quad \dot{x}_1(t)=\underbrace{(A_{11}-A_{12}M)}_{\bar{A}_{11}}x_1(t)}

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

\displaystyle{(3)\quad \dot{x}_1(t)=A_{11}x_1(t)+A_{12}x_2(t)}

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

\displaystyle{(4)\quad x_2(t)=-Mx_1(t)}

による閉ループ系とみなすことができます。

したがって、\bar{A}_{11}が安定行列となるようにスイッチング関数が選ぶためには、(3)に対する状態フィードバックによる安定化問題を解けばよいことが分かります。

●そこで、次の2次形式評価関数を最小にするようにMを決定する方法が提案されています。

\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} }

これは

\displaystyle{(6)\quad J=\int_0^\infty(x_1^T(t)\underbrace{(Q_{11}-Q_{12}Q_{22}^{-1}Q_{21})}_{\hat{Q}}x_1(t)}
\displaystyle{+\underbrace{(Q_{12}Q_{22}^{-1}x_1(t)+x_2(t))^T}_{\hat{u}^T}\underbrace{Q_{22}}_{\hat{R}}\underbrace{(Q_{12}Q_{22}^{-1}x_1(t)+x_2(t))}_{\hat{u}})dt}

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

\displaystyle{(7)\quad \dot{x}_1(t)=\underbrace{(A_{11}-A_{12}Q_{22}^{-1}Q_{21})}_{\hat{A}}x_1(t)+\underbrace{A_{12}}_{\hat{B}}\underbrace{(Q_{22}^{-1}Q_{21}x_1(t) +x_2(t))}_{\hat{u}(t)}}

\displaystyle{(8)\quad \underbrace{Q_{22}^{-1}Q_{21}x_1(t) +x_2(t)}_{\hat{u}(t)}=-\underbrace{(M-Q_{22}^{-1}Q_{21})}_{\hat{F}}x_1(t)}

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

\displaystyle{(9)\quad \boxed{\begin{array}{l} \dot{x}_1(t)=\hat{A}x_1(t)+\hat{B}\hat{u}(t)\\ \hat{A}=A_{11}-A_{12}Q_{22}^{-1}Q_{21}\\ \hat{B}=A_{12} \end{array}} }

を2次系式評価関数

\displaystyle{(10)\quad \boxed{\begin{array}{l} J=\int_0^\infty(x_1^T(t)\hat{Q}x_1(t)+\hat{u}^T(t)\hat{R}\hat{u}(t))dt\\ \hat{Q}=Q_{11}-Q_{12}Q_{22}^{-1}Q_{21}\\ \hat{R}=Q_{22} \end{array}} }

を最小にするように

\displaystyle{(11)\quad \boxed{\begin{array}{l} \hat{u}(t)=-\hat{F}x_1(t)\\ \hat{F}=M-Q_{22}^{-1}Q_{21} \end{array}} }

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

\displaystyle{(12)\quad \boxed{\Pi\hat{A}+\hat{A}^T\Pi-\Pi\hat{B}\hat{R}^{-1}\hat{B}^T\Pi+\hat{Q}=0}}

を解いて

\displaystyle{(13)\quad \boxed{\hat{F}=\hat{R}^{-1}\hat{B}^T\Pi}}

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

\displaystyle{(14)\quad \boxed{M=\hat{F}+Q_{22}^{-1}Q_{21}}}

●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] 等価制御

\displaystyle{(1)\quad u_{eq}(t)=-(SB)^{-1}SAx(t) }

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

\displaystyle{(2)\quad \dot{x}(t)=\underbrace{(I_n-B(SB)^{-1}S)A}_{A_{eq}}x(t)\quad(t\ge t_s) }

ここで

\displaystyle{(3)\quad SA_{eq}=S(I_n-B(SB)^{-1}S)A=0 }

また、ABSは、SMC標準形で与えられるとすると

\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} }

となって、\bar{A}_{11}が安定行列なので、A_{eq}m個の零固有値を持ちます。一方、A_{eq}の非零固有値\lambda_i\ (i=1,\cdots,n-m)に対応する固有ベクトルをv_iとすると、

\displaystyle{(5)\quad SA_{eq}=0\Rightarrow SA_{eq}v_i=0\Rightarrow \lambda_iSv_i=0 \Rightarrow Sv_i=0 }

すなわち

\displaystyle{(6)\quad { \boxed{S[v_1\cdots v_{n-m}]=0 % \Rightarrow  [v_1\cdots v_{n-m}]^TS^T=0}} }

が成り立ちます。したがって、まず等価制御による閉ループ系のA_{eq}が望ましい固有値・固有ベクトルをもつように設計して、(5)からSを決定することが考えられます。

●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] 定値外乱を受ける制御対象

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)+w\\ y(t)=Cx(t)\\ (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p, w\in{\rm\bf R}^n, m=p) \end{array} }

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

\displaystyle{(2)\quad r\in{\rm\bf R}^m %\begin{array}{l} %\dot{r}(t)=\Gamma(r(t)-r_c)\\ %(r(t),r_c\in{\rm\bf R}^m) %\end{array} %\Gammaは安定行列 }

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

\displaystyle{(3)\quad \begin{array}{l} \dot{x}_I(t)=y(t)-r\\ %\dot{x}_I(t)=r(t)-y(t)\\ (x_I(t)\in{\rm\bf R}^m) \end{array} }

を考え、次の拡大系を構成します。

偏差系E3:
\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) }

を得ます。この偏差系E3が標準形となっていることに注意して、SMCを設計します。

(4)を、改めて次のように書きます。

\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} }

スイッチング関数として、次式を考えます。

\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) }

(15)に対して、座標変換

\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)} }

を行って、次式を得ます。

\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) }

\displaystyle{(9)\quad \left\{\begin{array}{l} \bar{A}_{11}=A-BM\\ \bar{A}_{12}=BS_2^{-1}\\ \bar{A}_{21}=S_1(A-BM)\\ \bar{A}_{22}=S_1BS_2^{-1} \end{array}\right. }

以下では、\bar{A}_{11}が安定行列となるようにスイッチング関数が選ばれていると仮定します。

このとき、SM制御則を、2次安定性

\displaystyle{(10)\quad  \begin{array}{lll} V(s)=s(t)^TP_2s(t)& \Rightarrow \dot{V}(s)\le -s^T(t)s(t)&(t\le t_s)\\ V(x_1)=x_1^T(t)P_1x_1(t)& \Rightarrow \dot{V}(x_1)\le -x_1^T(t)Q_1x_1(t)&(t> t_s) \end{array} }

が成り立つように決定します(P_1>0, P_2>0, Q_1>0)。

偏差系E3に対するSMCは次式で与えられます。

\displaystyle{(11)\quad  {\dot u}(t)={\dot u}_\ell(t)+{\dot u}_n(t) }

\displaystyle{(12)\quad  {\dot u}_\ell(t)=-(SB_{E3})^{-1}(SA_{E3}-\Phi S)x_{E3}(t) }

\displaystyle{(13)\quad  {\dot u}_n(t)=-(SB_{E3})^{-1}\rho\frac{P_2s(t)}{||P_2s(t)||}}=-(SB_{E3})^{-1}\rho\,{\rm sgn}(P_2Sx_{E3}(t)) }

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

\displaystyle{(14)\quad  {u}(t)={u}_\ell(t)+{u}_n(t) }

まず(12)は次式のように書けます。

\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)} }

これを積分して

\displaystyle{(16)\quad  \boxed{u_\ell(t)=-Fx(t)+F_I\int_0^t(r-y(\tau))d\tau} }

次に(13)は次式のように書けます。

\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)}) }

これを積分すれば

\displaystyle{(18)\quad  \boxed{u_n(t)=(SB_{E3})^{-1}\rho\,\int_0^t\underbrace{{\rm sgn}(-G{\dot x}(\tau)+G_I(r-y(\tau)))}_{0,\pm 1}d\tau} }

●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

いま漸近安定な線形系

\displaystyle{(1)\quad \dot{x}(t)=Ax(t) }

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

\displaystyle{(2)\quad \dot{x}(t)=(A+\Delta A)x(t)=Ax(t)+\underbrace{\Delta Ax(t)}_{\xi(t,x)}\qquad(x(0)\ne0) }

条件A2’より、適当なP>0Q>0に対して

\displaystyle{(3)\quad PA+A^TP+Q=0 }

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

\displaystyle{(4)\quad \boxed{||\xi(t,x)||\le\frac{1}{2}\frac{\sigma_n(Q)}{\sigma_1(P)}||x(t)||} }

ならば、リャプノフ関数

\displaystyle{(5)\quad V(x)=x^T(t)Px(t) }

に対して

\displaystyle{(6)\quad \frac{d}{dt}V(x)<0 }

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

●実際、

\displaystyle{(7)\quad \begin{array}{l} \frac{d}{dt}V(x)=x^T(t)P\dot{x}(t)+\dot{x}^T(t)Px(t)\\ =x^T(t)P(Ax(t)+\xi(t,x))+(x^T(t)A^T+\xi^T(t,x))Px(t)\\ =x^T(t)PAx(t)+x^T(t)A^TPx(t)+x^T(t)P\xi(t,x)+\xi^T(t,x)Px(t)\\ =x^T(t)(PA+A^TP)x(t)+2\xi^T(t,x)Px(t)\\ =-x^T(t)Qx(t)+2\xi^T(t,x)Px(t)\\ \le -x^T(t)Qx(t)+ 2||\xi(t,x)||\underbrace{||Px(t)||}_{\sqrt{x^T(t)P^2x(t)}} \end{array} }

ここで、

\displaystyle{(8)\quad \begin{array}{l} \sigma_n(Q)x^T(t)x(t)\le x^T(t)Qx(t) \Rightarrow \sigma_n(Q)||x(t)||^2\le x^T(t)Qx(t)\\ x^T(t)P^2x(t)\le\sigma_1(P^2)x(t)^Tx(t) \Rightarrow \sqrt{x^T(t)P^2x(t)}\le\sigma_1(P)||x(t)|| \end{array} }

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

\displaystyle{(9)\quad \begin{array}{l} \frac{d}{dt}V(x) \le -\sigma_n(Q)||x(t)||^2+ 2||\xi(t,x)||\sigma_1(P)x(t)^Tx(t) \\ =(||\xi(t,x)||-\frac{1}{2}\frac{\sigma_n(Q)}{\sigma_1(P)}||x(t)||)2\sigma_1(P)||x(t)||<0 \end{array} }

となります。

補遺:偏差系の安定化SM制御


補遺:偏差系の安定化SM制御…Homework

レギュレータ問題は平衡状態の安定化、追値問題は他の平衡状態への安定化を意味します。LQI制御のところでみたように、偏差系を導入すれば、追値問題は偏差系の安定化問題となります。この観点から積分動作導入による追従SM制御を見直してみます。

[1] 定値外乱を受ける制御対象

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)+w\\ y(t)=Cx(t)\\ (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p, w\in{\rm\bf R}^n, m=p) \end{array} }

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

\displaystyle{(2)\quad r\in{\rm\bf R}^m %\begin{array}{l} %\dot{r}(t)=\Gamma(r(t)-r_c)\\ %(r(t),r_c\in{\rm\bf R}^m) %\end{array} %\Gammaは安定行列 }

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

\displaystyle{(3)\quad \begin{array}{l} \dot{x}_I(t)=y(t)-r\\ %\dot{x}_I(t)=r(t)-y(t)\\ (x_I(t)\in{\rm\bf R}^m) \end{array} }

を考え、次の拡大系を構成します。

\displaystyle{(4)\quad %\underbrace{ \left[\begin{array}{c} \dot{x}(t) \\ \dot{x}_I(t) \end{array}\right] %}_{\dot{x}_E(t)} = %\underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] %}_{A_E} %\underbrace{ \left[\begin{array}{c} x(t) \\ x_I(t) \end{array}\right] %}_{x_E(t)} + %\underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] %}_{B_E} u(t) + %\underbrace{ \left[\begin{array}{c} w \\ -r \end{array}\right] %}_{w_E} }

定常状態では

\displaystyle{(5)\quad \left[\begin{array}{c} 0 \\ 0 \end{array}\right] = \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] \left[\begin{array}{c} x_\infty \\ x_{I\infty} \end{array}\right] + \left[\begin{array}{c} B \\ 0 \end{array}\right] u_\infty + \left[\begin{array}{c} w \\ -r \end{array}\right] }

を得ます(x_{\infty},x_{I\infty},u_{\infty}は定数ベクトル)。まず、(4)から(5)を引いて、つぎの偏差系を得ます。

偏差系E1:
\displaystyle{(6)\quad \underbrace{ \frac{d}{dt} \left[\begin{array}{c} x(t)-x_\infty \\ x_I(t)-x_{I\infty} \end{array}\right] }_{\dot{x}_{E1}(t)} = \underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] }_{A_{E1}} \underbrace{ \left[\begin{array}{c} x(t)-x_\infty \\ x_I(t)-x_{I\infty} \end{array}\right] }_{x_{E1}(t)} + \underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] }_{B_{E1}} (u(t)-u_\infty) }

この両辺を微分すれば、状態変数の中の定数ベクトルを除くことができて

偏差系E2:
\displaystyle{(7)\quad \underbrace{ \frac{d}{dt} \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{\dot{x}_{E2}(t)} = \underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] }_{A_{E2}} \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)} + \underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] }_{B_{E2}} {\dot u}(t) }

を得ます。さらに、(1)の状態方程式と観測方程式をまとめた

\displaystyle{(8)\quad \left[\begin{array}{c} {\dot x}(t)-w \\ y(t) \end{array}\right] = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S_E} \left[\begin{array}{c} x(t) \\ u(t) \end{array}\right] }

から、(5)すなわち

\displaystyle{(9)\quad \left[\begin{array}{c} -w \\ r \end{array}\right] = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S_E} \left[\begin{array}{c} x_\infty \\ u_\infty \end{array}\right] }

を引いて、つぎの関係式が成り立ちます。

\displaystyle{(10)\quad \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)} = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S_E} \underbrace{ \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] }_{x_{E3}(t)} }

これを用いて、偏差系E2に座標変換を行えば

偏差系E3:
\displaystyle{(11)\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) }

を得ます。ここで、つぎの関係式を用いました。

\displaystyle{(12)\quad \underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] }_{A_{E2}} \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S_E} = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S_E} \underbrace{ \left[\begin{array}{cc} A & B \\ 0 & 0 \end{array}\right] }_{A_{E3}} }

\displaystyle{(13)\quad \underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] }_{B_{E2}} = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S_E} \underbrace{ \left[\begin{array}{c} 0 \\ I_m \end{array}\right] }_{B_{E3}} }

\displaystyle{(14)\quad \underbrace{ \left[\begin{array}{cc} 0 & I_m \end{array}\right] }_{C_{E2}} \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S_E} = \underbrace{ \left[\begin{array}{cc} C & 0 \end{array}\right] }_{C_{E3}} }

以下では、この偏差系E3が標準形となっていることに注意して、SMCを設計します。

(11)を、改めて次のように書きます。

\displaystyle{(15)\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} }

スイッチング関数として、次式を考えます。

\displaystyle{(16)\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) }

(15)に対して、座標変換

\displaystyle{(17)\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)} }

を行って、次式を得ます。

\displaystyle{(18)\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) }

\displaystyle{(19)\quad \begin{array}{l} \bar{A}_{11}=A-BM\\ \bar{A}_{12}=BS_2^{-1}\\ \bar{A}_{21}=S_1(A-BM)\\ \bar{A}_{22}=S_1BS_2^{-1} \end{array} }

以下では、\bar{A}_{11}が安定行列となるようにスイッチング関数が選ばれていると仮定します。

このとき、スライディングモード制御則(SM制御則、SMC則)

\displaystyle{(20)\quad  {\dot u}(t)=\underbrace{{\dot u}_\ell(t)}_{linear\ control}+\underbrace{{\dot u}_n(t)}_{switching\ component}} }

を、2次安定性

\displaystyle{(21)\quad  \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}} }

すなわち

\displaystyle{(21')\quad  \begin{array}{lll} V(\bar{x})= \underbrace{x_1^T(t)P_1x_1(t)}_{V(x_1)}+\underbrace{s^T(t)P_2s(t)}_{V(s)}\\ \Rightarrow \dot{V}(\bar{x})\le  -x_1^T(t)Q_1x_1(t)-s^T(t)s(t) \end{array}} }

が成り立つように決定します(P_1>0, P_2>0, Q_1>0)。

[2] 可到達性の検討

等価制御は

\displaystyle{(22)\quad \begin{array}{l} s(t)=0\Rightarrow\dot{s}(t)=0 \Rightarrow 0=\bar{A}_{21}x_1(t)+\bar{A}_{22}s(t)+S_2{\dot u}(t)\\ \Rightarrow {\dot u}_{eq}(t)=-\underbrace{S_2^{-1}}_{(SB_{E3})^{-1}} \underbrace{\left[\begin{array}{cc} \bar{A}_{21} & \bar{A}_{22} \\ \end{array}\right]x'_{E3}(t)}_{SA_{E3}x_{E3}(t)}} \end{array} }

のように得られます。(20)の第1項{\dot u}_\ellは、この等価制御をベースして

\displaystyle{(23)\quad  \begin{array}{l} {\dot u}_\ell(t)=-\underbrace{S_2^{-1}}_{(SB_{E3})^{-1}} \underbrace{(\left[\begin{array}{cc} \bar{A}_{21} & \bar{A}_{22} \\ \end{array}\right]x'_{E3}(t)-\Phi s(t))}_{(SA_{E3}-\Phi S)x_{E3}(t)}} \end{array}} }

のように構成します(\Phiは安定行列)。このとき閉ループ系は次式で与えられます。

\displaystyle{(24)\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} 0\\ S_2{\dot u}_n(t) \end{array}\right] \end{array }

すなわち

\displaystyle{(25)\quad \begin{array}{l} \dot{x}_1(t)=\bar{A}_{11}x_1(t)+\bar{A}_{12}s(t)\\ \dot{s}(t)=\Phi s(t)+S_2{\dot u}_n(t) \end{array} }

ここで、\Phiは安定行列なので

\displaystyle{(26)\quad \begin{array}{l} P_2\Phi+\Phi^TP_2=-I \end{array} }

を満たすP_2>0を選ぶことができます。これを用いて

\displaystyle{(27)\quad  {\dot u}_n(t)=-\underbrace{S_2^{-1}}_{(SB_{E3})^{-1}}\rho\frac{P_2s(t)}{||P_2s(t)||}} }

と選びます(\rho>0は定数)。このとき次式が成り立ちます。

\displaystyle{(28)\quad \begin{array}{l} \dot{V}(s)=2s^T(t)P_2\dot{s}(t)\\ =2s^T(t)P_2(\Phi s(t)-\rho\frac{P_2s(t)}{||P_2s(t)||})\\ =s^T(t)(P_2\Phi+\Phi^TP_2)s(t)+2s^T(t)P_2(-\rho\frac{P_2s(t)}{||P_2s(t)||})\\ = -||s(t)||^2-2\rho||P_2s(t)||\\ \le -||s(t)||^2 \end{array} }

[3] スライディングモードの検討

\bar{A}_{11}は安定行列なので

\displaystyle{(29)\quad \begin{array}{l} P_1\bar{A}_{11}+\bar{A}_{11}^TP_1=-Q_1<0 \end{array} }

を満たすP_1>0を選ぶことができます。

\displaystyle{(30)\quad \begin{array}{l} \dot{V}(x_1)=2x_1^T(t)P_1\dot{x}_1(t)\\ =2x_1^T(t)P_1( \bar{A}_{11}x_1(t)+\bar{A}_{12}\underbrace{s(t)}_{0})\\ =x_1^T(t)(P_1\bar{A}_{11}+\bar{A}_{11}^TP_1)x_1(t)\\ =-x_1^T(t)Q_1x_1(t) \end{array} }

[4] 積分動作をもつSMC

上で求めた偏差系E3に対するSMCは次式で与えられました。

\displaystyle{(31)\quad  {\dot u}(t)={\dot u}_\ell(t)+{\dot u}_n(t) }

\displaystyle{(32)\quad  {\dot u}_\ell(t)=-(SB_{E3})^{-1}(SA_{E3}-\Phi S)x_{E3}(t) }

\displaystyle{(33)\quad  {\dot u}_n(t)=-(SB_{E3})^{-1}\rho\frac{P_2s(t)}{||P_2s(t)||}}=-(SB_{E3})^{-1}\rho\,{\rm sgn}(P_2Sx_{E3}(t)) }

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

\displaystyle{(34)\quad  {u}(t)={u}_\ell(t)+{u}_n(t) }

まず(32)は(10)を用いて次式のように書けます。

\displaystyle{(35)\quad  {\dot u}_\ell(t)=- \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)} }

これを積分して

\displaystyle{(36)\quad  u_\ell(t)=-Fx(t)+F_I\int_0^t(r-y(\tau))d\tau }

次に(33)は(10)を用いて次式のように書けます。

\displaystyle{(37)\quad  {\dot u}_n(t) =-S_2^{-1}\rho\, {\rm sgn}( \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)}) }

これを積分すれば

\displaystyle{(38)\quad  u_n(t)=S_2^{-1}\rho\,\int_0^t\underbrace{{\rm sgn}(-G{\dot x}(\tau)+G_I(r-y(\tau)))}_{0,\pm 1}d\tau }

ここで、\dot{x}_1(t)=\frac{d}{dt}(x(t)-x_\infty)=\dot{x}(t)に注意し、(25)の第1式を用いて\dot{x}(t)

\displaystyle{(39)\quad  \begin{array}{l} \underbrace{\dot{x}_1(t)}_{\dot{x}(t)}=\underbrace{(A-BM)}_{\bar{A}_{11}}x_1(t)+\underbrace{BS_2^{-1}}_{\bar{A}_{12}}\underbrace{(S_1x_1(t)+S_2x_2(t))}_{s(t)}\\ =(A-BM)x_1(t)+BS_2^{-1}S_2(Mx_1(t)+x_2(t))\\ =Ax_1(t)+Bx_2(t)\\ =Ax(t)+Bu(t)-\left[\begin{array}{cc} A & B \end{array}\right] \left[\begin{array}{c} x_\infty \\ u_\infty \end{array}\right]\\ =Ax(t)+Bu(t)-\left[\begin{array}{cc} A & B \end{array}\right]S_E^{-1} \left[\begin{array}{c} -w \\ r \end{array}\right]\\ =Ax(t)+Bu(t)-\left[\begin{array}{cc} I & 0 \end{array}\right] \left[\begin{array}{c} -w \\ r \end{array}\right]\\ =Ax(t)+Bu(t)+w \end{array} }

となって元の状態方程式となりますが、wを無視し、uの近似値を使うことも一手段かもしれません。

[5] 数値例(1)

\displaystyle{(101)\quad \begin{array}{l} \dot{x}(t)=\underbrace{0}_{a}x(t)+\underbrace{1}_{b}u(t)+w\\ y(t)=\underbrace{1}_{c}x(t)\\ \end{array} }

\displaystyle{(109)\quad \left[\begin{array}{c} -w \\ r \end{array}\right] = \underbrace{ \left[\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right] }_{S_E} \left[\begin{array}{c} x_\infty \\ u_\infty \end{array}\right] \Rightarrow \left[\begin{array}{c} x_\infty \\ u_\infty \end{array}\right]= \left[\begin{array}{c} r \\ -w \end{array}\right] }

\displaystyle{(111)\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} 0 & 1 \\ 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 \\ 1 \end{array}\right] }_{B_{E3}} {\dot u}(t) }

\displaystyle{(116)\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 & 1 \\ \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) }

\displaystyle{(117)\quad \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{x'_{E3}(t)} = \underbrace{ \left[\begin{array}{cc} 1 & 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} 1 & 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)} }

\displaystyle{(118)\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} -m & s_2^{-1} \\ -s_1m & m \\ \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) }

\displaystyle{(123)\quad \begin{array}{l} {\dot u}_\ell(t)= -\underbrace{s_2^{-1}}_{(SB_{E3})^{-1}} \underbrace{(\left[\begin{array}{cc} -s_1m & m \\ \end{array}\right]x'_{E3}(t)-\Phi s(t))}_{(SA_{E3}-\Phi S)x_{E3}(t)}}\\ =-s_2^{-1}(\left[\begin{array}{cc} 0 & ms_2 \\ \end{array}\right]- \left[\begin{array}{cc} \Phi s_1 & \Phi s_2 \\ \end{array}\right])x_{E3}(t)\\ =-s_2^{-1}\left[\begin{array}{cc} -\Phi s_1 & ms_2-\Phi s_2 \\ \end{array}\right]x_{E3}(t)\\ =-\left[\begin{array}{cc} -\Phi m & m-\Phi \\ \end{array}\right] \underbrace{ \left[\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right] }_{S_E^{-1}} \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)}\\ =-\underbrace{(m-\Phi)}_{f}{\dot x}(t)+\underbrace{m(-\Phi)}_{f_I}(r-y(t))\\ \Rightarrow u_\ell(t)=-fx(t)+f_I\int_0^t (r-y(\tau))d\tau \end{array} }

\displaystyle{(126)\quad \begin{array}{l} p_2\Phi+\Phi^Tp_2=-1\Rightarrow p_2=-\frac{1}{2}\Phi^{-1} \end{array} }

\displaystyle{(127)\quad  \begin{array}{l} {\dot u}_n(t) =-s_2^{-1}\rho\, {\rm sgn}(\underbrace{-\frac{1}{2}\Phi^{-1}}_{p_2} \underbrace{ \left[\begin{array}{cc} s_1 & s_2 \end{array}\right] }_{S} \underbrace{ \left[\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right] }_{S_E^{-1}} \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)})\\ =\rho\, {\rm sgn}(\frac{1}{2}\Phi^{-1} \left[\begin{array}{cc} 1 & m \end{array}\right] \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right])\\ =\rho\, {\rm sgn}(-\underbrace{\frac{1}{2}(-\Phi^{-1})}_{g}{\dot x}(t)+\underbrace{\frac{1}{2}m(-\Phi^{-1})}_{g_I} (r-y(t)))\\ \Rightarrow u_n(t)=\rho\,\int_0^t\underbrace{{\rm sgn}(-g{\dot x}(\tau)+g_I(r-y(\tau)))}_{0,\pm 1}d\tau \end{array} }

m=1, \Phi=-0.5の場合のシミュレーション結果を次に示します。

[5] 数値例(2)

\displaystyle{(201)\quad \begin{array}{l} \dot{x}(t)= \underbrace{\left[\begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array}\right]}_{A}x(t) +\underbrace{\left[\begin{array}{cc} 0  \\ 1  \end{array}\right]}_{B}u(t)+ \left[\begin{array}{cc} 0  \\ w \end{array}\right]\\ y(t)=\underbrace{\left[\begin{array}{cc} 1 & 0   \end{array}\right]}_{C}x(t)\\ \end{array} }

\displaystyle{(209)\quad \left[\begin{array}{c} 0 \\ -w \\ r \end{array}\right] = \underbrace{ \left[\begin{array}{ccc} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0  \end{array}\right] }_{S_E} \left[\begin{array}{c} x_{1\infty} \\ x_{2\infty} \\ u_\infty \end{array}\right] \Rightarrow \left[\begin{array}{c} x_{1\infty} \\ x_{2\infty} \\ u_\infty \end{array}\right]= \left[\begin{array}{c} r \\ 0 \\ -w \end{array}\right] }

\displaystyle{(211)\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}{ccc} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 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 \\ 0 \\ 1 \end{array}\right] }_{B_{E3}} {\dot u}(t) }

\displaystyle{(216)\quad \begin{array}{l} s(t)= \underbrace{ \left[\begin{array}{ccc} s_{11} & s_{12} & 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}{ccc} m_1 & m_2 & 1 \\ \end{array}\right] }_{S} \underbrace{ \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }_{x_{E3}(t)}\\ (m_1=s_2^{-1}s_{11},m_2=s_2^{-1}s_{12}) \end{array} }

\displaystyle{(217)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right] }_{x'_{E3}(t)} = \underbrace{ \left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ s_{11} & s_{12} & 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}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ -s_2^{-1}s_{11} & -s_2^{-1}s_{12} & 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)} \end{array} }

\displaystyle{(218)\quad \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot s(t) \end{array}\right] }_{\dot{x}'_{E3}(t)} = \underbrace{ \left[\begin{array}{ccc} 0 & 1 & 0\\ -m_1 & -m_2 & s_2^{-1} \\ -s_{12}m_1 & -s_{12}m_2 & m_2 \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\\ 0\\ s_2 \end{array}\right] }_{T_sB_{E3}} {\dot u}(t) }

\displaystyle{(223)\quad \begin{array}{l} {\dot u}_\ell(t)= -\underbrace{s_2^{-1}}_{(SB_{E3})^{-1}} \underbrace{(\left[\begin{array}{ccc} -s_{12}m_1 & -s_{12}m_2 & m_2 \\ \end{array}\right]x'_{E3}(t)-\Phi s(t))}_{(SA_{E3}-\Phi S)x_{E3}(t)}}\\ =-s_2^{-1}(\left[\begin{array}{ccc} 0 & 0 & m_2s_2 \\ \end{array}\right]- \left[\begin{array}{ccc} \Phi s_{11} & \Phi s_{12} & \Phi s_2 \\ \end{array}\right])x_{E3}(t)\\ =-s_2^{-1}\left[\begin{array}{ccc} -\Phi s_{11} & -\Phi s_{12} & m_2s_2-\Phi s_2 \\ \end{array}\right]x_{E3}(t)\\ =-\left[\begin{array}{ccc} -\Phi m_1 & -\Phi m_2 & m_2-\Phi \\ \end{array}\right] \underbrace{ \left[\begin{array}{ccc} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0  \end{array}\right] }_{S_E^{-1}} \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)}\\ =-\underbrace{ \left[\begin{array}{cc} -\Phi m_2 & m_2-\Phi \\ \end{array}\right] }_{F}{\dot x}(t)+\underbrace{m_1(-\Phi)}_{F_I}(r-y(t))\\ \Rightarrow u_\ell(t)=-Fx(t)+F_I\int_0^t (r-y(\tau))d\tau \end{array} }

\displaystyle{(226)\quad \begin{array}{l} p_2\Phi+\Phi^Tp_2=-1\Rightarrow p_2=-\frac{1}{2}\Phi^{-1} \end{array} }

\displaystyle{(237)\quad  \begin{array}{l} {\dot u}_n(t) =-s_2^{-1}\rho\, {\rm sgn}(\underbrace{-\frac{1}{2}\Phi^{-1}}_{p_2} \underbrace{ \left[\begin{array}{ccc} s_{11} & s_{12} & s_2 \end{array}\right] }_{S} \underbrace{ \left[\begin{array}{ccc} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0  \end{array}\right] }_{S_E^{-1}} \underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right] }_{x_{E2}(t)})\\ =s_2^{-1}\rho\, {\rm sgn}(\frac{1}{2}\Phi^{-1} \left[\begin{array}{ccc} s_{12} & s_2 & s_{11}  \end{array}\right] \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right])\\ =\rho\, {\rm sgn}(\frac{1}{2}\Phi^{-1} \left[\begin{array}{ccc} m_2 & 1 & m_1  \end{array}\right] \left[\begin{array}{c} {\dot x}(t) \\ y(t)-r \end{array}\right])\\ =\rho\, {\rm sgn}(-\underbrace{\frac{1}{2}(-\Phi^{-1}) \left[\begin{array}{cc} m_2 & 1  \end{array}\right] }_{G}{\dot x}(t)+\underbrace{\frac{1}{2}m_1(-\Phi^{-1})}_{G_I} (r-y(t)))\\ \Rightarrow u_n(t)=\rho\,\int_0^t\underbrace{{\rm sgn}(-G{\dot x}(\tau)+G_I(r-y(\tau)))}_{0,\pm 1}d\tau \end{array} }

m_1=m_2=1, \Phi=-0.5の場合のシミュレーション結果を次に示します。

演習…Flipped Classroom

MATLAB
%cCIP_smci2.m
%-----
 clear all, close all
 global mc m ell g th0
 mc=1; m=0.1; ell=0.2; g=9.8;
 ths=0 %input('ths   = <0,180> ')/180*pi;
 th0=3/180*pi %input('th(0) = <0,180> ')/180*pi;
%-----
 A=[zeros(2,2) eye(2);zeros(2,4)];
 A(3,1)=0; 
 A(3,2)=-3*m*g/(m+4*mc); 
 A(4,1)=0; 
 A(4,2)=3*(m+mc)*g/((m+4*mc)*ell);  
 B=zeros(4,1);
 B(3)=4/(m+4*mc);
 B(4)=-3/((m+4*mc)*ell); 
%-----
 Tcart=1; Mr=0.5;
 Tpend=1/4*2*pi*sqrt(4/3*ell/g); Mth=3/180*pi;
 Tamp=0.01; Mamp=10; 
 CM=eye(2,4); DM=zeros(2,1);
 CS=[1 0]; C=CS*CM; D=CS*DM;
 n=size(A,1); m=size(C,1); r=size(B,2);
%-----
 AE=[A B;zeros(m,n+m)];
 BE=[zeros(n,m);eye(m)];
 SE=[A B;C D];
 CE=eye(n+m);
 QE=diag([1/Mr 1/Mth Tcart/Mr Tpend/Mth 1/Mamp].^2);
 S=swflqr(AE,BE,QE)
%-----
 Phi=-0.5;
 P2=0.5*inv(-Phi);
 Check=P2*Phi+Phi*P2
 P2S=P2*S/SE;
 G=P2S(1:4)
 GI=P2S(5) 
 Leq=inv(S*BE)*S*AE;
 LPhi=-inv(S*BE)*Phi*S;
 L=(Leq+LPhi)/SE;
 F=L(1:4)
 FI=L(5)
 rho=1;
 Ln=inv(S*BE)*rho
%-----
 x0=[0;th0*0;0;0];
 sim('CIP_smci2_2015a.mdl')
%-----
%eof
SCILAB

応用例


応用例…Homework

[1] ある航空機の線形状態方程式として、次を考えます。

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)\\ x(t)= \left[\begin{array}{ll} \theta & pitch\ angle\\ q & pitch\ rate\\ \alpha & angle\ of\ atack\\ \eta & elevator\ deflection\\ \delta & flap\ deflection \end{array}\right],\quad u(t)= \left[\begin{array}{ll} \eta_c & elevator\ command\\ \delta_c& flap\ comannd \end{array}\right]\\ A=\left[\begin{array}{rrrrr} 0 & 1 & 0 & 0 & 0\\ 0 &-1.99 & -13.41 & -18.95 & -3.60\\ 0 & 1 & -1.74 & -0.08 & -0.59\\ 0 & 0 & 0 & -20 & 0\\ 0 & 0 & 0 & 0 & -20 \end{array}\right],\quad B=\left[\begin{array}{rr} 0 & 0 \\ 0 & 0 \\ 0 & 0 \\ 20 & 0\\ 0 & 20 \end{array}\right] \end{array} }

A行列の固有値は次のように求められます。

\displaystyle{(2)\quad \lambda(A):\left\{\begin{array}{cl} -1.864\pm j 3.660 & short\ period\ mode\\ 0 & pitch\ attitude\ mode\\ -20 & elevator\ actuator\ mode\\ -20 & flap\ actuator\ mode \end{array}\right. }

状態変数として、pitch angle \thetaの代わりに、fligt path angle \gamma=\theta-\alphaを用いると、次式となります。

\displaystyle{(3)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)\\ x(t)= \left[\begin{array}{ll} \gamma=\theta-\alpha & fligt\ path\ angle\\ q & pitch\ rate\\ \alpha & angle\ of\ atack\\ \eta & elevator\ deflection\\ \delta & flap\ deflection \end{array}\right],\quad u(t)= \left[\begin{array}{ll} \eta_c & elevator\ command\\ \delta_c& flap\ comannd \end{array}\right]\\ A=\left[\begin{array}{rrrrr} 0 & 0 & 1.74 & 0.08 & 0.59\\ 0 &-1.99 & -13.41 & -18.95 & -3.60\\ 0 & 1 & -1.74 & -0.08 & -0.59\\ 0 & 0 & 0 & -20 & 0\\ 0 & 0 & 0 & 0 & -20 \end{array}\right],\quad B=\left[\begin{array}{rr} 0 & 0 \\ 0 & 0 \\ 0 & 0 \\ 20 & 0\\ 0 & 20 \end{array}\right] \end{array} }

また、評価変数は、pitch angle \thetaとfligt path angle \gammaとすると、その出力方程式は次式のように与えられます。

\displaystyle{(4)\quad \begin{array}{l} y(t)=Hx(t)\\ H= \left[\begin{array}{ccccc} 1 & 0 & 1 & 0 & 0\\ 1 & 0 & 0 & 0 & 0 \end{array}\right] \end{array} }

制御目的は、次図のように、pitch angle \thetaとfligt path angle \gammaの間の非干渉化を達成し、独立して設定値に合せることです。


図1 航空機の操縦法

[3] 積分動作導入による追従制御

この場合の制御則は次のように構成されます。

\displaystyle{(20)\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}}} }

●ここでは、等価制御による閉ループ系のA_{eq}が望ましい固有値・固有ベクトルをもつように設計して、次式からスイッチング関数を決める行列Sを決定します。

\displaystyle{(21)\quad { S[v_1\cdots v_{n-m}]=0 % \Rightarrow  [v_1\cdots v_{n-m}]^TS^T=0} }

A_{eq}の望ましい固有値を

\displaystyle{(22)\quad \lambda(A_{eq}):\left\{\begin{array}{cl} -5.6\pm j 4.2 & short\ period\ mode\\ -1 & pitch\ attitude\ mode\\ -0.4 & elevator\ deflection\ mode\\ -0.7 & flap\ deflextion\ mode \end{array}\right. }

とし、また望ましいモード分布を次により指定します。

\displaystyle{(23)\quad {\tt specpos}= \left[\begin{array}{ccccc} 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0\\\hline 1 & 1 & 1 & 1 & 1\\ 1 & 0 & 1 & 1 & 1\\ 0 & 1 & 1 & 0 & 1\\\hline 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0\\ \end{array}\right],\quad {\tt specent}= \left[\begin{array}{rrrrr} -1 & -1 & -1 & -1 & -1\\ -1 & -1 & -1 & -1 & -1\\\hline 0 & 0 & 1 & 0 & 1\\ 1 & -1 & 0 & 1 & 0\\ -1 & 1 & 0 & -1 & 0\\\hline -1 & -1 & -1 & -1 & -1\\ -1 & -1 & -1 & -1 & -1\\ \end{array}\right] }

このとき次のような行列Sを得ます。

\displaystyle{(24)\quad S=\left[\begin{array}{rrrrr|rr} 0.0531 & 0.0137 & -0.1436 & -0.0260 & -0.1373 & 0.0500 & 0\\ -0.0072 & -0.0612 & 0.1635 & 0.0035 & 0.1661 & 0 & 0.0500 \end{array}\right] }

このときSMC則における行列Lなどは次のように計算されます。

\displaystyle{(25)\quad L=\left[\begin{array}{rrrrrrr} -1.0616 & -0.2743 & 2.9379 & 0.6060 & 2.4605 & -0.4927 & -0.0900\\ 0.1440 & 1.2236 & -3.3390 & -0.2296 & -3.2769 & 0.0671 & 0.0142 \end{array}\right] }

\displaystyle{(26)\quad L_{r}=\left[\begin{array}{rr} -2.9499 & 0.0120\\ 0.4000 & 2.9391 \end{array}\right] }

\displaystyle{(27)\quad L_{\dot{r}}=\left[\begin{array}{rr} -0.1448 & 0.0013\\ 0.0196 & 0.1439 \end{array}\right] }


図2 積分動作導入によるSMC制御系応答

MATLAB
%cAITCRAFT_smci.m
%-----
 clear all, close all
 A0= [0 0 1.74 0.08 0.59;
     0 -1.99 -13.41 -18.95 -3.6;
     0 1 -1.74 -0.08 -0.59;
     0 0 0 -20 0;
     0 0 0 0 -20];
 B0=[0 0;0 0;0 0;20 0;0 20]; 
 H=[1 0 1 0 0;1 0 0 0 0];
 A=[zeros(2,2) -H ;
    zeros(5,2) A0];
 B=[zeros(2,2); B0];
 Gamma=diag([-0.9,-0.7]);
%----- 
 lambda=[-5.6 4.2 -1 -0.4 -0.7];
 nocomp=1;
 specpos=[zeros(2,5);[1 1 1 1 1;1 0 1 1 1;0 1 1 0 1];zeros(2,5)]
 specent=[-ones(2,5);[0 0 1 0 1;1 -1 0 1 0;-1 1 0 -1 0];-ones(2,5)]
 S=swfvpl(A,B,lambda,nocomp,specpos,specent);
 SS=S(:,6:7)\S*0.05
 F=(SS*B)\(SS*A)
 eig(A-B*F)
%-----
 [nn,mm]=size(B);
 S1=SS(:,1:nn-mm);
 S2=SS(:,nn-mm+1:nn);
 Br=eye(nn-mm,mm);
 B2=B(nn-mm+1:nn,:); 
 Lambda=S2*B2;
 P2=diag([0.025,0.025]);
 Phi=-20/0.025*P2;
 Check=P2*Phi+Phi*P2
 L=inv(Lambda)*(SS*A-Phi*SS)
%-----
%Sr=[-0.1448 0.0013;0.0196 0.1439]
 Sr=zeros(2)
 Lr=inv(Lambda)*(Phi*Sr+S1*Br)
 Ldr=inv(Lambda)*Sr
 Ln=0.1*inv(Lambda)
%-----
 sim('AIRCRAFT_smci_2015a.mdl')
%-----
%eof
SCILAB

追従SMI制御

積分動作導入による追従SM制御…Homework

[1] 制御対象

\displaystyle{(1)\quad \begin{array}{l} \dot{x}(t)=Ax(t)+Bu(t)\\ y(t)=Cx(t)\\ (x(t)\in{\rm\bf R}^n, u(t)\in{\rm\bf R}^m, y(t)\in{\rm\bf R}^p, m=p) \end{array} }

の出力を、コマンド(次式の解)

\displaystyle{(2)\quad \begin{array}{l} %\dot{r}(t)=\Gamma(r(t)-r_c)\\ \frac{d}{dt}(r(t)-r_c)=\Gamma(r(t)-r_c)\\ (r(t),r_c\in{\rm\bf R}^m) \end{array} }

に追従させることを考えます(\Gammaは安定行列)。そのために、積分動作

\displaystyle{(3)\quad \begin{array}{l} \dot{x}_r(t)=r(t)-y(t)\\ (x_r(t)\in{\rm\bf R}^m) \end{array} }

を導入し、次の拡大系を構成します。ここで、(1)はすでに標準形であるとしています。

\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} }

これを、次のように分割し直しても標準形であることには変わりありません。

\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} }

ただし

\displaystyle{(5b)\quad %\begin{array}{l} \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] = \left[\begin{array}{c} x_r(t)\\ x(t) \end{array}\right] %\end{array} }

●この積分器による拡大系を安定化できれば、積分器の値x_r(t)は定値となり、被積分項r(t)-y(t)の値は零となり、y(t)r(t)へ漸近します。そこで、SM制御によって拡大系を安定化し、追従制御系を構成することを考えます。この制御系は特別なr(t)=0の場合を含みますので、まずスイッチング関数として、次式を考えます。

\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) }

(5)に対して、座標変換

\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} }

を行って、次式を得ます。

\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} }

ただし

\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. }

ここで、\bar{A}_{11}が安定行列となるように行列Mが選ばれているとします。

●特別なr(t)=0の場合のスライディングモードはs(t)=0で表されますが、一般のr(t)\ne0の場合のスライディングモードは

\displaystyle{(9)\quad {\boxed{s(t)-S_rr(t)=0} \quad\Rightarrow \dot{s}(t)-S_r\dot{r}(t)=0 } }

で表されるとします。ここで、S_rは適当に選択された行列です。

●以上の準備の下で、SM制御則

\displaystyle{(10)\quad u(t)=\underbrace{u_\ell(t)}_{linear\ control}+\underbrace{u_n(t)}_{switching\ component} }

を、2次安定性

\displaystyle{(11)\quad  \boxed{ \begin{array}{lll} V(\bar{x})= \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t)-S_rr(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)-S_rr(t) \end{array}\right] }_{\bar{x}(t)}\\ \Rightarrow \dot{V}(\bar{x})\le - \underbrace{ \left[\begin{array}{c} x_1(t)\\ s(t)-S_rr(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)-S_rr(t) \end{array}\right] }_{\bar{x}(t)} \end{array}}} }

すなわち

\displaystyle{(11')\quad  \begin{array}{lll} V(\bar{x})= \underbrace{x_1^T(t)P_1x_1(t)}_{V(x_1)}+\underbrace{(s(t)-S_rr(t))^TP_2(s(t)-S_rr(t))}_{V(s)}\\ \Rightarrow \dot{V}(\bar{x})\le  -x_1^T(t)Q_1x_1(t)-(s(t)-S_rr(t))^T(s(t)-S_rr(t)) \end{array}} }

が成り立つように決定します(P_1>0, P_2>0, Q_1>0)。

[2] 可到達性の検討

ここでは、スライディングモード制御則(10)の具体的な表現を求めます。

●等価制御は、(8)においてr(t)=0の場合

\displaystyle{ \begin{array}{cl} (12.1) & s(t)=0\\ \Downarrow &\\ (12.2) & \dot{s}(t)=0\\ \Downarrow &\\ (12.3) & 0=S_2\bar{A}_{21}x_1(t)+S_2\bar{A}_{22}S_2^{-1}s(t)+S_2B_2u(t)\\ \Downarrow &\\ (12.4) & u_{eq}(t)=-\underbrace{(S_2B_2)^{-1}}_{([0\ I]T_sB_E)^{-1}} \underbrace{\left[\begin{array}{cc} S_2\bar{A}_{21} & S_2\bar{A}_{22}S_2^{-1} \\ \end{array}\right]}_{[0\ I]T_sA_ET_s^{-1}} \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]\\ \Downarrow & by\ S=[0\ I]T_s\\ (12.5) & u_{eq}(t)=-(SB_E)^{-1}SA_ET_s^{-1} \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]\\ \Downarrow & by\ (7),(8b)\\ (12.6) & u_{eq}(t)=-(SB_E)^{-1}SA_E \left[\begin{array}{c} x_r(t)\\ x(t) \end{array}\right]} \end{array} }

のように得られます。(10)の第1項u_\ellは、この等価制御をベースして、(9)を考慮して

\displaystyle{(13)\quad  \begin{array}{l} u_\ell(t)=-(S_2B_2)^{-1} (\left[\begin{array}{cc} S_2\bar{A}_{21} & S_2\bar{A}_{22}S_2^{-1} \\ \end{array}\right]\left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]-\Phi s(t))\\ -(S_2B_2)^{-1}(\Phi S_r+S_1B_r)r(t)+(S_2B_2)^{-1}S_r\dot{r}(t)\\ \end{array} }

すなわち

\displaystyle{(13')\quad { \boxed{\begin{array}{l} 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)\\ \end{array}}} }

のように構成します(\Phiは安定行列)。このとき閉ループ系は次式で与えられます。

\displaystyle{(14)\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} \\ S_2\bar{A}_{21} & S_2\bar{A}_{22}S_2^{-1} \\ \end{array}\right] \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]\\ + \left[\begin{array}{cc} 0\\ S_2B_2 \end{array}\right] (-(S_2B_2)^{-1} (\left[\begin{array}{cc} S_2\bar{A}_{21} & S_2\bar{A}_{22}S_2^{-1} \\ \end{array}\right]\left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]-\Phi s(t))\\ -(S_2B_2)^{-1}(\Phi S_r+S_1B_r)r(t)+(S_2B_2)^{-1}S_r\dot{r}(t)+u_n(t)) + \left[\begin{array}{cc} B_r \\ S_1B_r \end{array}\right] r(t)\\ = \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] \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]\\ + \left[\begin{array}{cc} 0\\ I_m \end{array}\right] \left[\begin{array}{cc} -S_2\bar{A}_{21} & -S_2\bar{A}_{22}S_2^{-1}+\Phi \\ \end{array}\right] \left[\begin{array}{c} x_1(t)\\ s(t) \end{array}\right]\\ + \left[\begin{array}{cc} 0\\ -(\Phi S_r+S_1B_r)r(t)+S_r\dot{r}(t)+S_2B_2u_n(t) \end{array}\right] + \left[\begin{array}{cc} B_r \\ S_1B_r \end{array}\right] r(t)\\ = \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}{cc} B_rr(t)\\ -\Phi S_rr(t)+S_r\dot{r}(t)+S_2B_2u_n(t) \end{array}\right] \end{array} }

これを変形して

\displaystyle{(15)\quad \begin{array}{l} \left[\begin{array}{c} \dot{x}_1(t)\\ \dot{s}(t)-S_r\dot{r}(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)-S_rr(t) \end{array}\right]\\ + \left[\begin{array}{cc} B_rr(t)\\ -\Phi S_rr(t)+S_r\dot{r}(t)+S_2B_2u_n(t) \end{array}\right] \end{array} }

すなわち、次式が成り立ちます。

\displaystyle{ \begin{array}{cl} (15.1) & \dot{x}_1(t)=\bar{A}_{11}x_1(t)+\bar{A}_{12}(s(t)-S_rr(t))+\underbrace{(B_r+\bar{A}_{12}S_r)}_{B_r'}r(t)\\ (15.2) & \dot{s}(t)-S_r\dot{r}(t)=\Phi(s(t)-S_rr(t))+S_2B_2u_n(t) \end{array} }

(15.2)に基づいてスライディングモードs-S_rr=0を達成するu_nを明らかにします。

\Phiは安定行列なので

\displaystyle{(16)\quad \begin{array}{l} P_2\Phi+\Phi^TP_2=-I_m \end{array} }

を満たすP_2>0を選ぶことができます。これを用いて

\displaystyle{(17)\quad  \begin{array}{l} u_n(t)=-(S_2B_2)^{-1}\rho(u_\ell,y)\frac{P_2(s(t)-S_rr(t))}{||P_2(s(t)-S_rr(t))||} \end{array} }

すなわち

\displaystyle{(17')\quad { \boxed{ \begin{array}{l} u_n(t) =-\underbrace{(SB_E)^{-1}\rho(u_\ell,y)}_{L_n}\frac{P_2(s(t)-S_rr(t))}{||P_2(s(t)-S_rr(t))||} \end{array} }} }

と選びます(\rho>0)。このとき次式が成り立ち、(11)が示されます。

\displaystyle{(18)\quad \begin{array}{l} \dot{V}(s)=2(s(t)-S_rr(t))^TP_2(\dot{s}(t)-S_r\dot{r}(t))\\ =2(s(t)-S_rr(t))^TP_2 (\Phi (s(t)-S_rr(t))-\rho(u_\ell,y)\frac{P_2(s(t)-S_rr(t))}{||P_2(s(t)-S_rr(t))||})\\ =(s(t)-S_rr(t))^T\underbrace{(P_2\Phi+\Phi^TP_2)}_{-I_m}(s(t)-S_rr(t))\\ +2(s(t)-S_rr(t))^TP_2(-\rho(u_\ell,y)\frac{P_2(s(t)-S_rr(t))}{||P_2(s(t)-S_rr(t))||})\\ \le -||s(t)-S_rr(t)||^2-2\rho(u_\ell,y)||P_2(s(t)-S_rr(t))||\\ \le -||s(t)-S_rr(t)||^2 \end{array} }

これより(15.2)における2次安定性が成り立つことが分かります。2次安定であればs-S_rrは0に漸近します。

[3] スライディングモードの検討

次にs-S_rr=0のもとで、(15.1)からx_1の振舞いについて調べます。

\bar{A}_{11}は安定行列なので

\displaystyle{(19)\quad \begin{array}{l} P_1\bar{A}_{11}+\bar{A}_{11}^TP_1=-Q_1<0 \end{array} }

を満たすP_1>0を選ぶことができます。そこで、(15.1)に対するリャプノフ関数V(x_1)=x_1^T(t)P_1x_1(t)の微分について調べます。

\displaystyle{(20)\quad \begin{array}{l} \dot{V}(x_1)=2x_1^T(t)P_1\dot{x}_1(t)\\ =2x_1^T(t)P_1( \bar{A}_{11}x_1(t)+\bar{A}_{12}\underbrace{(s(t)-S_rr(t))}_{0}+B_r'r(t))\\ =x_1^T(t)\underbrace{(P_1\bar{A}_{11}+\bar{A}_{11}^TP_1)}_{-Q_1}x_1(t)+2x_1^T(t)P_1B_r'r(t)\\ =-x_1^T(t)Q_1x_1(t)+2x_1^T(t)P_1B_r'r(t)\\ \le -\sigma_n(Q_1)x_1^T(t)x_1(t)+2||x_1^T(t)P_1||\,||B_r'r(t)||\\ \le -\sigma_n(Q_1)||x_1(t)||^2+2\sqrt{x_1^T(t)P_1^2x_1(t)}\,||B_r'r(t)||\\ \le -\sigma_n(Q_1)||x_1(t)||^2+2\sqrt{\sigma_1(P_1^2)x_1^T(t)x_1(t)}\,||B_r'r(t)||\\ = -\sigma_n(Q_1)||x_1(t)||^2+2\sigma_1(P_1)||x_1(t)||\,||B_r'r(t)||\\ = -\sigma_1(P_1)||x_1(t)||(\frac{\sigma_n(Q_1)}{\sigma_1(P_1)}||x_1(t)||-2||B_r'r(t)||) \end{array} }

したがって、次式が成り立ち、リャプノフ安定性が示されます。

\displaystyle{(21)\quad||B_r'r(t)||<\frac{1}{2}\frac{\sigma_n(Q_1)}{\sigma_1(P_1)}||x_1(t)|| \Rightarrow \dot{V}(x_1)<0 }

これから、ロバスト性での議論と同様に、x_1が発散することはないことが分かります。

演習C61…Flipped Classroom

MATLAB
%cCIP_smci.m
%-----
 clear all, close all
 global mc m ell g th0
 mc=1; m=0.1; ell=0.2; g=9.8;
 ths=0; %input('ths   = <0,180> ')/180*pi;
 th0=3/180*pi; %input('th(0) = <0,180> ')/180*pi;
%-----
 A=[zeros(2,2) eye(2);zeros(2,4)];
 A(3,1)=0; 
 A(3,2)=-3*m*g/(m+4*mc); 
 A(4,1)=0; 
 A(4,2)=3*(m+mc)*g/((m+4*mc)*ell);  
 B=zeros(4,1);
 B(3)=4/(m+4*mc);
 B(4)=-3/((m+4*mc)*ell); 
 A0=A; B0=B; 
 H=[1 0 0 0];
 A=[0 -H ;
    zeros(4,1) A0];
 B=[0; B0];
 CM=[1 0 0 0;
     0 1 0 0];
 Gamma=-5; 
%-----
 lambda=[-0.8 0.5 -1.5 1];
 nocomp=2;
 specpos=rand(4,4);
 specent=rand(4,4);
 S=swfvpl(A,B,lambda,nocomp,specpos,specent)      
 SS=S;
 F=(SS*B)\(SS*A)
 eig(A-B*F)
%-----
[nn,mm]=size(B);
 S1=SS(:,1:nn-mm);
 S2=SS(:,nn-mm+1:nn);
 Br=eye(nn-mm,mm);
 B2=B(nn-mm+1:nn,:); 
 Lambda=S2*B2;
 Phi=-0.1;
 P2=0.5*inv(-Phi);
 Check=P2*Phi+Phi*P2
 P2S=P2*S;
 Leq=inv(S*B)*S*A;
 LPhi=-inv(S*B)*Phi*S;
 L=Leq+LPhi;
 rho=2;
 Ln=inv(S*B)*rho;
%-----
 Sr=0;
 Lr=inv(Lambda)*(Phi*Sr+S1*Br)
 Ldr=inv(Lambda)*Sr
%Ln=0.1*inv(Lambda)
%-----
 x0=[0;th0*0;0;0];
 sim('CIP_smci_2015a.mdl')
%-----
%eof
SCILAB