SM制御則

SM制御則…Homework

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

\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, 1\le m< n, {\rm rank}B=m) \end{array} }

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

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

以下では、状態方程式とスイッチング関数は次のSM標準形(regular form)をとるように座標変換されているとします(Note C22-1参照)。

\displaystyle{(3)\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{(4)\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_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)} }

ここで、B_2S_2はともにサイズm\times mの正則行列とします。したがって、f_mはマッチング条件を満たしますが、f_uはマッチング条件を満たさないことに留意します。

これに対して、座標変換

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

を行うために、まず(5)を(3)に代入して

\displaystyle{(6)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{cc} I & 0 \\ -M & S_2^{-1} \\ \end{array}\right] }_{T_s^{-1}} \underbrace{ \left[\begin{array}{c} \dot x_1(t)\\ \dot 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] }_{A} \underbrace{ \left[\begin{array}{cc} I & 0 \\ -M & 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)} + \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)} \end{array} }

左からT_sをかけて

\displaystyle{(7)\quad \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} I & 0 \\ S_1 & S_2 \\ \end{array}\right] }_{T_s} \underbrace{ \left[\begin{array}{cc} A_{11}-A_{12}M & A_{12}S_2^{-1}  \\ A_{21}-A_{22}M & A_{22}S_2^{-1}  \\ \end{array}\right] }_{AT_s^{-1}} \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} 0\\ B_2 \end{array}\right] }_{B} u(t) + \underbrace{ \left[\begin{array}{cc} I & 0 \\ S_1 & S_2 \\ \end{array}\right] }_{T_s} \underbrace{ \left[\begin{array}{l} f_u(t,x)\\ f_m(t,x,u) \end{array}\right] }_{f(t,x,u)} \end{array} }

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

\displaystyle{(8)\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{(8')\quad  \left\{\begin{array}{l} \bar{A}_{11}=A_{11}-A_{12}M\quad(M=S_2^{-1}S_1)\\ \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}がサイズn-m\times n-mの安定行列となるようにスイッチング関数が選ばれていると仮定します。

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

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

を、2次安定性

\displaystyle{(10)\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{(11)\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] 可到達性の検討

ここでは、スライディングモード制御則(9)の具体的な表現を求め、スライディングモードに到達する時刻t_sの見積もりを行います。

●等価制御は、(7)においてf_u=0, f_m=0として

\displaystyle{ \begin{array}{cl} (12.1) & s(t)=0\\ \Downarrow &\\ (12.2) & \dot{s}(t)=0\\ \Downarrow &\\ (12.3) & \bar{A}_{21}x_1(t)+\bar{A}_{22}s(t)+\bar{B}_{2}u(t)=0\\ \Downarrow &\\ (12.4) & u_{eq}(t)=-\underbrace{\bar{B}_{2}^{-1}}_{([0\ I]T_sB)^{-1}} \underbrace{\left[\begin{array}{cc} \bar{A}_{21} & \bar{A}_{22} \\ \end{array}\right]}_{[0\ I]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]T_s, x=T_s^{-1}\bar{x}\\ (12.5) & u_{eq}(t)=-(SB)^{-1}SAx(t)} \end{array} }

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

\displaystyle{(13.1)\quad  u_\ell(t)=-\bar{B}_{2}^{-1} (\left[\begin{array}{cc} \bar{A}_{21} & \bar{A}_{22} \\ \end{array}\right]\bar{x}(t)-\Phi s(t)) }

すなわち

\displaystyle{(13.2)\quad  \boxed{u_\ell(t)=-\underbrace{(SB)^{-1}(SA-\Phi S)}_{L=L_{eq}+L_{phi}}x(t)}} }

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

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

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

すなわち

\displaystyle{ \begin{array}{l} (15.1)\quad \dot{x}_1(t)=\bar{A}_{11}x_1(t)+\bar{A}_{12}s(t)+f_u(t,x)\\ (15.2)\quad \dot{s}(t)=\Phi s(t)+\bar{B}_{2}u_n(t)+\underline{S_2(Mf_u(t,x)+f_m(t,x,u))} \end{array} }

閉ループ系の状態はx_1sから成りますが、(15.2)はsだけに関係しているので、まずその下線部に抗してスライディングモードs=0を達成するu_nを明らかにします。

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

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

を満たすP_2>0を選ぶことができます。これを用いて、(7)のスイッチング項u_n

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

すなわち

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

と定めます。

\rho(t,x)は、仮定

{\displaystyle{ \begin{array}{l} (18.1)\quad ||f_u(t,x)|| \le k_1||x(t)||+k_2\\ (18.2)\quad ||f_m(t,x,u)|| \le k_3||u(t)||+\alpha(t,x)\\ (18.3)\quad k_3 ||\bar{B}_{2}||\,||\bar{B}_{2}^{-1}||\,||B_2^{-1}|| < 1 \end{array} }

のもとで

\displaystyle{(19)\quad \boxed{ %\begin{array}{l} \rho(t,x)\ge \frac{||S_2|| (||M||(k_1||x(t)||+k_2)+k_3||u_\ell(t)||+\alpha(t,x))+\gamma_2}{1-k_3 ||\bar{B}_{2}||\,||\bar{B}_{2}^{-1}||\,||B_2^{-1}||} %\end{array} }}

のように選びます。このとき

\displaystyle{ \begin{array}{l} (20.1)\quad S_2=S_2B_2 B_2^{-1} \Rightarrow ||S_2||<||\bar{B}_{2}||\,||B_2^{-1}||\\ (20.2)\quad ||u_n(t)||\le\rho(t,x)||\bar{B}_{2}^{-1}||\\ (20.3)\quad ||u(t)||\le ||u_\ell(t)||+||u_n(t)|| \end{array} }

に注意して

\displaystyle{ \begin{array}{cl} (21.1) & \rho(t,x)\ge k_3 \rho(t,x)||\bar{B}_{2}||\,||\bar{B}_{2}^{-1}||\,||B_2^{-1}||\\  & +||S_2|| (||M||(k_1||x(t)||+k_2)+k_3||u_\ell(t)||+\alpha(t,x))+\gamma_2}\\ \Downarrow & by\ (20.1)\\ (21.2) & \ge k_3 \rho(t,x)||S_2||\,||\bar{B}_{2}^{-1}||\\  & + ||S_2|| (||M||(k_1||x(t)||+k_2)+k_3||u_\ell(t)||+\alpha(t,x))+\gamma_2}\\ \Downarrow &  \\ (21.3) & = ||S_2|| \{||M||(k_1||x(t)||+k_2)\\  & +k_3(||u_\ell(t)||+ \rho(t,x)||\bar{B}_{2}^{-1}||)+\alpha(t,x)\}+\gamma_2}\\ \Downarrow & by\ (20.2)  \\ (21.4) & \ge ||S_2|| (||M||(k_1||x(t)||+k_2) +k_3(||u_\ell(t)||+||u_n(t)||)+\alpha(t,x))+\gamma_2}\\ \Downarrow & by\ (20.3) \\ (21.5) & \ge ||S_2|| (||M||(k_1||x(t)||+k_2)+k_3||u(t)||+\alpha(t,x))+\gamma_2}\\ \Downarrow & by\ (18.1),(18.2) \\ (21.6) & \ge ||S_2|| (||M||\,||f_u(t,x)||+||f_m(t,x,u)||)+\gamma_2} \end{array} }

を得て、次式が成り立ちます。(15.2)はsだけに関係しているので、リャプノフ関数V(s)=s^T(t)P_2s(t)の微分について調べます。

\displaystyle{ \begin{array}{cl} (22.1) & \dot{V}(s)=2s^T(t)P_2\dot{s}(t)\\ \Downarrow & by\ (15.2) \\ (22.2) & =2s^T(t)P_2 (\Phi s(t)-\rho(t,x)\frac{P_2s(t)} {||P_2s(t)||}+S_2(Mf_u(t,x)+f_m(t,x,u)))\\ \Downarrow & \\ (22.3) & =s^T(t)(P_2\Phi+\Phi^TP_2)s(t)\\  & +2s^T(t)P_2(-\rho(t,x)\frac{P_2s(t)} {||P_2s(t)||}+S_2(Mf_u(t,x)+f_m(t,x,u)))\\ \Downarrow & by\ (16) \\ (22.4) & \le-||s(t)||^2\\  & -2||P_2s(t)||(\rho(t,x)-||S_2||(||M||||f_u(t,x)||+||f_m(t,x,u)||)\\ \Downarrow & by\ (21.6) \\ (22.5) & \le -||s(t)||^2-2\gamma_2||P_2s(t)||\\ (22.6) & \le -||s(t)||^2 \end{array} }

これより(15.2)における2次安定性が成り立つことが分かります。2次安定であれば状態sは0に漸近します。しかし興味深いのは、ある時刻t_s以降はs=0を保持するような振舞いをすることです。

●その到達時刻t_sを見積もるために、(22.5)から

\displaystyle{(23)\quad \dot{V}(s) \le -2\gamma_2||P_2s(t)|| }

も成り立つことと

\displaystyle{(24)\quad ||P_2s(t)||^2=(P_2^{1/2}s(t))^TP_2(P_2^{1/2}s(t)) \ge \sigma_n(P_2)||P_2^{1/2}s(t)||^2=\sigma_n(P_2)V(s) }

に注意して

\displaystyle{(25)\quad \dot{V}(s)\le -2\gamma_2\sigma_n^{1/2}(P_2)V^{1/2}(s) }

よって

\displaystyle{(26)\quad \begin{array}{l} \dot{V}(s)=\frac{d}{dt}(V^{1/2}(s))^2=2V^{1/2}(s)\frac{d}{dt}V^{1/2}(s)< -2\gamma_2\sigma_n^{1/2}(P_2) V^{1/2}(s)\\ \Rightarrow \frac{d}{dt}V^{1/2}(s)< -\gamma_2\sigma_n^{1/2}(P_2) \end{array} }

この両辺を積分すると

\displaystyle{(27)\quad \begin{array}{l} \underbrace{V^{1/2}(s(t_s))}_0-V^{1/2}(s(0))< -\gamma_2\sigma_n^{1/2}(P_2) t_s\\ \Leftrightarrow \boxed{t_s\le \frac{V^{1/2}(s(0))}{\gamma_2\sigma_n^{1/2}(P_2)}} \end{array} }

を得て、s=0に到達する時刻t_sを見積もることができます。

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

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

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

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

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

\displaystyle{ \begin{array}{cl} (29.1)&\dot{V}(x_1)=2x_1^T(t)P_1\dot{x}_1(t)\\ \Downarrow & by\ (7) \\ (29.2)&=2x_1^T(t)P_1(\bar{A}_{11}x_1(t)+\bar{A}_{12}\underbrace{s(t)}_{0}+f_u(t,x))\\ \Downarrow & \\ (29.3)&=x_1^T(t)(P_1\bar{A}_{11}+\bar{A}_{11}^TP_1)x_1(t)+2x_1^T(t)P_1f_u(t,x)\\ \Downarrow & by\ (28) \\ (29.4)&=-x_1^T(t)Q_1x_1(t)+2x_1^T(t)P_1f_u(t,x)\\ \Downarrow &by\ \sigma_n(Q_1)x_1^Tx_1\le x_1^TQ_1x_1\\ (29.5)&\le -\sigma_n(Q_1)x_1^T(t)x_1(t)+2||x_1^T(t)P_1||\,||f_u(t,x)||\\ \Downarrow &\\ (29.6)&\le -\sigma_n(Q_1)||x_1(t)||^2+2\sqrt{x_1^T(t)P_1^2x_1(t)}\,||f_u(t,x)||\\ \Downarrow &by\ x_1^TP_1^2x_1\le\sigma_1(P_1^2)x_1^Tx_1\\ (29.7)&\le -\sigma_n(Q_1)||x_1(t)||^2+2\sqrt{\sigma_1(P_1^2)x_1^T(t)x_1(t)}\,||f_u(t,x)||\\ \Downarrow &by\ \sigma_1(P_1^2)=\sigma_1^2(P_1)\\ (29.8)&= -\sigma_n(Q_1)||x_1(t)||^2+2\sigma_1(P_1)||x_1(t)||\,||f_u(t,x)||\\ \Downarrow &\\ (29.9)&= -\sigma_1(P_1)||x_1(t)||(\frac{\sigma_n(Q_1)}{\sigma_1(P_1)}||x_1(t)||-2||f_u(t,x)||) \end{array} }

ここで

\displaystyle{(30)\quad \boxed{ ||f_u(t,x)||<\frac{1}{2}\frac{\sigma_n(Q_1)}{\sigma_1(P_1)}||x_1(t)|| }}

のとき

\displaystyle{(31)\quad \dot{V}(x_1)\le -\sigma_1(P_1)||x_1(t)||(\frac{\sigma_n(Q_1)}{\sigma_1(P_1)}||x_1(t)||-2||f_u(t,x)||)<0 }

となって、リヤプノフ安定性が成り立ちます。したがって、ロバスト性での議論と同様に、x_1が発散することはないことが分かります。

Note C22-1 SM標準形について

列フルランクをもつBは、サイズn\times nの直交行列Uとサイズm\times mの直交行列Vを用いて

\displaystyle{(1)\quad B=U\Sigma V^T}

のように特異値分解できます。ただし

\displaystyle{(2)\quad \Sigma= \left[\begin{array}{cc} \Sigma_1 \\ 0_{n-m\times m}  \end{array}\right] }

\displaystyle{(3)\quad \Sigma_1={\rm diag}\{\sigma_1,\cdots,\sigma_m\}\quad(\sigma_1\ge\cdots\ge\sigma_m>0) }

いま

\displaystyle{(4)\quad U= \left[\begin{array}{cc} U_1(n\times m) & U_2(n\times n-m)  \end{array}\right] }

と分割するとき、本論(1)に対する座標変換

\displaystyle{(5)\quad x_{r}(t)= \underbrace{ \left[\begin{array}{cc} U_2 & U_1 \end{array}\right] }_{T_r} x(t) \Leftrightarrow x(t)=T_r^Tx_r(t) }

を行うと(T_r^{-1}=T_r^Tに注意)

\displaystyle{(6)\quad \begin{array}{l} \underbrace{ \left[\begin{array}{c} \dot{x}_{r1}(t)\\ \dot{x}_{r2}(t) \end{array}\right] }_{\dot{x}_r(t)} = \underbrace{ \left[\begin{array}{cc} A_{r11} & A_{r12} \\ A_{r21} & A_{r22} \\ \end{array}\right] }_{A_r=T_rAT_r^T} \underbrace{ \left[\begin{array}{c} x_{r1}(t)\\ x_{r2}(t) \end{array}\right] }_{x_r(t)} + \underbrace{ \left[\begin{array}{c} 0\\ \Sigma_1V^T \end{array}\right] }_{B_r=T_rB} u(t)\\ + \underbrace{ \left[\begin{array}{l} f_{ru}(t,x)\\ f_{rm}(t,x,u) \end{array}\right] }_{f_r(t,x,u)=T_rf(t,x,u)} \end{array} }

のように本論(3)が得られます。ちなみに本論(4)は次式に相当します。

\displaystyle{(7)\quad s(t)= \underbrace{ \left[\begin{array}{cc} S_{r1} & S_{r2} \\ \end{array}\right] }_{S_r=ST_r^T} \underbrace{ \left[\begin{array}{c} x_{r1}(t)\\ x_{r2}(t) \end{array}\right] }_{x_r(t)} }

これから、標準形に対して求めたスイッチング関数を元の状態方程式に関するものに戻すには

\displaystyle{(8)\quad S=S_rT_r }

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

Note C22-2 条件(18)について
次式で表されるDCモータを考えます。

\displaystyle{(1)\quad \left\{\begin{array}{l} J_0\ddot{\theta}=K_ti_a\\ L_0\dot{i}_a+Ri_a=v_a-K_e\dot{\theta} \end{array}\right. }

これより、次の状態方程式を得ます。

\displaystyle{(2)\quad \underbrace{ \left[\begin{array}{c} \dot{\theta}\\ \dot{\omega}\\ \dot{i}_a \end{array}\right] }_{\dot{x}} = \underbrace{ \left[\begin{array}{cc|c} 0 & 1 & 0\\ 0 & 0 & \frac{K_t}{J_0}\\\hline 0 & -\frac{K_e}{L_0} & -\frac{R}{L_0} \end{array}\right] }_{A} \underbrace{ \left[\begin{array}{c} \theta\\ \omega\\ i_a \end{array}\right] }_{x} + \underbrace{ \left[\begin{array}{c} 0\\ 0\\\hline \frac{1}{L_0} \end{array}\right] }_{B} \underbrace{ v_a }_{u} }

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

\displaystyle{(3)\quad s= \underbrace{ \left[\begin{array}{ccc} \frac{J_0}{K_t}\omega_n^2 & 2\frac{J_0}{K_t}\zeta\omega_n & 1 \end{array}\right] }_{S}x \quad(M= \left[\begin{array}{ccc} \frac{J_0}{K_t}\omega_n^2 & 2\frac{J_0}{K_t}\zeta\omega_n  \end{array}\right]) }

さらに次式のようなパラメータの不確かさを考えます。

\displaystyle{(4)\quad \left\{\begin{array}{l} \underbrace{(1+\xi_J)J_0}_{J}\ddot{\theta}=K_ti_a\\ \underbrace{(1+\xi_L)L_0}_{L}\dot{i}_a+Ri_a=v_a-K_e\dot{\theta} \end{array}\right. \Rightarrow \left\{\begin{array}{l} \ddot{\theta}=\frac{K_t}{J_0}i_a\underbrace{-\xi_J\ddot{\theta}}_{f_{u}}\\ \dot{i}_a=-\frac{R}{L_0}i_a-\frac{K_e}{L_0}\dot{\theta}+\frac{1}{L_0}v_a\underbrace{-\xi_L\dot{i}_a}_{f_m} \end{array}\right. }

ただし、次を仮定します。

\displaystyle{(5)\quad |\xi_J|<0.5,\ |\xi_L|<0.1 }

これにより状態方程式は次式となります。

\displaystyle{(6)\quad \dot{x}=Ax+Bu+ \left[\begin{array}{c} 0\\ f_{u}\\ f_{m} \end{array}\right]%} }

まずf_m

\displaystyle{(7)\quad f_m=-\xi_L\dot{i}_a=-\xi_L(-\frac{R}{L_0}i_a-\frac{K_e}{L_0}\dot{\theta}+\frac{1}{L_0}v_a) }

と表されるので、仮定(18)の第2式におけるk_3\alphaは次のように特定できます。

\displaystyle{(8)\quad |f_m|<\frac{\xi_L}{L_0}|v_a|+ \frac{\xi_L}{L_0}(R|i_a|+K_e|\dot{\theta}|) <\underbrace{\frac{1}{10L_0}}_{k_3}|v_a|+ \underbrace{\frac{1}{10L_0}(R|i_a|+K_e|\dot{\theta}|)}_{\alpha} }

またf_uについては、閉ループ系では

\displaystyle{(9)\quad \begin{array}{l} f_u=-\xi_J\dot{\omega} =-\xi_J\frac{K_t}{J_0}(i_a+\frac{J_0}{K_t}\omega_n^2\theta+2\frac{J_0}{K_t}\zeta\omega_n\dot{\theta}) \end{array} }

と考えられるので、仮定(18)の第1式におけるk_1k_2は次のように特定できます。

\displaystyle{(10)\quad |f_u|<\xi_J||M||||x|| <\underbrace{0.5||M||}_{k_1}||x||+\underbrace{0}_{k_2} }

さて、(19)を見積もってみます。

\displaystyle{(11)\quad \begin{array}{l} \rho(t,x)\ge \frac{||S_2|| (||M||(k_1||x(t)||+k_2)+k_3||u_\ell(t)||+\alpha(t,x))+\gamma_2}{1-k_3 ||\bar{B}_{2}||\,||\bar{B}_{2}^{-1}||\,||B_2^{-1}||}\\ =\frac{0.5||M||^2||x(t)||+\frac{1}{10L_0}||u_\ell(t)||+\frac{1}{10L_0}(R|i_a|+K_e|\dot{\theta}|)+\gamma_2}{1-\frac{1}{10L_0} L_0}\\ =\frac{5L_0||M||^2||x(t)||+||u_\ell(t)||+R|i_a|+K_e|\dot{\theta}|+10L_0\gamma_2}{9L_0} \end{array} }

以上に基づいて、DCモータに対するSMCのシミュレーションを行ってみます。

MATLAB
%cDCM_smc.m
%-----
 clear all, close all
 R=1.2; L0=0.05; Ke=0.6; Kt=0.6; J=0.1352;
 A=[0 1 0;
    0 0 Kt/J;
    0 -Ke/L0 -R/L0];
 B=[0;0;1/L0];
 C=eye(3); D=zeros(3,1);
 A11=A(1:2,1:2); A12=A(1:2,3);
 A21=A(3,1:2);   A22=A(3,3);
%
 L=0.046;
 Ad=[0 1 0;
     0 0 6;
     0 -Ke/L -R/L];
 Bd=[0;0;1/L];
%-----
 wn=2; zeta=0.95;
 M=[wn^2 2*zeta*wn]/A12(2,1);
 S=[M 1];
 Leq=inv(S*B)*S*A
%
 Phi=-2
 LPhi=-inv(S*B)*Phi*S
% 
 P2=-1/(Phi*2);
 P2S=P2*S;
 gam2=0.01
 rho=(1+Ke*1+R*1+5*L0*norm(M)^2*1+10*L0*gam2)/(9*L0)
 Ln=inv(S*B)*rho
%-----
 x0=[1;0;0];
 sim('DCM_smc')
%-----
%eof


図1 DCモータに対するSMCのシミュレーション例

Note C22-4 スライディングモード制御系の安定性について

スライディングモード制御系の振舞いは、スライディングモードへの突入動作と、そこでの滑り動作から成ります。前者は、s=0を達成することですから、2次安定性

\displaystyle{(1)\quad  V(s)=s^T(t)P_2s(t)&\quad\Rightarrow \dot{V}(s)\le -s^T(t)s(t)&}\quad(t\le t_s) }

を検討します。これが可到達条件となります。ただ、これではまだ原点x=0への収束は保証されないので、2次安定性

\displaystyle{(2)\quad V(x_1)=x_1^T(t)P_1x_1(t)&\quad\Rightarrow \dot{V}(x_1)\le -x_1^T(t)Q_1x_1(t)&}\quad(t> t_s) }

を検討します。

Note C22-5 安定行列\bar{A}_{11}=A_{11}-A_{12}M\ (M=S_2^{-1}S_1)について

●「(A,B)が可制御対 \Leftrightarrow (A_{11},A_{12})も可制御対」

実際、
\displaystyle{(1)\quad  \begin{array}{l} {\rm rank}\left[\begin{array}{cc} B & \lambda I_n-A  \end{array}\right]\\ = {\rm rank}\left[\begin{array}{ccc} 0 & A_{11}-\lambda I_m & A_{12}\\ B_{2} & A_{21} &  A_{22}-\lambda I_m  \end{array}\right]\\ = {\rm rank}\left[\begin{array}{ccc} A_{11}-\lambda I_m & A_{12} \end{array}\right]+m \end{array} }

これより

\displaystyle{(2)\quad  {\rm rank}\left[\begin{array}{cc} B & \lambda I_n-A  \end{array}\right]=n \Leftrightarrow {\rm rank}\left[\begin{array}{ccc} A_{12} & A_{11}-\lambda I_m  \end{array}\right]=n-m }

●「\bar{A}_{11}の固有値はスイッチング関数を出力方程式としたときの不変零点に等しい」

まず、線形系

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

不変零点とは、行列\left[\begin{array}{cc} A & B\\ C & 0 \end{array}\right]の一般化固有値すなわち

\displaystyle{(3)\quad \left[\begin{array}{cc} A & B\\ C & 0 \end{array}\right] \left[\begin{array}{cc} v_\lambda\\ u_\lambda \end{array}\right] =\lambda \left[\begin{array}{cc} I_n & 0\\ 0 & 0 \end{array}\right] \left[\begin{array}{cc} v_\lambda\\ u_\lambda \end{array}\right]\quad (\left[\begin{array}{cc} v_\lambda\\ u_\lambda \end{array}\right]\ne0) }

を満足する\lambdaとして定義されます。これから次式が成り立ちます。

\displaystyle{(4)\quad \left\{\begin{array}{l} v_\lambda=(\lambda I_n-A)^{-1}Bu_\lambda\\ Cv_\lambda=0 \end{array}\right. \Rightarrow  C(\lambda I_n-A)^{-1}Bu_\lambda=0 }

詳しい説明は省きますが、これは指数関数入力e^{\lambda t}u_\lambdaに対する応答が零になることを意味しています。

(3)が非自明な解をもつためには次式が必要十分となります。

\displaystyle{(5)\quad  {\rm det}\left[\begin{array}{cc} \lambda I_n-A & -B\\ -C & 0 \end{array}\right]=0 }

さて、次の線形系を考えます。

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

この不変零点を求めます。

\displaystyle{(7)\quad  \begin{array}{l} {\rm det}\left[\begin{array}{cc} \lambda I_n-A & -B\\ -S & 0 \end{array}\right]\\ = {\rm det}\left[\begin{array}{ccc} \lambda I_{n-m}-A_{11} & -A_{12} & 0\\ -A_{21} & \lambda I_m-A_{22} & -B_{2}\\ -S_1 & -S_2 & 0 \end{array}\right]=0\\ \Leftrightarrow {\rm det}\left[\begin{array}{ccc} \lambda I_{n-m}-A_{11} & -A_{12} \\ -S_1 & -S_2  \end{array}\right]=0\\ \Leftrightarrow{\rm det} \left[\begin{array}{cc} I_{n-m} & -A_{12}S_2^{-1} \\ 0 & I_m  \end{array}\right]\left[\begin{array}{cc} \lambda I_{n-m}-\bar{A}_{11} & 0 \\ 0 & -S_2 \end{array}\right] \left[\begin{array}{cc} I_{n-m} & 0 \\ M & I_m \end{array}\right]\\ ={\rm det}(\lambda I_{n-m}-\bar{A}_{11}){\rm det}(-S_2)=0\\ \Leftrightarrow {\rm det}(\lambda I_{n-m}-\bar{A}_{11})=0 \end{array} }

すなわち、スイッチング関数を出力方程式とするシステム(6)の不変零点は、行列\bar{A}_{11}の固有値と一致します。この行列\bar{A}_{11}はスライディングモードの振舞いを決めるので、\bar{A}_{11}は安定行列とすることが前提となります。したがって、どのようなスイッチング関数が望ましいかは、どのような超平面上をどのようにスライディングさせるかに関わっていると言えます。