予備的検討

[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としてプログラムすることにします。