制御をちょっと勉強

知能ロボコンでやろうとしている倒立振子ですが、制御が難しそうなので、制御の教科書を読んで少し勉強してみました。


倒立振子非線形なシステムなので、普通のFB+FF(2自由度制御というらしい)だと、しっかりとは制御できないそうです(多分)。
という訳で、倒立振子を制御できるような方法を色々探したのですが、
ネットで探したものは、どれもこれも実装が難しそうだったり、
倒立するだけが目標で移動は考えていなかったり、
敷居が高すぎるか、使いものにならなそうかの2択でした。


そこで、教科書に載っていたニューロ制御というのに手を出してみようかなと思っています。
これは、ニューラルネットワーク(NN)の出力をFF制御の代わりに使うというものらしく、
通常の2自由度制御のFFをNNで置き換える事で実現できるので、構造は単純明快です。


問題のNNですが基本的には掛け算と足し算で、それ以外にはS字型の関数を計算する必要がありますが、いつものごとく、ルックアップテーブルでどうにかしようと思っています。
計算量も、そこまで莫大にはならないんじゃないかなと思っています。


マウスにも応用してみたいけれど、さすがにマウスでやるにはマイコンを変えないとRAMと計算速度が無理そう。
でも、できたら、「あっ、路面が違って動きが・・・」的なのが走らせてるうちに勝手に直っていくようなマウスができそうですね。
最適なパラメータと、最速のパラメータは別物だと思うので、手動で調整したマウスには敵わないでしょうけど。


あ、あと、教科書を軽く読んだ限りでは今のマウスに変な制御は入っていないようです。
一安心。でも最近調子悪いのは何故だろう。
関西支部大会にお邪魔する予定なので、それまでに調整しなきゃ。