あらすじ
- 自動運転AIチャレンジ2023(インテグレーション大会)
- 本記事はチーム遊戯王の大会参加記(の予選編)です。
- 次回大会以降の参加者の参考になりましたら幸いです。いいね頂けると喜びます。
※ 発言は個人の見解に基づくものであり、所属組織を代表するものではありません
※ Blogを書くまでが自動運転AIチャレンジ!
自己紹介
チーム遊戯王です。
謎の有志団体であるchallenge_clubの有志メンバーで構成されています。
https://challenge-club.connpass.com
謎の有志団体であるchallenge_club(技術チャレンジ部)です。
新しいことにチャレンジしてみたい!
技術をさらに深めたい!
いろんな人と知り合いたい!
一人だと心折れちゃう!一緒に取り組む仲間が欲しい!
チーム遊戯王は予選は社会人上位だったものの、決勝では惜しくも入賞を逃しました。
これを真摯に受け止め、これまで取組んだ工夫、及び今後の課題点について振返ります。
予選(シミュレーション)の取組み
ポイント
- シミュレータ上に再現された走行試験場のコースを走行し、距離を競う
- コース上には障害物(段ボール、三角コーン)、特に後半クランクは高難度の狭路
以下の工夫点について順に記載します。
- 1.経路計画の最適化(停止、障害物回避、狭路走行)
- 2.評価の効率化
1.経路計画の最適化(停止、障害物回避、狭路走行)
経路計画は「planning」という機能を活用します。
autowareのplanning機能が非常に充実しているので、該当のplannerを上手く活用、パラメータ調整を実施します。
今回、以下の4つのplannerを活用しました。
- 障害物手前の停止:
obstacle_stop_planner
- 障害物回避(段ボール):
obstacle_avoidance_planner
- 障害物回避(三角コーン):
lane_following_planner
- 狭路走行:
crank_driving_planner
(これは自作)
以降、順番に説明します。
1.1 障害物手前の停止:obstacle_stop_planner
・「障害物手前の停止」では、障害物から手前4.5m
ほどの位置での停止が求められます
・障害物検出時にobstacle_stop_planner
を発動、今回は、停止marginを期待通りになるよう調整し解決を図ります
ドキュメントリンクは以下の辺りです
1.2 障害物回避(段ボール):obstacle_avoidance_planner
・「障害物回避(段ボール)」では、段ボールと路肩間のスムーズな進行が求められます
・障害物回避経路走行時にobstacle_avoidance_planner
を発動、今回は、路肩までのバッファ(road_shoulder_safety_margin
)、障害物までのバッファ(lateral_collision_buffer
)を調整し解決を図ります
ドキュメントリンクは以下の辺りです
https://autowarefoundation.github.io/autoware.universe/main/control/trajectory_follower_node/obstacle_avoidance_planner
1.3 障害物回避(三角コーン):lane_following_planner
・「障害物回避(三角コーン)」では、路肩に存在する三角コーンを回避する経路生成が求められます
・通常走行時に活用するlane_following_planner
の制御パラメータのうち、進行方向に対して横方向の誤差を許容するパラメータ(curvature_weight_lat_error
)を大きめに調整し、路肩の三角コーン回避を図りました
路肩に三角コーンが存在するカーブ手前にて、少し横方向に膨らんで曲がる経路を生成することで三角コーンに当たらなくなりました
ドキュメントリンクは以下の辺りです(図がなかったので該当パラメータを図示)
尚、本解法には別解が存在するようです。
1.4 狭路走行:crank_driving_planner
(これは自作)
・「道幅の狭いクランクの走行」では道幅が狭いエリアでの高精度な制御が求められます
・は通常のplannerでは困難であったため、曲がる軌道をよりクランクの経路に対応させます
・クランクを曲がる軌道を円で近似し、それに沿って曲がることでよりクランクの奥に進む経路を生成しました
ドキュメントリンクは以下の辺りです
narrow space driving
なども参照したのですがどうも今回の課題には適当ではなかった様子。
2.評価の効率化
・パラメータ最適化には十分な試行錯誤が必要、しかし手動だと非常に時間が掛かります。
・クラウド・サーバ技術を活用し、自動評価を並列実行することで解決を図ります。これでパラメータ調整時の効果測定を効率化します(徹夜しなくてもよくなったぞ^^)
走行動画
上記の工夫によりコース前半+後半中盤付近までの課題を概ね解決できました。
動画は以下の通り。
2023 8 31 aichallenge submit
https://youtu.be/oD6F7P9Bx08
ここまでを2023/7/E-9/1まで試行錯誤し、無事に予選を通過いたしました。
と、ここまでは良かったことを書いてみました。
一見すると作戦が功を奏しているかのようですが、まさか決勝であんなことが起ころうとは誰もが予期しておりませんでした。
、、(後半に続く)
参考/謝辞
参考にさせていただきました。ありがとうございます。