LQGI制御…Homework
[1] 可制御かつ可観測な
次系を考えます。
![]()
![]()
ここで、状態方程式には、操作入力
のほかに、定値外乱
が加わっていること、出力方程式における行列
を
と書いたことに注意します。いま、出力変数の一部やそれらの組合せからなる新しい
個の被制御変数を
![]()
のように選び(
は可観測対)、定値外乱があるにも拘わらず、制御目的
![]()
を達成したいとします。ここで、定数ベクトル
は
個の設定値からなる。もし制御目的(4)が物理的に可能とすると、ある状態
と入力
が確定し
![]()
の関係を満足しているはずです。したがって、どのような
と
に対しても、
と
が定まるように、被制御変数(3)を
![Rendered by QuickLaTeX.com \displaystyle{(6)\quad {\rm rank}\, \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S}=n+m }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-2069deace994eb41f10ff0a9f788d3e6_l3.png)
が成り立つように選ぶものとします。
●さて、制御目的(4)を達成するために、つぎの積分動作を加えた状態フィードバックを考えました。
![]()
ただし
![]()
実際には、式(7)の代わりに、状態オブザーバ
![]()
の出力を用いて
![]()
を実施することになります。ここでの積分動作を加えたオブザーバベース コントローラは、(10)を(9)に代入した
![]()
と、(8)を合わせて、つぎのように表されます。
![Rendered by QuickLaTeX.com \displaystyle{(12)\quad \boxed{\begin{array}{rl} \left[\begin{array}{c} \dot{\hat{x}}(t) \\ \dot{x}_I(t) \end{array}\right] =& \underbrace{ \left[\begin{array}{cc} A-HC_M-BF & -BF_I \\ 0 & 0 \end{array}\right] }_{A_K} \left[\begin{array}{c} \hat{x}(t) \\ x_I(t) \end{array}\right]\\[10mm] &+ \underbrace{ \left[\begin{array}{cc} H & 0\\ C_S & -I_m \end{array}\right] }_{B_K} \left[\begin{array}{c} y(t) \\ r \end{array}\right] \end{array}} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-977bf81afcea851483203c10814c5622_l3.png)
![Rendered by QuickLaTeX.com \displaystyle{(13)\quad \boxed{u(t)= \underbrace{- \left[\begin{array}{cc} F & F_I \end{array}\right] }_{C_K} \left[\begin{array}{c} \hat{x}(t) \\ x_I(t) \end{array}\right]} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-d9ac340745aed0b88493ebd6fef302af_l3.png)
これによる閉ループ系は、(10)を(1)に代入した
![]()
と、(8)、(3)を合わせて
![Rendered by QuickLaTeX.com \displaystyle{(15)\quad \boxed{\left[\begin{array}{c} \dot{x}(t) \\ \dot{x}_I(t) \\ \dot{\hat{x}}(t) \end{array}\right] = \left[\begin{array}{ccc} A & -BF_I & -BF \\ C & 0 & 0 \\ HC_M & -BF_I & A-HC_M-BF \end{array}\right] \left[\begin{array}{c} x(t) \\ x_I(t) \\ \hat{x}(t) \end{array}\right] + \left[\begin{array}{c} w \\ -r \\ 0 \end{array}\right]} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-80e9ab84b8746522c22673f66ba84dda_l3.png)
のように表されます。そのブロック線図を図1に示します。
図1 積分動作を加えたオブザーバベースコントローラによる閉ループ系
●いま、閉ループ系(15)に、座標変換
![Rendered by QuickLaTeX.com \displaystyle{(16)\quad \left[\begin{array}{c} x(t) \\ x_I(t) \\ e(t) \end{array}\right] = \left[\begin{array}{ccc} I_n & 0 & 0 \\ 0 & I_m & 0 \\ -I_n & 0 & I_n \end{array}\right] \left[\begin{array}{c} x(t) \\ x_I(t) \\ \hat{x}(t) \end{array}\right] }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-b5d9f1751dc5c2977110972aa9b6df51_l3.png)
を行えば
![Rendered by QuickLaTeX.com \displaystyle{(17)\quad \boxed{\left[\begin{array}{c} \dot{x}(t) \\ \dot{x}_I(t) \\\hline \dot{e}(t) \end{array}\right] = \underbrace{ \left[\begin{array}{cc|c} A-BF & -BF_I & -BF \\ C & 0 & 0 \\\hline 0 & 0 & A-HC_M \end{array}\right] }_{ A_{EF}'= \left[\begin{array}{c|c} A_{EF} & - \left[\begin{array}{cc} B \\ 0 \end{array}\right] F \\[5mm] \hline 0 & \widehat{A} \end{array}\right] } \left[\begin{array}{c} x(t) \\ x_I(t) \\\hline e(t) \end{array}\right] + \left[\begin{array}{c} w \\ -r \\\hline -w \end{array}\right]} }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-e7fd58fcda89d55aeef7eae502bf33d5_l3.png)
となり、閉ループ系の固有値は、積分動作を加えた状態フィードバックだけの閉ループ系の固有値と状態オブザーバの固有値からなります。
ここで、
は安定行列であるとします。このとき、(17)より
![Rendered by QuickLaTeX.com \displaystyle{(18)\quad \left[\begin{array}{c} x(t) \\ x_I(t) \\\hline e(t) \end{array}\right] \ \rightarrow\ \underbrace{ \left[\begin{array}{c|c} A_{EF}^{-1} & -A_{EF}^{-1} \left[\begin{array}{cc} B \\ 0 \end{array}\right] F\widehat{A}^{-1} \\[5mm]\hline 0 & \widehat{A}^{-1} \end{array}\right] }_{A_{EF}'\,^{-1}} \left[\begin{array}{c} -w \\ r \\\hline w \end{array}\right] \quad (t\rightarrow\infty) }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-7dbdd90fdb25b174ea756263881e7ad1_l3.png)
ここで
![]()
![]()
を用いて
![]()
![]()
![]()
を得ます。したがって、定値外乱が存在するときは状態オブザーバに関して定常偏差が残るにもかかわらず、制御目的(4)が成り立つことがわかります。
[2] 以下に、偏差系E3をLQG制御により安定化して、積分動作を加えたオブザーバベースコントローラを構成する手順を示します。
アルゴリズム <LQGI制御>
ステップ1 被制御変数の決定
が正則となるように(
)、セレクタ行列
を決めます。
ステップ2 偏差系の安定化
偏差系
![Rendered by QuickLaTeX.com \displaystyle{(24)\quad \frac{d}{dt} %\underbrace{ \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] %}_{{\tilde x}_E(t)-{\tilde x}_{E\infty}} = \underbrace{ \left[\begin{array}{cc} A & B \\ 0 & 0 \end{array}\right] }_{A_{E}} %\underbrace{ \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] %}_{{\tilde x}_E(t)-{\tilde x}_{E\infty}} + \underbrace{ \left[\begin{array}{c} 0 \\ I_m \end{array}\right] }_{B_{E}} {\dot u}(t) }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-0d41396e25f50798302fa74e0fcc7e0c_l3.png)
を、状態フィードバック
![]()
によるLQ制御で安定化します。その際、評価関数としては
![Rendered by QuickLaTeX.com \displaystyle{(26)\quad \int_0^\infty \left( \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right]^T Q_E \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] +{\dot u}^T(t)R_E{\dot u}(t)\right)\,dt }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-e8a6e5b1e487b8f7d4c66618190de067_l3.png)
を用いる。ただし、
は可観測対とします。
さらに、
と
を、次式から計算します。
![]()
ステップ3 オブザーバゲイン
の決定
行列
を、
が可制御対となるように選び、重み行列
と
を指定し
![]()
を解いて、
を求め、オブザーバゲイン
をつぎのように定めます。
![]()
ステップ4 LQGIコントローラの構成
、
、
、
から、つぎを構成します。
![]()
![]()
ただし
![]()
![]()
![]()
この手順で設計された積分動作を加えた状態フィードバックによる制御方式をLQGI制御(LQG control with integral action)と呼びます。