Dockerを用いた自動運転シミュレーターCARLAの環境構築

自動運転シミュレーターのCARLAでは、Dockerイメージが提供されており、このDockerイメージを利用することで、CARLAを簡単にインストールできます。
この記事では、Dockerを用いてCARLA環境を構築する方法を紹介します。

CARLA

CARLA(Car Learning to Act)は、Unreal Engine 4を用いた自動運転研究のためのオープンソースシミュレーターです。
詳細は、以下のサイトをご覧ください。

Dockerを用いたCARLA環境構築

Dockerイメージを利用することで、CARLAを簡単にインストールできます。

前提条件

  • Ubuntu 16.04以降
  • Docker
  • NVIDIA Docker2
  • NVIDIA Driver >= 390

CARLAサーバーの準備

以下のコマンドで、CARLAサーバーとして動作させるDockerイメージをダウンロードします。

$ docker pull carlasim/carla:0.8.4

Dockerイメージが大きいため、ダウンロードに時間がかかります。

Pythonクライアントの準備

以下のコマンドで、Pythonクライアントの準備を行います。

$ cd ~
$ wget https://github.com/carla-simulator/carla/archive/0.8.4.tar.gz
$ tar xf 0.8.4.tar.gz
$ rm 0.8.4.tar.gz
$ cd ~/carla-0.8.4
$ pip3 install -r PythonClient/requirements.txt

なお、Docsによると、Python 3.5がお勧めで、Python 2.7とも互換性があるようです。

Dockerを用いたCARLAの実行

CARLAサーバーの実行

1つ目のターミナルで、CARLAサーバーを起動するため、以下のコマンドを実行します。

$ docker run --runtime=nvidia --rm -p 2000-2002:2000-2002 -e NVIDIA_VISIBLE_DEVICES=0 carlasim/carla:0.8.4

Pythonクライアントの実行

別のターミナルで、Pythonクライアントを起動するため、以下のコマンドを実行します。
ここでは、RGB画像内にDepthとSemantic Segmentation画像が表示されるmanual_control.pyを起動します。

$ cd ~/carla-0.8.4/PythonClient
$ ./manual_control.py --autopilot

2行目は、以下のように省略することもできます。

$ ./manual_control.py -a


なお、最初の画像のようにLidar画像が追加された出力を得るには、以下のコマンドを実行します。

$ ./manual_control.py --autopilot --lidar

まとめ

Dockerを用いてCARLA環境を構築する方法を紹介しました。