PID制御単語

15件
ピーアイディーセイギョ
2.7千文字の記事
  • 4
  • 0pt
掲示板へ

PID制御とは、フィードバック制御の一種である。ある対を制御するための入量(操作量)を、標値と制御量の誤差から例(Proportional)、積分Integral)、微分(Differential)で計算するためこの名がある。

概要

例えば、クルマ速度を一定に保つような制御を考える。

速度(制御量)をある一定(標値)に保つアクセルの踏み加減(操作量)は、パワーや重さ、上り坂か下り坂か…などの(制御工学上では外乱という)を受ける。

したがって、速度標値に保つためには、速度が遅ければアクセルを強く踏み、速度が速ければアクセルの踏み加減を弱める必要がある。(これをフィードバック制御という)

人間であれば、この操作を経験や学習で自然に行えるが、機械コンピュータを含む)を自動的に行わせる場合には、アクセルの踏み加減の調整方法(つまり制御手法)を機械に教えてあげる必要がある。

PID制御はこのアクセルの踏み加減を、速度誤差例(Proportional)・積分Integral)・微分(Derivative)それぞれの制御式で計算し、足し合わせることで決定する制御手法である。第二次世界大戦以前から理論化されており、現代では古典制御論と呼ばれる組みに属しているが、シンプルかつそこそこ優秀で汎用性の高い制御手法であるため、現役で様々な用途に用いられている。

ここではP・I・D各制御をかなり定性的かつ砕けた表現で説明するので、厳密な話はwikipediaあたりか制御工学の参考書などを見てほしい。

オン-オフ制御(PID制御以前)

まず、PID制御よりも単純なオン-オフ制御を考える。制御対は例えばクルマ速度天ぷら温度エアコンの室温などなんでもよいが、オン-オフ制御の場合は標の値を制御するための入オンオフしかない。

クルマで言えばアクセルエンジン全開と停止しかない状態、ガスコンロで言えば強火か火を消すかしかない状態である。このような制御の場合、標値をえたらスイッチオフにして、外乱(摩擦で速度が下がったり、熱が天ぷらの外に逃げ温度が下がったり)で標値を下回るとスイッチオンにすることになるが、常に実際値は標値の上下を行ったり来たりして安定しない。

このような単純なオンオフ制御に対して、PID制御は「標値と出(実際値)の差を少なくする」「出の変動を少なくする」「速やかに出標値と近づける」といった利点を持つ。

P制御

単純にオンオフするだけではなく、速度誤差速度現在速度の差)に、ある例係数(Pゲイン)を掛け合わせ、アクセルの踏み加減(操作量)を決定するのがP制御(例制御)である。

P制御の制御量は以下の式であらわされる。

 アクセルの踏み加減(操作量)=(標の速度 - 現在速度)×Pゲイ

例えばPゲインが1、速度が40km/hの場合で、現在速度が30km/hなら踏み加減は10。

現在速度が60km/hなら踏み加減は-20となる。

標値との誤差が大きければそれに例して操作量が大きく、誤差が小さければ操作量が少なくなるため、オンオフ制御にべてよりスムーズ標値に制御量を近づけることができる。

P制御のキモは、例係数(Pゲイン)の決定である。ゲインを大きくすれば操作量も大きくなり、小さくすれば操作量も小さくなる。実際の制御に適用するときにはPゲインを適当な値(物理的な方程式を解いたり、シミュレーションしたり、実験したり)に調整する必要がある。

また、計算上はアクセルの踏み加減は±の範囲となってしまうが、実際には制限があるため、リミッタを設けるなどの工夫が必要である。

I制御

先ほどの事例で、坂に差し掛かった場合を考える。その坂は踏み加減10では30km/hまでしか出せないとすると、いつまでたっても標値40km/hにはたどり着かないままになってしまう。このように、いつまでも誤差が残ったままになってしまうことをオフセットと呼ぶ。

オフセットが生じたときにいちいちPゲインをいじっていては大変なため、代わりに制御開始からの誤差積分し、操作量に加算していくという方法が用いられる。この誤差積分していく制御をI制御(積分制御)という。

I制御の操作量は次の式であらわされる。

 踏み加減(制御量)=(標の速度 - 現在速度)の時間ごとの積分×Iゲイ

ゲインが1、速度が40km/h、現在速度が30km/hのままであれば、1後には踏み加減が10、2後には20に増える。つまり、偏差が残っている時間が長ければ、それだけ操作量が増えるのである。そして、いずれ坂による減速に打ち勝ったうえで40km/hを保てる踏み加減で安定する。

ただし積分することで、速度誤差に対するアクセルの踏み方は遅れ、最悪の場合加速と減速の繰り返しが止まらなくなることがある(発振)。

そうならないように、Iゲインも適当な値になるように調整する必要がある。

D制御

P制御やI制御の場合誤差が出て初めて制御を始めるため、アクセルに対する速度の反応が遅い場合は、手遅れになってしまう場合がある。

 その場合、速度標に未達であっても、めにアクセルを弱めてあげることで、行き過ぎることなく速度に到達できる。これを実現するのがD制御(微分制御)であり、誤差そのものではなく誤差の変化量=微分誤差が減る傾向にあるのか、増える傾向にあるのか)を計算に織り込んでアクセルの踏み加減を決める制御である。

D制御の制御量は以下の式であらわされる。

 踏み加減=(標の速度 - 現在速度)の微分×Dゲイ

ゲインが 1、速度が40km/h 1前の速度が30km/h 現在速度が40km/hなら、

踏み加減は-10となる。つまり、速度変化の傾向から今後の動きを予想し、あらかじめ踏み加減を減らしておくことができる。

逆に前の速度が50km/h 現在速度が40km/hなら、

踏み加減は10となり、今後標より速度が下がらないように備えることができる。

誤差の変化を使って制御するため、D制御だけでは標にたどり着くことはできない。また、あまりにDゲインを大きくすると、ノイズなどのでとんでもない操作をしてしまうのでほどほどに控えるのが大切である。

最終的なPID制御の制御量は以下の式のようになる。

 制御量=P制御量+I制御量+D制御量

関連動画

ON-OFF制御とPID制御を較すると、その滑らかさの違いが分かる。

MMDでの制御シミュレーションも可ではないだろうか。

いくつかのゲームでは、ゲーム内で実際にPID制御をおこなうことができる。

【スポンサーリンク】

  • 4
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

天外魔境II (単) 記事と一緒に動画もおすすめ!
提供: black rose
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

PID制御

1 ななしのよっしん
2021/01/07(木) 21:22:12 ID: 8sqOHceQKB
ちょっと設定を間違えるとしく変動するやつ
👍
高評価
0
👎
低評価
0
2 ななしのよっしん
2022/05/14(土) 11:34:13 ID: FutiiSQGON
この記事よくわかんない部分がちょっと多くて困惑。 例えばオン/オフ制御で「センサ→制御装置」という意味ではPID制御しようがないし、「制御装置→出装置」という意味ではオン/オフ機器は普通に使われている。
👍
高評価
0
👎
低評価
0