driving_log_replayer_v2 シナリオフォーマット定義#
driving_log_replayer_v2 で用いるシナリオのフォーマットについて述べる。
フォーマットに関する注意事項#
- キーは CamelCase にて定義する。
- 座標系に関しては、
map
座標系を使用する - 単位系に関しては、特に指定がなければ以下を使用する。
距離: m
速度: m/s
加速度: m/s^2
時間: s
サンプル#
シナリオのサンプルをsample フォルダに置いている。
フォーマット#
基本構造は以下の通り。各キーの詳細は以下で記述する。
driving_log_replayer_v2 Scenario Format version 3.x.x#
ScenarioFormatVersion: 3.x.x
ScenarioName: String
ScenarioDescription: String
SensorModel: String
VehicleModel: String
Evaluation:
UseCaseName: String
UseCaseFormatVersion: String
Conditions: Dictionary # refer use case
Datasets:
- DatasetName:
VehicleId: String
ScenarioFormatVersion#
シナリオフォーマットのバージョン情報を記述する。セマンティックバージョンを用いる。
現在は、3.0.0
フォーマットの更新の度にマイナーバージョンを更新する。
ScenarioName#
シナリオの名前を記述する。Autoware Evaluator 上でシナリオの表示名として使用される。
ScenarioDescription#
シナリオの説明を記述する。Autoware Evaluator 上でシナリオの説明として使用される。
SensorModel#
autoware_launch/launch/logging_simulator.launch.xml の引数の sensor_model を指定する
VehicleModel#
autoware_launch/launch/logging_simulator.launch.xml の引数の vehicle_model を指定する
Evaluation#
シミュレーションの評価条件を定義する。
UseCaseName#
評価プログラムを指定する。
ここで指定された名前と同じ名前の評価ノードを呼び出すことで評価が実行される。
UseCaseFormatVersion#
ユースケースのフォーマットのバージョン情報を記述する。セマンティックバージョンを用いる。 メジャーバージョンが 1 になるまでは、フォーマットの更新の度にマイナーバージョンを更新する。初期バージョンは 0.1.0。
Conditions#
ユースケース毎に設定できる条件を指定する。
指定可能な条件は各ユースケースを参照。
Datasets#
複数個のDatasetを記述することが可能であるが、複数個のDatasetに対して、同じ評価条件で使用する場合のみ利用できる。 複数個のDatasetを記述した場合は、利用したいdatasetのindexをlaunchの起動引数に渡す必要がある。 indexは0番から始まる。 データセットが1個の場合はdataset_index:=0としてもよい。
# シナリオに記述したdataset数が1個の場合。dataset_index:=0は省略可能
ros2 launch driving_log_replayer_v2 driving_log_replayer_v2.launch.py scenario_path:=${scenario_path} [dataset_index:=0]
# シナリオに記述したdataset数が複数の場合
ros2 launch driving_log_replayer_v2 driving_log_replayer_v2.launch.py scenario_path:=${scenario_path} dataset_index:=${index_number}
DatasetName#
t4_datasetのデータセット名
VehicleId#
autoware_launch/launch/logging_simulator.launch.xml の引数の vehicle_id を指定する。
車両 ID が不明な場合は、default
を設定する。