前から興味の有った「PID制御」について調べてみました!
コレを使えばラジコンのスピードを上り坂でも下り坂でも一定速度で走れる様に制御したり出来そうです!
1. PID制御とは
PID制御(ピーアイディーせいぎょ、英:Proportional-Integral-Differential Controller)とは、比例(P)積分(I)微分(D)の頭文字を取ってPID制御と言い、古典制御論の枠組みで体系化されたものです。
1.1 代表的な制御
船の加速から一定速度でのオートクルーズ・液体の加温から一定温度での保温等、現在の測定値と目標値から適切な操作量を算出し制御する事で行われます。
制御方式には色々あり、代表的なものを表1に示します。
制御 | 利点 | 欠点 |
ON・OFF制御 | プログラムが簡単! | 目標値を行き過ぎてから制御が入るので常に振幅して安定しない。 |
比例制御 | 目標値付近で安定する! | 目標値に近づく程制御量が小さくなるので、ON・OFF制御に比べ応答速度が遅い、永遠に目標値に届かない |
PI制御 |
目標値付近で安定する! 目標値に達する! |
比例制御でわずかに残った偏差を時間的に累積し、ある大きさになった所で操作量を増して偏差を無くすように動作させる。しかし応答速度は遅い。 |
PID制御 | 目標値付近で安定する! 目標値に達する! 応答速度が速い! |
プログラムが難しい…。そんな時にはライブラリ! |
1.2 PID制御の中身
PID制御の基本となる式を下記に示します。
MVn = MVn-1 + Kp(en-en-1) + Ki en + Kd*1・・・式1
※MVn : 今回操作量
※MVn-1 : 前回操作量
※en : 今回の偏差
※en-1 : 前回の偏差
※en-2 : 前々回の偏差
1.3 パラメータの決め方
上記Kp,Ki,Kdのパラメータを決める方法として限界感度法やステップ応答法やオートチューニング法が有ります。
ここでは参考にステップ応答法でのパラメータの求め方を下記に示します。
最初にPID制御の各パラメータを適当に設定し、測定後グラフ化します。
図1:測定値の経時変化
図1の様に実測値をグラフにしたものから、無駄時間(L)・時定数(T)・定常値(K)の3項を求め、その値と表1に示す式から各パラメータを計算し求めます。
Kp | Ki | Kd |
0.60~0.95T/KL | 0.60~0.70/KL | 0.30~0.45T/K |
2. まとめ
サンプリング方式PID制御の使い方は上記の通りですが、プログラムするとなかなか大変そうです
*1:en-en-1) - (en-1-en-2