検索
連載

オンオフ制御の欠点を補う「PID制御」とは?ETロボコンではじめるシステム制御(3)(2/2 ページ)

今回は、前回紹介した「オンオフ制御」の欠点を克服するために、「PID制御」の導入を理論面から検討する!

Share
Tweet
LINE
Hatena
前のページへ |       

D導入による反応性の向上

 もう1つの欠点である、反応性の低さという点を見てみましょう。

 反応性とは、“制御量が変移しはじめた際に素早く操作量を調整し、制御量の変化を最小限にとどめる能力のこと”です。オンオフ制御であれば、反応性というものは考える必要がありません。オンオフ制御は開ループ制御であり、制御量に応じた操作量の調整を行わないためです。

 それでは、PI制御を用いた場合はどうなるでしょうか?

制御量が交わった部分の操作量
図4 制御量が交わった部分の操作量

 図4のグラフで、Aの制御量とBの制御量が交わった部分の操作量を考えてみましょう。

 P制御は現在の偏差から操作量を求めますので、AとBの操作量は同じです。I制御は現在までの偏差の累積から操作量を求めますので、素早く偏差が変化したAよりも時間のかかったBの方が操作量は大きくなります。つまり、PI制御では、Bの場合の方が素早くラインに戻ろうとします。

 果たして、この動きは正しいのでしょうか?

 走行体でAのように偏差が短時間に増えるという状態は、走行体が線から急に離れた場合、つまり急なカーブがはじまったときなどに見られます。これに対してBのようになる場合は、直線中や緩やかなカーブのときに見られます。

 このとき、より大きな操作量を必要とするのがAであることはいうまでもありません。Aの場合は、すぐに進路を修正しないとコースアウトしてしまう可能性があるのに対し、Bの場合はすぐにコースアウトしてしまう心配はないからです。オンオフ制御でも触れましたが、操作量を増やしてから制御量に反映されるまでには“タイムラグ”があります。そのため、コースから離れてしまってから慌てて戻ろうとしても間に合わないかもしれません。

 もちろん、Kpを増やせば離れはじめた早い段階でも操作量が大きくなるので戻るでしょうが、再びオーバーシュートが起こってしまいます。Kiのパラメータに至っては、効きはじめるのに時間がかかってしまうので、カーブに素早く反応するということはできません。このように、P制御やI制御だけでは、急カーブがはじまった場合に素早く対応できない、つまり反応性が低くなってしまうのです。

 そこで、「D制御」を用いてこれからカーブがはじまる場合に操作量を上げるようにしましょう。

 D制御では、(前回の偏差−今回の偏差)×定数で操作量を決定します。微分を使って、P制御、I制御では不可能なこれからの制御量の変移を予測して、あらかじめ操作量を増減して補正できます。そして、D制御による補正が行われるということは、微分結果が大きくなるときであり、カーブがはじまろうとしていることになります。

P制御とPD制御の制御量変化の比較
図5 P制御とPD制御の制御量変化の比較

 図5は、P制御時の制御量とPD制御時の制御量の変化の比較です。

 将来の動きを予測して操作量を補正しているので、オーバーシュートが小さく収束するのも早いことが分かります。

 以上、D制御が未来の制御量に対して働く仕組みです。ライントレーサに限れば、D制御は“直近の偏差の変移から今後カーブがはじまることを予測して補正する方法”といえるでしょう。

まとめ

 さて、ここまでPID制御を走行体に適応するうえで、理論上の“有効性”を確認してきました。PIDすべてを適用すると、制御量は図6のように変化します。

P制御とPID制御の制御量変化の比較
図6 P制御とPID制御の制御量変化の比較

 P制御によってオンオフ制御の欠点であるハンチングを克服し、I制御・D制御によってP制御の欠点であるオフセットと反応性も改善されています。

 おさらいすると、次のようになります。

  • P制御は、現在の偏差から、操作量を動的に決めて力の入れ方・抜き方を決める方法
  • I制御は、過去の偏差の累積から、カーブの真っただ中にいるときに制御量の偏りを補正する方法
  • D制御は、偏差の推移の傾きから、これからカーブがはじまろうとしているときにあらかじめ操作量を大きくして備える方法

 そして、PID制御を行うことで、直線走行時・カーブ走行時に最適な操作量を求めることができ、ムダな走行距離を省くことでタイムの短縮が実現できます。P、I、Dそれぞれの意味を把握することで、PID制御の式(式1)が何を表しているのかを理解できると思います。



 ここまで説明したとおり、PID制御の理論は決して複雑なものでも難しいものでもありません。ですが、実際にPID制御を導入しようとするとパラメータのチューニングに手間取るかもしれません。PID制御を適用した走行体は、パラメータによって大きく挙動が変わります。そのため、パラメータのチューニングがPID制御を導入するうえでの重要な要素となります。

 今回は、最適なパラメータがすでに分かっているという前提で説明しました。ですから、パラメータが大き過ぎてオーバーシュートが多発するということはないですし、小さ過ぎてコースアウトしてしまうこともありません。今回の内容を理解していれば、走行体の挙動から直感的にパラメータを修正することで、走行体の挙動を操作することが可能です。これは、極座標を用いる現代制御に対するPID制御の利点ともいえます。

 次回からは、実際に走行体にPID制御を導入し、パラメータの最適値を見つけるための方法とわたしたちが学んだ知見を紹介します。お楽しみに!(次回に続く)

⇒連載バックナンバーはこちら

落ち穂拾い ―― I制御の難しさ ――

オフセットを補正するためのI制御ですが、過去の累積値に挙動が左右されることが副作用としてマイナスに働くことがあり、パラメータの調整が難しいという問題があります。また、エアコンなどの冷暖房機にとっては設定温度とのオフセットを修正するI制御は必要ですが、走行体の目的はカーブを通過することでありオフセットを必ずしも修正する必要はありません。

しかし、I制御を導入してオフセットを修正することで安定したライン取りで走行を行うことができ、結果としてコースアウトを防げる場合があります。そのため、はじめはPD制御の適用を行い、もしPD制御でカーブを曲がり切れずコースアウトする場合があれば、PID制御の適用を試すという手順を踏んだ方がよいでしょう。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る