PID制御器は、測定された出力を目標値に近づけて保つためのフィードバック則です。誤差に対する3つの応答、つまり今どれだけ目標からずれているか、その誤差がどれくらい続いているか、そして誤差がどれくらいの速さで変化しているかを組み合わせて働きます。
よく使われる符号の取り方では、
ここで、 は目標値、 は測定出力です。符号の定義を変えるなら、それに合わせて制御器の符号も変えなければなりません。
理想的な連続時間系の形では、制御器の出力は次のように書かれます。
これは理想モデルであり、あらゆるハードウェアにそのまま当てはまる普遍的な式ではありません。実際の制御器は離散時間で更新されることが多く、微分項は生のセンサノイズで不安定になりやすいため、通常はフィルタをかけて使われます。
PID制御器が実際にしていること
比例項は現在の誤差に反応します。系が目標から大きく離れていれば、制御器は強く応答します。誤差が小さければ、補正も小さくなります。
積分項は過去の誤差に反応します。系が長い時間にわたって少しずつずれていると、積分項は蓄積し続け、その持続的なオフセットを取り除くことができます。
微分項は誤差の変化傾向に反応します。誤差が急速に変化していると、この項は減衰を加えてオーバーシュートを抑えるのに役立ちます。予測的と呼ばれることもありますが、より正確には、未来を完全に予測しているのではなく、現在の変化率に反応していると言うべきです。
直感的な理解:なぜ3つの項が役立つのか
坂道で車が設定した速度を保とうとしている場面を考えてみましょう。
車が今ちょうど目標速度より遅ければ、比例制御はスロットルを増やします。数秒間ずっと目標より遅いままなら、積分制御がさらに補正を加えます。速度が目標に向かって非常に速く上がっているなら、微分制御が応答をやわらげ、設定値を勢いよく通り過ぎないようにできます。
これがPID制御が広く使われる理由です。即時の反応、持続する誤差の記憶、そして減衰を、1つのシンプルなフィードバック則で与えられるからです。
具体例:ヒーター制御
あるヒーターが部屋の温度を設定値に保とうとしていて、誤差を次のように定義するとします。
ある時点で、
であり、制御ゲインを
とします。
すると、
微分項の寄与が負なのは、誤差が小さくなっているからです。平たく言えば、部屋はまだ寒いので制御器は引き続き熱を加えますが、温度がすでに目標に向かって動いているため、その加え方を少し弱めます。
ここで注目すべき基本パターンはこれです。 はどれだけ離れているかに反応し、 はどれだけ長く離れていたかに反応し、 はその差がどれだけ速く変化しているかに反応します。
PIDでよくある誤解やミス
- PIDを、どの制御器でも同じように働く固定の公式だと考えてしまうこと。実際の系では、離散更新、微分のフィルタ、出力制限、あるいは完全なPIDではなくPI制御だけを使う場合があります。
- 積分項は常に有益だと思い込むこと。アクチュエータが飽和すると、積分項が蓄積し続けて積分飽和を起こすことがあり、実装に保護機構が必要です。
- 微分項が設定値だけの傾きを測っているかのように扱うこと。実際には制御器の設計に依存し、測定信号にノイズが多いと非常にノイジーになることがあります。
- 符号の定義を無視すること。誤差を逆符号で定義するなら、ゲインや加算の符号もそれに合わせて変える必要があります。
- PIDですべての制御問題が解けると期待すること。PIDが最も有効なのは、フィードバックだけで十分に制御でき、かつループを安定に調整できる系です。
PID制御はどこで使われるか
PID制御は、温度調節、モータ速度制御、クルーズコントロール、流量制御、多くの産業用制御ループで広く使われています。特に、出力を明確に測定でき、最初から完全な詳細モデルを作らなくても実用的な制御器がほしい場合に有用です。
ただし、すべての系で自動的に最良の選択になるわけではありません。非常に高速な系、強い非線形性をもつ系、大きな遅れをもつ系、あるいは制約の厳しい系では、より特化した方法やPIDループの周辺に追加の補償が必要になることがあります。
PIDが物理や工学で重要な理由
PID制御器は、フィードバックが実際にどう働くかを示すわかりやすい例です。制御器は未来を正確に知る必要はありません。系を測定し、その測定値を目標と比較し、その差を減らすように入力を調整します。
このフィードバックの考え方は、1つの公式を超えて広く現れます。外乱、遅れ、不完全な測定があっても、系が望ましい状態の近くにとどまろうとするあらゆる場面に現れます。
似たケースで考えてみよう
速度、温度、液位など、すでに知っている制御の問題を1つ取り上げて、次の3つを考えてみてください。今の誤差は何か、その誤差はしばらく残っているか、そしてそれは速く変化しているか。この見方だけでも、なぜPIDが役立つのか、どの項が最も大きく働いているのかが見えやすくなります。