2018年9月2日日曜日

経路導出アルゴリズム完成!

9月になりましたね。

ええと、本当は先月中に終えたかったものですが、経路導出のシミュレータのほうが、ようやく完成しました。なかなか場合分けが多かったので、バグを取りきるのが結構大変でした。様々な迷路(10個くらい)で試してみましたが、一応どれも経路は正しく出ているようです。適当に例を載せておきます。

2015クラシックエキスパート決勝

2016クラシックエキスパート決勝

2017クラシックエキスパート決勝

どれも特に問題なさそうな経路が出るようになったかなと思います。アルゴリズムとしてはダイクストラ法時間ベース的な感じです。計算時間のほうもとりあえずPC上では一瞬で終わっているので、多分問題ないかと思います。アルゴリズム自身はポイントさえつかめてしまえばそこまで難しいものではないのですが、やはり斜め走行だとターンごとに結構な量のパターンがあるので、実際に書き出すと大変だった印象です。

まあ、ようやっと実際のパラメータに基づいた経路が出せるようになったので、よかったです。パラメータを変えると同迷路でも経路が変わる場合もあって、例えば2017クラシックエキスパート決勝の迷路は直進速度と加速度を引き延ばすと外回りの経路を選択するようになります。面白いですね。あ、言い忘れていましたが上の迷路で参照しているパラメータは旧作が公式大会で走った中の一番速いパラメータです。旧作は直進が遅いので、2017クラシック迷路では歩数最短と同経路をとる模様です。

一応、経路から走行タイムの予想もできるのですが、ちょっと実際とずれるみたいです。参考までに、旧作が4.27秒で走った経路が、シミュレータ上では4.50秒と出ています。ざっくりとはわかりますが、おそらく壁切れとかもろもろで実際とずれるみたいなので、参考程度にしています(記述のミスは確認してみましたが、とりあえずなさそうに見えます)。

経路シミュレータに関してはこんな感じですかね。ミスがないか怖いので、もう少しほかの迷路で試してみてもよいかもです。

あとはマウスのほうにこれを移してきて、最短走行ができるようにしていきたいですね。下準備として、各ターンを調整できるようにしました。そして最短をかこうとして気づいたのですが、まだゴール処理をしていなかったので、追加しなくてはですね。

そういえば、昨日は東日本大会でしたね。今年は参加できなかったので、適当に競技結果を見たりできたてのシミュレータで迷路を走らせてみたりしてました。やはり上位勢の吸引機は速いですね。サーキットもレベルが上がっているように見えます。ちなみに自分の経路の結果はこちらです。皆さんはどこのルートを通ったのでしょうか。

2018クラシック東日本

さて、今月末が学生大会ですね。とりあえず学生大会の目標としては、クラシックで斜め最短を決めることですかね。そのためには安定した探索をできることと、斜め走行時の制御を作り上げるところが重要になってくるかな、と思います。まあとりあえず今は、最短をできるようにしたいと思います。

今日はこの辺で。

0 件のコメント:

コメントを投稿