0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

事象駆動型状態フィードバック制御器の設計

Last updated at Posted at 2020-07-11

イベントトリガ制御とは

 以下の連続時間線形不変システムを考える。

$$\frac{dx(t)}{dt}=Ax(t)+Bu(t),~~~~t\ge0 \tag{1}$$

このシステムに対して状態フィードバック制御
$$u(t)=Kx(t) \tag{2}$$
を用いることで任意の初期状態$x(0)$に対して、$\lim_{t\to\infty}x(t)=0$が成立し、システムを安定にすることができるとする。
 しかし、デジタル通信路を用いる場合、制御則(2)で用いる測定値$x(t)$を全ての時刻$t\ge0$でコントローラーに送信し続けることは難しいです。そこで、従来から測定値を周期的にサンプリングし、時不変性を確保しながら離散化を行うことで制御信号の更新を行っていた。
 しかし、周期的に送信を行う場合、ほとんどの状態が変化しないのにもかかわらず信号を送信を続けたり、逆に周期的な送信だけでは状態の変化をとらえきれないこともある。さらに、現実世界ではセンサが利用可能なエネルギーに制限があることも多いので、不必要に送信を行わない制御が必要となる。そこで、それを解決する制御技術の一つにあらかじめ設定した指標を満たした時だけ測定値を送信するイベントトリガ制御がある。

#状態のイベントトリガ条件

準備

 まず、イベントトリガ制御を行うための指標を設定する。イベントトリガ制御ではプラントとコントローラーの間にリアルタイムに現在時刻$t$の測定値$x(t)$を得ることができるセンサを用いる。そこで、プラントからコントローラへ直前に状態を送信した時刻を$t_k$($k$は$k$回目の送信時刻、ただし$t\ge t_k$)とおくと、現在時刻$t$の状態$x(t)$との状態の誤差$e(t)$は$$e(t)=x(t_k)-x(t) \tag{3}$$となる。この誤差$e(t)$がある条件を満たした時、状態$x(t)$の送信を行うことを考える。ここでは、状態$x(t)、x(t_k)$の相対誤差を各要素に重み付けしたイベントトリガ条件を採用する。この時、正定値行列$\Omega\succ0$と閾値として正の実数$\sigma$を用いると$$e(t)^T\Omega e(t)>\sigma^2 x(t)^T \Omega x(t) \tag{4}$$と表せるので、送信時刻{$t_k$}は$$t_{k+1}=\inf \bigl\{t>t_k:e(t)^T \Omega e(t)>\sigma^2 x(t)^T \Omega x(t) \bigr\} \tag{5}$$と記述できる。ただし、$t_0=0$でコントローラーは初期状態$x(0)$を既知とする。式(5)のように送信時刻{$t_k$}を決定すると式(2)の制御入力は送信時刻間で一定であるので$$u(t)=Kx(t_k)~~~\forall t\in[t_k,t_{k+1}) \tag{6}$$この式(6)で表される制御則をシステムのダイナミクスである式(1)に代入し、式(3)を用いると$$\frac{dx(t)}{dt}=(A+BK)x(t)+BKe(t) ~~~\forall t\in[t_k,t_{k+1}) \tag{7}$$を得る。
 ここで、式(7)で表されるシステムが$\inf (t_{k+1}-t_k)=0$となり短い時間に無限回状態を送信しなければならずデジタル機器で実装が困難になることや、システム自体が不安定であっては意味がない。そこで以下より、$\inf (t_{k+1}-t_k)>0$が保証されているかどうかの検討とシステムの安定解析を行っていく。
###状態の送信時刻によるデジタル機器での実装の可否判断
まず、イベントトリガ条件(4)が$\inf (t_{k+1}-t_k)>0$を満たすかどうかを調べる。そこで[2]によって示されている以下の定理を用いる。

定理1
プラント(1)と状態フィードバック制御(6)について、イベントトリガ条件が$t_{k+1}=\inf \bigl\{ t>t_k:||e(t)||>\sigma' ||x(t)||, \sigma'>0 \bigr\} \tag{8}$で与えられた時、任意の閾値$\sigma'>0,k\ge0$に対してある$\tau_{min}>0$が存在し、$$t_{k+1}-t_{k}\ge\tau_{min} \tag{9}$$が成り立つ。(証明略)

ここで、イベントトリガ条件(4)について以下の式(10)(11)ように行列の計算を行うことができる。
$$\lambda_{min}(\Omega)||e(t)||^2\le e(t)^T \Omega e(t) \tag{10}$$$$\sigma^2 x(t)^T \Omega x(t) \le \sigma^2 \lambda_{max}(\Omega)||x(t)||^2 \tag{11}$$式(10)(11)を用いるとイベントトリガ条件(4)を満たすためには$\lambda_{min}(\Omega)||e(t)||^2>\sigma^2 \lambda_{max}(\Omega)||x(t)||^2$が必要条件となることから、$$||e(t)||>\sigma \sqrt{\frac{\lambda_{max}(\Omega)}{\lambda_{min}(\Omega)}}||x(t)||\tag{12}$$が導かれる。 さらに、$\Omega$は正定値行列なので$\frac{\lambda_{max}(\Omega)}{\lambda_{min}(\Omega)}>0$であることに注意すると定理1が成立することがわかる。よって、イベントトリガ条件(4)においても$\inf (t_{k+1}-t_k)>0$を満たすことが示された。

###安定性解析
 次に、イベントトリガ条件(4)のもとでシステムのダイナミクス(7)の安定性を解析する。リヤプノフ方程式の解の固有値の性質を使った解析も可能であるが、一般に固有値を見つけることが難しい場合も多いので、ここでは以下に示すS-procedure[3]という定理を用いて線形行列不等式による安定性の解析を行う。

定理2 (S-procedure)
実対象行列$M_1$に対して、$v^T M_1 v>0$を満たすあるベクトル$v$が存在する時、任意の実対象行列$M_0$に対して以下の2つの条件は同値である。
(1) $M_0-\kappa M_1\succ 0$を満たすある正の実数$\kappa$が存在する。
(2) $\xi^T M_1 \xi\ge0$を満たす任意の0でないベクトル$\xi$に対して$\xi^T M_0 \xi >0$が成立する。

ここで、プラント(1)と状態フィードバック制御(2)を用いたフィードバックシステムが安定であるという条件から以下の式(13)に示すリヤプノフ不等式を満たす正定対称行列$P,Q\succ 0$が存在する。$$(A+BK)^TP+P(A+BK)\preceq -Q\tag{13}$$この$P$を用いて二次形式$V(x)=x^T Px$を定め、その変化の仕方をフィードバックシステム(7)の元ではどのようになるか調べると

\frac{d}{dt}V(x(t)) = [(A+BK)x(t)+BKe(t)]^T Px(t) + x(t)^TP[(A+BK)x(t)+BKe(t)] \\
= x(t)^T[(A+BK^T)P+P(A+BK)]x(t)+2x(t)^TPBKe(t) ~~~\\
\le  -x(t)^TQx(t)+2x(t)^TPBKe(t) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=\begin{bmatrix}
x(t) \\
e(t)
\end{bmatrix}^T\begin{bmatrix}
-Q & PBK \\
(PBK)^T & 0
\end{bmatrix}\begin{bmatrix}
x(t) \\
e(t)
\end{bmatrix}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(14)

と表すことができる。また、状態$x(t)$と誤差$e(t)$の関係はイベントトリガ条件(4)が満たされた時に状態の通信が行われることから、時刻$\forall t\ge0$に対して

e(t)^T\Omega e(t)\le \sigma^2 x(t)^T\Omega x(t) \tag{15}

を満たす。よって、式(14)を合わせて考えると、フィードバックシステムが安定であるためには式(15)を満たす互いに0でない$x(t),e(t)$に対してだけ,

\begin{bmatrix}
x(t) \\
e(t)
\end{bmatrix}^T\begin{bmatrix}
Q & -PBK \\
-(PBK)^T & 0
\end{bmatrix}\begin{bmatrix}
x(t) \\
e(t)
\end{bmatrix}>0 \tag{16}

式(16)が成立すれば良い。これは, 全ての$x(t), e(t)$に対して,$\dot{V} <0$である必要はないということを意味する。 そして, 式(15)を変形すると

\begin{bmatrix}
x(t) \\
e(t)
\end{bmatrix}^T\begin{bmatrix}
\sigma^2\Omega & 0 \\
0 & -\Omega
\end{bmatrix}\begin{bmatrix}
x(t) \\
e(t)
\end{bmatrix}\ge0 \tag{17}

と得られる。
 ここで、式(16)(17)より定理2(S-procedure)を適用するするために、

M_0=\begin{bmatrix}
Q & -PBK \\
-(PBK)^T & 0
\end{bmatrix},~~M_1=\begin{bmatrix}
\sigma^2\Omega & 0 \\
0 & -\Omega
\end{bmatrix},~~\xi=\begin{bmatrix}
x(t) \\
e(t)
\end{bmatrix}\tag{18}

としてみると、$v^T M_1v>0$を満たすベクトル$v$が存在することから(例えば、$v^T=[1~0]$)、実際に定理2(S-procedure)を用いることができる。よって、定理2(1)(2)より

M_0-\kappa M_1 = \begin{bmatrix}
Q -\kappa \sigma^2\Omega  & -PBK \\
-(PBK)^T & \kappa\Omega
\end{bmatrix} \succ 0 \tag{19}

を満たす正の実数$\kappa$が存在する時、式(17)を満たす互いに0でない状態$x(t)$と誤差$e(t)$に対して式(16)が成立するので、イベントトリガ条件(4)を用いたフィードバックシステム(7)の安定となる。ただし、定理2(2)の$\xi$の各要素は独立であるが、状態$x(t)$と誤差$e(t)$は式(15)で表されるように相関を持っているので定理2において$(2)\to(1)$を示すことができないことから、安定性の十分条件しか与えることができないため、他に安定性を持ったフィードバック制御システムとイベントトリガー条件の設計も可能であることに注意をする。

#プラントの外乱を考慮したときのイベントトリガ条件について
 式(1)で表されるプラントに外乱$w(t)~(\sup_{t\ge0}||w(t)||\le \varepsilon)$が介入したとき、そのダイナミクスは

\frac{dx(t)}{dt}=Ax(t)+Bu(t)+w(t),~~~~t\ge0 \tag{20}

で表される。特に、$x(t)$が0に近いとき、プラントは外乱$w(t)$の影響を受けやすいのでイベントトリガ条件(4)も外乱の影響を強く受けることが予想できる。実際、外乱によってはイベントトリガ条件(4)によって決まる送信時刻について、$\forall\varepsilon>0$に対して$\lim_{k\to\infty}(t_{k+1}-t_k)=0$となることが知られている。(証明略)そこで、イベントトリガ条件(4)に絶対誤差を許容するための新たな閾値$\rho\ge0$を加えた
$$e(t)^T \Omega e(t)>\sigma^2 x(t)^T \Omega x(t)+\rho^2\tag{21}$$
を新たなイベントトリガ条件として適用することもよくある。このとき、送信時刻{$t_k$}は$$t_{k+1}=\inf \bigl\{t>t_k:e(t)^T \Omega e(t)>\sigma^2 x(t)^T \Omega x(t)+\rho^2 \bigr\} \tag{22}$$と記述できる。ただし、$\rho>0$のとき、たとえ外乱が0だったとしても、イベントトリガ条件(21)が満たされた時に状態の通信が行われることから、時刻$\forall t\ge0$に対して

e(t)^T\Omega e(t)\le \sigma^2 x(t)^T\Omega x(t)+\rho^2 \tag{23}

であり、誤差$e(t)$は0に収束するとは限らないので、状態$x(t)$の収束も必ずしも保証されないことに注意しなければならない。
 また、外乱を考慮したイベントトリガ条件(21)はイベントトリガ条件(5)に比べて状態の送信頻度が不用意に減少してしまう可能性もあるので、送信時刻の差$(t_{k+1}-t_k)$に閾値を設けることでさらに新たなイベントトリガ条件を考えることも可能である。具体的には[4][5]によって、時間に関するパラメータ$h>0$と0以上の整数$l$を用いることで$$t_{k+1}=\inf \bigl\{t>t_k:e(t)^T \Omega e(t)>\sigma^2 x(t)^T \Omega x(t) \land t=lh \bigr\}\tag{24}$$$t_{k+1}=\inf \bigl\{t>t_k+h:e(t)^T \Omega e(t)>\sigma^2 x(t)^T \Omega x(t) \bigr\}\tag{25}$
と提案されている。式(24)はセンサが周期$h$で状態の測定を行い、イベントトリガ条件(4)を満たした時に送信を行うイベントトリガ則であり、式(25)はイベントトリガ条件(4)を満たした時に前回の送信時刻$t_k$との時間間隔が$h$以上であれば送信を行うイベントトリガ則である。

#Reference
[1]Networked Control©Masaaki Nagahara,Kunihisa Okano,Masaki Ogura,Masashi Wakaiki (2019)
[2]P.Tabuada:Event-triggered real-time scheduling of stabilizing control tasks,IEEE Transactions on Automatic Control,52,9,pp.1680-1685(2007)
[3]V.A.Yakubovich:S-procedure in nonlinear control theory,Vestnik Leningard Univ.Math.4,9,pp.73-93,1977 (English translation)
[4]W.P.M.H.Heemels,M.C.F.Donkers,and A.R. Teel:Periodic event-triggered control for linear systems,IEEE Transactions on Automatic Control,58,4,pp.847-861(2013)
[5]W.P.M.H.Heemels,J.H.Sandee,and P.P.J.Van Den Bosch:Analysis of event-driven controllers for linear systems,International Journal of Control,81,4,pp.571-590(2008)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?