はじめに
こんにちは、槇原です。第43回全日本マイクロマウス大会に参加しました。今回はその結果と感想です。
全日本マイクロマウス大会実行委員会で配信された走行の動画はこちら↓
https://www.youtube.com/live/XrY0hPT8_MA?feature=share&t=13957
結果は以下の通りでした。
1 1:22:020
2 0:18:843
3 0:18:856 (機体がゴールに完全に入っていない)
4 0:18:875 (ここでタイムアップ)
記録は0:18:843でした。さらにフレッシュマン特別賞をもらうことができました。ありがとうございます!
個人的には本番で探索も失敗せずにさらに一番早い最短もできたので良かったです。
実装できたもの・できなかったもの
主に実装できたもの
・足立法による探索走行モード(Pi:Coのコードをシミュレータにも対応できるようにC++に移植)
・足立法をPC上で実行できる用のシミュレータ&走行部分に変換(ブログPart15)
・足立法で探索した歩数マップをスラローム最短走行用の走行計画に変換(斜め走行も視野に入れた実装にしました)
・複数パラメータでの走行(本番では6つのパラメータを用意しました)
・走行ログの取得(デバッグには利用できましたが、走行の制御を詰めるところまでは手が回りませんでした)
・モード切替(探索・最短・センサーチェック・宴会芸・デバッグモード)
やりたかったけど実装できなかったもの
もう少し時間があればできそうだったものたちです。
・フラッシュメモリへの迷路情報の保存(どういった形式で保存するかなども未検討でした)
・スラローム時のオドメトリやジャイロを使った補正(今回はあらかじめ計算した速度プロファイルと決め打ちの直線距離でいい感じにおさまるようにしていました)
・斜め走行(前述のとおり歩数マップから斜め走行への変換部分と経路作成が必要)
・走行モードの切り替え(壁あての有無、スラローム/超信地旋回の切り替えなど)
・マウス単体での迷路パラメータ等の書き換え
・最短走行ゴールからスタート地点までの帰還(競技のルール的には自分で回収すればよいので問題ないですが、やっぱり自分でスタートまで戻ってきてほしいです)
・ブログ(大会前は更新があまりできなかったのでしばらくは板Pi:Coについてのブログを更新していきます)
その他やりたかったけどちゃんとできなかったものなど
・コードをきれいにしたい
最初はソフトウェア設計なんかもしたいなーと思っていたのですが、大会直前になってみるとめちゃくちゃなコードの山を築いてしまったのでなんとかしたいです。
↓勉強をしようとしたけどあまりちゃんと反映はされていないです…
・制御周り
今回は各車輪の速度制御をそれぞれ行い、各車輪の速度指令値にちゃんと追従することを信じて走行をさせていましたが、あまりちゃんとチューニングできてないのでおそらく壁補正のおかげでなんとか走れていたのだと思います。走行ログを取れるようにする部分を終盤まで実装しなかったのはまずかったと思います。基礎部分を最初にちゃんとしておかないといけないですね… 壁補正の前に補正なしでもある程度はきれいに走るようにしたいです。
・機体のモデルを使った制御
雰囲気で走行させることはできたのですが、やはり理論に基づいた制御をしていきたいです。今回の機体ではモータの電流値を取得することはできないので、いろいろやろうとすると電流制御ができるハードウェアから作る必要がありそうです。
・壁センサを使った位置補正
今回は壁の有無判定と直線走行時に区画の中心を走るようにするために壁センサを使いました。そのため単純にセンサのAD変換の値を直接制御に使っていましたが、物理量ベースで制御をおこなうために、距離情報に変換して位置補正などに使えるようにしたいです。また壁切れ補正なども今回は一切手を付けられなかったのでこちらもできるようにしたいです。
完走した感想
今回のマイクロマウス研修は板Pi:Coという自作DCマウスをやる前のアールティ社内研修用の機体を作成して大会に参加しました。この研修のゴールとしては板Pi:Coで16×16の迷路をスラロームで完走することとなっています。今回はこちらはクリアすることができたので、次回以降は自作DCマウスでの大会参加&完走を目指します。
研修としては最短走行は必須ではないですが、マイクロマウスの大会に出るにあたってはやっておきたかったので最短走行の実装をして実際の競技でも成功させることができたので良かったです。
また作業時間に関しては、もともとの午前中の研修時間+迷路開放日1日+北信越大会と全国大会直前の追い込み(3~4日)でなんとか必要最低限の実装と調整ができました。工数としては356時間となっていました。この時間はどうなんでしょうか、よくわかりません。
マウスの競技に関しては、競技ができる機体を作れた一方でいろいろ話をきいたりして自分でも実装してみたいものがいくつか出てきたので次回以降いろいろと手を出していきたいと思いました。競技会では上位の方のすごいマウスを見ることができてモチベーションが上がりました。今回作ったマウスよりもっと早くて安定感があって賢いマウスを作りたいです。