エクセルのちょっとフェチな使い方。
で、ステップ応答とは、そのサスペンションをグっと押したときに、どんな感じで動くかを観察した結果で、「グっと押す」というのは、下図のようにある時点で、瞬間的に力を与えるということです。
で、このときの応答がステップ応答ですが、こんな感じです。
押した直後に、ちょっと行き過ぎて、戻ってきて、また行き過ぎてを繰り返しながら、徐々に動きが収まって行きます。 びよ~~ん、びよ~ん、びよん、びょん・・・・・ みたいな感じですね。 この動きは、2次遅れ系の特徴的なものなんですが、自動車や電車のサスペンション以外にも、身の回りにたくさんあることは感覚的に分かりますよね。(^_^) で、PID制御ですが、これも身の回りの様々なところで使われていて、無理やり簡単に説明すると、目標値(上図だと青線)と実際の値(上図だと緑線)をもとに、 P制御 : 現時点の差の大きさに応じて制御量を決める。 I制御 : 現時点までの差を積分したものに応じて制御量を決める。 D制御 : ちょっと前と現時点の差の変化量に応じて制御量を決める。 というもので、これらを合わせたものがPID制御です。 ピンとこないと思いますが、これは書き出すと長くなるので後日解説します。m(_ _)m で、なにも考えずグッと押すだけだと、ビヨンビヨンして困るので、このPID制御を使って、なるべくビヨンビヨンさせずに素早く安定させるのですが、この制御のP、I、Dそれぞれの強さの調整(適合)をするのが割と大変なんですね。 例えば、おかしな適合をすると、下図のような感じでむしろビヨンビヨンが増幅してしまい、最終的にはモノが壊れる等の問題が発生します。(@_@;)
これを応用して、対象となる系とPID制御器を関数化し、 欲しい結果 : 系が目標値になるべく近くなる。 入力値 : P、I、Dの各制御定数 として計算してみると、それなりの適合値が出てきて、今回の結果は下図のようになりました。(^。^)
元の薄緑色の線と比較すると、適合したPID制御で動かした場合(赤色の線)は、目標値に到達するのが早く、かつ安定しているのが分かります。 これはなぜかというと、グッと押すときの力の入れ方をPID制御がサポートしているからで、PID制御による制御量を図にすると、下図のようになります。
P・I・Dそれぞれがいろんな動きをして、何もしない場合の青線と比べて、PIDの総和(マゼンダ線)は、ものすごくグッと押した後、行き過ぎを防ぐためにギュッと引いているのが分かります。(^0_0^) このため、系はうまいこと押し引きされて、結果的に早く安定して目標値を達成することができる、ということです。 で、ステップ応答より複雑な動きをさせたときに、無制御・PID制御での応答をシミュレーションした結果が下図です。
無制御だとメチャメチャですが、PID制御するときちんと目標値に付いていっているのが分かりますね。(*^_^*) ただ、これだとあっさり答えが出てしまうようですが、注意が必要なのは、ソルバーに入力する条件の設定や、ソルバーに逆算させる前の各PID定数の初期値の設定などがかなりのノウハウで、もちろん、系の関数もなるべく正確である必要がある点です。 また、これは決して最適解というわけではなくて、最終的には実験で最終調整をすることを前提に使わないといけません。 ただ、簡単なシミュレーションや、適合実験の準備としてはそれなりに有効で、以前実務で使って、適合時間をものすごく短くできたこともあります。 また、制御結果を使って、ボード線図もエクセルで計算させて安定判別したりと、工夫次第でエクセルもいろんな使い方が出来るという一例のご紹介でした。m(_ _)m