LQI制御

LQI制御…Homework

[1] 次の可制御かつ可観測なn次系を考えます。

\displaystyle{(1)\quad \dot{x}(t)=Ax(t)+Bu(t)+w\quad(x(t),w\in{\bf R}^n,u(t)\in{\bf R}^m) }

\displaystyle{(2)\quad y(t)=C_Mx(t)\quad(y(t)\in{\bf R}^p) }

ここで、状態方程式には、操作入力u(t)のほかに、定値外乱wが加わっていること、出力方程式における行列CC_Mと書いたことに注意します。いま、出力変数の一部やそれらの組合せからなる新しいm個の被制御変数(controlled variables)を

\displaystyle{(3)\quad z(t)=C_Sy(t)=\underbrace{C_SC_M}_{C}x(t)\quad(z(t)\in{\bf R}^m) }

のように選び((A,C)は可観測対)、定値外乱があるにも拘わらず、制御目的

\displaystyle{(4)\quad z(t)\ \rightarrow\ r \quad (t\rightarrow\infty) }

を達成したいとします。ここで、定数ベクトルrm個の設定値からなる。もし制御目的(4)が物理的に可能とすると、ある状態x_\inftyと入力u_\inftyが確定し

\displaystyle{(5)\quad \boxed{\left[\begin{array}{c} -w \\ r \end{array}\right] = \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] \left[\begin{array}{c} x_\infty \\ u_\infty \end{array}\right]} }

の関係を満足しているはずです。したがって、どのようなwrに対しても、x_\inftyu_\inftyが定まるように、被制御変数(3)を

\displaystyle{(6)\quad \boxed{{\rm rank}\, \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S}=n+m} }

が成り立つように選ぶものとします。

図1 積分動作を加えた状態フィードバックによる閉ループ系

[2] さて、制御目的(4)を達成するために、図1に示すような、つぎの積分動作を加えた状態フィードバックを考えます。

\displaystyle{(7)\quad \boxed{u(t)=-Fx(t) -F_I\underbrace{\int_0^t(z(\tau)-r)\,d\tau}_{x_I(t)}} }

ここで、第2項は積分動作を表しています。このようにx_I(t)を定義すると

\displaystyle{(8)\quad \boxed{\dot{x}_I(t)=z(t)-r \qquad (x_I(0)=0)} }

を得ます。(1)と(8)を合わせて

\displaystyle{(9)\quad %\underbrace{ \left[\begin{array}{c} \dot{x}(t) \\ \dot{x}_I(t) \end{array}\right] %}_{\dot{x}_E(t)} = %\underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] %}_{A_E} %\underbrace{ \left[\begin{array}{c} x(t) \\ x_I(t) \end{array}\right] %}_{x_E(t)} + %\underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] %}_{B_E} u(t) + %\underbrace{ \left[\begin{array}{c} w \\ -r \end{array}\right] %}_{w_E} }

を得ます。(9)に、(7)すなわち

\displaystyle{(10)\quad u(t)=- %\underbrace{ \left[\begin{array}{cc} F & F_I \end{array}\right] %}_{F_E} %\underbrace{ \left[\begin{array}{c} x(t) \\ x_I(t) \end{array}\right] %}_{x_E(t)} }

を代入すると、閉ループ系は、つぎのように表されます。

\displaystyle{(11)\quad \boxed{ %\underbrace{ \left[\begin{array}{c} \dot{x}(t) \\ \dot{x}_I(t) \end{array}\right] %}_{\dot{x}_E(t)} = \underbrace{ \left[\begin{array}{cc} A-BF & -BF_I \\ C & 0 \end{array}\right] }_{A_{EF}} %\underbrace{ \left[\begin{array}{c} x(t) \\ x_I(t) \end{array}\right] %}_{x_E(t)} + %\underbrace{ \left[\begin{array}{c} w \\ -r \end{array}\right] %}_{w_E} }}

いま、A_{EF}は安定行列であるとします。このとき、A_{EF}は正則であり、つぎのように書けます。

\displaystyle{(12)\quad A_{EF} = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S} - \left[\begin{array}{cc} B \\ 0 \end{array}\right] \left[\begin{array}{cc} F & F_I+I_m \end{array}\right] }

よって、A_{EF}の逆行列は、公式

\displaystyle{(13)\quad(P-XQ^{-1}Y)^{-1}=P^{-1}+P^{-1}X(Q-YP^{-1}X)^{-1}YP^{-1}}

を用いて

\displaystyle{(14)\quad \begin{array}{ll} A_{EF}^{-1} =& S^{-1}+ S^{-1} \left[\begin{array}{cc} B \\ 0 \end{array}\right] \left(I_m- \left[\begin{array}{cc} F & F_I+I_m \end{array}\right] S^{-1} \left[\begin{array}{cc} B \\ 0 \end{array}\right] \right)^{-1} \\[5mm] &\times \left[\begin{array}{cc} F & F_I+I_m \end{array}\right] S^{-1} \end{array} }

ここで、

\displaystyle{(15)\quad S^{-1} \left[\begin{array}{cc} B \\ 0 \end{array}\right] = \left[\begin{array}{cc} 0 \\ I_m \end{array}\right] }

に注意して、整理すると

\displaystyle{(16)\quad \boxed{A_{EF}^{-1} = \left[\begin{array}{cc} I_n & 0 \\ -F_I^{-1}F & -F_I^{-1} \end{array}\right] S^{-1}} }

のように計算されます。ところで、(11)から

\displaystyle{(17)\quad \left[\begin{array}{c} x(t) \\ x_I(t) \end{array}\right] \ \rightarrow\ A_{EF}^{-1} \left[\begin{array}{c} -w \\ r \end{array}\right] \quad (t\rightarrow\infty) }

を得ます。この第1ブロック行は、(5)より

\displaystyle{(18)\quad x(t)\ \rightarrow\ \left[\begin{array}{cc} I_n & 0 \end{array}\right] S^{-1} \left[\begin{array}{c} -w \\ r \end{array}\right] =x_\infty \quad (t\rightarrow\infty) }

となって、(5)の第2ブロック行から制御目的(4)が成り立ちます。また、(17)の第2ブロック行から

\displaystyle{(19)\quad -F_Ix_{I}(t)\ \rightarrow\ \left[\begin{array}{cc} F & I_m \end{array}\right] S^{-1} \left[\begin{array}{c} -w \\ r \end{array}\right] = Fx_\infty+u_\infty \quad (t\rightarrow\infty) }

を得ます。ここで、設定値rは既知だから、rに関係した項\left[\begin{array}{cc} F & I_m \end{array}\right] S^{-1} \left[\begin{array}{c} 0 \\ r \end{array}\right]をフィードフォワードして、速応性を改善できます。すなわち、制御目的(4)を達成する制御方式は

\displaystyle{(20)\quad u(t)=-Fx(t) +F_I\underbrace{\int_0^t(r-z(\tau))\,d\tau}_{-x_I(t)} +F_rr }

のように表され、ここで、F_rはつぎのように決定できます。

\displaystyle{(21)\quad F_r= \left[\begin{array}{cc} F & I_m \end{array}\right] S^{-1} \left[\begin{array}{c} 0 \\ I_m \end{array}\right] }

[3] これまで、閉ループ系(11)において、A_{EF}は安定行列であるとしていました。ここでは、これを満足させるための具体的手段として、先に学んだLQ制御を使うことを考えます。LQ制御の議論における閉ループ系は自励系(入力をもたない系)を前提にしていましたが、本章における閉ループ系は入力をもつことに注意が必要です。この前提を満足させるために、定常状態との差をとって得られる偏差系(error system)が用いられます。

制御目的(4)が達成されたとき成り立つ(5)より

\displaystyle{(22)\quad \left[\begin{array}{c} 0 \\ 0 \end{array}\right] = \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] \left[\begin{array}{c} x_\infty \\ x_{I\infty} \end{array}\right] + \left[\begin{array}{c} B \\ 0 \end{array}\right] u_\infty + \left[\begin{array}{c} w \\ -r \end{array}\right] }

を得ます(x_{I\infty}は定数ベクトル)。まず、(9)から(22)を引いて、つぎの偏差系を得ます。

偏差系E1:
\displaystyle{(23)\quad \boxed{\frac{d}{dt} %\underbrace{ \left[\begin{array}{c} x(t)-x_\infty \\ x_I(t)-x_{I\infty} \end{array}\right] %}_{x_E(t)-x_{E\infty}} = \underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] }_{A_{E1}} %\underbrace{ \left[\begin{array}{c} x(t)-x_\infty \\ x_I(t)-x_{I\infty} \end{array}\right] %}_{x_E(t)-x_{E\infty}} + \underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] }_{B_{E1}} (u(t)-u_\infty)} }

この両辺を微分すれば、状態変数の中の定数ベクトルを除くことができて

偏差系E2:
\displaystyle{(24)\quad \boxed{\frac{d}{dt} %\underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ z(t)-r \end{array}\right] %}_{\dot{x}_E(t)} = \underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] }_{A_{E2}} %\underbrace{ \left[\begin{array}{c} {\dot x}(t) \\ z(t)-r \end{array}\right] %}_{\dot{x}_E(t)} + \underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] }_{B_{E2}} {\dot u}(t)} }

を得ます。さらに、(1)と(3)をまとめた

\displaystyle{(25)\quad \left[\begin{array}{c} {\dot x}(t)-w \\ z(t) \end{array}\right] = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S} \left[\begin{array}{c} x(t) \\ u(t) \end{array}\right] }

から(5)を引いて、つぎの関係式が成り立ちます。

\displaystyle{(26)\quad \boxed{\left[\begin{array}{c} {\dot x}(t) \\ z(t)-r \end{array}\right] = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S} \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right]} }

これに基づいて、偏差系E2に座標変換を行えば

偏差系E3:
\displaystyle{(27)\quad \boxed{\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_{E3}} %\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_{E3}} {\dot u}(t)} }

を得ます。ここで、つぎの関係式を用いました。

\displaystyle{(28)\quad \underbrace{ \left[\begin{array}{cc} A & 0 \\ C & 0 \end{array}\right] }_{A_{E2}} \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S} = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S} \underbrace{ \left[\begin{array}{cc} A & B \\ 0 & 0 \end{array}\right] }_{A_{E3}} }

\displaystyle{(29)\quad \underbrace{ \left[\begin{array}{c} B \\ 0 \end{array}\right] }_{B_{E2}} = \underbrace{ \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right] }_{S} \underbrace{ \left[\begin{array}{c} 0 \\ I_m \end{array}\right] }_{B_{E3}} }

●これら3つの偏差系E1,E2,E3はすべて可制御ですが、どれを用いるのがよいのでしょう?

偏差系E1に対する安定化状態フィードバックを

\displaystyle{(30)\quad u(t)-u_\infty=- \underbrace{\left[\begin{array}{cc} F & F_I \end{array}\right] }_{F_{E1}} \left[\begin{array}{c} x(t)-x_\infty \\ x_I(t)-x_{I\infty} \end{array}\right] }

とします。これによりA_{EF}=A_{E1}-B_{E1}F_{E1}を安定行列とすることはできますが、(30)は実装上の難があります。

偏差系E2に対する安定化状態フィードバックを

\displaystyle{(31)\quad {\dot u}(t)=- \underbrace{\left[\begin{array}{cc} F & F_I \end{array}\right] }_{F_{E2}} \left[\begin{array}{c} {\dot x}(t) \\ z(t)-r \end{array}\right] }

とします。これによりA_{EF}=A_{E2}-B_{E2}F_{E2}を安定行列とすることはできますが、LQ設計時の重み係数の決定に難があります。

偏差系E3に対する安定化状態フィードバックを

\displaystyle{(32)\quad {\dot u}(t)=- \underbrace{\left[\begin{array}{cc} K & K_I \end{array}\right] }_{K_{E3}} \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] }

とします。これによりA_{E3}-B_{E3}K_{E3}を安定行列とできます。一方、(32)は(26)を用いると

\displaystyle{(33)\quad {\dot u}(t)=- \underbrace{\left[\begin{array}{cc} K & K_I \end{array}\right] \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right]^{-1} }_{K_{E3}S^{-1}} \left[\begin{array}{c} {\dot x}(t) \\ z(t)-r \end{array}\right] }

と書けます。したがって

\displaystyle{(34)\quad A_{EF}=A_{E2}-B_{E2}F_{E2}=SA_{E3}S^{-1}-SB_{E3}K_{E3}S^{-1}=S(A_{E3}-B_{E3}K_{E3})S^{-1} }

も安定行列となります。そして、

\displaystyle{(35)\quad \boxed{\left[\begin{array}{cc} F & F_I \end{array}\right] = \left[\begin{array}{cc} K & K_I \end{array}\right] \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right]^{-1}} }

とおいて、(33)の両辺を積分すれば、制御測(7)が得られます。このことは偏差系E3の優位性を示唆しているといえます。

[4] 以下に、偏差系E3をLQ制御により安定化して、積分動作を加えた状態フィードバックを構成する手順を示します。

アルゴリズム <LQI制御>

ステップ1 被制御変数の決定

\left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right]が正則となるように(C=C_SC_M)、セレクタ行列C_S(m\times p)を決めます(一般に、多入力多出力系の場合、どの操作変数でどの被制御変数を制御するのかについて、物理的に実現可能な1対1対応を考えることが重要です。その際、被制御変数はフィードバックされるので観測量の中から選ばれなけばなりません)。

ステップ2 偏差系の安定化

偏差系

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

を、状態フィードバック

\displaystyle{(37)\quad {\dot u}(t)=- \left[\begin{array}{cc} K & K_I \end{array}\right] \left[\begin{array}{c} x(t)-x_\infty \\ u(t)-u_\infty \end{array}\right] }

によるLQ制御で安定化します。その際、評価関数としては

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

を用います。ただし、(A_E,Q_E^{\frac{1}{2}})は可観測対とします。

ステップ3 積分動作を加えた状態フィードバックの構成

つぎの積分動作を加えた状態フィードバックを構成します。

\displaystyle{(39)\quad \boxed{u(t)=-Fx(t)-F_I\int_0^t(z(\tau)-r)\,d\tau} }

ただし

\displaystyle{(40)\quad \boxed{\left[\begin{array}{cc} F & F_I \end{array}\right] = \left[\begin{array}{cc} K & K_I \end{array}\right] \left[\begin{array}{cc} A & B \\ C & 0 \end{array}\right]^{-1}} }

この手順で設計された積分動作を加えた状態フィードバックによる制御方式をLQI制御(LQ control with integral action)と呼びます。