2022年12月10日土曜日
DCマウスにステップアップするにあたって
この記事はWMMC Advent Calendar 2022 10日目の記事です。
昨日の記事は玉ちゃんのまっきんとっしゅでした。
私はMacを使ったことがないので、いろいろへぇ~と思いながら読ませてもらいました。ハムスターの開発環境構築に苦労していたのが個人的には印象的ですかね…。(これだからル〇サスマイコンは…)
では、先週書くといった話題について書いていこうと思います。
書こうと思ったきっかけ
先週の記事でもちらっと触れましたが、学生大会でほかの学生の方や、この前の理工展やRTでの試走など、そういった場で結構複数名から
「HM-StarterKitである程度迷路を走れるようになったけど、そこからのとっかかりはどうしたらよいのか?」
「ステッパマウスがある程度走ったのでDCマウスを作ってみたいけど、何かアドバイスありますか?」
といった相談、質問を受けました(ある程度というのはまあ、スラロームで往復探索&最短走行をしているくらいです)。
以前でしたら、各サークルや団体で競技経験の長めな上級生でDCマウス(など、オリジナルなマウス)を製作している人の様子をじかに見て、割と自然に(?)流れをつかみやすかったかなと思いますが、ここ2年くらいサークルの活動がかなり制約されてしまったのもあって、とっかかりをつかみにくくなっているような気がします。
マイクロマウス競技の方もHM-StarterKitの登場によって出走台数が増えました(アールティさんは2年連続でサークル向けに無償提供を行ってくださっていたりでその貢献はとても大きいものだと感じています、本当にありがとうございます)が、まだオリジナルなマイクロマウスを作れる学生は多くないように思います。しかし、先日の学生大会のHM-StarterKitの走りを見るに斜め走行を実装している方などもいて、おそらくコツをつかめば自作のDCマウスは作れるのではないかと感じています。そういった方へのヒントになれば幸いです。
まずやるとよいこと
では標準機体やキットを卒業して次にオリジナルなマシンを作ろう、と思ったときに何から手を付ければよいのか、という話ですが、まず
色々なマウサーのブログを読んでみること
をおすすめします。というか、私がDCマウスを作り始めたときはひたすら様々な方のブログを読んで、それをもとに製作をしました。
マイクロマウスの良いところは情報がオープンなところです(各出場マシンのテクニカルデータなんかも公開されているので、こういったことも参考になるでしょう)。設計からプログラムまで、結構調べてみると誰かしらがまとめてくださっていることが多いです。本当にありがたいです。私自身こういった情報がなければDCマウスを走らせることはできなかったと思います。今月もマイクロマウス Advent Calendar で様々な方が非常にためになる話、経験談が紹介されています(毎日楽しく読ませていただいています)。
正直なところ、DCマウスの製作は結構知らないといけないことが多く(というか、速さまで追求すると私も知らないことだらけです)、まっすぐ走れるようになるまでが長いと思います。ほかのマウサーの機体の紹介や製作過程などの様子を参考にするとだいぶ取り組みやすくなるかと思います。
また、当然ですが参考にしたブログの方にはリスペクトを持つようにしましょう。
製作にあたってするとよいと感じていること
実際にオリジナルなマウスを作っていくうえで、大事だと思っているのは以下の2つです。
1. 記録を残す
特にDCマウスはそうですが、マイクロマウスは完成までに本来かなり時間がかかります。標準機体なんかでは回路やプログラムがある程度完成しており、手順通りに組み立てればある程度は動くのでこの必要性はあまり感じないかもしれませんが、1から自分のマウスを作っていく上では重要になります。やることが多すぎるので、ある程度文章化しておかないと何をやっているのだか迷子になってしまうと思います。
一応、私の場合は、マイクロマウス(ほかのロボットでもそうですが)を作っているときは
・行った作業内容
・直近で行おうとしている作業、課題
・ある程度長いスパンでいつかやりたい課題
の3つを言葉にして把握するようにしています。
マイクロマウスの製作では想定していないトラブルやバグの対処は進めていくうえで様々あるので、詳細なスケジュールを組むのは難しいです。これまでやったこと、今やること、いつかやることの3つで捉えながら、1つ1つ今やることを進めていく、という考え方で私は普段作っています。
2. 理由を持った設計、製作を心がける
他の方のマシンを参考にするときなんかもそうですが、どうしてその設計をするのか、を考えながら作っていくことも大切だと思っています。定量的な議論までできると素晴らしいのですが、はじめのうちは(なんなら私は今もわからないこと多いですが笑)定性的な理解でもよいので、理由を持って作ることを心がけるようにすると、特にトラブルが起こったときのためになります。基本的にオリジナルなマイクロマウスには何か想定された答えがあるわけではないので、予期しない動作が起こったり安定感がなかったりしたときに、どこに原因があるかを突き詰められるかが全てといってもよいかもしれません。そのときに1つ1つの要素についてよく把握できていると、原因を見つけるのも早くなると思います。
もちろん、まずは手を動かすことが大切なのはそうなので、ある程度は見よう見まねになるところもあると思いますが、そういったときもどこまでが理解できていてどこからがよくわかっていないかを線引き出来ているとよいのかなと思います。やりながら気づく、知ることも数多くあるのでこの辺はバランスが大事だと思いますが、試行錯誤していくうえで適切にフィードバックをかけていくように意識するとよいのかなと思っています。
困ったときは
そうはいってもおそらく製作を進めていくうえで苦戦するポイントは必ず出てくると思います。こういったときは、相談、質問できる人がいると強いです。同じサークルや団体内でそういった方がいればよいですが、必ずしもそうではないケースも多いと思います。今はほかの団体の人とコネクションをとる機会はオンラインを含めばいろいろあるので、わからないことがあれば思い切って聞いてみてよいと思います(ほんの一例ですがマウス合宿のDiscordには技術相談のスレッドがあるので、そこで聞いてみるとかもありでしょう)。
また、最近はようやっとリアル会場での大会が行われるようになってきたので、そういったところではどんどん気になることは聞いてみましょう(私もかつて5年前くらいかな、はじめてDCマウスの回路図を書いたときはMiceの方に見てもらったりしました)。やはりオンラインのテキストメッセージだけでは伝えきれないことがこちらも伝えられるように感じています。こういった機会は積極的に活用して、つながりを作っていくことが非常に重要です。
最後に
なんだかいろいろと書きましたが、趣味のロボットなので、やりたいようにやるのが一番です。私自身まだいろいろと勉強中の身なのであまり偉そうなことを書くのは気が引けるわけですが、かつて初めてDCマウスにチャレンジした年のことを思い出しながら、今自身が製作しているうえで大事だと思っていることを中心に書かせてもらいました。特に今後DCマウスをはじめオリジナルなマイクロマウスを作っていく方の1つの参考にしていただければと思います。
明日は.さんで「データサイエンスコンペティション」です。おっ、情報系の話ですかね。同じ学科のAtcoderをやっている友人からもこの話題を聞いたような。楽しみにしてます。
2022年12月3日土曜日
学生大会2022
この記事はWMMC Advent Calendar 2022 3日目の記事です。
昨日の記事はぱわぷろ先輩の、今年行った課外活動の話でした。
軽めの内容と前置きしつつ、いやしっかり活動してるじゃないですか、とつっこみたくなるところがなんというかさすがですね。
社会人からの学生へのエールも響くものがあります。今後も共にマイクロマウス界を盛り上げていきましょう。
あと呼び名はもちもちでもなんでも呼びたいようで大丈夫ですよ(笑)。
では、本題。先週、学生大会に参加してきましたのでそれについて書いていきます。
競技結果
マイクロマウス競技 タイム 2.693 2位 日本ロボット学会特別賞受賞
という結果でした。(ロボット学会特別賞は本来その競技の優勝者が受賞する原則ですが、既に昨年受賞したからという理由で私に回ってきました)
先月の頭ごろの理工展からマウスの調整を再開し、約3週間はマウスモードでかなりの時間をマウスにもっていきました(おかげで先月は2回徹夜をするはめになりましたね…汗)。なかなかに授業がある中で調整を進めるのが大変なのを実感しましたが、頑張ったかいはあったと思います。
数台吸引マウスが出ることは把握していたので、東日本時点でのパラメータでは勝負ができないと判断し、今回は安定性よりも速さを上げることに重きを置いて調整を進めました。主に制御面での機能追加とバグ取りを行うことで限界性能が以前より上がり、相乗効果で安定性も東日本の時よりは上がったように思います。
結果としては優勝者の新作2セル吸引マウスにはかないませんでしたが、1週間前のRTでの試走後に追加で入れたMAXパラメータを発動して吸引マウス2台をおさえて2位。今出せるベストな走りだったと思います。
競技の内容の考察
まず、今回のマイクロマウス競技の迷路はこちら。2018年関西地区大会の迷路のリバイバルとのことでした。
個人的にはこの迷路は非常によくできている迷路だと思います。さっとここ1週間で動画のアーカイブなどを見ていて思ったこととしては
・完走は比較的容易(行きの探索では壁の多い区間を通るので)
・↑でも行きの探索だけで出る経路はかなり遠回り
・往復足立法まで行えばそこそこの経路は出るがそれも最適ではない(多分)
・単純に歩数だけで評価しているマウスとタイムを考えているマウスでかなり経路選択に差がつく
・そのうえで最短経路には長い直線や斜め走行区間がある(競技として見ごたえがあると思います、この辺はやや私見が混じっている感がありますが)
といったところでしょうか。この迷路は良い経路を選択できるかが好タイムを出すうえで大事になってくると思います。3位の方とは0.066秒差と僅差でしたが、経路の差(特に出だしのところで向こうは余計にターンする経路を選択しているように見えます)が効いた気がします。
さて、私のEntrance_v2はどの経路を選んだのということですが、パラメータを3つほど変えて走らせましたが、なんと3つとも違う経路を通りました(笑)。パラメータによって変わるだろうという予想はしていましたが、まさかそこまでとは思いませんでしたね。
具体的には迷路を4分割にした時の南東にあたる区間をどう処理するかです。主に、
1: 180ターンで入ってから長い斜めを抜ける
2: 一旦南に抜けてから45→斜め→45で抜ける
3: 斜めは通らず大外の直進をまわる
の3パターンあります。ちなみに最高タイムが出たときの経路は私の場合2でした。
この3つはどの経路にも一理あってどれが正しいかはマシンの速度設定によると思います。1だと斜め走行の距離を稼げますし、3だと走行距離は増えますがターンが1回で済むうえに長い直線がある点は有利です。
この辺は吸引か非吸引かによっても変わるのかなと勝手に予想しています。僕のマシンだと走りやすい(≒速度が出しやすい)のが2なのですが、吸引マウスはおそらく速度のバランスが非吸引とはだいぶ感覚が違うので、違う結果になるのかなーと思っています。
あと私のマシンの走りの反省点を上げるとすれば、やはり最短走行の安定性でしょうね。このくらいの迷路であれば5走ノーミスくらいでないと全日本の32×32相手では太刀打ちできないかと思います。何故コケたかは割とはっきりしているので、これからしばらくは安定性向上を目標に補正を強化、見直ししていこうと思います。
その他の感想
自身の競技についてはこの辺にして、他の競技の感想などについてもつらつらと書いていきます。
クラシック競技については、Miceの方々が良い走りをしていたように思います。以前表彰台を独占していた頃と同じ雰囲気が戻りつつあるようで非常に良いですね。クラシック学生チャンピオンは明日、マイクロマウス学生チャンピオンは明後日Micromouse Advent Calendarの方で学生大会について書いてくださるようなので、そちらも要チェックです(学生大会の感想3本連続になりますね笑)。
学生大会でも言いましたが来シーズンは私もクラシック参戦予定ですので、楽しみです。
また、大阪電通自由工房や工芸大からくり工房は全マシンが完走ということでこれもすごいですね。団体特別賞おめでとうございます。
WMMCも東日本大会よりは皆進捗を生んでいたと思いますが、こういった他団体からも刺激を受けてより活発になって欲しいところです。まあ後輩の様子を見るにモチベーションは得ているでしょうから、今後も頑張ってくださいね。
また、普段お会いしない関西方面の方などと交流していく中で、「ハムスターやステッパマウスを作ったあとってどこから手を付けていけばよいの?」といった類の質問が多かったので、これについては来週まとめた記事を書く予定です。
まとめ
学生大会についてはざっくりそんな感じでしょうか。個人としては楽しい(軽く寿命が縮まる?)レースができて満足でしたし、学生どうしの交流も深まりようやっとコロナ前のわちゃわちゃしたマイクロマウスの雰囲気を取り戻せつつあると実感できて良かったように思います。
また次の大会(金沢or全日本かな)で皆さんお会いしましょう。
最後になりますが今回の大会も運営や多くのスポンサーの協力あって非常に貴重な時間を過ごすことができました。ありがとうございました。
明日はしまじゃきさんの もう年末ですねぇ(なんか書く) です。
そうですね、確かにもう12月ですね(早いな…)。何を書いてくれるのでしょうか。楽しみです。