可到達条件

可到達条件…Homework

[0] 剛体振り子の状態方程式として次式を考えます。

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

これに対して次のSMCを考えていました。

\displaystyle{(2)\quad u(t)=-{\rm sgn}(s(t)) %-\frac{s(t)}{|s(t)|} }

\displaystyle{(3)\quad s(t)=mx_1(t)+x_2(t) }

振り子を離す初期角度が小さければ容易にスライディング直線に拘束されますが、大きな初期角度をつけて話すと一旦スライディング直線に到達してもこれを突き抜けてしまう可能性があります(前節の図1と図2に示す状況です)。そこで可到達条件

\displaystyle{(4)\quad %\begin{array}{l} \boxed{s(t)\dot{s}(t)< 0} %\end{array} }

をどう満足させるかについて検討します。

[1] 制御則(2)に対して、減衰力を与えるために状態フィードバックを加えてみます。

\displaystyle{(5)\quad u(t)=- \left[\begin{array}{cc} f_1 & f_2 \end{array}\right] \left[\begin{array}{cc} x_1(t)\\ x_2(t) \end{array}\right] -\rho\,{\rm sgn}(s(t)) %\frac{s(t)}{|s(t)|} }

ここで、\rhoというパラメータも導入されており、高速スイッチングする操作入力の振幅を表しています。このとき、次式を得ます。

\displaystyle{(6)\quad \begin{array}{l} s(t)\dot{s}(t)=s(t)(m\dot{x}_1(t)+\dot{x}_2(t))\\ =s(t)(mx_2(t)-a\sin x_1(t)+u(t))\\ =s(t)(mx_2(t)-a\sin x_1(t)-f_1x_1(t)-f_2x_2(t)-\rho\,{\rm sgn}(s(t)) %\frac{s(t)}{|s(t)|} ) \end{array} }

ここで、f_1=0, f_2=mと選ぶと、-s(t)a\sin x_1(t)\le|s(t)|aに注意して

\displaystyle{(7)\quad \begin{array}{l} s(t)\dot{s}(t) =s(t)(-a\sin x_1(t)-\rho\,{\rm sgn}(s(t)) %\frac{s(t)}{|s(t)|} )\\ =-s(t)a\sin x_1(t)-\rho|s(t)|\\ <|s(t)|(a-\rho) \end{array} }

したがって、ある定数\eta>0に対して

\displaystyle{(8)\quad a-\rho < -\eta \quad \Leftrightarrow \quad \boxed{\rho > a+\eta} }

を満たす\rhoを選べば

\displaystyle{(9)\quad \boxed{s(t)\dot{s}(t)< -\eta|s(t)|} }

が成り立ちます。

結局、制御則

\displaystyle{(10)\quad { u(t)=- \left[\begin{array}{cc} 0 & m \end{array}\right] \left[\begin{array}{cc} x_1(t)\\ x_2(t) \end{array}\right] -\rho\,{\rm sgn}(s(t)) %\frac{s(t)}{|s(t)|} }}

を用いれば、スライディング直線に一旦到達すれば、以後は留まるようにできます。


図1 x_1(0)=3, x_2(0)=0のときの状態軌道

図2 x_1(0)=3, x_2(0)=0のとき、m=1,\rho=1の制御則(5)の下での状態軌道

●その到達時刻を見積もってみます。

\displaystyle{(11)\quad s(t)\dot{s}(t)< -\eta|s(t)| \quad\Leftrightarrow\quad \left\{\begin{array}{ll} \dot{s}(t)< -\eta & (s(t)>0)\\ \dot{s}(t)> -\eta & (s(t)<0) \end{array} \right. }

から

\displaystyle{(12)\quad \frac{1}{2}\frac{d}{dt}s^2(t)< -\eta|s(t)| \Rightarrow \frac{1}{2}\frac{d}{dt}|s(t)|^2=|s(t)|\frac{d}{dt}|s(t)|< -\eta|s(t)| \Rightarrow \frac{d}{dt}|s(t)|< -\eta }

両辺を積分すると

\displaystyle{(13)\quad \underbrace{|s(t_s)|}_0-|s(0)|< -\eta t_s \quad\Leftrightarrow\quad \boxed{t_s\le \frac{|s(0)|}{\eta}} }

を得て、スライディング直線に到達する時刻t_sを見積もることができます。

高速スイッチングする操作入力の振幅\rhoは小さい方が望ましいといえます。ただ、(8)より\etaも小さくせざる得ず、このことはスライディング直線に到達する速さに影響を与えます。

[2] もう一つ別のパラメータ\Phi>0を導入して、制御則(10)を次のように変更してみます。

\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\,{\rm sgn}(s(t)) %\frac{s(t)}{|s(t)|} }}

このとき、(3)と(8)に注意して、次式を得ます。

\displaystyle{(15)\quad \begin{array}{l} s(t)\dot{s}(t)=s(t)(m\dot{x}_1(t)+\dot{x}_2(t))\\ =s(t)(mx_2(t)-a\sin x_1(t)+u(t))\\ =s(t)(mx_2(t)-a\sin x_1(t)-m\Phi x_1(t)-(m+\Phi)x_2(t)-\rho\,{\rm sgn}(s(t)) %\frac{s(t)}{|s(t)|} )\\ =-\Phi s(t)(m x_1(t)+x_2(t))-s(t)(a\sin x_1(t)+\rho\,{\rm sgn}(s(t)) %\frac{s(t)}{|s(t)|} )\\ \le -\Phi s^2(t)+|s(t)|(a-\rho)\\ < -\Phi s^2(t)-\eta |s(t)|\\ \end{array} }

これより

\displaystyle{(16)\quad \boxed{s(t)\dot{s}(t)< -\Phi s^2(t)} \quad \Leftrightarrow \quad \left\{\begin{array}{ll} \dot{s}(t)< -\Phi s(t) & (s(t)>0)\\ \dot{s}(t)> -\Phi s(t) & (s(t)<0) \end{array}\right. }

これは\Phi|s(t)|\rightarrow 0となる速さを決めていることを意味しています。


図3 x_1(0)=3, x_2(0)=0のとき、m=1,\Phi=1,\rho=0.3の制御則(14)の下での状態軌道

●ちなみに、計算の都合上、(14)の代わりにつぎのスイッチング方式が用いられます。

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

ここで\delta>0は適切に選ばれた定数です。

演習C02…Flipped Classroom
1^\circ smc15.slxを用いて、図1、図2のシミュレーションを行え。
2^\circ smc16.slxを用いて、図3のシミュレーションを行え。