鍬形です。社内研修でマイクロマウスやってます。第30回(2021年)マイクロマウス九州地区大会に研修で使用したPi:Co Classic3で出場しました。研修は社内大会で終えてしまったため公式の大会は初参加になります。
本連載一覧はマイクロマウス研修(鍬形)をご覧ください。
九州地区大会のWebページはこちらになります。大会結果や迷路のレイアウトを確認できます。
大会までの調整
まずはd-satoさんの記事を参考にVSCodeからプログラムのビルドと書き込みができるように設定しました。ビルドと書き込みで別のソフトを手動で操作する必要がなくなったので開発効率がかなり上がりました。Pi:Co Classic3やHM-StarterKitを使用している方には是非おすすめしたいです。

最初の研修でスラローム走行による探索を実装したので最短走行でもスラローム走行できるようにしました。大会では競技が始まってからプログラムの変更ができないためモード変更でいくつか速度を選べるようにもしておきます。
タイム短縮のために最短走行時の速度を上げていくとスラロームの始点と終点で機体の進行方向がずれるようになってしまいました。急激な速度変化によってモータが脱調しているのかもしれません。大会直前に新機能を実装することはおすすめできませんが、出発の2日前にスラローム走行にも台形加速を実装しました。
本来ならこちらの記事のようにあらかじめ軌道を計算してから実装するべきですが今回は時間がなかったため実際に機体の旋回角度を確認しながらスラローム走行の距離を調整しています。


前日の練習
大会前日に会場で練習用の迷路を走行させることができたので調整しました。社内で行っていた調整は4×4の小さな迷路だったので16×16のフルサイズの迷路は久しぶりの走行になります。幸い迷路の段差等もなかったため難なくゴールしました。
大会本番
本番の迷路は練習と違ってジグザグ道や行き止まりが続き途中で壁と接触してしまいました。迷路の探索中にロボットが壁と接触してしまうとロボットが目指している迷路のゴール位置と実際の迷路のゴール位置がずれてしまいゴールまでたどり着けなくなってしまいます。今回は幸いなことに1区画分ずれながらもゴールすることができ何とか記録を残すことができました。
ジグザグ道と行き止まりの難しさについて簡単に説明します。ジグザグ道は左右に連続してスラローム動作するコースです。今回僕が実装したスラローム動作は途中でセンサによる機体位置の補正を行っていないため、数回なら問題なかった小さな誤差が蓄積して壁に衝突しやすくなります。マイクロマウス界隈で串と呼ばれる行き止まりが連続するコースでも、スラロームと180°ターンによる小さな誤差が蓄積しやすいです。そのため180°ターン時に機体の後部を迷路の壁に接触させてターンによる旋回角度の誤差を修正する手法がよく用いられています。ちょうど紙の束の端を机にあてて向きをそろえる動作と同じです。
結果
5回の走行のうち最短のタイムは52秒789でした。全体では3位になります。最短走行に成功していれば1位を狙うこともできたと思うと悔しいです。今後もマイクロマウス研修は続くのでもっといい記録を出せるように頑張っていきたいです。
Pi:Co杯では1位になりました。Pi:Co杯とは今回使用した機体であるPi:Co Classicを使用した機体同士でタイムを競う競技です。使用する迷路は通常と同じですが同じキットを使用している参加者同士で競うため入門者向けの競技といえます。
また特別賞をいただきました。52秒789という同じタイムを2度出したのですが再現性が高くよく調整された機体だということで受賞しました。個人的には壁に衝突するなんて再現しなくていいのにと複雑な気持ちですが評価していただけるのはうれしいです。マイクロマウス競技ではタイムを競い合うだけでなく競技を通して技術を習得する人材育成の側面が強いので特別賞のほかにもさまざまな面で評価される仕組みがあります。
大会の感想
マイクロマウスは参加者同士の技術交流が盛んだと事前に聞いていたのですが実際機体の機構や過去の経験談、実装のコツなどお話を聞くことができ大変勉強になりました。学生のころ別のロボット関連の大会に出場したことがあるのですが会場はピリピリとした雰囲気であまり交流できなかった思い出があります。これは単純に経験の少ない学生がお互い話しかける勇気を出せなかったという話かもしれませんが。
僕は今回の大会では機体もプログラムも特に変わった要素がなかったので自分の経験を話すくらいしかできませんでしたが、現在進めている自作マウス研修を通して自分なりに話せることを増やしていけたらいいなと思いました。これからも引き続き研修頑張ります。