PID制御

提供: testwiki
ナビゲーションに移動 検索に移動
PID制御のブロック線図
この図中ではt:時間、u:操作量、r:目標値、y:出力値、e:偏差
PID制御における、ゲイン調整による応答の変化

PID制御(ピーアイディーせいぎょ、Proportional-Integral-Derivative Controller、PID Controller)は、制御工学におけるフィードバック制御の一種である。出力値と目標値との偏差、その積分、および微分の3つの要素によって、入力値の制御を行う方法であるテンプレート:Sfn古典制御論の枠組みで体系化されたもので長い歴史を持っており、これを基に様々なフィードバック制御手法が開発・提案され続けている。過去の実績や技術者の経験則の蓄積により調整を行いやすいため、産業界では主力の制御手法であると言われている。

P制御

基本的なフィードバック制御として比例制御P制御)があるテンプレート:Sfn。これは操作量を制御量と目標値の偏差の一次関数として制御するものである。

ここで、ある制御対象の制御する量を制御量出力などと呼びテンプレート:Sfn、制御量に追従させたい希望の値を目標値テンプレート:Sfnと呼び、目標値を得るため制御対象を操作する量あるいは制御対象に入力する量を操作量入力などと呼ぶテンプレート:Sfn。なお、ある時刻tでの操作量をu(t)、出力値をy(t)、目標値をr(t)とする。このとき、目標値と現状の制御量との差を、制御偏差偏差などと呼びe(t)で表しテンプレート:Rr(t) - y(t)であるテンプレート:R。ここでラプラス変換にもとづく伝達関数で上記の式を表現すると、

E(s)=R(s)Y(s)

となる。ただし、s複素数であるテンプレート:R

この時、P制御による制御入力は

u(t)=Kpe(t)=Kp(r(t)y(t))

および

U(s)=KpE(s)=Kp(R(s)Y(s))

と表されるテンプレート:Sfnテンプレート:R。よって、P制御を行う調節器の伝達関数をC(s)とすれば、

C(s)=Kp

となるテンプレート:Sfn

PID制御では、この偏差に比例して操作量を変化させる動作を、比例動作あるいはP動作(PはProportionalの略)という。定数Kp比例ゲインPゲインと呼ばれるテンプレート:Sfn

問題点

比例制御においてはKpを変えない限り、入力値に対して出力値は常に決まっている。 しかし、実際に制御を行う場合には同じ入力値に対しても周囲の環境などによって出力値を変えなければならないことがある。 例えばある装置の温度を60℃に保ちたいときにその外気温が10℃のときと30℃のときでは加熱に必要な熱量を変えなければならない。 このような状況下で外気温が10℃の時に、外気温が30℃の時に60℃に到達するKpの値を使用して比例制御を行うと、熱量が足りず目標値に到達することができない。 このようにして生じる制御結果と目標値との偏差を定常偏差またはオフセットまたは残留偏差というテンプレート:Sfn

PI制御

P制御において、周囲の環境が変わるたびに残留偏差をなくすよう、Kpを決定しなおすのは難しい。そこで、2つ目の項を付け加える。

u(t)=Kpe(t)+Ki0te(τ)dτ

この項は残留偏差が存在する場合、その偏差の時間積分に比例して入力値を変化させる動作をするテンプレート:Sfn。 つまり偏差のある状態が長い時間続けばそれだけ入力値の変化を大きくして目標値に近づけようとする役目を果たす。定数Ki積分ゲインIゲインと呼ばれるテンプレート:Sfn

また、積分ゲインをKi = Kp / Tiで表し、上式に代入すると、

u(t)=Kp(e(t)+1Ti0te(τ)dτ)

このTi積分時間と呼ばれる。 積分時間の物理的意味は、ある一定の大きさのオフセットが継続した(つまりe(t)が一定)のときにP動作とI動作の項が同じになるのに要する時間である。

P制御と同じく、PI制御を伝達関数で表現すれば、

U(s)=(Kp+Kis)E(s)=Kp(1+1Tis)E(s)

となるテンプレート:Sfn。PI制御の伝達関数C(s)は以下のようになるテンプレート:Sfn

C(s)=Kp+Kis=Kp(1+1TIs)

この偏差の積分に比例して入力値を変化させる動作を積分動作あるいはI動作(IはIntegralの略)という。上記のように比例動作と積分動作を組み合わせた制御方法はPI制御というテンプレート:Sfn

問題点

積分時間が小さいほどI動作の寄与が大きくなり残留偏差の矯正が迅速に行われるが、小さすぎると目標値を行き過ぎたり(オーバーシュート)、目標値の前後を出力値が振動したり(ハンチング)する現象を起こすことがある。積分動作は制御系の位相を遅らせる効果を持つので系を不安定にしやすいテンプレート:Sfn

一方、周囲の環境が変化したり制御対象に撹乱が加わったりすることで出力値が急に変動することがある。 このような場合にもPI制御は出力値を目標値に常に近づけようとする。 しかし、I動作はある程度時間が経過しないと働かないため、どうしても出力値を目標値に戻すために時間がかかる。

PID制御

上記のようなPI制御の問題点を解決するために、

u(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dt

と3つ目の項を付け加える。 この項は急激な出力値の変化が起こった場合、その変化の大きさに比例した入力を行うことで、その変化に抗しようとする役目を果たす。定数Kd微分ゲインDゲインと呼ばれるテンプレート:Sfn

また、微分ゲインをKd = KpTdで表し、上式に代入すると、

Δx(t)=Kp(Δy(t)+1Ti0tΔy(τ)dτ+TddΔy(t)dt)

このTd微分時間と呼ばれる。 微分時間の物理的意味は、ある一定の変化率の出力値の変動が継続した(つまりde(t)/dtが一定)のときにP動作とD動作の項が同じになるのに要する時間である。 微分時間が大きいほどD動作の寄与が大きくなり変動へ対処が迅速に行われるが、大きすぎると今度は逆方向へ変動したりすることになり制御が不安定になる。

PID制御を伝達関数で表現すれば、

U(s)=(Kp+Kis+KDs)E(s)=Kp(1+1Tis+Tds)E(s)

となるテンプレート:Sfn。PID制御の伝達関数C(s)は以下のようになるテンプレート:Sfn

C(s)=Kp+Kis+KDs=Kp(1+1Tis+Tds)

この偏差の微分に比例して入力値を変化させる動作を微分動作あるいはD動作(DはDerivativeまたはDifferentialの略)という。 上記のように比例動作、積分動作、微分動作を組み合わせた制御方法をPID制御というテンプレート:Sfn。操作量Uが比例項、積分項、微分項の3つの和となることから、3項制御とも呼ぶテンプレート:Sfn

PID制御において適切な比例ゲイン、積分ゲイン(または積分時間)、微分ゲイン(または微分時間)を決定するには制御対象の入力に対する応答を調べておく必要がある。 このためには入力値を階段状に変動させた時に出力値が応答しはじめるまでに要する時間(無駄時間)、応答しはじめてからの変化の速度(時定数)、入力値の変化量と出力値の変化量の比(プロセスゲイン)などを測定し、その値から設定する方法がある。 無駄時間が長く時定数が小さい(応答開始に時間がかかるが、応答がはじまると急激に変化する)制御対象にはPID制御は不向きである。

パラメータ調整

PID制御の各パラメータの値(KpKiKd)あるいは(KpTiTd)は設計値なので、制御対象とは独立に自由に与えることができ、要求を満たす最適な値を決定する必要がある。しかし、一般的な制御対象に対して、最適なゲイン値を与える代数的な方法は存在せず、実際の調整は、数値シミュレーションを行ったり、実際の対象物に調整器を繋いで試行錯誤的に最適値を得ているテンプレート:Sfn

ジーグラ・ニコルス法

パラメータ調整の経験則として、1942年にジョン・ジーグラ(John G. Ziegler)とナサニエル・ニコルス(Nathaniel B. Nichols)らによりに提案された [1] 2つの調整法が知られている。彼らの調整法にはジーグラ・ニコルスの限界感度法(Ziegler-Nichols' Ultimate Gain method, Ziegler-Nichols’Closed-Loop Method)とジーグラ・ニコルスのステップ応答法(過渡応答法)(Ziegler-Nichols' Process Reaction Curve method, Ziegler-Nichols’Open-Loop Method)があるテンプレート:Sfn[2]

ジーグラ・ニコルスの限界感度法では以下のような手順でゲイン値を決定するテンプレート:Sfnテンプレート:Sfn。 まず、Ti→∞(あるいは最大)、Td→0として、調節器がP動作だけを行うようにする。次に、比例ゲインKPを0から徐々に大きくしていき、制御量が安定限界に達して一定振幅振動を持続するようになったところでKPの増加を止める。このときの比例ゲインをKu(限界感度)、振動周期をPu として、これらの値から調節器の各パラメータを下の表のように決める。限界感度法は最初のオーバーシュート量と次のオーバーシュート量の比を1/4程度にすることを目安とした方法で、このような調整を1/4減衰の制御などと呼ぶテンプレート:Sfnテンプレート:Sfn

ジーグラ・ニコルスの限界感度法テンプレート:Sfn
制御の種類 Kp Ti Td
P 0.50Ku
PI 0.45Ku 0.83Pu
PID 0.60Ku 0.50Pu 0.125Pu

ジーグラ・ニコルスのステップ応答法では以下のような手順でゲイン値を決定するテンプレート:Sfn。 まず、調整器を介さずに制御対象単体にステップ入力を加える。これにより得られたステップ応答曲線から、曲線の勾配が最も急なところに接線を引き、その勾配をR=K/T(ここでKは定常ゲイン、Tは時定数)とする。この接線が横軸(時間軸)と交わる時刻と入力を加えた時刻との差を取り、この時間をLとする。これらの値から調節器の各パラメータを下の表のように決める。

ジーグラ・ニコルスのステップ応答法テンプレート:Sfn
制御の種類 Kp Ti Td
P 1/RL
PI 0.9/RL 3.3L
PID 1.2/RL 2L 0.5L

CHR法

ジーグラ・ニコルス法以外にも多くの調整則が提案されており、それらの中の一つとして1952年に発表されたCHR法が知られている。ステップ応答法の1種で、提案者のチェン(Chien)、フローネス(Hrones)、レスウィック(Reswick)の3名の頭文字からCHR法と呼ばれるテンプレート:Sfn。CHR法には、目標値追従を目的にする場合と外乱効果抑制を目的にする場合、さらにオーバーシュート量0の場合と20%の場合がありテンプレート:Sfnテンプレート:Sfn、各パラメータを下の表のように決める。

CHR法(目標値追従)テンプレート:Sfn
制御の種類 Kp Ti Td オーバーシュート量
P 0.3/RL 0%
PI 0.35/RL 1.2T
PID 0.6/RL T 0.5L
P 0.7/RL 20%
PI 0.6/RL T
PID 0.95/RL 1.35T 0.47L
CHR法(外乱効果抑制)テンプレート:Sfn
制御の種類 Kp Ti Td オーバーシュート量
P 0.3/RL 0%
PI 0.6/RL 4L
PID 0.95/RL 2.4L 0.4L
P 0.7/RL 20%
PI 0.7/RL 2.3L
PID 1.2/RL 2L 0.42L

歴史

PID制御の着想の基となったとされる船の操舵手

制御技術と理論の起源は、蒸気機関の調速機から始まったテンプレート:Sfn。PID制御は、その後、特に船の自動操舵の開発の中で発達していった。1911年、エルマー・アンブローズ・スペリー(en:Elmer Ambrose Sperry)が、PID制御器の構成を成した船の自動操舵機構を開発したテンプレート:Sfn1922年には、ニコラス・マイノースキー(Nicolas Minorsky)が船の自動操舵に関して数式化された制御理論の発表を行いテンプレート:Sfn、これがPID制御の最初の着想とされているテンプレート:Sfnテンプレート:Sfn

その後1936年、テイラー社(Taylor Instruments)のカレンダー(Callender)らにより、空気式PID調整器の原型が製作されたテンプレート:Sfn。しかしPIDパラメータの調整の仕方が不明であったため、この調整器の売れ行きは不調に終わったテンプレート:Sfn。これを受けて、1942年に同テイラー社のジョン・ジーグラ(John G. Ziegler)とナサニエル・ニコルス(Nathaniel B. Nichols)らにより、実用的なPIDパラメータの調整則が考案されたテンプレート:Sfn。さらに、この調整則は同テイラー社のジェラルディン・クーン(Geraldine Coon)により広められ、良く知られるようになったテンプレート:Sfn

脚注

テンプレート:Reflist

参考文献

関連項目

外部リンク

テンプレート:制御理論

テンプレート:Normdaten