自作マイクロマウス研修(鍬形)

自作マウスで初大会 – 自作マイクロマウス研修(鍬形)Part 3

自作マイクロマウス研修(鍬形)

鍬形です。社内研修でクラシックマウス競技の迷路完走を目指してマイクロマウスロボットを製作しています。前回は目標速度やモータ、ギヤ比など駆動系を考えていました。今回は初めて自作マウスでの大会出場となる第43回全日本マイクロマウス大会に参加したので出場するまでにやったことや大会の様子をご紹介します。

本連載一覧は自作マイクロマウス研修(鍬形)をご覧ください。

前回までにやったこと

前回の記事から半年ほど間が空いていたのですがなんとか機体を完成させることができました。大会は2/19に行われたのですが、2/14に各種機能の動作確認を終えて大会前日に大急ぎで探索走行プログラムを実装するというめちゃくちゃなスケジュールになってしまいました。

探索走行はHM-StarterKitの足立法のサンプルコードを自分の機体に合わせて移植することで時短しました。移植を通してサンプルに対する理解が結構深まったので改めて自分で実装してみたいと思います。

大会結果

大会結果は探索途中で壁に衝突してしまい完走ならずでした。すぐ壁にぶつかってしまって面白みがないですが試合の様子は下記の動画から見ることができます。

完走できなかったことは残念ですがそもそも探索走行の実装が間に合うと思っていなかったので、自分の機体が迷路を走ってる時点でかなり嬉しいです。この嬉しさはもっと時間に余裕を持ってゆっくり楽しみたかったところですが。

リタイアの原因を考える

今回は探索走行中に前方の壁と衝突してしまったことでリタイアとなりました。衝突の原因としてロボットが計算した自己位置と実際の自己位置がずれたことが挙げられます。ロボットは走行中に自己位置として自分が迷路上の何マス目にいるのか計算していました。この自己位置のずれによってロボットは前の壁を認識していながら、マスの中央はもう少し先だと思い込み前進を続けてしまいました。

自己位置のずれは速度制御の処理落ちによって生じているようです。前日の練習中、槇原さんに指摘いただいたのですが、迷路の区画ごとに機体速度が少し落ちていることに気づきました。直進中の速度の指令値は一定で、エンコーダから取得した移動速度も変化がなかったので想定外の挙動です。ちょうど迷路の区画の分かれ目ごとに速度が落ちることから、探索走行中の移動方向を決める処理が重いことに気づきました。処理が重いことで走行速度を計算するタイミングがゆっくりになり、その分実際の走行距離が伸びてしまったようです。

処理落ちの対策としてはコンパイルの設定や探索走行処理の軽量化が考えられます。実際参考にしたHM-StarterKitでは処理速度を優先するようなコンパイルオプションが設定されているようです。是非今後ブログで紹介できたらと思います。

大会の感想と今後の予定

今まで自社製品のマウスキットを使用して大会に参加したことはあるのですが、今回は初めての自作マウスで参加できました。結果は残念ながら完走できませんでしたが、迷路を走る下地ができてきたので来年度に向けて開発を継続していきたいと思います。まずは滞ってしまったブログ更新を進めつつ、社内での迷路完走を目指して探索走行の改善をやっていきます。是非温かく見守ってください。

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