3.制御対象に合った制御系を選ぶ

 何とか、各要素が推定できた状態でブロック線図を制御理論の本などに載っているように入力が左で出力が右になるように表してみると、以下のようになる。

制御ブロック図

(1)あなたならどう手動で制御するか

 ここで、この制御対象を制御する方法を実際に自分が行う場合について考えてみる。そうすると、各要素がどのように動くかが具体的にイメージできるようになる。 実際に、コントローラにボリュウムが付いていて、出力電圧の正負と大きさが手動で決められているとするとどうするか。直接的には電気モータにかかる電圧の正負(正転逆転)と電圧の大きさを可変出来るとすると斜板角センサの値を見て何をするか?

(a)絶対位置のみで制御
斜板角センサの電圧をXXVにせよ。と言われて、斜板角センサの絶対値を見ながら合わせたらどうなるか?
(b)速度指示で制御
絶対位置と斜板角センサの変化速度(微分値)を見て、遠ければ早く近づくように速度アップ、近くなれば速度ダウンしてゆっくり近づくようにしたらどうか。

制御の方法としては(a)でも(b)でも可能であるがどちらが制御し易いかを考えると断然(b)であろう。ブロック図を書き、自分の頭の中で想像(シミュレーション?)する事により様々な方法や推論結果を得ることができる。これは、現物でのマッチング工数を減らすだけでなく、ソフトの構造を決めたりするときにこのあたりを変更する必要が有る等を考察する上で必要である。最初は各要素の動きが良く解らなかったり、思っている動作速度と違ったりということがあるが、経験を積むと各要素が見たことがある物ばかりになるし、知らない物については単品購入できる物は本機に先行して動かすことによりデータを蓄積することが可能である。新しいプロジェクトに於いて毎回考えることで本人の頭のデータベースは更新され、シミュレーション精度はどんどん向上する。要は毎回考える事が重要である。

(2)コントローラ出力=制御対象の出力が理想?

先ほどの制御(b)で考えると、コントローラの出力可能な量=斜板角センサの速度の出力であった。この方が絶対制御しやすいと考えたのは何故か。それは、出力を制御しやすいからではないだろうか。しかし、これだけでは、指示された斜板角の近くに来たときに停止してしまいそうなのでちょっとした工夫として偏差が残るときには最低速で近づくというような制御が必要である。 この例でコントローラが直接出力している量=電圧である。時間遅れはあるが現物と対応しているのはモーター速度であり、斜板角センサの電圧の変化量(時間微分)に当たる。このようにコントローラの出力量がフィードバックのどの量に当たるかを考えることは特性やマッチングする上で重要である。

(2)結構便利なPID(比例・積分・微分要素)制御

制御の入門書などを見ると、必ず出てくるのがPID(比例・積分・微分要素)である。 PID制御の説明については制御の入門書の方が詳しく説明しているのでここでは割愛し、実際使用した場合について述べる。PID制御は制御系の調整要素として一通り必要な物があるので結構使える方法である。また、制御対象が解らないときに一応マッチングすれば何とかなるケースがあるのでこれを使う技術者は多い。しかし、いくらマッチングしても制御対象が線形であることを前提にしているので2次関数以上や対数の特性の場合、制御対象自体を領域分けや折れ線近似などを用いて線形化するか、他の制御方法を用いるかしないと性能が出ないという弊害もある。

(3)PIDがいつも良いとは限らない

一般的に制御するためにPID(比例・積分・微分要素)が紹介されているが、例に選んだ角度制御の場合だと、最終的にPDD’の制御系が良いことが解った。これは、出力の値が角速度と対応しているためと考えられる。また、自動走行車のブレーキモータの制御でもPD制御であったりする。エンジンガバナではPI制御であるが油圧エンジンガバナではPIDであり、D成分が制御の主要素になっている。 PIDが悪いと言うことはないが、制御対象も考えずに制御系をPIDにする事は、博打に近い行為なので、制御対象を考えてから制御系を決める習慣を身に付けてほしい。

(4)いろいろな制御系を考えてみる

制御を行うと入っても、制御対象によっては案外PID制御以外の方法が有効な場合もある。制御対象の特性や用途に合わせて自分ならどう制御するかを考え、近い物を選択する。

・bangbang制御(ヒステリシス制御)
・ファジー制御
・予測型制御
・フィードフォァード&フィードバック型
・オブザーバ制御
・学習制御
ほかにも、これらの組み合わせなど、まだまだたくさんある。

・bangbang制御(ヒステリシス制御)
制御対象が積分型でゆっくりした変化をする場合、上下限値を設定し、その間にはいるようにON/OFF制御する。空調などに用いられることが多い。

・ファジー制御
ある程度段階的な制御でよく、制御対象が非線形な場合に多く用いられる。最たる場合は、「人間なら調整できるのに、PIDだと巧く行かない。」場合である。ほとんどの場合はファジー計算の結果をマップに展開しマイコンに搭載する。詳細はファジー制御の本を参照のこと。

・予測型制御
自動走行車のステアリング制御のように今後どうなるかを見越して今現在の判断を行う制御。人間が車を操作する場合、白線上を走行させようと思うと直ぐに白線上に乗せるのではなく、数メートルから十数メートル先で乗るように徐々にハンドルを切り最終的には逆ハンドルを切って白線に乗せるような事をする場合に用いる。 微分先行型PIDとよく似ている。

・フィードフォァード&フィードバック型
制御対象の特性がある程度分かっており、温度や電源電圧の外部環境変化などにより特性が変わるような場合、基本的な出力は出しておき、残りの偏差のみフィードバックでカバーするという制御方法である。フィードバックによる遅れが出力の割合的に小さくなるのでハンチングし難い制御系になる。

残りについては、長くなるので割愛するが、自分で調べてほしい。

結論としては、制御対象について十分検討し、実現する方法として制御方法がいろいろあると言うことである。性能や制御対象に合わせた制御方法を選定できれば「メカトロ仙人」として一人前である。


制御の設計目次へ