フィードバック制御

07. フィードバック制御

はじめに

ここから、コントローラに実装する制御手法の話です。

世の中の制御システムの多くには、制御手法としてフィードバック制御とフィードフォワード制御が実装されています。ここでは、代表的な制御手法として、フィードバック制御の1つであるPID制御を説明します。PID制御を理解したうえで、その時間応答をシミュレーションで確認していきます。

システムの制御とは

制御の目的は、そのシステムを作動目標に追従させたり、外乱があった場合やシステムの個体ばらつき、経年変化による制御性能低下などの影響を抑制するように適切な操作を加えることにあります。

フィードバック制御

適切な制御性能を得るために、システムの状態を検出し、目標状態との偏差を補う制御値を入力にフィードバックする制御をフィードバック制御と呼びます。

PID制御

フィードバック制御として実用例が最も多いのがPID制御です。
PID制御は、P制御(比例項)、I制御(積分項)、D制御(微分項)の組み合わせによって、システムの状態を目標値に追従させる制御です。

比例項、積分項、微分項の役割

  • P項(比例項)
    PID制御ではP制御が基本になります。目標値と現在値の偏差に比例する制御量です。
  • I項(積分項)
    I項は偏差を時間積分した制御量です。P制御だけでは目標値と現在値が一致せず、定常偏差が解消できないことがあります。この定常偏差を解消するために時間積分の制御量を追加しています。
  • D項(微分項)
    急激な変化に対する追従性の改善と、目標値に対するオーバーシュートの発生を抑制する制御量です。


PID制御の適用

フィードバック制御の例題として、先行車との車間距離を一定にした ”追従走行制御” を検討すします。

近年、多くの車に搭載されている車間距離制御装置(ACC)は、ミリ波レーダーやカメラで先行車との車間距離を検知し、車間距離を一定に保つ追従走行を行います。

車両走行モデルを使って、2台の車両を走行させ、先行車の加減速に合わせて後続の車両の車間距離を一定に保つ制御を検討します。

具体的には、先行車との車間距離を一定にする追従走行になるように、後続車両の走行速度にPID制御を適用します。下のブロック線図は、制御対象の信号の流れと演算処理を表しています。
検出車間距離は、本来ならセンサで検知するところですが、シミュレーションなので、走行距離の差で算出します。P項、I項、D項は離散時間系で表現しています。

先行車との車間距離を一定にした追従走行を行うため、検出した車間距離と目標車間距離の偏差を加減速指示値にフィードバックする制御ロジックを追従車両の車両走行モデルに追加します。

先行車が加減速したときに、後続車のPID制御演算器で速度制御を行い、適切に車間が維持できるか評価します。

EXCELファイルのダウンロード

こちらからExcelファイルをダウンロードできます。Excelの状態方程式のシートは、
車両走行モデルと共通です。前走車追従のシートでは、先行車との車間距離が一定になるように追従する制御ロジックを、追従車両の車両走行モデルに追加しています。

PID制御ロジック

P項は、目標車間距離との偏差にゲインKpを掛けた値です。
I項は、目標車間距離との偏差にゲインKiを掛けた値に前回のI項を足した(積分)値です。
D項は、目標車間距離の偏差と、前回の目標車間距離の偏差の差にゲインKdを掛けた値です。
PID制御値はP項、I項、D項を足し合わせたもので、このモデルでは、PID制御値をそのまま加減速指示値に採用しています。

シミュレーション

初期状態では、PID各制御項の制御ゲインは0になっており、追従制御していません。

先行車は、5~10秒の間に1[m/s^2]の加速と、20~25秒の間に-1[m/s^2]の減速をしています。結果として、車間距離は初期状態から75m拡大(赤ライン)しています。

EXCELシートにあるスライドボリュームで、PIDの各制御項の制御ゲインを設定し、挙動を確認してみてください。

設定例 

上記のゲイン設定の挙動を示します。先行車が加減速したときに、後続車の速度制御が適切な車間が維持できるかシミュレーションで確認しています。

結果、目標車間距離とのズレが2m以内に抑えられており良好です。


EXCELのスライドボリュームでPIDの制御ゲインを変えてみると、PID各項の役割が分かります。

  • P項(比例項)
     機能:目標に追従。
     P項のゲインを0にすると ⇒ 偏差収束しない
  • D項(微分項)
     機能:収束性を改善する。
     D項のゲインを0にすると ⇒ 制御発散
  • I項(積分項)
     機能:目標との定常偏差を除去する
     前走車追従制御では使用せず

まとめ

先行車追従制御モデルでは、制御指示が加速度であるのに対し制御対象は車間距離。直接制御できない制御目標の場合は、発散しやすく制御の難易度が高くなります。対象とするシステムによって制御性は様々です。 また、PID制御は、Kp,Kd,Kiの3つのゲインを調整して制御性能を改善できる手軽さがある一方、ゲイン調整を誤ると危険な状態にもなります。制御を実装する前に対象システムの制御性やゲイン設定、システムの挙動などをシミュレーションで確認しておく必要があります。

最後までお読みいただき、ありがとうございました。

今回例示した先行車追従制御モデルの結果を見ても分かりますが、フィードバック制御では制御目標との偏差が発生してからの制御なので、初期段階での制御遅れが必ず発生します。この制御遅れを解消する目的で導入するのが次のフィードフォワード制御です。


QooQ