マイクロマウス研修(のり)マウス自作研修

クラシックマウス鉄鼠でマイクロマウス全国大会出場

マイクロマウス研修(のり)

記事一覧 のり マイクロマウス研修

第42回全日本マイクロマウス大会に出場してきました。
結果はスラローム探索走行で完走。最短走行は失敗となりました。

例年だとポイント制(各地区大会で完走すると1ポイント or 上位入賞すると数ポイント、一定ポイント以上で出場可能)なので大会参加できなかったと思います。

大会がある週に足立法の探索プログラムを実装(Pi:Co Classicのソースコードコピペ)、最短走行プログラムは試走会前日に実装、最低限マイクロマウスに必要な機能の用意は間に合って出場して走行することができました。

以下は、実際に出場したときの動画。

設計コンセプト

鉄鼠のコンセプトが開発後半になって効いてきたのが大変よかったです。

  • 開発・運用しやすくする
  • 素直に動く
  • 頑丈・高剛性
  • 低重心・車軸中心
  • センシングロバスト
  • (3つ子)

これに関しては、別途ブログを書こうと思うので、次の機会に回します。

クラシック迷路

今年度2021の迷路は、以下のものでした。

MM2021 全日本大会 迷路図 クラシック迷路

南回りと、西回りで、2つの経路が選択できるようになっていて、単純に歩数だけだと南回りで減速してしまうターンが多い経路になります。西回りは、歩数は1歩だけ多いですが、斜め走行できるとターン数が少なく、長い直線も南回り比べて多い経路で、時間短縮できる迷路になっています。

今回の迷路、2019年の全国大会の迷路が一部修正されて使われていました。実行委員長の解説

「今回の迷路、見覚えのある方もいらっしゃるかと思いますが、非常に近い大会の迷路を持ってきました。2019年全日本大会のクラシックのコースになります。が、2019年全日本大会のときは、運営のミスで、壁が一枚余計なところに入ってしまっていたせいで、本来の課題と違う課題になった状態で運営をすることになってしまいました。(新型)コロナ前からの実力を試すという意味として運営としての理念も含めて、この課題をもう一度設定させて頂いた次第です。

そして、その課題ですけども、参加する皆様からすると記念すべき迷路で(中略)認定証にデザインとして記載された迷路になります。この迷路は、とても難しい迷路でですね、結構回されたり、難所がいっぱいあります。まあ、どこが難所かは、競技者の皆さん自身で見てみて下さい。2年前からの実力の違いを見ながらですね、進めていただければと思います」

2019年クラシックマウス迷路

違いを見ると、スタート地点すぐ右に壁が2019年の迷路には入っていて、南回りの歩数やターン回数が多くなっており、西回り一択を選択してしまい、速い走行経路を導出するアルゴリズムを導入していても、意味をなさない状態になっています。運営としての理念とは、このことだと思われます。

鉄鼠で困難だった難所は、赤色にマークしてみました。

  • スタートすぐの壁補正がしにくい連続カーブ経路
  • 左右コーナが連続する振り回される経路
  • 最短走行時に距離ミスして引っかかるところ

他の競技者も、最初の連続カーブ経路でやられていたように思われます。

開発進捗方法

加藤さんのマウス十則を念頭に置いて、開発していました。

  1. 練習で1割の確率で発現するトラブルは、本番では9割の確率で発現する
  2. 練習で動かないマウスが、本番で急に動けるようになることはない
  3. 設計時に「これくらい、大丈夫だろう」と思ったことの9割は大丈夫でない
  4. 理論的には効果的であるはずのことの3割程度が実際に有効である
  5. 理論的に問題となることの10割が実際に問題となる
  6. ある欠陥は、その欠陥の全体に占める割合に関係なく全体を駄目にする
  7. ハードウェアの欠陥をソフトウェアでカバーすることはできない
  8. ソフトウェアの欠陥をハードウェアでカバーすることはできない
  9. 探索の安定性>最短の安定性>最短の速度>探索の速度 の順で優先される
  10. これらの法則を知らないと負けるが、知っていても別に勝てるわけではない

特に後半は、9の探索の安定性を重要視して、練習で何度も走らせて、かなり検証と調整に時間をかけました。その分、最短走行のプログラムを後回しにして、実際に駄目でしたが、そもそも探索に失敗すると、最短にいくことすらできないので、自作マウス初級者としてはこれで良いのだと思います。

また、同じく加藤さんのマイクロマウス トラブル事例集2013に書かれている、以下のプログラムの実装に時間を掛けたのですが、結局間に合わず。

  • 重要情報は必ず不揮発メモリに保存する
  • フェールセーフ機能

実際、競技中にクラッシュして迷路情報を消す羽目になったので、間に合っていれば、違う選択肢もあったと思うと悔やまれます。

さらに、USBケーブルを刺すとデバッガが起動してメインマイコンをリセットしてしまうため、RAMに走行データを保存、後ほど取り出してデータ解析などもできず。Flashメモリにデータ保存できないと、PIDパラメータの調整もままならない状態でした。

後日

翌日、会社でリベンジ戦。まずは、失敗が再現することを確認するため、同じパラメータで走行。

直線走行時の壁センサフィードバックのPIDパラメータチューニングを行っていなかったので、それが原因かと思っていましたが、最初のターン時のスラローム走行で、軌道がずれていることがわかります。

現状の用意しているプログラムだけで行える範囲で、スラロームの調整と封印していた軌道追従制御(ただし直線時のみ)をONにして、最短走行した動画。

後半は壁が多いので、ふらふら当たりながらでも、なんとかゴールまで辿り着くことができました。もう一日あれば…、と思うのは大会あるあるですね。

認定証

認定証は参加者サイト上でPDFをダウンロードできるようになっていました。嬉しいですね。

報告は以上となります。ブログ更新停止していた間に開発資料が山積しているので、ブログはまだ続きますが、会社研修としてはクリアとなります。

タイトルとURLをコピーしました