fc2ブログ

制御工学その30

8.3.3 極配置

状態フィードバックゲインKの設計法として極配置法が知られている。
これは、A+BKの固有値p1,..,pnを指定した極p1',p2'とすることである。
この時、指定するpiは以前伝達関数のタームで示した極と過渡特性の関係を考慮しなければならない。

1入力系に対するアッカーマンのアルゴリズムを以下に示す。

可制御な制御対象を考える。このとき、特性多項式を

Δ = (p-p1')*(p-p2')...(p-pi')
  = p^n + δ_n-1*p^n-1 + ... δ_1*p + δ_0

とするとき、状態フィードバックゲインKは以下のように与えられる

K = -e_n*V_c^-1*(A^n + δ_n-1*A^n-1 +...+ δ_1*A + δ_0*I)

ここで

e_n = |0,0,...,1|

V_c = |B,AB,...,A^n-1*B|


例8.6 垂直駆動アームの極配置によるフィードバックゲインの設計

8.1で示した垂直駆動アームの状態方程式は



A = | 0, 1|
|-a0,-a1|

B = | 0|
|b0|

a0 = Mlg/J
a1 = c/J
b1 = 1/J



A+BKの固有値p1,p2を指定した値p1',p2'とするフィードバックゲインをアッカーマンのアルゴリズムから求める。

特性多項式Δ = (p-p1')*(p-p2') = p^2 + -(p1'+p2')*p + p1'p2'

δ1 = -(p1'*p2')
δ2 = p1'p2'

とする
また、


e_n = |0,1|
V_c = |B,AB| = | 0, b0|
|b0,-a1b0|



ここから状態フィードバックゲインを求める


K = -e_n*V_c^-1*(A~2+δ1*A+δ2*I)

= -e_n*V_c^-1 * (| -a0, -a1| + | 0, δ1| + |δ2, 0|) = -e_n*V_c^-1*(| -a0+δ2, -a1+δ1|)
|a1a0,-a0+a1^2| |-δ1a0,-δ1a1| | 0,δ2| |a1a0-δ1a0,-a0+a1^2-δ1a1+δ2|

= |0,1| * 1/+b0^2 * |-a1b0,-b0| * | -a0+δ2, -a1+δ1|
| -b0, 0| |a1a0-δ1a0,-a0+a1^2-δ1a1+δ2|

= 1/+b0^2 * |-b0,0| * | -a0+δ2, -a1+δ1|
|a1a0-δ1a0,-a0+a1^2-δ1a1+δ2|

= 1/+b0^2 * |a0b0-δ2b0,a1b0-δ1b0| = |a0-δ2/b0,a1-δ1/δ0|



と求まる。

8.3.4 最適レギュレータ

最適レギュレータ理論では、与えられた重み行列Q = Q^T ≧ 0, R > 0

ここで、任意のξ ≠ 0に対してξ^T*Q*ξ ≧ 0 であるような行列を半正定行列といい、Q≧0と表す。

に対して、評価関数

J - int[0-∞]{(x(t)^T*Q*x(t) + R*u(t)^2)}dt

を最小化するような状態フィードバックゲインKを求める。なお、重み行列Qは対角行列で表すことが多い。
例えばx = |x1(t),x2(t)|^Tのとき、

Q = diag{q1,q2} q1>0 , q2>0

とすると、評価関数は

J - int[0-∞]{(q1*x1(t)^2 + q2*x2(t)^2 + R*u(t)^2)}dt

となるから、q1を大きくすればx1の収束を重視し、Rを大きくすればu(t)の収束を重視することになる。
つまり、最適レギュレータはqiとRを適当に選ぶことによって相反する要求の妥当をはかっている。

この問題の解は以下の結果を利用することで得られる

可制御な制御対象に対し、評価関数を最小化するフィードバックゲインは唯一に定まり、

K = -R^-1*B^T*P

ただしPはリカッチ方程式

PA + A^T*P -P*B*R^-1*B^T*P + Q = 0

を満足する唯一の正定対称解である。

例略

8.4 サーボ設計



8.4.1 追従制御

ここでは、制御量y(t)を定値の目標値rに定常偏差なく追従させるため

u(t) = Kx(t) + Hr

という形式のコントローラを用いるとき、K,Hをどのようにして設計すればいいのかを説明する。

ここで、x(t) = |y(t),y'(t)|^Tであるとき、P-Dコントローラはこのような形式になる。

制御量y(t)が目標値rとなるような状態変数x(t),操作量u(t)の定常値x_∞,u_∞はD=0のとき

0 = A*x_∞ + B*u_∞
r = C * x_∞

なので



|x_∞| = |A,B|^-1 * |0|
|u_∞| |C,0| |r|



により定まる。ここで、x~(t) = x(t)-x_∞ , u~(t) = u(t) - u_∞ とすると、

x~'(t) = A*x~(t) + B*u~(t)

が得られる。制御目的はt→∞でe(t) = r-C*x(t) = -C*x~(t) → 0であるので

これに対して状態フィードバック

u~(t) = K*x~(t)

を設計し、t→0でx~(t) = 0 となれば良い。この時、定常値を用いて式を書き換えると、


u(t) = K(x(t)-x_∞) + u_∞ = K*x(t) + |-K,1|*|x_∞|
|u_∞|

= K*x(t) + Hr

H = |-K,1|*|A,B|^-1 *|0|
|C,0| |1|



となり、先の式と同じとなる。
例略

8.4.2 積分追従型制御

ここでは、積分器を含ませたコントローラ

u(t) = K*x(t) + kI*w(t) , w(t) = int[0-t]{e(τ)}dτ , e(t) = r-y(t)

を用いることを考える。なお、x(t) = |y(t),y'(t)|^T であるとき、I-PDコントローラはこの形式となる。
まず、状態変数を

x_e(t) = |x(t)^T,w(t)|^T

とした拡大系を考える。



|x'(t)| = | A,0|*|x(t)| + |B|*u(t) + |0|*r
|w'(t)| |-C,0| |w(t)| |0| |1|



この時、y(t)が目標値rとなるようなx(t),u(t),w(tの定常値はそれぞれ


|0| = | A,0|*|x_∞| + |B|*u_∞ + |0|*r
|0| |-C,0| |w_∞| |0| |1|


を満足する。さっきと同じように偏差 x~(t) = x(t) = x_∞,u~(t),w~(t)を定義すると

x_e~'(t) = A_e*x_e~(t) + B_e*u~(t)



A_e = | A,0|
|-C,0|

B_e = |B|
|0|

x_e~ = |x~(t)|
|w~(t)|



が得られる。また、w_∞は u_∞ = K*x_∞ + kI*w_∞を満たすことに注目すると

u(t) = K*x(t) + kI*w(t) , w(t) = int[0-t]{e(τ)}dτ , e(t) = r-y(t)



u~(t) = K*x~(t) + kI*w~(t) = K_e*x_e~ , K_e = |K,kI|

となる。したがって、x_e~'(t)に対する式に極配置法や最適レギュレータ理論によりK_eを設計すれば
t→∞でx_e~(t) → 0になるから、偏差も0となる。

まとめ

状態変数フィードバックゲインの設計法として、極配置法や最適レギュレータ理論がある。
また、システムの制御量を目標値に偏差なく追従させるための設計法を示した。
スポンサーサイト



検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR