LoginSignup
5
3

はじめに

皆さんは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くらいに設定し、加速をうながしましょう。

ここにノードを追加しています。
autoware-micro-node-diagram-2.png

4. おわりに

非常にざっくりした紹介になってしまいましたが、意外と手をつけていることは少ないです。これからまだ、改善点があると思うのでお互いに頑張っていきましょう。気になった方はぜひiASLのgithubを活用してください。

ここらで、私たちは学生実験に取り組まないといけません。(単位のために!!!)では、次回まで!

参考文献

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3