大学院(研究現場)と社会人(開発現場)のギャップ
大学院を出てからもうじき6年が経ちます。
学生時代は制御理論、特に非線形制御理論の研究をずっとやってたわけですが、結果の確認はMATLABでのシミュレーションぐらいで、実機評価をやったことがありませんでした。
社会人になってからも制御に関する部署に所属しており、こっちは実機評価がメインみたいな感じ(近年は少しずつMBDの流れになってきてますが)ではあるものの、制御理論的な設計をすることは殆どなく、「こういう場合はこう動かす」みたいな、条件分岐と簡単な処理の組み合わせの制御を考えていることが多いです。理論ではなくて「戦略」を考えてる感じ。
おそらく、そうなっている理由は
- 制御理論の知識を持つ人間が少ない
- 制御理論を習得するハードルが高い
というところが大きいのかなと思いますが、制御理論を開発現場に活かしたいと思って入った身としては、ちょっと不完全燃焼的なところがあるわけです。
で、そういったモヤモヤ解消の手段として、あることを思いつきました。
自分で制御対象を作って実験してみたい
学生時代に考えていた制御対象は自動車だったので、それを試せるようなものを自分で作ってしまえばいいんじゃないかと思いました。
とはいっても、リアルな自動車をゴリゴリ改造してテストするのは個人レベルでは難しいので、模型サイズで。
そう考えた時にふと思い浮かぶのが、ミニ四駆。
ネットで検索してみると、ミニ四駆にマイコンを積んでラジコン化したり、自動走行させたりしてる例がちらほら出てきます。最近ではこんなのも。

なので、同じようなものを自作できれば自分で考えた制御器を載せて走らせることができるのではないかと思いました。
幸い、手元には、電子工作を勉強しようと思って買ったままのマイコンと、Arduinoの読本があるので、こいつらを手がかりに進めていこうかな…
どういうものを作りたいのか要件をまとめる
さて、ざっくり「ミニ四駆にマイコン積みたい」という案を思いついたものの、やりたい事によって準備すべきものが変わってくると思うので、「具体的に何がしたいか?」を考えてみます。
フィードバック制御のため、状態や入出力をモニタリングしたい
制御理論の適用のためにはフィードバックが欠かせないので、対象の状態を把握できるようにセンサをつける必要があります。
自動車のモデルを扱う場合、
- 横滑り角
- 舵角
- ヨー角速度
- 車速
- 加速度(駆動力)
あたりが変数になってきます(数理モデルの導出はこちらの記事参照)。
横滑り角のモニタリングは難しそうですが、舵角は角度センサ、ヨー角速度や車速、駆動力あたりは加速度センサがあれば算出できそうです。
ということで、まずは
- 操舵用のモータに角度センサをつける
- 車体に加速度センサをつける
というのが必要になりそうです。
角度センサ付きのマイクロサーボだと下記みたいなものがいいかな?
また、加速度センサは並進の加速度に加えて回転も測れた方がいいので少なくとも6軸センサがいいかなと思ってます。9軸あれば姿勢推定もできるみたいですが。
手入力と自動入力を同時に行えるようにしたい
手動で入力を与えつつ、例えば自動車で言うESCとかVSCみたいな感じで自動制御が入るようにしたいと思っています。
自動制御動かして遊ぶのに手入力を有線でやるのはあんまり現実的じゃないので、BluetoothかWi-Fiか、その辺の無線モジュールを載せようかと思います。
まとめ
ミニ四駆を改造して自動制御の実験台にしようという試みをやってみようと思い立ったので、とりあえず何を揃えたら良さそうか考えてみました。
車体を作る前に、まずはモータを動かしたりデータ取れるようにテストした方がいいかなと思うので、次回はその辺を目処に頑張ります。
コメント