問題設定

問題設定…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 \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)ことのできるスライディングモード制御則(SMC則)を設計せよ。

この問題の解、SMC則は、次のように表されます。

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

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

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

ここで、SBは正則行列であることを仮定しています。また設計パラメータは、安定行列\Phi、スカラー\rho>0です。P_2は次式から定まる正定行列です。

\displaystyle{(7)\quad P_2\Phi+\Phi^TP_2=-I_m }

以下ではこの解の妥当性を2次安定化の観点から検討します。

[2] いま(1)においてf(t,x,u)=0、すなわち

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

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

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

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

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

ちなみに、(4)の第1項u_\ellは、この等価制御をベースして

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

のように構成されています。この\Phiの役割についてはあとで述べます。

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

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

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

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

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


演習…Flipped Classroom
1^\circ 次の剛体振子の状態方程式

\displaystyle{ \left[\begin{array}{c} \dot{x}_1(t)\\ \dot{x}_2(t) \end{array}\right]= \underbrace{ \left[\begin{array}{cc} 0 & 1\\ 0 & 0 \end{array}\right] }_{A} \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right]+ \underbrace{ \left[\begin{array}{c} 0\\ 1 \end{array}\right] }_{B} u(t)+ \underbrace{ \left[\begin{array}{c} 0\\ -a\sin x_1(t) \end{array}\right] }_{f} }

に対して、スイッチング関数を

\displaystyle{ s(t)= \underbrace{ \left[\begin{array}{cc} m & 1 \end{array}\right] }_{S} \left[\begin{array}{c} x_1(t)\\ x_2(t) \end{array}\right] }

と選ぶとき、SMC則の線形制御の部分は次式となることを示せ。

\displaystyle{ u_\ell(t)=- \left[\begin{array}{cc} -m\Phi & m-\Phi \end{array}\right] \left[\begin{array}{cc} x_1(t)\\ x_2(t) \end{array}\right] }

-\Phiを改めて\Phiとおけば、可到達条件のところで述べた次式(14)となります。

\displaystyle{(14)\quad  u(t)=- \left[\begin{array}{cc} m\Phi & m+\Phi \end{array}\right] \left[\begin{array}{cc} x_1(t)\\ x_2(t) \end{array}\right] -\rho\frac{s(t)}{|s(t)|} }

2^\circ 上の剛体振子の状態方程式についてマッチング条件(12)を調べよ。

Note C211入力系の場合

ここでは次の1入力系を考えます。

\displaystyle{(1)\quad \dot{x}(t)=(A+\Delta A(t))x(t)+Bu(t) }

\displaystyle{(2)\quad A= \left[\begin{array}{cccc|c} 0 & 1 & 0 & \cdots & 0 \\ 0 & 0 & 1 & 0 & \vdots \\ \vdots &  & \ddots & \ddots & 0 \\ 0 & \cdots  & \cdots  & 0 & 1 \\\hline -a_1 & -a_2 & \cdots & \cdots & -a_n \end{array}\right],\quad B=\left[\begin{array}{c} 0 \\ 0 \\ \vdots \\ 0 \\\hline 1 \end{array}\right] }

\displaystyle{(3)\quad \begin{array}{r} \Delta A(t)= \left[\begin{array}{cccc|c} 0 & 0 & 0 & \cdots & 0 \\ 0 & 0 & 0 & 0 & \vdots \\ \vdots &  & \ddots & \ddots & 0 \\ 0 & \cdots  & \cdots  & 0 & 0 \\\hline -\delta_1(t) & -\delta_2(t) & \cdots & \cdots & -\delta_n(t) \end{array}\right]\\ k_i^-\le\delta_i(t)\le k_i^+\quad(i=1,\cdots,n) \end{array} }

また次のスイッチング関数を考えます。

\displaystyle{(4)\quad s(t)=Sx(t) }

\displaystyle{(5)\quad S=\left[\begin{array}{ccccc} m_1 & m_2 & \cdots & m_{n-1} & 1 \end{array}\right] }

このとき、SMC則

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

を可到達条件を満たすように構成することを考えます。

線形制御u_\ellは、

(7)\quad \begin{array}{l} \displaystyle{\dot{s}(t)=\sum_{i=1}^{n-1}m_i\dot{x}_i(t)+\dot{x}_n(t)}\\ \displaystyle{=\sum_{i=1}^{n-1}m_i x_{i+1}(t)-\sum_{i=1}^{n}(a_i+\delta_i(t))x_i(t)+u(t)}\\ \displaystyle{=-a_1x_1(t)+\sum_{i=2}^{n}(m_{i-1}-a_i) x_i(t)- \sum_{i=1}^{n}\delta_i(t)x_i(t)+u(t)} \end{array}

において、\delta_i=0とおいて

\displaystyle{(8)\quad \boxed{u_\ell(t)=a_1x_1(t)+\sum_{i=2}^{n}(a_i-m_{i-1}) x_i(t)} }

のように定めます。

u_nの候補として次の2つを考えます。

\displaystyle{(9)\quad \boxed{u_n(t)=-\rho(t,x)\frac{s(t)}{|s(t)|}} }

\displaystyle{(10)\quad \boxed{u_n(t)=\sum_{i=1}^{n}k_ix_i(t)-\eta\frac{s(t)}{|s(t)|}} }

以下では、これらが適当な条件の下で可到達条件s\dot{s}<0を満足しSMC則になることを示します。

(9)の場合:

\displaystyle{(11)\quad \begin{array}{l} \rho(t,x)=\sum_{i=1}^{n}\max\{|k_i^+|,|k_i^-|\}|x_i(t)|+\eta\\ \ge |\sum_{i=1}^{n}\delta_i(t)x_i(t)|+\eta \end{array} }

を満足する\rho(t,x)を選ぶと

\displaystyle{(12)\quad \begin{array}{l} s(t)\dot{s}(t)=s(t)(-\sum_{i=1}^{n}\delta_i(t)x_i(t)+u_n(t))\\ =s(t)(-\sum_{i=1}^{n}\delta_i(t)x_i(t)-\rho(t,x)\frac{s(t)}{|s(t)|})\\ =-s(t)\sum_{i=1}^{n}\delta_i(t)x_i(t)-|s(t)|\rho(t,x)\\ \le |s(t)|(|\sum_{i=1}^{n}\delta_i(t)x_i(t)|-\rho(t,x))\\ < -\eta|s(t)| \end{array} }

(10)の場合:

\displaystyle{(13)\quad k_i= \left\{\begin{array}{ll} k_i^- & (sx_i>0)\\ k_i^+ & (sx_i<0) \end{array}\right. }

のようにk_iを選ぶと

\displaystyle{(14)\quad \begin{array}{l} s(t)\dot{s}(t)=s(t)(-\sum_{i=1}^{n}\delta_i(t)x_i(t)+u_n(t))\\ =s(t)(-\sum_{i=1}^{n}\delta_i(t)x_i(t)+\sum_{i=1}^{n}k_ix_i(t)-\eta\frac{s(t)}{|s(t)|})\\ =\sum_{i=1}^{n}\underbrace{(k_i-\delta_i(t))s(t)x_i(t)}_{<0}-\eta|s(t)|\\ < -\eta|s(t)| \end{array} }