はじめに
こんにちは、槇原です。前回は磁気エンコーダとモータマウントの設計をしていました。
話はかなり飛びますが、先日全日本大会があったのでそのレポートを書いていきます。
私はマイクロマウスセミファイナルに出場して無事完走することができました。
結果
結果としてタイムは13:199で2位でした。
第1走行 : 1:22.347
第2走行 : 0:15.713
第3走行 : 0:13.281
第4走行 : 0:13.199
第5走行 : T0:11.596 (時間切れのため参考記録)
走行の様子はこちらで見ることができます。(1:36:20~)
最後の走行では並進速度700 mm/s ターン速度300 mm/sで走行することができました。
斜め走行は実装していませんでしたが、用意していた最速のパラメータで最短走行をすることができました。
完成したマウスはこちらです
名前はマッキーマウスです。小さくてかわいいですね。
エントリー時の写真では後ろにバッテリーを載せていましたが、重心が後ろすぎて加速時に滑ることが分かったので前にバッテリーを持ってきています。
主要な機体スペックは次の通りです
サイズ:50x40x25 [mm]
重量:18.3 [g]
直進最高速度:0.70 [m/s]
加速度:2.0 [m/s/s]
旋回時速度:0.30 [m/s]
機体の詳細はまたブログに続きを書いていきます。
直前のバタバタ
大会前日は試走会で問題なく走らせることができていました。しかし、片側の車輪のベアリングが最後までは嵌っていないためカタカタしすぎて回りやすい箇所と回りにくい部分がありました。
そこで(????)試走会が終わって帰宅してからベアリングをきちっと嵌めるように万力で力を入れたところ、逆にホイールの回転がさらに固くなってしまいました。直前にやるべきことではなかったです。
その結果として壁あて動作時一定電圧をタイヤにかけているのですが、そのとき明らかにまっすぐ後ろに下がってくれなくなりました。(動画だと1:37:02~あたりで明らかにまっすぐバックしていないのが分かります)
壁あてをする探索走行が実はかなり怪しかったのですが、壁による補正で何とか持ち直して完走することはできました。こちらは迷路のパターンによっては姿勢を崩したままクラッシュしていたかもしれませんでした。あまりよくはないですが、今回の迷路に助けられました。
それ以外の通常走行については各車輪ごとに速度制御を行っていたため、特に問題なく走行することはできていました。
ベアリングと軸の選定、取り付けによるガタをどのように抑えるかという話の重要性を身をもって理解することができました。
大会までのスケジュール感について
ブログの執筆が追い付いていないためどういう流れで今年との開発が進んでいたかを書いていきます。
6月中旬:クラシック用板マウスの板Pi:Coのブログが完結 ハーフサイズマウスの製作開始
6月下旬:目標設定、要件定義の作成。
7月上旬:足回り設計開始
8月上旬:足回り設計完了、回路部品選定開始
8月下旬:回路部品選定完了、
9月上旬:足回り微修正、基板設計開始
10月上旬:基板設計完了
10月下旬:機体が組みあがる、ペリフェラル用ソフト作成開始
11月上旬:ペリフェラルの動作確認完了、16×16の迷路で完走できるようになる
11/12 東日本地区大会 完走(11位 12:973)
11月下旬:ブログを書き始める。
1月上旬:未実装機能を実装(迷路座標設定、衝突検知、探索アルゴリズム改良 etc…)
2月上旬:大会用にパラメータ調整
2/18:全日本大会
ソフトウェアについては以前作成した板Pi:Coのときから移植しやすいコードにしていたためペリフェラル以外はほぼ流用できました。実際、ペリフェラルがすべて動かせるようになった1日後に迷路を走れていました。ただ、東日本大会直前に走行ができるようになったくらいなのでかなりギリギリのスケジュールでした。東日本では最低限走行できるようにして、パラメータ設定などの機能はその後実装しました。
初心者⇒中級者(?)から見たマウスの制御についての感想
弊社ではマウスを趣味でもやっているベテランの方がいるのでよくマウスの話を聞いていると、壁切れ、フィードフォワード入力、角速度制御などなどいろいろな制御やセンシングの手法があることを教えてもらえました。ただ、今回のように比較的初心者向けの走行(?)においてはそこまで必要なかったというのが今回の研修の感想です。
前回の板Pi:Coでもそうでしたが、私が行っていた制御はかなりシンプルなことしかしていません。具体的には左右の各モータの速度制御をできるようにしたうえで、目標の軌道(直進、スラローム)から計算された各車輪に必要な目標速度を指定することと、壁センサから得られた位置データによって少し角速度の目標値を加えるというものでした。
こちらのブログで言われている制御方式例1の形です。これはいわゆるステッピングモータマウスと同じで各車輪の速度が指定できるものとして考えられるので同じ要領で走行することができてとても分かりやすいです。また、PIDコントローラさえうまく設計・チューニングができていれば各車輪の個体差をあまり気にすることなく走行することができます。実際今回の走行時左右で明らかに特性が違うハードが完成してしまいましたがなんとかなりました(悪いハードは悪いので良くした方が良いのですが)。
もう少し速度、加速度を上げていくとフィードバックだけでは追従性が悪いなどの問題が出てくるというのは理解できますが、まずはそれらが必要になるまでスピードを上げていくのがいいと思いました。
自作マウスで初めて完走を目指す方は、まずはやることが少ないこちらの方式を採用してみるのというのもありかと思います。
完走した感想
今回は研修2年目ということで、マイクロマウス(旧ハーフサイズ)での大会で16×16迷路完走が目標だったのでこちらは達成することができました。✌✌
また自分で設定した目標としてはHM-StarterKit以上の速度を出すというところがありました。こちら実際の走行中に迷路を走れるようにしながら1 m/sは出せませんでしたが、走るだけであれば1 m/s出すことができました。また今大会でHM-StarterKitを使われて出場されていた方よりは早いタイムを出すことができました。
あまりきれいではないですが、1 m/s, 2 m/s/sでの走行ログです。マシンのスペックとしては目標の性能が出せるようにマウスを作製することができました。
もう一つの目標として初めに決めた仕様は満たすようなマウスを作製することができました。この点ではやろうとしていたことはすべて実現することができたので良かったと思います。
実際大会で他の方のマウスを見ているとやりたいことがたくさん出てきましたが、そちらは今後手を付けていきたいと思いました。
本ブログでは、まだ書けていない設計時の話が残っているのでこちらをまだ書いていきます。