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

#出力のイベントトリガ条件
###準備
　「[状態フィードバックを用いたEvent-Triggered Control(イベントトリガ制御)](https://qiita.com/drafts/998750fa78b5efc79a9c/edit?resume=true)」ではプラントの状態が全てコントローラーに送信されるという仮定のもとでのイベントトリガ条件について考察をした。(以下、「[状態フィードバックを用いたEvent-Triggered Control(イベントトリガ制御)](https://qiita.com/drafts/998750fa78b5efc79a9c/edit?resume=true)」で一度使用した文字は同じ文字を使用している。)ここでは今回、プラントのダイナミクスが

```math
\left\{
\begin{array}{rl}
\frac{dx(t)}{dt} & = Ax(t) + Bu(t) \\
y(t) & = Cx(t)
\end{array}
\right.
\tag{1}
```
式(1)のように連続時間線形時不変システムで表され、状態の一部が出力として観測される場合について考える。制御器には

```math
\left\{
\begin{array}{rl}
\frac{dx_c(t)}{dt} & = A_cx_c(t) + B_cu(t_k) \\
u(t) & = C_cx_c(t)+D_cy(t_k),~~\forall t\in[t_k,t_{k+1})
\end{array}
\right.
\tag{2}
```
で表される動的なコントローラを用いることでシステムを安定にすることができるとする。ただし、$x_c(t)$はコントローラーの状態であり、$A_c=B_c=C_c=0$のとき(2)は静的なコントローラである。さて、出力の誤差を

```math
e_y(t)=y(t_k)-y(t),~~\forall t\in[t_k,t_{k+1})
\tag{3}
```
とすると、プラント(1)とコントローラ(2)を組み合わせたシステムのダイナミクスは

```math
\left\{
\begin{array}{rl}
\frac{d}{dt}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix} & = \begin{bmatrix}
A+BD_cC  & BC_c \\
BC_c & A_c
\end{bmatrix}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}+\begin{bmatrix}
BD_c \\
B_c
\end{bmatrix}e_y(t)\\
y(t) & = \begin{bmatrix}
C & 0
\end{bmatrix}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}
\end{array}
\right.
\tag{4}
```
と記述できる。ここで、イベントトリガ条件を$e_y(t)^T\Omega e_y(t)>\sigma^2 y(t)^T \Omega y(t)$と出力の相対誤差についてのみ考慮して設定した場合、$C$の設計の仕方によってはプラント(1)は状態の一部のみしか出力として観測されないので、$x(t)$の値にかかわらず$y(t)=0$となる可能性があることから、$\lim_{k\to\infty}(t_{k+1}-t_k)=0$を満たし有限時間で無限回の出力送信を行ってしまうため、不適切である。[2]そこで、

```math
e_y(t)^T\Omega e_y(t)>\sigma^2 y(t)^T \Omega y(t)+\rho^2
\tag{5}
```
とし、絶対誤差を加えたイベントトリガ条件(5)を用いる。以下、イベントトリガ条件(5)を用いたとき、全ての０以上の整数$k$に対して$\inf(t_{k+1}−t_{k})>0$が保証されているかどうか、「[状態フィードバックを用いたEvent-Triggered Control(イベントトリガ制御)](https://qiita.com/drafts/998750fa78b5efc79a9c/edit?resume=true)」の安定解析で使用した条件から検討していく。

###安定解析
 「[状態フィードバックを用いたEvent-Triggered Control(イベントトリガ制御)](https://qiita.com/drafts/998750fa78b5efc79a9c/edit?resume=true)」で用いた安定解析方法を適用するために、イベントトリガ条件(5)の出力$y(t)$をダイナミクス(4)の状態を用いて変形すると

```math
e_y(t)^T\Omega e_y(t)>\sigma^2 \begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}^T \begin{bmatrix}
C & 0
\end{bmatrix}^T \Omega \begin{bmatrix}
C & 0
\end{bmatrix}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}+\rho^2
\tag{6}
```
となる。また、簡単のためダイナミクス(4)とイベントトリガ条件(6)の行列を

```math
F=\begin{bmatrix}
A+BD_cC  & BC_c \\
BC_c & A_c
\end{bmatrix},~G=\begin{bmatrix}
BD_c \\
B_c
\end{bmatrix},~z=\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix},~\Omega_0=\begin{bmatrix}
C & 0
\end{bmatrix}^T \Omega \begin{bmatrix}
C & 0
\end{bmatrix}
\tag{7}
```
とする。このとき、同様にS-procedure[3]用いて線形行列不等式による安定解析の手続きをすることで、

```math
\left\{
\begin{array}{c}
F^TP+PF\preceq -Q \\
\begin{bmatrix}
Q-\kappa\sigma^2 \Omega_0 & -PG \\
-(PG)^T & \kappa\Omega
\end{bmatrix}\succ 0
\end{array}
\right.
\tag{8}
```
を満たす$P,Q,\kappa$が存在するとき、イベントトリガ条件(5)を用いたダイナミクス(4)で表されるシステムは安定性の十分条件を満たす。[4]

###出力の送信時刻によるデジタル機器での実装の可否
　上記の安定性の十分条件(8)を満たす$P,Q,\kappa$を用いて検証をする。
　まず、イベントトリガ条件(5)を用いたときのプラントに対する送信時刻{$t_k$}は

```math
t_{k+1}=\inf \bigl\{t>t_k:e_y(t)^T \Omega e_y(t)>\sigma^2 y(t)^T \Omega y(t) +\rho^2 \bigr\}
\tag{9}
```
で表される。ただし、$t_0=0$とする。ここで、

```math
e_y(t)^T\Omega e_y(t)\le\rho^2, ~~\forall t\in[t_k,t_k+\delta]
\tag{10}
```
を満たす$\delta$は、式(9)より明らかに$(t_{k+1}-t_k)\ge\delta$であることがわかる。よって、式(10)を満たす$\delta>0$が存在すれば、$t_{k+1}-t_k>0$を示すことができる。
　さて、プラント(1)について時刻$t_k$から時刻$t$までの出力$y(t)$は

```math
y(t)=Ce^{A(t-t_k)}x(t_k)+C\int_{t_k}^t e^{A(t-\tau)}B u(\tau)d\tau
\tag{11}
```
より、このとき誤差$e_y(t)$は

```math
e_y(t)=C(I-e^{A(t-t_k)})x(t_k)-C\int_{t_k}^t e^{A(t-\tau)}B u(\tau)d\tau
\tag{12}
```
となる。ここで、$||e_y(t)||$について$t\to t_k$で極限を取ると

```math
\lim_{t\to t_k}||e_y(t)||\le \lim_{t\to t_k}||C(I-e^{A(t-t_k)})x(t_k)||+\lim_{t\to t_k}||C\int_{t_k}^t e^{A(t-\tau)}B u(\tau)d\tau||\\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\le \lim_{t\to t_k}||C(I-e^{A(t-t_k)})||\cdot||x(t_k)||+\lim_{t\to t_k}||C||\int_{t_k}^t || e^{A(t-\tau)}B||\cdot || u(\tau)|| d\tau~~~~~~~~~~(13)
```
と変形できるので、$||x(t)||,||u(t)||$が$\forall t\ge 0$に対して有界であれば、$\lim_{t\to t_k}||e_y(t)||=0$が成り立つ。
　そこで、$||x(t)||,||u(t)||$が有界であることはコントローラのダイナミクス(2)を考慮すると状態$x(t),x_c(t)$が、つまり$z(t)$が有界であることを示せば良い。ここでは、安定性の十分条件(8)となっているリヤプノフ不等式の$P$を用いた$z(t)$に関する二次形式$V(v)=v^T Pv$を計算することでそれを求める。$v=z(t)$として二次形式を$t$について微分し、安定性の十分条件(8)とイベントトリガ条件(5)を適用すると

```math
\begin{align}
\frac{d}{dt}V(z(t)) &\le -z(t)^T Q z(t) + 2z(t)^TPGe_y(t) \\
&= -\begin{bmatrix}
z(t) \\
e_y(t)
\end{bmatrix}^T\begin{bmatrix}
Q &-PG \\
-(PG)^T & 0
\end{bmatrix}\begin{bmatrix}
z(t) \\
e_y(t)
\end{bmatrix}\\
&= -\begin{bmatrix}
z(t) \\
e_y(t)
\end{bmatrix}^T\begin{bmatrix}
Q-\kappa\sigma^2 \Omega_0 & -PG \\
-(PG)^T & \kappa\Omega
\end{bmatrix}\begin{bmatrix}
z(t) \\
e_y(t)
\end{bmatrix}-\kappa\begin{bmatrix}
z(t) \\
e_y(t)
\end{bmatrix}^T\begin{bmatrix}
\sigma^2\Omega_0 & 0 \\
0 & -\Omega
\end{bmatrix}\begin{bmatrix}
z(t) \\
e_y(t)
\end{bmatrix}\\
&\le -\gamma ||\begin{bmatrix}
z(t) \\
e_y(t)
\end{bmatrix}||^2+\kappa\rho^2~~~~~~~~~~~(\because　(6)(8))\\
&\le -\gamma ||z(t)||^2+\kappa\rho^2 \le -\frac{\gamma}{\lambda_{max}(P)}V(z(t))+\kappa\rho^2~~~~~~~~~~~~~~~~~~~~~~~~~~~\tag{14}
\end{align}
```
よって、式(14)を用いて$V(t)$を計算すると

```math
\lambda_{min}(P)||z(t)||^2 \le V(z(t)) \le e^{-\frac{\gamma}{\lambda_{max}(P)}t}V(z(0))+\frac{\kappa\rho^2}{\gamma}(1-e^{-\frac{\gamma}{\lambda_{max}(P)}t})
\tag{15}
```
以上より、時刻$\forall t\ge 0$に対して、

```math
||z(t)||\le\frac{1}{\lambda_{min}(P)} \bigl\{ e^{-\frac{\gamma}{\lambda_{max}(P)}t}V(z(0))+\frac{\kappa\rho^2}{\gamma}(1-e^{-\frac{\gamma}{\lambda_{max}(P)}t})\bigr\}
\tag{16}
```
を満たすので、状態$x(t)$と入力$u(t)$は有界であるので、式(13)を考慮すると$\lim_{t\to t_k}||e_y(t)||=0$であることが分かった。
　ここで、式(10)に戻ると

```math
||e(t)||^2\le \frac{1}{\lambda_{min}(\Omega)} \rho^2,~~\forall t\in[t_k,t_k+\delta] \tag{17}
```
と変形され、$\rho>0$であることから$\delta>0$が存在する。よって、イベントトリガ条件(5)を用いたとき、全ての０以上の整数$k$に対して$\inf(t_{k+1}−t_{k})>0$が保証されていることが示された。

#入力と出力を考慮したイベントトリガ条件
###準備
　「[状態フィードバックを用いたEvent-Triggered Control(イベントトリガ制御)](https://qiita.com/drafts/998750fa78b5efc79a9c/edit?resume=true)」で状態のイベントトリガ条件、上記では出力のイベントトリガ条件について考えたが、入力と出力を共に考慮したイベントトリガ条件も考えることができる。ここでは、プラントのダイナミクスを

```math
\left\{
\begin{array}{rl}
\frac{dx(t)}{dt} & = Ax(t) + Bu(s_k),~~\forall t \in[s_k,s_{k+1}) \\
y(t) & = Cx(t)
\end{array}
\right.
\tag{18}
```
コントローラのダイナミクスを

```math
\left\{
\begin{array}{rl}
\frac{dx_c(t)}{dt} & = A_c x_c(t) + B_c y(t_k),~~ \forall t \in[t_k,t_{k+1}) \\
u(t) & = C_cx_c(t)
\end{array}
\right.
\tag{19}
```
とする。ただし、0以上の全ての整数$k$に対してをコントローラの入力の送信時刻を{$s_k$}、プラントの出力の送信時刻を{$t_k$}とする。
　このとき、出力の誤差を$e_y(t)=y(t_k)-y(t),~\forall t\in[t_k,t_{k+1})$、入力の誤差を$e_u(t)=u(s_k)-u(t),~\forall t\in[s_k,s_{k+1})$として、出力と入力のイベントトリガ条件と送信時刻$t_k,s_k$も同様に設計をすると

```math
\begin{align}
& e_y(t)^T\Omega_y e_y(t)>\sigma_y^2 y(t)^T \Omega_y y(t)+\rho_y^2  \tag{20}\\
& e_u(t)^T\Omega_u e_u(t)>\sigma_u^2 u(t)^T \Omega_u u(t)+\rho_u^2  \tag{21}\\
& t_{k+1}=\inf \bigl\{t>t_k:e_y(t)^T\Omega_y e_y(t)>\sigma_y^2 y(t)^T \Omega_y y(t)+\rho_y^2 \bigr\} \tag{22}\\
& s_{k+1}=\inf \bigl\{t>s_k:e_u(t)^T\Omega_u e_u(t)>\sigma_u^2 u(t)^T \Omega_u u(t)+\rho_u^2 \bigr\} \tag{23}\\
\end{align}
```
ただし、$\Omega_y,\Omega_u \succ 0$、$\sigma_y,\sigma_u \ge 0$、$\rho_y,\rho_u > 0$、$t_0=s_0=0$とする。ここで、式(9)〜(17)で示したように入力と出力の絶対誤差が$\rho_y,\rho_u >0$を満たすとき０以上の全ての自然数$k$に対して$\inf (t_{k+1}-t_k)>0$、$\inf(s_{k+1}-s_k)>0$であることから、以下安定解析のみ行う。
###安定解析
　プラント(18)とコントローラ(19)を組み合わせたシステムのダイナミクスは

```math
\left\{
\begin{array}{rl}
\frac{d}{dt}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix} & = \begin{bmatrix}
A & BC_c \\
BC_c & A_c
\end{bmatrix}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}+\begin{bmatrix}
B \\
B_c
\end{bmatrix}\begin{bmatrix}
e_y & 0 \\
0 & e_u
\end{bmatrix}\\
y(t) & = \begin{bmatrix}
C & 0
\end{bmatrix}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}
\end{array}
\right.,~~\forall t\in[t_k,t_{k+1})\cap[s_k,s_{k+1})
\tag{24}
```
で表すことができ、またイベントトリガ条件(20)(21)を組み合わせると

```math
\begin{bmatrix}
e_y & 0 \\
0 & e_u
\end{bmatrix}^T\begin{bmatrix}
\Omega_y & 0 \\
0 & \Omega_u
\end{bmatrix}\begin{bmatrix}
e_y & 0 \\
0 & e_u
\end{bmatrix}>\begin{bmatrix}
\sigma_y^2 & 0 \\
0 & \sigma_u^2
\end{bmatrix}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}^T\begin{bmatrix}
\begin{bmatrix}
C \\
0
\end{bmatrix} \Omega_y\begin{bmatrix}
C \\
0
\end{bmatrix}^T & 0 \\
0 & \begin{bmatrix}
C \\
0
\end{bmatrix} \Omega_u\begin{bmatrix}
C \\
0
\end{bmatrix}^T
\end{bmatrix}\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix}+\begin{bmatrix}
\rho_y^2 \\
\rho_u^2
\end{bmatrix}
\tag{25}
```
と記述できる。式(7)と同様に簡単のためダイナミクス(24)とイベントトリガ条件(25)で用いられている行列をそれぞれ

```math
F=\begin{bmatrix}
A & BC_c \\
BC_c & A_c
\end{bmatrix},G=\begin{bmatrix}
BD_c \\
B_c
\end{bmatrix},z=\begin{bmatrix}
x(t) \\
x_c(t)
\end{bmatrix},\Omega_0=\begin{bmatrix}
\begin{bmatrix}
C \\
0
\end{bmatrix} \Omega_y\begin{bmatrix}
C \\
0
\end{bmatrix}^T & 0 \\
0 & \begin{bmatrix}
C \\
0
\end{bmatrix} \Omega_u\begin{bmatrix}
C \\
0
\end{bmatrix}^T
\end{bmatrix}
\tag{26}
```
とおくと、式(8)と同様にS-procedure用いて線形行列不等式による安定解析を行うことで

```math
\left\{
\begin{array}{c}
F^TP+PF\preceq -Q \\
\begin{bmatrix}
Q-\kappa_0\sigma_0^2 \Omega_0 & -PG \\
-(PG)^T & \kappa_0\Omega_1
\end{bmatrix}\succ 0
\end{array}
\right.
\tag{27}
```
を満たす$P,Q,\kappa_0$が存在するとき、イベントトリガ条件(5)を用いたダイナミクス(4)で表されるシステムは安定性の十分条件を満たすことがわかる。ただし、正の実数$\kappa_y,\kappa_u$を用いて$\kappa_0 =\begin{bmatrix}\kappa_y \\\ \kappa_u \end{bmatrix}$,$\Omega_1=\begin{bmatrix}\Omega_y & 0 \\\ 0 & \Omega_u \end{bmatrix}$とおいた。さらに、式(27)の安定性の十分条件を満たすとき式(11)から式(16)までと同様の手続きを行うことで、二次形式$V(v)=v^T P v$に対して

```math
||z(t)||\le\frac{1}{\lambda_{min}(P)} \bigl\{ e^{-\frac{\gamma}{\lambda_{max}(P)}t}V(z(0))+\frac{\kappa_y\rho_y^2 + \kappa_u\rho_u^2}{\gamma}(1-e^{-\frac{\gamma}{\lambda_{max}(P)}t})\bigr\}
\tag{28}
```
よりプラントの状態$x(t)$とプラントの入力$u(t)$は共に有界であることが示される。

###コントローラをオブザーバゲインとフィードバンクゲインで構成した場合の例
プラント(19)に対するコントローラをオブザーバゲイン$L$とフィードバンクゲイン$K$で構成すると

```math
\left\{
\begin{array}{rl}
\frac{dx_c(t)}{dt}(t)&=Ax_c(t)+Bu(t)+L(y_c(t)-y(t_k)),~~\forall t\in[t_k,t_{k+1})\cap[s_k,s_{k+1}) \\
u(t) & = Kx_c(t)\\
y_c(t)& =Cx_c(t),~~\forall t\in[t_k,t_{k+1})
\end{array}
\right.
\tag{29}
```
と表すことができる。このとき、$A_c=A+BC+LC,B_c=-L,C_c=K$であり、$x_c,y_c$はそれぞれプラントの状態と出力の推定値を指す。よって、式(18)から(28)と同じ操作を行うことで、０以上の全ての自然数$k$に対して$\inf (t_{k+1}-t_k)>0$、$\inf(s_{k+1}-s_k)>0$であり、かつ安定性の十分条件を満たしたオブザーバゲインとフィードバンクゲインで構成されたコントローラを設計することも可能であると言える。

#Reference
[1]Networked Control&copy;Masaaki Nagahara,Kunihisa Okano,Masaki Ogura,Masashi Wakaiki (2019)
[2]V.A.Yakubovich:S-procedure in nonlinear control theory,Vestnik Leningard Univ.Math.4,9,pp.73-93,1977 (English translation)
[3]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,4pp.571-590(2008)
[4]M.C.F.Donkers,and W.P.M.H Heels:Out-put-based event triggered control with guaranteed $L_{\infty}$-gain and improved and decentralized event-triggering,IEEE Transactions on Automatic Control,57,6,pp.1362-1376(2002)