制御工学ブログ

制御工学の研究者を20年やっている国立大学教員が制御工学の基礎から専門まで広く説明します。記事内では、動画やMATLABコードを交えながらわかりやすく解説する方針です。制御工学チャンネル(YouTube,動画ポータル)を運営しています。

PID制御の基本理論と設計法:幅広く使われるPID制御

本記事ではPID制御についてまとめます。PID制御は、自動制御でもっとも利用されている制御手法の一つです。ここでは、ブロック線図の構造や、PID制御器の中身(連続・離散)、設計法、数値シミュレーションについて触れたいと思います。最後にPID制御の関連動画や関連解説記事へのリンクを置いています。

PID制御とは

PID制御は、PID制御は自動制御を行う際に最も多く利用されている制御手法の一つであり、参照入力(目標入力)と出力の偏差の各時刻での値に基づいて制御入力を決める手法です。Pは比例、Iは積分、Dは微分の頭文字であり、フィードバック制御方式において、偏差信号に比例した値、偏差を積分した値、偏差を微分した値の3つの和を取った値を制御に用います。

まず、PID制御の歴史について知りたい場合は荒木・須田の解説記事を読まれると良いと思います。

まずは、PID制御の基本ブロック線図を示します。

PID制御の基本ブロック線図

制御目的

制御対象に入力  u を印加した結果出力  y が得られますが、この  y の振る舞いは自由に決めることができません。  y の目標としては目標信号を与え、 例えばステップ上の目標値を与えてやりますと、ある一定の値に出力  y を整定させたいというのが制御目的になります。その目的の達成度を評価するために各種の過渡応答に関する指標があります。

目標信号  r と出力  y の偏差が常にゼロとなればよいですが、 必ずしもそうはならないため PID制御器をうまく調整することになります。制御原因を決定するときには3つの値を調整することになりますが、その際によく用いられる指標は以下の通りになります。

  • 最大オーバーシュート
  • 定常偏差
  • 整定時間
  • 立ち上がり時間

どのような応答波形なら実現できるかは、制御対象の特性に依存しますし、設計者のセンスにも依存します。様々な応答指標については以下の動画も併せてご覧頂ければと思います。

youtu.be

PID制御器の内部構造

その上で PID制御ではよく試行錯誤的にPIDのゲイン、すなわち係数を決定することになります。ここでは、PID制御器の構造について触れます。

比例動作

まず P 動作 比例動作ですが、比例動作は出力と目標値との偏差を考えて、その偏差に比例係数をかけたものを制御入力として用います。

 \displaystyle u(t) = K_P e(t)

ボード線図は次のようになります。ゲインが周波数によらず一定値となっていることが わかります。

ボード線図(比例)

比例ゲインのボード線図
微分動作

次にD動作です。 D動作では偏差の変化量に比例した入力を構成します。 このためボード線図を見てやると低い周波数ではゲインが小さく、高い周波数ではゲインが大きくなります。

ボード線図(微分)

微分ゲインのボード線図

より変化に対して感度の高い入力を決定することになります。 そしてこのD動作とP動作を組み合わせたPD制御がよく使われます。

 \displaystyle u(t) = K_P e(t) + K_D \dfrac{de(t)}{dt}

PD制御では、ゲインはある周波数まではフラットとなって、ある周波数以降では どんどん高い値になっていくボード線図の形状となります。このグラフの形状はPDゲインをどの値に設定するかによってシフトすることになります。

PD制御

PD制御ブロックのボード線図
積分動作

最後にI動作です。 I動作では偏差信号を 考え、その積分値を考えます。この積分値に比例した入力を決定します。 このI動作に対してボード線図を見てやりますと、低い周波数では高いゲインとなり 高い周波数になるに従って、そのゲインが下がっていくような構成になっています。

ボード線図(積分)

積分ゲインのボード線図

この積分器を構成する時にはその初期値 を初期化することに注意する必要があります。 この積分器は目標信号がステップの場合には、目標信号と出力との偏差をゼロにする働きがあります。

 \displaystyle u(t) = K_P e(t) + K_D \dfrac{de(t)}{dt} + K_I\int_0^t e(t) dt

これについては内部モデル原理の動画をご覧下さい。 そしてPID制御器を構成すると次のようなボード線図の形状となります。

ボード線図(PID制御)

PID制御要素のボード線図)

積分器の初期値は通常0としますが、その設定を考えずに実装すると想定外の応答になることがありますので注意してください。

コントローラーを設計する際には、まず出力 yがどのような応答になればよいかという ことを考える必要があります。その上でコントローラーの係数をどのような組み合わせにするかを考えることで、制御性能を良くしていくことになります。 出力の結果がどのような応答波形となるかは、制御対象の特性によっても依存しますし ゲインの係数によっても依存して変わってくることになります。以下で設計法について触れます。

離散時間系のPID制御

連続時間と同様に離散時間の場合もPID制御系を構成することができます。実装は、和分と差分を組み合わせて行います。

 \displaystyle u(k) = K_P e(k) + K_D (e(k)-e(k-1)) + K_I\sum_{i=0}^k e(i)

基本的なPID制御器設計法

制御を実装するためには、 K_P, K_D, K_Iをそれぞれ定める必要があります。パラメータ設計法は様々であり、モデルベース手法やモデルレス手法があります。ここではいくつか紹介します。

限界感度法

初期の設計方法として限界感度法が知られています。限界感度法は、比例動作のみでフィードバックを施し、ゲインを徐々に大きくした上で安定限界となった際のゲインに基づいてPID制御パラメータを決定する手法です。モデルレスの設計法ですが、高次の複雑な制御対象や不安定化すると危険な制御対象にはお勧めできません。どのような対象に有用であるかは、教科書等を含めた各種文献をご覧ください。

ステップ応答法

ステップ入力を印加したときの波形に基づいてゲインを設定する手法がステップ応答法です。制御対象をむだ時間プラス一次遅れ系として表現し、その係数に基づいてPIDゲインを定めます。どのような対象に有用であるかは、教科書等を含めた各種文献をご覧ください。

北森法によるPIDゲイン設計

北森法は、部分モデルマッチング法とも呼ばれ、PIDゲインを規範モデルに基づいて決定する手法です。モデルとなる入出力伝達関数(規範モデルの伝達関数)と、制御対象、PIDゲインの組において、PIDゲインを設定した制御系が低周波数から規範モデルに合わせこむ手法となっており、規範モデルさえ与えられていれば機械的にゲインを定めることができます。

《PID制御》第4回: PID制御方式の原理・実用化と設計法

※北森先生は2024年3月にお亡くなりになりました。ご冥福をお祈り致します。

blog.control-theory.com

周波数領域でのPID制御器設計

推定された周波数応答を使用した PID コントローラーの設計 - MATLAB & Simulink - MathWorks 日本

Measurement of the Loop Gain Frequency Response of Digitally Controlled Power Converters | IEEE Journals & Magazine | IEEE Xplore

周波数特性分析器 技術解説集 - エヌエフ回路設計ブロック (nfcorp.co.jp)

VRFT, FRITによる制御器設計

制御データを用いて直接的に制御器設計を行う手法として、IFTやVRFT、FRITなどが知られています。PID制御器設計においても、これらの制御データに基づく手法が多く研究されています。

閉ループデータに基づく直接的PID調整とその不安定プロセス制御への適用 (jst.go.jp)

Pythonによるデータ駆動制御VRFTによるPID制御器オートチューニング #データサイエンス - Qiita

制御性能評価を用いたオンライン型FRITに基づくフィードフォワードコントローラの調整法 (jst.go.jp)

非反証制御による設計

PID制御器のパラメータ空間設計法(<特集>PID制御のパラメータチューニング)

過渡応答データに基づくPID制御器の直接設計 (jst.go.jp)

GKYPによる設計

周波数応答に基づいて設計を行う場合、一つのアプローチとしてGKYPが挙げられます。GKYPは一般化KYP補題であり、周波数帯域ごとに制約を与えて設計することが可能です。PID制御は、係数を決める問題ですので、GKYPとの親和性が高いです。GKYPに基づいた設計法については、以下の解説記事を参照ください。

一般化KYP補題に基づくPID制御器の設計(<特集>PID制御のパラメータチューニング)

MATLAB(PID調整器)

MATLABのPID調整アプリについては以下の記事をご覧ください。

PID コントローラーの調整 - MATLAB - MathWorks 日本

PID制御の関連動画

以下の動画では、PID制御について約8分で解説しています。概要を説明した動画ですが、YouTubeでは1.8万回視聴されていて、制御工学チャンネル内でも最も視聴されている動画の一つとなっています。

youtu.be

以下はPID制御に関するMATLABシミュレーションの動画です。ある制御対象に対して、Pゲイン、Iゲイン、Dゲインを調整すると様々な制御結果になります。色々な値を試してみることによって、感覚として制御が身につく部分はありますのでチャレンジしてみてください。

youtu.be

対応するMATLABのライブスクリプトファイルは以下に置いています。

transfer.mlx - Google ドライブ

youtu.be

モーター制御実験の動画は、冒頭で示したPID制御の動画内にあり、パラメータを変えると制御結果が変わることを実感できます。

本記事では、PID制御について説明していますが、I-PD制御など様々な類似手法はありますので、興味を持たれた方は例えば以下の記事などを参照頂ければと思います。

PID制御の関連記事

制御工学チャンネル内のPID制御関連ページ

以下は、制御工学チャンネル(動画ポータルサイト)内のPID制御の動画一覧です。7本の動画があります。

制御工学チャンネル:500本以上の制御動画ポータルサイト Control Engineering Channel - PID-control

PID制御の解説記事

PID制御関連の解説記事はこちらです。

PID制御システムの設計論 

《PID制御》第4回: PID制御方式の原理・実用化と設計法

《PID制御》第7回: 現代制御理論とPID制御のかかわり合い

《PID制御》第11回: PID制御の歴史

一般化KYP補題に基づくPID制御器の設計(<特集>PID制御のパラメータチューニング)

PID制御器のパラメータ空間設計法(<特集>PID制御のパラメータチューニング)

 

以上がPID制御に関する関連記事になります。PID制御に関する書籍は多く出版されている他、実装に着目した書籍には多くのケースでPID制御の説明がされています。

以上、本記事ではPID制御の概要や特徴、パラメータ調整法を中心とした実装方法、関連記事について説明しました。

 

自己紹介

岡島 寛 (熊本大学工学部情報電気工学科准教授)

制御工学の研究をしています。モデル誤差抑制補償器,状態推定,量子化制御など

研究室HP

岡島寛 (システム制御 control-theory.com)

English Web Page

Hiroshi Okajima (Control Engineering control-theory.com)

制御動画ポータルサイト

制御工学チャンネル(伝達関数・状態方程式・MATLABなど)

電気動画ポータルサイト

電気電子チャンネル (半導体・電気・電子工作など)

YouTube 

制御工学チャンネル (制御YouTubeチャンネル)

人工知能・AIランキング
人工知能・AIランキング

本記事をお読みいただきありがとうございます。役に立った、と思われましたら、ブックマーク・シェア等のアクションをしていただければ嬉しいです。