さて、第30回マイクロマウス全日本大会が終了いたしました。
自分の結果はというと・・・
・マイクロマウス競技エキスパートクラス(ハーフ)
タイム 0'04"079
優勝
つくば市長賞
ニューテクノロジー賞
・マイクロマウスクラシック競技エキスパートクラス
記録なし
ニューテクノロジー賞
となりました。
ハーフはクラシック決勝並みの鬼畜迷路を覚悟していましたが、思いの外簡単で(最短経路がひどく簡単になっていたのはとある事情があったそうですが)、タイムアタックに集中することができました。準備しておいたMAXパラメータまで危なげなく完走。心配していたバッテリー残量も意外と大丈夫でした。
今回ハーフマウスを作って得た感触としては、ハーフマウスの限界はこんなものではない、ということです。
ハーフマウスは今後、もっと速くなります(今の自分のハードで実現できるかは別として)。
今回はほとんどの参加者が手探りの状態での参戦(Kiat氏が探索ルーチンのバグでリタイヤするぐらいに)でしたが、今回の大会で色々な方向性が示され、目指すべきレベルが設定され(そこに自分がいるというのはこそばゆい感じですが)、そして迷路の難易度も上がってくるでしょう。その流れに置いていかれないよう頑張りたいところです。
そしてやはり、記念すべき第一回大会を優勝で飾れたことは非常に嬉しく思います。
さて、問題のクラシック。
実は自分でも何が起こったのか完全には把握し切れていません。分かるのは、同じような箇所で前壁を読み落として突っ込んでしまったということ。
スポット光の除去にはそれなりの自信がありましたし、実際、後で確認してみても飽和はしていないし、特に異常な値は出ていませんでした。値が5%くらい大きいかな?程度で・・・。該当箇所の壁にも特に異常はありませんでした。
考えられる要因としては・・・
・スポット光による値の変化で姿勢制御が乱れていた
・ターン軌道の再現性の悪さ(4輪の弱点?)から、走行安定性はセンサ補正に強く依存しており、センサ補正の効きにくい櫛などでは座標が大きく狂う
・斜め補正センサと前壁センサの共用により、前壁の読み取りに根源的な不安定さを抱えていた
あたりでしょうか。
特に最後は事前に予測されていたことで、いろいろソフト的な小細工によって回避したつもりでいました。しかし、エキスパート決勝という厳しい環境の中でボロが出てしまったと言うことでしょう。
走行性能向上のために、削れるものはすべて削っていきましたが、削ってはいけないものまで削ってしまっていたようです。とりあえず今後の改善点は、前壁専用センサ、探索時壁切れ補正専用センサの設置と、Kiat氏からアドバイスされた遮光板の設置など。
そして、今思い出しました。
探索がこけた時のために、低速探索モード作ってたんだった・・・orz
完走できたかどうかは分かりませんが、使えばよかった。やっぱりテンパってたんだなあ。
それはともかく、情けない結果に終わったにもかかわらずニューテクノロジー賞を頂くことができました。
4輪や大胆な軽量化、スピードなどでクラシックマウスの新しい可能性を示したというのが受賞理由とのこと。
これも4輪のアイディアを最初に示したW谷氏のおかげ。この賞の半分は氏のものだろうと勝手に思っています。
また氏に限らず、多くの先人のアイディアの延長線上に今のマウスがあり、すべての先人に最大限の感謝を。
嬉しいことも、残念なこともあり、そしてなにより楽しい大会でした。
また来年も参加できることを祈って。
最後に、現時点での自分のマウスのMAXパラメータを書いておきます。
ともに予選第五走行で完走しています。
Classic "Tetra"
top speed: 4300mm/s
top acceleration: 15000mm/s/s
top angular acceleration: 60000deg/s/s
turn speed: (90L)1600mm/s, (90V)1350mm/s, (180)1400mm/s, (45)1600mm/s, (135)1350mm/s
Half "Bee"
top speed: 2000mm/s
top acceleration: 6500mm/s/s
top angular acceleration: 40000deg/s/s
turn speed: (90L)800mm/s, (90V)650mm/s, (180)760mm/s, (45)820mm/s, (135)730mm/s
今日は全日本マイクロマウス大会エキスパートクラス・ハーフおよびクラシックの予選でした。
そして、まさかのダブル予選1位獲得!本番は明日とはいえ、非常にうれしいです。
タイムは以下のとおり。
・ハーフ「Bee」00'05"117
・クラシック「Tetra」00'04"622
そして、どちらも一度もクラッシュしなかったということがとても大きな収穫です。今年の目標であった、ハーフのスラローム探索と斜め走行はすでに達成。そしてクラシックの目標、公式大会でクラッシュゼロまで、(帰路を除けば)後一歩。
明日も上手く走ってくれることを祈って・・・
■追記
シミュレータによる検証の結果、自分が選んだルートはKiat氏の選んだルートよりもかなり遅いようです。
最近の、歩数が同じぐらいのルートが大量に存在するいやらしい迷路に、処理速度優先であまり賢くない解析ルーチンが対応し切れていないようです。
まだまだツメが甘い・・・。機体性能で、ごり押しで勝ったという感じだったのでしょうか。しかし、まさか今から迷路解析ルーチンを改造するわけにもいきませんね。
■さらに追記
クラシックはおろか、ハーフもまるで最短ルートではなかった!
これはショック。下回りルートのほうが、はるかに速いです。そもそもあんなグニャグニャルートを選んだ時点でおかしいと思ったんだ・・・
下回りルートを選んでいたら、ハーフも軽く5秒を切っていたはず。
決勝を目前にして、こんな課題が見つかってしまうとは・・・うむむ。

つくばの会場にて試走会。何度か走らせてみて、特にトラブルもなくきっちり走ってくれたので、パラメータ調整は行いませんでした。むしろ、下手にいじって安定性を失うのが怖くて・・・
いろいろ他の方のを偵察してきましたが、特にハーフは「その発想はなかった」的なロボットが多くて面白いです。つくばチャレンジも見てみたかったかな。
シンガポール勢は予想されたように、斜めをビュンビュン走ってました。予選の結果次第では、さらに上のパラメータを作る必要が出てくるかもしれません。
ホテルにチェックインして充電をしようとしたら、充電ケーブルがまさかの寸断。コネクタの圧着部分がぽっきりと・・・
しかし、こんなこともあろうかとバッテリー直結タイプのケーブルもちゃんと持ってきていたので事なきを得ました。
ダイエットといっても、自分のではなく、機体のでもなく、プログラムのダイエット。
バグチェックも兼ねて、プログラム容量の削減に取り組んでいました。新たなバグを仕込んだり、可読性を損なわないよう、注意して、注意して・・・
すでにコンパイラの最適化が結構強烈に効いているので、小手先でソースを短くしただけではなかなかバイナリサイズは減りません。
センサー補正のD項の符号が片側逆になっているのを発見。今までは、機体の素の特性を見ようとゲインが0になっていたので問題にならなかったようです。修正して、ハーフのD項のゲインを復活させてみました。ちょっと安定したかな?
結局プログラム容量は、バイナリにして3%ほど削減。以前からちょくちょくやっているので、あんまり目に見えては減りませんでした。それでも、迷路解析ルーチンの主ループが少し軽くなったのは収穫かも?
機体の調整の方は、決戦用パラメータでの自宅迷路の完走を確認。あとは、果たしてフル迷路で走れるのか・・・
バグチェックも兼ねて、プログラム容量の削減に取り組んでいました。新たなバグを仕込んだり、可読性を損なわないよう、注意して、注意して・・・
すでにコンパイラの最適化が結構強烈に効いているので、小手先でソースを短くしただけではなかなかバイナリサイズは減りません。
センサー補正のD項の符号が片側逆になっているのを発見。今までは、機体の素の特性を見ようとゲインが0になっていたので問題にならなかったようです。修正して、ハーフのD項のゲインを復活させてみました。ちょっと安定したかな?
結局プログラム容量は、バイナリにして3%ほど削減。以前からちょくちょくやっているので、あんまり目に見えては減りませんでした。それでも、迷路解析ルーチンの主ループが少し軽くなったのは収穫かも?
機体の調整の方は、決戦用パラメータでの自宅迷路の完走を確認。あとは、果たしてフル迷路で走れるのか・・・
ミシン糸を使って、ハーフのピニオンを強力に圧入。これで滑ることはなくなったと思いますが・・・
他にも、Tetraの表示用LEDが一箇所はんだ不良になっていたのを直したり、コンデンサを容量アップしたりといろいろ微改良。
斜め走行時の角度修正方法を若干見直したりもしました。
後は、8つの第二走行モードのうち、もはや使うことはないであろう斜め走行なしのモード(ゆっくり斜めよりむしろ不安定)を削除して、さらに上のパラメータを入れるスペースを開けておきました。まだ入れていませんが・・・
Beeのバッテリー性能がどうにも不満なので、先週ZIPPYの20C放電の70mAhを注文しておいたのですが、エアメールのためかまだ届きません。送料ケチらない方がよかったかな・・・
16x16の迷路を3回ほど全面探索してもまだ一応走れたので、競技中に残量が無くなることはないとは思いますが・・・
あと、小ネタ。
ジャイロの実装の際、一度ヒートガンでの実装に失敗して(フラックスちゃんと塗らなかったせいか、半田ボールがちっとも溶けなかった)、中島さん方式に切り替えたのですが、半田ボールがいくつか取れてしまっていました。そこで、すべて除去して自分で適当に半田を盛ってトライしたのですが、なんとかくっつけられました。
つまり、基板から外した中古のジャイロでも何とかなると思われます。
他にも、Tetraの表示用LEDが一箇所はんだ不良になっていたのを直したり、コンデンサを容量アップしたりといろいろ微改良。
斜め走行時の角度修正方法を若干見直したりもしました。
後は、8つの第二走行モードのうち、もはや使うことはないであろう斜め走行なしのモード(ゆっくり斜めよりむしろ不安定)を削除して、さらに上のパラメータを入れるスペースを開けておきました。まだ入れていませんが・・・
Beeのバッテリー性能がどうにも不満なので、先週ZIPPYの20C放電の70mAhを注文しておいたのですが、エアメールのためかまだ届きません。送料ケチらない方がよかったかな・・・
16x16の迷路を3回ほど全面探索してもまだ一応走れたので、競技中に残量が無くなることはないとは思いますが・・・
あと、小ネタ。
ジャイロの実装の際、一度ヒートガンでの実装に失敗して(フラックスちゃんと塗らなかったせいか、半田ボールがちっとも溶けなかった)、中島さん方式に切り替えたのですが、半田ボールがいくつか取れてしまっていました。そこで、すべて除去して自分で適当に半田を盛ってトライしたのですが、なんとかくっつけられました。
つまり、基板から外した中古のジャイロでも何とかなると思われます。


