ビルド手順

ScenarioExecutor

ScenarioExecutorは自動運転アルゴリズムのテストを行うためのシナリオ実行エンジンです。
本リポジトリにはCARLAとAutowareを使用し、実際にシナリオを実行しテストを行うデモ環境が含まれています。

動作環境

  • Ubuntu 18.04
  • CARLA Simulator 0.9.11
  • ROS/ROS2 bridge for CARLA simulator 0.9.11
  • ROS Melodic
  • Autoware 1.14.0

CARLAのビルド

下記サイトを参照しCARLA 0.9.11のビルドを行ってください。

https://carla.readthedocs.io/en/0.9.11/build_linux/

インストール手順の最後にある、以下のコマンドは必須ですので、必ず実行してください。

make PythonAPI ARGS="--python-version=2"

ros-bridgeのインストール

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のインストール

下記サイト等を参照しROS Melodicのインストールを行ってください。

http://wiki.ros.org/melodic/Installation/Ubuntu

Autowareのビルド

下記サイトを参照しAutoware 1.14.0のビルドを行ってください。

https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Source-Build

ScenarioExecutorのダウンロード

以下のコマンドを実行してください。

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

構成

アプリケーションの構成は以下のようになります。

セットアップ

以下の手順はインストール後、一度だけ実施してください。

  1. 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が作成されます。

  2. 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のオドメトリセンサーの情報のみで簡易的に自己位置推定を行うことができるようになります。

シナリオ実行

  1. CARLAを起動します。

    cd ~/carla
    make launch
    

    起動したらPlayボタンをクリックします。

  2. Autoware及びros-bridgeを起動します。

    cd ~/ScenarioExecutor
    ./run.sh