ScenarioExecutorは自動運転アルゴリズムのテストを行うためのシナリオ実行エンジンです。
本リポジトリにはCARLAとAutowareを使用し、実際にシナリオを実行しテストを行うデモ環境が含まれています。
下記サイトを参照しCARLA 0.9.11のビルドを行ってください。
https://carla.readthedocs.io/en/0.9.11/build_linux/
インストール手順の最後にある、以下のコマンドは必須ですので、必ず実行してください。
make PythonAPI ARGS="--python-version=2"
cd ~
git clone https://github.com/carla-simulator/ros-bridge.git
cd ros-bridge
./install_dependencies.sh
CARLAのバージョンに対応したros-bridgeをcloneしてください。
https://github.com/carla-simulator/ros-bridge
2021年8月現在、CARLA 0.9.11に対応するros-bridgeはリリースされていませんので、masterをcloneしてください。
下記サイト等を参照しROS Melodicのインストールを行ってください。
http://wiki.ros.org/melodic/Installation/Ubuntu
下記サイトを参照しAutoware 1.14.0のビルドを行ってください。
https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Source-Build
以下のコマンドを実行してください。
cd ~
git clone https://github.com/open-garden/garden-scenarioexecutor.git
ScenarioExecutorには簡単にシナリオ実行のデモを行うためのシェルスクリプトやROSのlaunchファイルがあらかじめ含まれています。
これらのファイルは各アプリケーションが以下のフォルダにインストールされていることを前提にしています。
アプリケーション | フォルダ |
---|---|
CARLA | ~/carla |
ros-bridge | ~/ros-bridge |
Autoware | ~/autoware.ai |
ScenarioExecutor | ~/ScenarioExecutor |
アプリケーションの構成は以下のようになります。
以下の手順はインストール後、一度だけ実施してください。
Unreal EngineのContent及びSourceフォルダにScenarioExecutorのアセット及びc++のソースコードを配置します。
cd ~/ScenarioExecutor
./ue4setup.sh
実際は~/carla/Unreal/CarlaUE4/Content
及び~/carla/Unreal/CarlaUE4/Source/CarlaUE4
フォルダ内にシンボリックリンクの作成のみ行います。
実体は~/ScenarioExecutor/Unreal
の中にあります。
~/carla/Unreal/CarlaUE4/Content
にシンボリックリンク/Garden
が作成されます。
~/carla/Unreal/CarlaUE4/Source/CarlaUE4
にシンボリックリンク/Garden
が作成されます。
ros-bridge及び自己位置推定ノードをビルドします。
cd ~/ScenarioExecutor/garden-autoware-agent
./make.sh
make.sh
は、~/ScenarioExecutor/garden-autoware-agent/src
内に~/ros-bridge
へのシンボリックリンクを作成し、ros-bridgeも含めて一括でビルドします。
自己位置推定ノードはconvert_odometry_to_pose
からpublishされる/gnss_pose
をsubscribeし、Autowareの/estimate_twist
をpublishするノードです。
(convert_odometry_to_pose
は~/autoware.ai/src/autoware/simulation/carla_simulator_bridge/carla_autoware_bridge/src/carla_autoware_bridge
にあります)
このノードにより三次元点群地図とLiDARを使用して自己位置推定を行うndt_matching
ノードを使用せずにCARLAのオドメトリセンサーの情報のみで簡易的に自己位置推定を行うことができるようになります。
CARLAを起動します。
cd ~/carla
make launch
起動したらPlayボタンをクリックします。
Autoware及びros-bridgeを起動します。
cd ~/ScenarioExecutor
./run.sh