PID制御

PID制御（ピーアイディーせいぎょ、Proportional-Integral-Differential Controller、PID Controller）は、制御工学におけるフィードバック制御の一種である。出力値と目標値との偏差、その積分、および微分の3つの要素によって、入力値の制御を行う方法である。古典制御論の枠組みで体系化されたもので長い歴史を持っており、これを基に様々なフィードバック制御手法が開発・提案され続けている。過去の実績や技術者の経験則の蓄積により調整を行いやすいため、産業界では主力の制御手法であると言われている。 基本的なフィードバック制御として比例制御（P制御）がある。これは操作量を制御量と目標値の偏差の一次関数として制御するものである。 ここで、ある制御対象の制御する量を制御量、出力などと呼び、制御量に追従させたい希望の値を目標値と呼び、目標値を得るため制御対象を操作する量あるいは制御対象に入力する量を操作量、入力などと呼ぶ。なお、ある時刻tでの操作量をu(t)、出力値をy(t)、目標値をr(t)とする。このとき、目標値と現状の制御量との差を、制御偏差、偏差などと呼びe(t)で表し、r(t) - y(t)である。ここでラプラス変換にもとづく伝達関数で上記の式を表現すると、 E ( s ) = R ( s ) − Y ( s ) {\displaystyle E(s)=R(s)-Y(s)} となる。ただし、sは複素数である。 この時、P制御による制御入力は u ( t ) = K p e ( t ) = K p ( r ( t ) − y ( t ) ) {\displaystyle u(t)=K_{p}e(t)=K_{p}(r(t)-y(t))} および U ( s ) = K p E ( s ) = K p ( R ( s ) − Y ( s ) ) {\displaystyle U(s)=K_{p}E(s)=K_{p}(R(s)-Y(s))} と表される。よって、P制御を行う調節器の伝達関数をC(s)とすれば、 C ( s ) = K p {\displaystyle C(s)=K_{p}} となる。 PID制御では、この偏差に比例して操作量を変化させる動作を、比例動作あるいはP動作（PはProportionalの略）という。定数Kpは比例ゲイン、Pゲインと呼ばれる。 比例制御においてはKpを変えない限り、入力値に対して出力値は常に決まっている。 しかし、実際に制御を行う場合には同じ入力値に対しても周囲の環境などによって出力値を変えなければならないことがある。 例えばある装置の温度を60℃に保ちたいときにその外気温が10℃のときと30℃のときでは加熱に必要な熱量を変えなければならない。 このような状況下で外気温が10℃の時に、外気温が30℃の時に60℃に到達するKpの値を使用して比例制御を行うと、熱量が足りず目標値に到達することができない。 このようにして生じる制御結果と目標値との偏差を定常偏差またはオフセットまたは残留偏差という。 P制御において、周囲の環境が変わるたびに残留偏差をなくすよう、Kpを決定しなおすのは難しい。そこで、2つ目の項を付け加える。 u ( t ) = K p e ( t ) + K i ∫ 0 t e ( τ ) d τ {\displaystyle u(t)=K_{p}e(t)+K_{i}\int _{0}^{t}e(\tau )\,d\tau } この項は残留偏差が存在する場合、その偏差の時間積分に比例して入力値を変化させる動作をする。 つまり偏差のある状態が長い時間続けばそれだけ入力値の変化を大きくして目標値に近づけようとする役目を果たす。定数Kiは積分ゲイン、Iゲインと呼ばれる。 また、積分ゲインをKi = Kp / Tiで表し、上式に代入すると、 u ( t ) = K p ( e ( t ) + 1 T i ∫ 0 t e ( τ ) d τ ) {\displaystyle u(t)=K_{p}\left(e(t)+{1 \over T_{i}}\int _{0}^{t}e(\tau )\,d\tau \right)} このTiは積分時間と呼ばれる。 積分時間の物理的意味は、ある一定の大きさのオフセットが継続した（つまりe(t)が一定）のときにP動作とI動作の項が同じになるのに要する時間である。 P制御と同じく、PI制御を伝達関数で表現すれば、 U ( s ) = ( K p + K i s ) E ( s ) = K p ( 1 + 1 T i s ) E ( s ) {\displaystyle U(s)=\left(K_{p}+{\frac {K_{i}}{s}}\right)E(s)=K_{p}\left(1+{\frac {1}{T_{i}s}}\right)E(s)} となる。PI制御の伝達関数C(s)は以下のようになる。 C ( s ) = K p + K i s = K p ( 1 + 1 T I s ) {\displaystyle C(s)=K_{p}+{\frac {K_{i}}{s}}=K_{p}\left(1+{\frac {1}{T_{I}s}}\right)} この偏差の積分に比例して入力値を変化させる動作を積分動作あるいはI動作（IはIntegralの略）という。上記のように比例動作と積分動作を組み合わせた制御方法はPI制御という。 積分時間が小さいほどI動作の寄与が大きくなり残留偏差の矯正が迅速に行われるが、小さすぎると目標値を行き過ぎたり（オーバーシュート）、目標値の前後を出力値が振動したり（ハンチング）する現象を起こすことがある。積分動作は制御系の位相を遅らせる効果を持つので系を不安定にしやすい。 一方、周囲の環境が変化したり制御対象に撹乱が加わったりすることで出力値が急に変動することがある。 このような場合にもPI制御は出力値を目標値に常に近づけようとする。 しかし、I動作はある程度時間が経過しないと働かないため、どうしても出力値を目標値に戻すために時間がかかる。 上記のようなPI制御の問題点を解決するために、 u ( t ) = K p e ( t ) + K i ∫ 0 t e ( τ ) d τ + K d d e ( t ) d t {\displaystyle u(t)=K_{p}e(t)+K_{i}\int _{0}^{t}e(\tau )\,d\tau +K_{d}{{d}e(t) \over dt}} と3つ目の項を付け加える。 この項は急激な出力値の変化が起こった場合、その変化の大きさに比例した入力を行うことで、その変化に抗しようとする役目を果たす。定数Kdは微分ゲイン、Dゲインと呼ばれる。 また、微分ゲインをKd = Kp・Tdで表し、上式に代入すると、 Δ x ( t ) = K p ( Δ y ( t ) + 1 T i ∫ 0 t Δ y ( τ ) d τ + T d d Δ y ( t ) d t ) {\displaystyle \Delta x(t)=K_{p}(\Delta y(t)+{1 \over T_{i}}\int _{0}^{t}\Delta y(\tau )\,d\tau +T_{d}{{d\Delta y(t)} \over dt})} このTdは微分時間と呼ばれる。 微分時間の物理的意味は、ある一定の変化率の出力値の変動が継続した（つまりde(t)/dtが一定）のときにP動作とD動作の項が同じになるのに要する時間である。 微分時間が大きいほどD動作の寄与が大きくなり変動へ対処が迅速に行われるが、大きすぎると今度は逆方向へ変動したりすることになり制御が不安定になる。 PID制御を伝達関数で表現すれば、 U ( s ) = ( K p + K i s + K D s ) E ( s ) = K p ( 1 + 1 T i s + T d s ) E ( s ) {\displaystyle U(s)=\left(K_{p}+{\frac {K_{i}}{s}}+K_{D}s\right)E(s)=K_{p}\left(1+{\frac {1}{T_{i}s}}+T_{d}s\right)E(s)} となる。PID制御の伝達関数C(s)は以下のようになる。 C ( s ) = K p + K i s + K D s = K p ( 1 + 1 T i s + T d s ) {\displaystyle C(s)=K_{p}+{\frac {K_{i}}{s}}+K_{D}s=K_{p}\left(1+{\frac {1}{T_{i}s}}+T_{d}s\right)} この偏差の微分に比例して入力値を変化させる動作を微分動作あるいはD動作（DはDerivativeまたはDifferentialの略）という。 上記のように比例動作、積分動作、微分動作を組み合わせた制御方法をPID制御という。操作量Uが比例項、積分項、微分項の3つの和となることから、3項制御とも呼ぶ。 PID制御において適切な比例ゲイン、積分ゲイン（または積分時間）、微分ゲイン（または微分時間）を決定するには制御対象の入力に対する応答を調べておく必要がある。 このためには入力値を階段状に変動させた時に出力値が応答しはじめるまでに要する時間（無駄時間）、応答しはじめてからの変化の速度（時定数）、入力値の変化量と出力値の変化量の比（プロセスゲイン）などを測定し、その値から設定する方法がある。 無駄時間が長く時定数が小さい（応答開始に時間がかかるが、応答がはじまると急激に変化する）制御対象にはPID制御は不向きである。 PID制御の各パラメータの値（Kp、Ki、Kd）あるいは（Kp、Ti、Td）は設計値なので、制御対象とは独立に自由に与えることができ、要求を満たす最適な値を決定する必要がある。しかし、一般的な制御対象に対して、最適なゲイン値を与える代数的な方法は存在せず、実際の調整は、数値シミュレーションを行ったり、実際の対象物に調整器を繋いで試行錯誤的に最適値を得ている。 パラメータ調整の経験則として、1942年にジョン・ジーグラ(John G. Ziegler)とナサニエル・ニコルス(Nathaniel B. Nichols)らによりに提案された 2つの調整法が知られている。彼らの調整法にはジーグラ・ニコルスの限界感度法(Ziegler-Nichols' Ultimate Gain method, Ziegler-Nichols’Closed-Loop Method)とジーグラ・ニコルスのステップ応答法（過渡応答法）(Ziegler-Nichols' Process Reaction Curve method, Ziegler-Nichols’Open-Loop Method)がある。 ジーグラ・ニコルスの限界感度法では以下のような手順でゲイン値を決定する。 まず、Ti→∞（あるいは最大）、Td→0として、調節器がP動作だけを行うようにする。次に、比例ゲインKPを0から徐々に大きくしていき、制御量が安定限界に達して一定振幅振動を持続するようになったところでKPの増加を止める。このときの比例ゲインをKu（限界感度）、振動周期をPu として、これらの値から調節器の各パラメータを下の表のように決める。限界感度法は最初のオーバーシュート量と次のオーバーシュート量の比を1/4程度にすることを目安とした方法で、このような調整を1/4減衰の制御などと呼ぶ。 ジーグラ・ニコルスのステップ応答法では以下のような手順でゲイン値を決定する。 まず、調整器を介さずに制御対象単体にステップ入力を加える。これにより得られたステップ応答曲線から、曲線の勾配が最も急なところに接線を引き、その勾配をR=K/T（ここでKは定常ゲイン、Tは時定数）とする。この接線が横軸（時間軸）と交わる時刻と入力を加えた時刻との差を取り、この時間をLとする。これらの値から調節器の各パラメータを下の表のように決める。 ジーグラ・ニコルス法以外にも多くの調整則が提案されており、それらの中の一つとして1952年に発表されたCHR法が知られている。ステップ応答法の1種で、提案者のチェン(Chien)、フローネス(Hrones)、レスウィック(Reswick)の3名の頭文字からCHR法と呼ばれる。CHR法には、目標値追従を目的にする場合と外乱効果抑制を目的にする場合、さらにオーバーシュート量0の場合と20%の場合があり、各パラメータを下の表のように決める。 制御技術と理論の起源は、蒸気機関の調速機から始まった。PID制御は、その後、特に船の自動操舵の開発の中で発達していった。1911年、エルマー・アンブローズ・スペリー(en:Elmer Ambrose Sperry)が、PID制御器の構成を成した船の自動操舵機構を開発した。1922年には、ニコラス・マイノースキー(Nicolas Minorsky)が船の自動操舵に関して数式化された制御理論の発表を行い、これがPID制御の最初の着想とされている。 その後1936年、テイラー社(Taylor Instruments)のカレンダー(Callender)らにより、空気式PID調整器の原型が製作された。しかしPIDパラメータの調整の仕方が不明であったため、この調整器の売れ行きは不調に終わった。これを受けて、1942年に同テイラー社のジョン・ジーグラ(John G. Ziegler)とナサニエル・ニコルス(Nathaniel B. Nichols)らにより、実用的なPIDパラメータの調整則が考案された。さらに、この調整則は同テイラー社のジェラルディン・クーン(Geraldine Coon)により広められ、良く知られるようになった。 ^ 森泰親 2001, p. 177. ^ 佐藤ほか 2014, p. 113. ^ a b 佐藤ほか 2014, p. 8. ^ 佐藤ほか 2014, p. 96. ^ a b c d 岡田昌史『システム制御の基礎と応用―メカトロニクス系制御のために』、数理工学社、2008年1月、ISBN 978-4901683524。 ^ a b c 豊橋技術科学大学・高等専門学校 制御工学教育連携プロジェクト 編著『専門基礎ライブラリー 制御工学 ―技術者のための、理論・設計から実装まで―』、2012年3月、ISBN 978-4-407-32575-1。 ^ a b c d 佐藤ほか 2014, p. 114. ^ a b 森泰親 2001, p. 178. ^ 須田信英 1995, p. 770. ^ a b 佐藤ほか 2014, p. 115. ^ 山本・加藤 1997, p. 64. ^ a b c 佐藤ほか 2014, p. 118. ^ 佐藤ほか 2014, p. 179. ^ a b 須田信英 1995, p. 769. ^ 佐藤ほか 2014, p. 120. ^ J. G. Ziegler; N. B. Nichols (1942). “Optimum Settings for Automatic Controllers”. Trans. ASME 64: 759-768.  ^ a b c 近藤正示 2004, p. 32-33. ^ Finn Haugen (2010). “Comparing PI Tuning Methods in a Real Benchmark Temperature Control System”. Modeling, Identification and Control (Norwegian Society of Automatic Control) 31 (3): 81. http://www.mic-journal.no/ABS/MIC-2010-3-1.asp.  ^ a b c 森泰親 2001, p. 180. ^ 須田信英 2004, p. 41. ^ a b 須田信英 2004, p. 42. ^ a b c 山本・加藤 1997, p. 89. ^ 須田信英 2004, p. 40. ^ a b 広井和男 2004, p. 2. ^ Bennett 1996, p. 18. ^ Bennett 1996, p. 19. ^ a b c 広井和男 2004, p. 3. ^ Bennett 1996, p. 20. 近藤正示 (2004年4月16日). “制御の勘所” (PDF). 長岡技術科学大学 電力制御研究室. 2015年2月12日閲覧。 佐藤和也・平元和彦・平田研二『はじめての制御工学』（初版）講談社、2014年2月10日。ISBN 978-4-06-155791-8。https://bookclub.kodansha.co.jp/product?item=0000149183。  須田信英「PID制御」『日本ファジィ学会誌』第7巻第4号、日本ファジィ学会、1995年、768-771頁、doi:10.3156/jfuzzy.7.4_768。  須田信英「第2回 PID制御：PIDの基本，チューニング則，PIDベースの高度制御」（PDF）『EICA』第8巻第4号、環境システム計測制御学会、2004年、39-45頁。  広井和男 (2004年). “PID制御のお話 第2回 PID制御の過去、現在そして将来” (PDF). エムエスツデー 2004年3月号. エム・システム技研. pp. 2-3. 2014年6月23日閲覧。 森泰親『制御工学』（初版）コロナ社、2001年12月20日。ISBN 978-4-339-00143-3。http://www.coronasha.co.jp/np/isbn/9784339001433/。  山本重彦・加藤尚武『PID制御の基礎と応用』（初版）朝倉書店、1997年4月1日。ISBN 4-254-23091-5。 ／第2版、2005年、ISBN 978-4-254-23110-6。 Stuart Bennett (June 1996). “A Brief History of Automatic Control” (PDF). IEEE Control Systems Magazine (IEEE Control Systems Society) 16 (3): 17-25. http://ieeecss.org/CSM/library/1996/june96.html.  志水清孝：「PID制御 現代制御論の視点から」、オーム社、ISBN 978-4-274-22630-4（2020年11月）。 制御工学 古典制御論 航空魚雷 - 九一式魚雷 “ロボットや機械を制御する PID Controller を数式を使わずに概観”. PID制御をわかりやすく解説したページ. 森正弥. 2020年11月3日閲覧。 “やさしい自動制御のお話 第四章 PID制御について”. Compo Club. アズビル株式会社. 2015年2月12日閲覧。 “PID制御ってなに？”. 技術解説ホームページ. 理化工業株式会社. 2015年2月12日閲覧。 “PID制御の設計と実装”. PID制御を体系的にわかりやすく解説したページ. MathWorks. 2016年3月1日閲覧。 北森俊行「PID制御システムの設計論」『計測と制御』第19巻第4号、計測自動制御学会、1980年、382-391頁、doi:10.11499/sicejl1962.19.382。  松井義弘「PID制御による2慣性系の速度制御」『電気学会論文誌. D, 産業応用部門誌』第116巻第4号、電気学会、1996年、441-447頁、doi:10.1541/ieejias.116.441。  山本透, 大松繁, 石原弘一「セルフチューニングPID制御系の一設計」『計測自動制御学会論文集』第25巻第10号、計測自動制御学会、1989年、1069-1075頁、doi:10.9746/sicetr1965.25.1069。  小河守正「プロセス制御におけるPID制御 : 基礎と応用(第1回)プロセス制御概論」『化学工学』第84巻第4号、化学工学会、2020年4月、199-201頁、ISSN 0375-9253、NAID 40022224602。  萬田康博「アドバンストPID制御のIoT制御ソリューションへの適用に向けた考察 (制御 産業計測制御合同研究会 IoT制御ソリューションにおける機能分散)」『電気学会研究会資料. CT』第2020巻第41号、電気学会、2020年2月、1-3頁、NAID 40022178256。  永坂茂之, 綾目久雄, 廣島雅則 ほか「41672 学習機能による自動設定可能なPID制御を用いた空調システムに関する研究開発 第1報 研究開発方針とシミュレーション事例」『環境工学II』第2019号、日本建築学会、2019年7月、1395-1396頁、NAID 200000443258。