シナリオを実行するためのシェルスクリプト~/ScenarioExecutor/run.sh
について説明します。
#!/bin/bash
source setup.sh
python ScenarioExecutor.py シナリオ(.json) ウェイポイント(.json) [autoware]
setup.sh
はCARLAのPythonAPIライブラリのパスを設定しています。
ScenarioExecutor.py
の引数は以下の通りです。
autoware
を指定するとAutowareとros-bridgeを起動します。何も指定しない場合はCARLAの~/carla/PythonAPI/examples/manual_control.py
を起動します。autoware
を指定した場合、自車両はAutowareによって自動でコントロールされ、指定しない場合はmanual_control.py
を使用して手動で自車両をコントロールします。3番目の引数にautoware
を指定した場合、ScenarioExecutor.py
はプログラム内で~/ScenarioExecutor/garden-autoware-agent/src/garden-autoware/launch/garden-autoware.sh
を呼び出します。
garden-autoware.sh
以降は下記の順序で呼び出しが行われます。
ScenarioExecutor.py
└── garden-autoware.sh $1 $2 $3
├── autoware.sh $1 $2 $3
│ └── garden-autoware.launch $1 $2 $3
└── rviz.launch
$1 $2 $3
は引数です。それぞれ以下の値がセットされます。
town:=マップ名
map_id
がセットされます。spawn_point:=自車両のスポーン位置
scenario:opening_scene:ego:start_position:wp_id
とwp_idx
で指定されたウェイポイントからx,y,z,roll,pitch,yaw
を取得してセットされます。waypoint:=Autoware用のウェイポイント
~/ScenarioExecutor/garden-autoware-agent/src/garden-autoware/config/waypoint
に格納されているcsvファイルのパスがセットされます。scenario:opening_scene:ego:start_position:wp_id
から取得します。garden-autoware.launch
内で、Autowareとros-bridgeのノード及び自己位置推定ノードを起動しています。rviz.launch
はRVizの起動を行います。