大会本選について
競技内容
本競技は、自動走行車両による走行タイムをオンライン上のシミュレータで競うものです。
走行環境
西新宿内の一部の区間を走行します。
自動走行車両
自動走行を行う車両にはLexus RX450hを使用します。
競技全体に関するルール
- AWSIM(自動運転向けシミュレータ)上でのシナリオを走破できるソースコードをAutowareを活用して作成いただきます。
- 参加者は、与えられたシナリオをクリアできるようソースコードを作成して、まずはローカル環境で検証をします。
- オンライン環境にソースコードをアップロードすることで、オンライン上でシミュレーションが実施されて、タイムが出ます。最後にアップロードされたソースコードのシミュレーション結果のタイムに基づいて順位を決定します。
シナリオ
シナリオに含まれるイベントについて記載します。
- オンライン採点環境・ローカル環境両方で以下の内容は共通していますが、イベントの順番、車両の位置等細かい内容は異なります。
- 各イベントについて記載している走破方法以外の経路・方法で走破した場合、オンライン採点環境では動作しない可能性があります。
チャレンジコースでのイベント
低速車両への追従
- 前方を低速な車両が走っているシチュエーションです。
- サンプルの段階で走破可能ですが、低速車両の速度に合わせて追従するように制御を改善することで走行タイムを改善可能です。
駐車しようとしている車両の回避
- 駐車しようとしている車両を回避するシチュエーションです。
- サンプルの段階で走破可能ですが、車両を追い越すように経路計画を改善することで走行タイムを改善可能です。
アドバンストコースでのイベント
アドバンストコースではチャレンジコースでのイベントに加えて以下のイベントが追加されている他、NPC歩行者・車両も追加されています。
複数車両の回避
- 事故車両・駐車車両を回避するシチュエーションです。
- サンプルの段階では走破不可能です。複数車両の間を進むように走行経路計画の改善が必要です。
車両が通行している中での障害物回避
- 後方から車両が通行している中で障害物を回避するシチュエーションです。
- サンプルの段階で走破可能ですが、適切なタイミグで割り込みを行うように挙動を改善することで走行タイムを改善可能です。
詳細ルール
ゴール判定
- コースには上画像①~③のチェックポイントが設置されています。①から③まで順番に全てのチェックポイントを車両が通過したとき、ゴールしたと判定されます。
- 上画像のようにチェックポイントはCube状に定義されています。
- チェックポイントと車両が少しでも重なった時、チェックポイントを通過したと判定されます。
- ゴール判定は車両が完全に停止したタイミングで行われます。
- ゴール地点での停止は停止線の手前で行う必要があります。
正確には、停止線の1m手前~停止線の間に車両の先端がある状態である必要があります。
時間計測
- 自車両が動き始めたタイミングが計測開始のタイミングです。
- ゴール判定されたタイミングで計測終了となります。
失格条件
以下の場合失格となります。
- 車両・歩行者・ガードレール等と衝突した場合
- ゴール地点で停止線を超えてしまった場合
- 車両速度が時速50km/hを超えた場合
タイムの確認
以下のコマンドでタイムを確認できます。
# Rockerコンテナ内で
source /aichallenge/aichallenge_ws/install/setup.bash
ros2 topic echo /score/result
# ゴール判定または失格時に以下のように表示されます。
# score: 164699
# has_finished: true
# has_collided: false
# has_park_failed: false
# check_point_count: 2
# `score`の値が最終タイムです。
# `has_finished`がfalseの場合失格です。
source /aichallenge/aichallenge_ws/install/setup.bash
ros2 topic echo /score/result
# ゴール判定または失格時に以下のように表示されます。
# score: 164699
# has_finished: true
# has_collided: false
# has_park_failed: false
# check_point_count: 2
# `score`の値が最終タイムです。
# `has_finished`がfalseの場合失格です。