2018年10月1日月曜日

学生大会2018終了

先日、マイクロマウス学生大会の方に参加してきました。
まず、結果から。

クラシック… 3位!
サーキット… 2位(表彰は1位のみだったので表彰なし)
でした!


クラシック競技で念願の盾を手に入れることができました。よおっしゃあぁー!マイクロマウス系の大会で順位表彰の圏内に入れたのは今回が初めてで、とても嬉しかったです。

では、当日の様子を書いていきます(直前1週間にやったことのまとめと学生大会の考察はまた今度書きます)。

まず、朝。この日は台風24号が近づいてきていました。大気が不安定と聞いていましたが、ちょうど自分が出た時間がどしゃ降りで、見事にやられました。とりあえずロボットは濡れないようにしながらなんとか会場に到着しました。今年の会場は東京都立産業貿易センター台東館というところで、だいぶアクセスしやすい場所だったのが救いでした。

その後、試走。軽く1回やって終わりで良いでしょうくらいの気でいたのですが、なんと、全面探索で特定の区画で唐突に暴走して止まるよくわからない現象に遭遇しました。閾値を変えても恐ろしいまでもの再現性があったこと、足立法ならうまくいくこと、なぜかフェールセーフ後の動作復帰が出来なくなることなどからマッピングか配列系の直しにくい何かだろうと判断して閾値などを元の値に戻して試走終了。正直、かなり不安を残す試走となっていました。

その後迷路オープン。今年のクラシックは過去問しか出ないと聞いていたのでいつのが出るのかは少し気にしていました。5秒くらいでどれかわかりました。自分が2年前に走ったこの迷路ですね。そこまで難しくない迷路だったと思います。
今回は出走が結構後の方でやることもないので、協賛企業のブースに行ったり、他の団体の方とお話ししたりしていました。

その後、いよいよ出走順が回ってきました。
結果は
1走目 全面探索 成功
2走目 最短走行(オートスタート) パラメータ 1/3 失敗
3走目 最短走行 パラメータ 1/3 成功 タイム3.683
4走目 最短走行 パラメータ 3/3 失敗
5走目 最短走行 パラメータ 2/3 失敗

という感じでした。2、3走目のパラメータが一番調整していたものだったので、それが決まってくれたのはよかったです。とりあえず学生大会の目標であった斜め最短成功は成し遂げられたので、まあ頑張ったと思います。
その後自分の方のB面で吸引マウスに0.8秒程度の大差をつけられてB面2位。A面でも自分のマウスより0.1秒ちょいほどの差を別の吸引マウスにつけられて、最終結果は3位でした。

続けてサーキット競技。こちらは
1走目 パラメータ 1/4 失敗
2走目 パラメータ 0/4(もしもの時用の直進で加速しないパラメータ) 成功 14.051
3走目 パラメータ 4/4 失敗
と、結構ダメな結果でした。原因は明らかでして壁制御でわけわからないくらいふらついていたことです。これに関しては、考察記事で詳しく書きます。
出走数がもともと少なかったので2位でした。ただ去年の自分が9秒ぴったしくらいで走ったと思うので、こちらは今後の課題発見となりました。まあ、リタイアにはならなかったしおそらく速いパラメータで走れても順位は変わらないと思うので、課題が見つかったことがむしろよかったと言って良いでしょう。

台風の影響でだいぶ早く進行して下さっていたので(本当に運営に感謝です)、この時点でもう競技もほとんど終わっておりご飯を食べて表彰式となりました。

初めてマウスで順位表彰をされたので、とても嬉しかったです。また、特別賞もいただきました。理由としては、最短のタイムが早かったこともそうですが、探索が評価されたみたいです。今年のマウスは基本的に全面探索でゴールは気にしない(ゴールの入り口を見つけたら一旦止まってROMに保存するようにはしていますが)ので今回は1走目はリタイアという扱いをとって探索を終了しました。これは今年の探索アルゴリズムの変更が評価されたということで、とても嬉しかったです。今年は「ソフトウェア本格着手」がコンセプトなので良い感じできているのではと思いました。
副賞として、RT バッグ、ケーブル切断用のニッパー、ROBOTIS DREAM(レゴのキット?ちょっとよくわかっていません)をいただきました。ありがとうございます。

大会が早く進んでいたので、無事帰宅することが出来ました。早く運営をしてくださった運営の方々、並びに参加者の方々や審査員の方々など、ありがとうございました。本当に助かりました。

という感じで学生大会は終了しました。

ところで、今回の迷路は2年前に走った、と書きましたが、その時の記録が、14.667。今回は、3.683と、だいぶ2年間での進歩を感じられたという意味でも、よかったように思えます。
とは言ってもいろいろ課題が見つかった大会でもありました。ここから全日本に向けてどう改善していくかというところですね。とりあえず落ち着いたら、まずは今抱えている問題点を整理したいと思います。

今日はこの辺で。

2018年9月29日土曜日

学生大会前日

いやー、今週は、結構しんどかったです…。

大会6日前にして壁制御がほとんどろくにかかっていないことが判明したり、大会3日前にピニオンが滑りしかもそれがえらく分かりづらくて1日溶かしたりと、色々ありました。細かいことは、大会後にでも書こうと思います。
色々あったので時間をギリギリまで使い人間の方も限界寸前まで頑張って調整しました。いや、もしかしたら人間の方は気付いていないだけで本当は限界かもしれません。
とりあえずなんとか最終調整日である今日にギリギリ試したい項目の調整は完了し、あとは大会でどう出るかといったところです。まあ完璧とはいきませんが、やれることはやったと思います。
余裕があれば試走会とか懇親会とか行きたかったのですが…まあ、参加者の皆さんは、明日お会いしましょう。
とりあえず、あとは人間が倒れないように、マウスを壊さないように、今日は休みます。参加者の方々、明日はお互い頑張りましょう。



ところで、地味に台風が心配ですね。交通系に影響して自分の方に実害が出なければ良いのですが…。ともかく安全第一で行こうと思います。

今日はこの辺で。

2018年9月23日日曜日

もう少しなはず…

いやー、あと1週間後に学生大会ですか。厳しいですね。

このところやったところと問題をまとめていきます。
まず、斜め制御を試して見ました。まあまあ効いているように見えますがまだ詳しいところは分からないです。とりあえずアルゴリズムだけ書いて今は調整せず使ってもいません。
その後は怪しい各種ゲインを頑張って調整しました。全体的にハイゲイン気味なところをログと動きを見ながら潰していきました。
特に壁制御はこれまでは割と致命的だったようで、Dゲインが大きすぎて両壁でマウスを端に寄せると壁によっていく現象が発生しました。適切に下げたところ探索時の安定性が向上したように思えます。
小回りターンと最短のターンも、ゲインを変えたのでもう1度再調整しました。

と、結構調整したつもりなのですが、依然として状況はあまり良くなく、現状の問題としては
・最短時の壁制御不安定
高速直進時の壁制御で、たまにどちらかの壁によっていくことがあります。スローで見てみたところ、加速から定速に移るあたりで少しずれた角度が直せていないみたいに見えますが、ちょっとよくわかっていません。壁制御なしで試すとゲイン調整が効いているのか真っ直ぐ進むみたいなので、壁制御でずれているようなのですが難しいですね…。
・ターンがずれる
大きい迷路で試すと少しのずれが目立ってきますね。これは要調整です。

という感じで現状、探索はまあ良さげですが最短がダメダメでして厳しいです。サーキットも昨日の段階で最低パラメータでも2回機体がぶつかってひっくり返ったりしているしやはり高速走行は難しいですね。壁制御がなかなか安定しません…。
少しずつ改善はしているはずなので、あと少しだと思うのですが、学生大会まで1週間しかないのはなかなか大変ですね。うーん、本番は全日本とはいえ、学生大会もターゲットにしていたのでしっかり走らせたいところなのですが、まあ、やはりマウスは難しいですね。
とりあえず使える時間を有効に使っていきたいところです。

今日はこの辺で。

2018年9月20日木曜日

新機能追加中

あと10日。そろそろ本気を出しています。

とりあえず新機能ということで、まず最短時壁切れを実装しました。今日は機能追加がメインなので1度走らせただけですが、前より綺麗に走れるようになりました。柱にもぶつからずに帰ってきたので良い感じです。
斜め制御はまだようやくアルゴリズムを書くだけ書いたという状態です。今年は去年と違う制御なので、うまくいくかは今後に見ていきます。一応センサのログは良い感じなので、斜め壁切れもうまく出来そうな感触です。
あとは壁制御の値変化の対策が下がる時にしか入っていなかったことに気づき修正しました。また、壁制御で一部壁判定の閾値を間違った記述をしている箇所を見つけたので修正しました。

ということで次は斜め制御の確認からですね。それが出来たら、ゲイン調整ですかね。

今日はこの辺で。

2018年9月18日火曜日

吸引探索断念

あと12日、うーん、なかなか厳しいですね。

まず、バッテリーに関して。これまで燃費が悪いと言っていましたが、もう使わないと決めたのでネタバラシ。吸引探索にトライしていました。これによってバッテリーの減りが早く、今日、バッテリーの容量を倍にして動かしてみたのですが、ダメなことがわかりました。
というのも持ち自身は良くなったのですが、やはり吸引探索は長時間大電流を流し続けることになるので、バッテリーに良くない模様で、最短の際に放電性能が一時的に悪くなるような動きをすることがわかってきました。

ということで、吸引探索を諦めて非吸引の探索のパラメータを調整していたのですが、どうにもまだ若干不安定です。いや、走るには走るのですが、壁制御が怪しかったり、よくわからないところでフェールセーフがかかったりします。既知区間加速が入ると結構不安定な動きをします。
最短もまだ問題がありそうですね。今日はやたら45度入ターンが変だったような。まあ今日はバッテリーが重くなっていて重心も変わっていたので、深追いはしませんでした。しかし、変なタイミングでフェールセーフかかるのは、何なのでしょうか。

調整の問題なのか根本的に良くないのかが分かりにくいのがなかなか難しいところですね。特に速度が違う時の壁制御のゲインとその他のパラメータや、速度や動きが違う際のジャイロのゲインなど、なかなかパラメータが多い上に分かりにくいです。

調整もそうですがそろそろ最短系の新機能を入れていきたいというのも事実です。明日は迷路が無いので、壁切れとか入れていこうかなと思います。あとは探索のゲインを見直してみても良いかもですね。壁制御も、少し真面目に考えて見たほうが良いかもです。結構やることありますね…。
まあデータフラッシュの値保持は出来るようになったので、探索と最短は分けて調整できるので、時間をうまく使っていきたいところです。どうにか、変な動作がなくなってほしいですね。

今日はこの辺で。

2018年9月15日土曜日

学生大会まであと2週間

マウスの動きを改善していっています。

気になっていたところを詰めていっています。

まずは、壁制御。直進時にふらつくのが気になったため、長い直進を何度も走らせ調整しました。意外と調整が難しく、遅ければ適当な値でも走っているように見えるし、速くしすぎるとそもそもの機体性能の限界で制御どころではなくなる(両方のモーターが全力で回ることになる)ので、限界を見極めた上でふらつかないように調整する必要があります。バッテリーの心配もしなくてはなので結構大変です。
とはいえそれなりに調整し、前よりはかなり改善したように見えます。フラつきも減りましたし、復帰も早くなったように思えます。

その後は小回りターンを練習しました。これはとにかく連続させる迷路で調整しました。探索の成功率がかなり上がりました。

そして最短のターンを微調整しました。主にV90を調整しました。今の迷路はV90連続数えたくない回くらいやる迷路なのですが、越えられるようになりました。斜めの制御はまだ入れていない段階で走れているので、軌跡の再現性は結構いいようですね。これでようやく難しい迷路でも往復最短が出来るようになりました。

あとはサーキットで新パラメータを作成しました。とは言ってもあまり調整しきれず、実際にはまだ走れません。まあ走れそうな感触はあるので、今後の調整が重要ですね。

そこそこ良い感じに調整できているようにも思えますが、悪いことも起きています。

えーと、ホイールが割れました。終盤にサーキットで速いパラメータで柱にクラッシュした時に割れた模様です。うーむ、やはりアクリルホイールであの薄さでは速さを上げると耐えきれなくなるみたいですね…。剛性を強化したものを設計し、発注しようと思います。予備はあるので今のところ大きな問題はないですが、この調子だといつ予備が尽きるかわかりませんね…。まあ、安定性を高めたスパーギア周りは衝撃に耐えられているようなのでそこは狙い通りです。そうすると消去法的にホイールが壊れるのは納得はいきます。早いうちにもろさがわかるのは大切です。
あ、あと柱も真っ二つに割りました。2枚抜きできる速度ではないですが、1枚くらいなら抜ける模様ですね(そうじゃなくてちゃんとぶつからないようにしよう)。

直進のパラメータの方も、大体今回の機体の限界がわかってきました。去年よりも速くできているのは良いですが、今の自分の制御だと上位陣には届かない模様ですね。うーん、しかしあの人たちはどうしてあんな加速度出せるのでしょうか…。
探索も一度だけ前壁後検知したのが気になりましたね。もう少しというところでしょうか。
あと燃費が悪いのは調整においても嫌なので、早くバッテリー届かないかな。

まあある程度調整できてきているので、ぼちぼち新しいことを入れていきたいなと思います。とりあえず
・データフラッシュの値保持
・最短、サーキット直進時壁切れ(ターン前)
・斜めの壁制御
あたりを入れておきたいなあと。特に意外とデータフラッシュの値が書き換わってしまうのは、せっかく迷路データが保存できても探索し直さなければならず頭が悪いので、入れたいところです。
下記2つはまあ、多少時間がかかると思いますが、頑張って調整します。
斜め中壁切れは、どうやるかのイメージを固めるところからですね。
あとは最短の180度ターン調整とか探索で別のパラメータ作成などありますが、1個1個やっていきます。

学生大会まであと2週間ですね。とりあえず、目標を宣言しておきます。
・クラシック
全面探索と、最低パラメータでも良いので最短走行を決める
・サーキット
目指すは、6秒台
というあたりをターゲットに、これから2週間は頑張ります。ところで学生大会のサーキット登録機体4台って、いつもよりだいぶ少ないですね。まあ自分は自分の走行をするだけなので、やるべきことをやっていこうと思います。

今日はこの辺で。

2018年9月14日金曜日

確認

久々に広い迷路でマウスを動かしてみました。

修理は有効に働いたようで、とりあえず変な動作は無くなりました。良かったです。
ゲインをちょっと変えようかとも思いましたが、意外と前のままの方が安定している模様で、エンコーダのところを少し変える程度にとどめました。
ゲイン以上に、バッテリーの状態が直進では響いてくる模様です。当たり前ですが、加速度や最高速をあげるとバッテリーが切れている時と満充電の時で挙動がかなり異なりますね。なるほど。とりあえず適当に作った最低パラメータの予定のものは、バッテリーの状況の影響はほとんど受けなさそうなことを確認しました。限界の見極めは大事ですね。
あとは軽く調整しました。今日から迷路の難易度を上げているので、走行では細かいずれが見えて来ました。やはり小回りターンや最短のターンは、結構頑張らないと走れなさそうですね。とはいってもオーバーホールした割にはターンの挙動はそこまで変わっていない模様なので、とりあえずそこは良かったです。

今日やったのはそんなところで、まあ軽い確認ですね。
正直今のところバッテリーをいずれ変える以上色々と迷いがあって、どうしようかなといったところですね。特に探索と最短のパラメータをどの辺に設定しておくか、が決めにくいところです。
一応今後やりたいところを書き出しておくと
・壁制御調整(最短時は必須、探索はどうだろうといったところ)
・小回りターン、最短ターンの細かい調整(ネイピアターンの比例定数含む)
・探索のパラメータもう1種作成
・プログラム書き換え後のデータフラッシュの値保持
・最短時壁切れ
・斜め制御
・斜め壁切れ(?)
・(バッテリー変更)
といったところですね。

とりあえず明日は上3つをやってみようかと思います。
壁制御は、サーキットで試そうかなと考え中。サーキットはバッテリーの心配はあまりないので、高めのパラメータを作っても良いかもですね。

今日はこの辺で。