制御工学

PID制御とシステムの安定性:2次系フィードバックシステムを安定に制御する

前回までの記事では、P制御PI制御PD制御を用いて2次系システムをフィードバック制御する際に、システムを安定に制御することが出来るゲインの範囲を算出する方法を紹介しました。

 

今回は、PID制御を用いて安定な2次系システムのフィードバック制御を行う際に、システムの安定性を保てる制御系内の各ゲインの範囲を算出する方法を紹介します。

 

PID制御とは

PID制御とは、フィードバックを用いた古典制御の中の一つです。

 

制御システムの出力値\(y\)と目標値\(r\)との偏差\(e\)

$$ e(t) = r(t) – y(t)$$

に対して、比例ゲイン\(K_p\)、積分ゲイン\(K_i\)、微分ゲイン\(K_d\)を用いて偏差\(e(t)\)を小さくする、つまり出力値\(y\)を目標値\(r\)に近づけようとするフィードバック制御を行います。

 

PID制御を用いた際の制御対象への入力信号\(u(t)\)は、偏差\(e\)と制御系内の各ゲイン(\(K_p\)、\(K_i\)、\(K_d\))より

$$ u(t) = K_p e(t) + K_i \displaystyle \int_{0}^{t} e (\tau) d\tau + K_d \frac{d e(t)}{dt}  $$

と表すことが出来ます。

 

このPID制御内の各ゲイン(\(K_p\)と\(K_i\)と\(K_d\))が大きいほど目標に近づく時間が短くなりますが、安定であったシステムが不安定になる可能性も生じます。

 

制御システムが安定性を保てる範囲でPID制御の各ゲインを選択するために、ラウス・フルビッツの安定判別法を用いて、制御系内の比例ゲイン\(K_p\)と積分ゲイン\(K_i\)、微分ゲイン\(K_d\)が選択可能な範囲を算出していきます。

 

使用するモデルと伝達関数

今回は、図のようなフィードバックシステムを用いて、比例ゲイン\(K_p\)と積分ゲイン\(K_i\)、微分ゲイン\(K_d\)を用いたPID制御を行います。

フィードフォワード制御とフィードバック制御でロボットを自由に制御しよう ロボットなどを思い通りに動かすために、フィードフォワード制御とフィードバック制御があります。 この二つの制御方法は...

 

PID制御を行う制御対象\(G(s)\)は、

$$  G(s) =  \frac{{K \omega_n}^2}{s^2 + 2 \zeta \omega_n s + {\omega_n}^2} $$

という2次系のシステムを用います。

 

ここで、\(\omega_n\)は固有角周波数、\(\zeta\)は減衰比を表しています。

また、\(K\)は制御対象内のゲインを示しています。

 

今回は

$$ H(s) = 1 $$

とします。

 

この制御対象\(G(s)\)とPID制御のゲイン(比例ゲイン\(K_p\)、積分ゲイン\(K_i\)、微分ゲイン\(K_d\))によるフィードバックシステム全体の伝達関数\(T(s)\)は、

$$ T(s) = \frac{\left( K_p + \frac{K_i}{s}+ K_d s \right) \frac{K {\omega_n}^2}{s^2 + 2 \zeta \omega_n s + {\omega_n}^2} }{1 + \left( K_p + \frac{K_i}{s}+ K_d s \right) \frac{K {\omega_n}^2}{s^2 + 2 \zeta \omega_n s + {\omega_n}^2} } $$

$$ = \frac{\left( K_p + \frac{K_i}{s}+ K_d s \right) {\omega_n}^2}{s^2 + 2 \zeta \omega_n s + {\omega_n}^2 + \left( K_p + \frac{K_i}{s}+ K_d s \right) K {\omega_n}^2} $$

と表すことが出来ます。

 

このフィードバックシステム全体の伝達関数\(T(s)\)について、ラウス・フルビッツの安定判別法を適用して、システムの安定性を保ったまま制御することが出来る各ゲイン(比例ゲイン\(K_p\)、積分ゲイン\(K_i\)、微分ゲイン\(K_d\))の範囲を求めていきます。

 

比例・積分・微分ゲインとシステムの安定性

フィードバックシステム全体の伝達関数\(T(s)\)からラウス・フルビッツの安定判別法を用いるために特性方程式\(D(s)\)を求めます。

システムの安定性:ラウス・フルビッツの安定判別法(その2) ロボットなどを制御する際に重要な制御システムの安定性を判別する方法として、ラウス・フルビッツの安定判別法があります。 ...

 

特性方程式\(D(s)\)は、伝達関数\(T(s)\)

$$ T(s) = \frac{\left( K_p + \frac{K_i}{s}+ K_d s \right) {\omega_n}^2}{s^2 + 2 \zeta \omega_n s + {\omega_n}^2 + \left( K_p + \frac{K_i}{s}+ K_d s \right) K {\omega_n}^2} $$

の分母にあたるため、

$$ D(s) = s^2 + 2 \zeta \omega_n s + {\omega_n}^2 + \left( K_p + \frac{K_i}{s}+ K_d s \right) K {\omega_n}^2 $$

で表すことが出来ます。

 

この特性方程式\(D(s)\)について、ラウス・フルビッツの安定判別法を行いやすいよう多項式の形

$$ a_n s^n+a_{n-1} s^{n-1}+ \cdots + a_1 s^1 + a_0 s^0  $$

に変換すると

$$ D(s) = s^3 + \left(2 \zeta \omega_n + K_d K {\omega_n}^2 \right) s^2 + \left( {\omega_n}^2 + K_p K {\omega_n}^2 \right) s + K_i K {\omega_n}^2 $$

と変換できます。

 

この変換した特性方程式\(D(s)\)に対して、ラウス配列を求めて、ラウス・フルビッツの安定判別法を用いて各ゲインに対するシステムの安定性を確認していきます。

 

$$ \begin{eqnarray} \begin{array}{c|ccc} s^3 & 1 & {\omega_n}^2 + K_p K {\omega_n}^2 & 0 \\ s^2 & 2 \zeta \omega_n + K_d K {\omega_n}^2 & K_i K {\omega_n}^2 & 0 \\ s^1 & \frac{\left(2 \zeta \omega_n + K_d K {\omega_n}^2 \right) \cdot \left( {\omega_n}^2 + K_p K {\omega_n}^2 \right) – 1 \cdot K_i K {\omega_n}^2}{2 \zeta \omega_n + K_d K {\omega_n}^2}  & 0 & \\ s^0 & K_i K {\omega_n}^2 & & \\ \end{array} \end{eqnarray} $$

 

求めたラウス配列の第一列より、

$$ \left[ 1, 2 \zeta \omega_n + K_d K {\omega_n}^2, \frac{\left(2 \zeta \omega_n + K_d K {\omega_n}^2 \right) \cdot \left( {\omega_n}^2 + K_p K {\omega_n}^2 \right) – 1 \cdot K_i K {\omega_n}^2}{2 \zeta \omega_n + K_d K {\omega_n}^2} , K_i K {\omega_n}^2 \right] $$

の数列を抽出します。

 

ラウス・フルビッツの安定判別法より、この数列内の全ての要素の符号が一致していればシステムは安定なので、

$$  2 \zeta \omega_n + K_d K {\omega_n}^2 > 0 $$

$$ \frac{\left(2 \zeta \omega_n + K_d K {\omega_n}^2 \right) \cdot \left( {\omega_n}^2 + K_p K {\omega_n}^2 \right) – 1 \cdot K_i K {\omega_n}^2}{2 \zeta \omega_n + K_d K {\omega_n}^2} > 0 $$

$$ K_i K {\omega_n}^2 > 0 $$

であればシステムは安定性を保つことが出来ると言えます。

 

まず、1つ目の不等式から微分ゲイン\(K_d\)が、

$$ 2 \zeta \omega_n + K_d K {\omega_n}^2 > 0 $$

$$ \Rightarrow K_d  > – \frac{2 \zeta}{K \omega_n} $$

である必要が分かります。

 

次に、3つ目の不等式から積分ゲイン\(K_i\)が、

$$ K_i K {\omega_n}^2 > 0 $$

$$ \Rightarrow K_i  > 0 $$

と正(\(+\))の値である必要が分かります。

 

そして、2つ目の不等式から比例ゲイン\(K_p\)が

$$ \left(2 \zeta \omega_n + K_d K {\omega_n}^2 \right) \cdot \left( {\omega_n}^2 + K_p K {\omega_n}^2 \right) – 1 \cdot K_i K {\omega_n}^2 > 0 $$

$$ \Rightarrow K_p = \frac{K_i }{2 \zeta \omega_n + K_d K {\omega_n}^2} – \frac{1}{K}$$

と積分ゲイン\(K_i\)と微分ゲイン\(K_d\)から表される関係式を満たす必要が分かります。

 

 

よって、PID制御系内の各ゲイン(比例ゲイン\(K_p\)と積分ゲイン\(K_i\)と微分ゲイン\(K_d\))が

$$ K_i  > 0 $$

$$ K_d  > – \frac{2 \zeta}{K \omega_n} $$

$$ K_p > \frac{K_i }{2 \zeta \omega_n + K_d K {\omega_n}^2} – \frac{1}{K} $$

であれば、システムは安定であると言えます。

 

つまり、この3つの関係式内の範囲で各ゲインを選択することで、今回の2次系フィードバックシステムの制御系を安定に保つことが出来て、システムが不安定になって出力が発散する事はありません。

 

まとめ

今回は、ロボットなどのシステムを安定性を保ったままフィードバック制御するために、PID制御内の比例ゲインと積分ゲイン、微分ゲインを選択出来る範囲を求める方法を紹介しました。

 

今回のような2次系のシステムの場合、元のシステムが安定であれば制御系内の各ゲインの値を高くしてもシステムが不安定になるケースがあまり発生しませんでした。

 

しかし制御対象が複雑になると、制御対象単体が安定であってもフィードバック制御系内のゲインが高すぎると出力が発振してしまいシステムが不安定になることがあります。

 

次回は、2次系よりも少し複雑な例として、3次系フィードバックシステムを用いてPID制御を用いた際の安定性を確認していきたいと思います。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です