P制御・PI制御・PID制御の違い:定常偏差・応答の速さ・オーバーシュート・調整を比較

どれも、目標値と制御量の差(偏差)eから操作量を決めるフィードバック制御で、使う項の数が違います。P制御は偏差に比例した操作量を出し、PI制御はそれに偏差の積分を、PID制御はさらに偏差の微分を加えます。P(比例)は応答の速さ、I(積分)は定常偏差の除去、D(微分)は行き過ぎや振動の抑制を受け持ちます。積分を含まない制御対象では、P制御だけだと偏差が残ります。PI制御で偏差はなくなりますが、位相が遅れて振動しやすくなり、Dを加えるとその振動を抑えられます。

項目P制御PI制御PID制御
操作量の式u = Kp·eu = Kp·e + Ki∫e dtu = Kp·e + Ki∫e dt + Kd·de/dt
ステップの目標値に対する定常偏差(積分を含まない対象)残る。一次遅れK/(Ts + 1)では1/(1 + K·Kp)0になる0になる
応答の速さKpを上げるほど速くなる積分ゲインKiを上げると立ち上がりは速くなるが、オーバーシュートが増えるDで減衰が増すので、オーバーシュートを抑えながらゲインを上げやすい
オーバーシュートと振動Kpを上げすぎると振動的になり、遅れの大きな対象では不安定になる積分で位相が90°遅れるので、P制御より振動しやすい微分が偏差の変化を先回りして抑え、振動を減らす
シミュレーターでの例(むだ時間つき一次遅れK = 1、T = 10 s、L = 2 s、Kp = 4)定常偏差0.2、オーバーシュート約30%Ki = 0.4で定常偏差0、オーバーシュート約30%さらにKd = 4で定常偏差0、オーバーシュート約7%
雑音への強さ雑音もKp倍される高い周波数でのゲインはKpで、P制御と同じ程度微分は高い周波数ほど大きくするので、雑音を増幅する。ローパスフィルタを組み合わせた不完全微分にする
操作量の飽和積分がないので、上限に張り付いても巻き上がりは起きない上限に張り付いている間に積分がたまる積分ワインドアップが起こる。積分を止めるなどの対策が必要PI制御と同じく積分ワインドアップの対策が必要。目標値の急変による微分キックにも注意する
調整するパラメータとジーグラ・ニコルスの限界感度法の目安Kpの1つ。Kp = 0.5KuKpとTi(またはKi)の2つ。Kp = 0.45Ku、Ti ≈ 0.83TuKp、Ti、Tdの3つ。Kp = 0.6Ku、Ti = 0.5Tu、Td = 0.125Tu
主な用途少しの偏差を許せる制御、対象が積分を含む位置の制御(ステップに対する偏差は残らない)温度、流量、圧力、モータの速度、電源の電圧など。実際の制御ループではDを使わないPI制御が多い遅れが大きく、行き過ぎを抑えたい温度や位置の制御

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

P制御
制御対象が積分を含む(モータの位置など)か、少しの定常偏差を許せるとき。最も簡単で、調整するのはKpだけです。
PI制御
一定の目標値や外乱に対して、定常偏差を0にしたいとき。雑音に強く調整もしやすいので、温度、流量、速度、電源の電圧など、多くの制御ループで標準的に使われます。
PID制御
むだ時間や遅れが大きく、PI制御ではオーバーシュートや振動が大きいとき。微分にはローパスフィルタを入れ、センサの雑音が大きい場合はDのゲインを控えめにします。

よくある質問

P制御だけだと、なぜ定常偏差が残るのですか?

操作量が偏差に比例するので、操作量を出し続けるには偏差が残っている必要があるからです。一次遅れの対象K/(Ts + 1)を単位フィードバックでP制御すると、最終値はK·Kp/(1 + K·Kp)、偏差は1/(1 + K·Kp)になり、K = 1、Kp = 4なら最終値0.8、偏差0.2です。Kpを上げれば偏差は小さくなりますが0にはならず、上げすぎると振動します。

PI制御で定常偏差が0になるのはなぜですか?

積分項は、偏差が少しでも残っている限り値が変わり続けるので、偏差が0になったところでしか落ち着かないからです。偏差が0になっても、積分項にたまった値が必要な操作量を出し続けます。その代わり、積分は位相を90°遅らせるので、積分を強くしすぎる(積分時間Tiを短くしすぎる)とオーバーシュートや振動が増えます。

D(微分)を加えるときの注意は何ですか?

微分は高い周波数の成分ほど大きくするので、センサの雑音を増幅します。そこで、一次のローパスフィルタを組み合わせた不完全微分にし、高い周波数でのゲインをN倍程度(Nは8〜20程度が多い)に制限します。また、目標値をステップ状に変えた瞬間に操作量が跳ね上がる微分キックを防ぐため、微分を偏差ではなく測定値だけにかける方法(PI-D制御)もよく使われます。

ゲインはどの順番で調整すればよいですか?

まずP制御だけで、振動しはじめる手前までKpを上げ、次にIを加えて定常偏差をなくし、オーバーシュートが大きければDを加えるのが基本の流れです。比例制御で持続振動が起きるゲインKuと周期Tuがわかれば、ジーグラ・ニコルスの限界感度法(PID制御ならKp = 0.6Ku、Ti = 0.5Tu、Td = 0.125Tu)を出発点にできますが、得られる応答は振動的なので、そこからゲインを下げて調整します。

理解度チェック

単位フィードバックの系で、前向きの伝達関数が G(s) = 9/(1 + 2s) である。大きさ1のステップの目標値に対する定常偏差として正しいものはどれか。

  1. A0
  2. B0.1
  3. C約0.11
答えと解説を見る

正解:B. 0.1

単位フィードバックの系のステップに対する定常偏差は 1/(1 + Kp) で、Kp = G(0) を位置偏差定数と呼びます。ここでは Kp = 9 なので、定常偏差は 1/(1 + 9) = 0.1 です。前向きの経路に積分を含まない(0形の)系では、ゲインを上げると偏差は小さくなりますが、0にはなりません。偏差を0にするには、PI制御などで積分を加えます。

積分要素を含まない(0形の)制御対象を比例(P)制御する。比例ゲイン Kp を大きくしたときの一般的な変化として正しいものはどれか。

  1. A定常偏差は小さくなるが0にはならず、大きくしすぎると振動的になったり不安定になったりする
  2. B定常偏差がちょうど0になり、ゲインをいくら大きくしても、応答は振動することなく必ず安定に保たれる
  3. C応答の速さは変わらず、定常偏差だけが大きくなっていく
答えと解説を見る

正解:A. 定常偏差は小さくなるが0にはならず、大きくしすぎると振動的になったり不安定になったりする

比例制御は、偏差に比例した操作量を出す最も基本的な制御です。Kp を大きくすると応答が速くなり、ステップに対する定常偏差 1/(1 + Kp·K)(K は制御対象の定常ゲイン)も小さくなりますが、偏差がなければ操作量も0になるので、偏差は0にはなりません(オフセット)。また、ゲインを上げると位相余裕が減ってオーバーシュートが大きくなり、遅れの大きな系では不安定になります。定常偏差をなくすには、積分動作を加えます。

PI制御で、積分(I)動作を加える主な目的と、その副作用の組み合わせとして正しいものはどれか。

  1. A目的は高い周波数の雑音を取り除くことで、副作用は定常偏差が大きくなること
  2. B目的は一定の目標値や外乱に対する定常偏差をなくすことで、副作用は位相が遅れて振動しやすくなること
  3. C目的は偏差の変化を先読みして応答を速くし、行き過ぎを抑えることで、副作用は高い周波数の雑音を大きく増幅すること
答えと解説を見る

正解:B. 目的は一定の目標値や外乱に対する定常偏差をなくすことで、副作用は位相が遅れて振動しやすくなること

積分動作は偏差を時間で積み重ねて操作量にするので、偏差が少しでも残っている限り操作量を変え続け、最終的に定常偏差を0にします。一方、積分要素は位相を90°遅らせるので、位相余裕が減り、オーバーシュートや振動が起こりやすくなります。そこで、積分時間 Ti を短くしすぎないように調整します。応答を速くして行き過ぎを抑え、雑音を増幅しやすいのは、微分動作の特徴です。

  1. PID制御の微分(D)動作の性質と、実装での対策の組み合わせとして正しいものはどれか。
  2. PID制御で、目標値をステップ状に変えた瞬間に操作量が大きく跳ね上がる(微分キック)のを防ぐ方法として正しいものはどれか。
  3. ジーグラ・ニコルスの限界感度法では、比例制御だけでゲインを上げて持続振動が起きたときのゲイン Ku と振動の周期 Tu から、PID制御のパラメータを Kp = 0.6Ku、Ti = 0.5Tu、Td = 0.125Tu と決める。Ku = 8、Tu = 2 s のときの値として正しいものはどれか。

制御工学の基礎の練習問題へ

関連する用語の解説

PID制御
偏差 e に比例する項(P)、偏差の積分に比例する項(I)、偏差の微分に比例する項(D)を足し合わせて操作量を決めるフィードバック制御。u = Kp(e + (1/Ti)∫e dt + Td·de/dt) と書き、Kp を比例ゲイン、Ti を積分時間、Td を微分時間と呼ぶ。比例は速さ、積分は定常偏差の除去、微分は振動の抑制を受け持つ。構造が簡単で、温度、モータ、電源、化学プロセスなど、産業の制御ループの大半で使われている。
定常偏差
制御系の応答が落ち着いた後に残る、目標値と制御量の差。オフセットとも呼ぶ。単位フィードバックの系では、ステップの目標値に対して 1/(1 + Kp)(Kp = G(0) は位置偏差定数)となり、前向きの経路に積分を含まない(0形の)系では0にならない。積分を1つ含む1形の系ではステップに対する定常偏差が0になり、ランプの目標値に対しては 1/Kv(Kv は速度偏差定数)の偏差が残る。PI制御の積分動作は、この偏差をなくすために使われる。
オーバーシュート
ステップ応答などで、出力が最終値を超えて行き過ぎること。また、その最大の行き過ぎ量。制御工学では最終値に対する割合(%)で表し、零点のない二次遅れ系では減衰係数 ζ だけで決まる exp(−πζ/√(1 − ζ²)) になる。フィードバック制御の系では、位相余裕が小さいほど大きくなる。電子回路では、配線のインダクタンスや反射によって、信号や電圧の波形が一時的に最終的なレベルを超える現象も同じように呼ぶ。
積分ワインドアップ
操作量がアクチュエータの上限や下限で飽和している間も、PID制御の積分項が偏差を積み重ね続けて過大になる現象。偏差の符号が変わっても、ためこんだ積分が減るまで操作量が飽和したままになり、大きなオーバーシュートや長い振動を起こす。飽和中は積分を止める条件付き積分(クランプ)、制限前と制限後の差を積分に戻すバックカリキュレーション、速度形のPIDの使用などのアンチワインドアップで防ぐ。
整定時間
ステップ入力を加えてから、出力が最終値の決められた範囲(±2%や±5%など)に入り、その後その範囲から出なくなるまでの時間。応答の速さと落ち着きを合わせて表す指標で、二次遅れ系では±2%の整定時間がおよそ 4/(ζωn)、±5%ではおよそ 3/(ζωn) と見積もられる。一次遅れ系の±2%の整定時間は約3.9T(T は時定数)である。ADコンバータやオペアンプの仕様でも、出力が指定の精度に落ち着くまでの時間を整定時間と呼ぶ。
一次遅れ系
伝達関数が G(s) = K/(1 + Ts) で表される系。K は定常ゲイン、T は時定数である。ステップ入力に対する出力は K(1 − e^(−t/T)) で、t = T で最終値の約63.2%、3T で約95%、5T で約99.3%に達し、行き過ぎ(オーバーシュート)はない。RC回路、熱の系、液面の系など、多くの身近な系がこの形で近似できる。周波数応答では、角周波数 1/T を折れ点として、ゲインが −20 dB/dec で下がる。
フィードバック制御
制御量をセンサで測って目標値と比べ、その差(偏差)が小さくなるように操作量を変える制御。信号がループを一巡するので、閉ループ制御とも呼ぶ。原因によらず結果のずれを直すので外乱や制御対象の変化に強いが、偏差が出てから修正するので遅れがあり、ゲインが高すぎると振動や不安定を招く。PID制御が代表的で、温度、速度、電圧、位置などの制御に広く使われる。

関連する比較