はじめに
皆さんはAIチャレンジの取り組みはどうですか。
1月15日(月)現在、私たちiASLが1位を取っている現状です。
ここで、私たちのAIチャレンジのレポジトリを公開しようと思います。参考にしていただけると幸いです。
testというブランチにはいっていると思います。(多分)
iASL-Github
自分がどこのパラメータをいじったかを軽く紹介します。
目次
1.Map
2.lookaheadgain
3.制御系自作パッケージ
4.おわりに
1. Map
過去の私の記事でMapファイルの編集について書いています。VectorMapBuilderを利用したことがない方はそちらもぜひ参考にしてください。
Map編集で大事なことは、速度、経路の主に2つになります。ストレート区間ではしっかりアクセルを踏み込み、次のコーナに向けてぎりぎりまで攻めています。また、コーナでは、速度とライン(トレードオフ)を調整し、最適解を探します。特に第1コーナセクションはルート取りが一番むずかしかったと感じています。アクセルやブレーキを変更すると、マップの調整も必要になるので結構世話のかかる問題児ですが、タイムの短縮には欠かせない作業です。
以下は私なりのコツです。
・NPC車両はイン側(主に右側)を走行する。
→ その逆に経路を生成すると簡単に避けれる。
・カーブ途中でlaneを分けない。
→ 1度が制御が入力されない時間が生まれる?(やってみるとわかります。アウトに膨らむと思います。)
・ブレーキは段階的に。
→ 車は球には止まれない。(もしかしたら違うかも)
細かいことは、実際にファイルを見てみてほしいです。
2. lookaheadgain
こちらも、過去の記事で紹介しています。
私たちは、これを0.25あたりに設定しています。(初期は0.4)第一コーナを抜けたあと、ゆるやかなカーブがあると思います。そこで、アクセルを踏むために調整しています。スピードが乗った状態で経路追従するために低めに設定しました。
注意点は、急ハンドルになりがちなことです。人は快適には乗れませんね。
3. 制御系自作パッケージ
こちらは、自作のアクセルブレーキの制御のパッケージになります。Autoware Micro既存の制御を利用しても良いのですが、accel、 brake map.csvというものを編集しないといけません。こちらの記事から参照しました。このファイルが個人的に読みづらかったのと、編集するのが難しいと感じたため、自作でつくることにしました。自作パッケージの作り方については、またAIチャレンジのすゝめの方で紹介しようと考えています。
このパッケージが何をしているかだけ簡単に紹介します。
入力:現在速度、目標速度(laneletで定義される制限速度)
出力:アクセル、ブレーキ
現在速度と目標速度の差を利用し、どのくらいアクセル、ブレーキを踏むかを出力しています。はじめは、フルスロットルで加速し、目標速度に近づくにつれ、アクセルを弱めていくような感じです。
この手法の注意点は、目標速度付近になると、アクセルをほとんど踏まなくなことです。150km目標のとき、145kmくらいからは、ゆっくりな加速となります。本当に150km出したいときは、制限速度をあえて160kmくらいに設定し、加速をうながしましょう。
4. おわりに
非常にざっくりした紹介になってしまいましたが、意外と手をつけていることは少ないです。これからまだ、改善点があると思うのでお互いに頑張っていきましょう。気になった方はぜひiASLのgithubを活用してください。
ここらで、私たちは学生実験に取り組まないといけません。(単位のために!!!)では、次回まで!