Dockerを用いた自動運転シミュレーターCARLAの環境構築
自動運転シミュレーターのCARLAでは、Dockerイメージが提供されており、このDockerイメージを利用することで、CARLAを簡単にインストールできます。
この記事では、Dockerを用いてCARLA環境を構築する方法を紹介します。
CARLA
CARLA(Car Learning to Act)は、Unreal Engine 4を用いた自動運転研究のためのオープンソースシミュレーターです。
詳細は、以下のサイトをご覧ください。
- Web: http://carla.org/
- Docs: https://carla.readthedocs.io/en/latest/
- GitHub: https://github.com/carla-simulator/carla
- Docker Hub: https://hub.docker.com/r/carlasim/carla/
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環境を構築する方法を紹介しました。