[Ubuntu18.04]Dockerを使用してAutoware導入してシュミレーション行うまで(GPU搭載PC必須)
- 概要
- やり方
- ①NVIDIA Driver をインストール
- ②Docker をインストール
- ③NVIDIA Container Toolkit をインストール
- ④sudoなしでdockerコマンドを使用するために
- ⑤AutowareのためのROSBAGなど を ダウンロード(時間かかるよ)
- ⑥Dockerを使ってAutowareのためのコンテナ を 作る
- ⑦Autoware を 動かしてみる(シュミレーション)
概要
この記事の題名の通りDockerを使用してAutoware導入してシュミレーション行うまでの流れを説明していきます。
(現在のDockerとAutowareのバージョンを考慮した方法)
動作環境&筆者のPCスペック(実際に動かした)
環境
- Ubuntu18.04.4 LTS(実機)
- Docker 19.03.8
PCスペック
- Corei7-8665 QadroP520 メモリ32GB
やり方
細かく説明していきたいと思います。以下説明の流れです。
①NVIDIA Driver をインストール
②Docker をインストール
③NVIDIA Container Toolkit をインストール
④sudoなしでdockerコマンドを使用するために
⑤AutowareのためのROSBAGなど を ダウンロード(時間かかるよ)
⑥Dockerを使ってAutowareを動かすためのコンテナ を 作る
⑦Autoware を 動かしてみる(シュミレーション)
①NVIDIA Driver をインストール
*追記2020/6/2
NVIDIAドライバーをセットアップするには、公式からダウンロードしてきて実行するほうが問題なさそう。
エラー出たときにNVIDIA関連のものをリセットする方法
$ sudo apt-get --purge remove nvidia-* $ sudo apt-get --purge remove cuda-*
- まず先に一応
sudo apt update && sudo apt upgrade
次にnouveau
というドライバが動いているといけないので
sudo vim /etc/modprobe.d/blacklist.conf
より
blacklist nouveau options nouveau modeset=0
を末尾に追加。
sudo update-initramfs -u
で変更を適用 うまく行ったら
sudo reboot
再起動。
sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update
続行の場合はEnter中断の場合はCtl-c
- ドライバーの推奨バージョンを確認
~$ ubuntu-drivers devices
そうしたらdriver : nvidia-driver-XXX - third-party free recommended
のように出てくると思います。
今回の場合XXX(数字)のバージョンをインストールすることになります。
- NVIDIA ドライバのインストールをする。
sudo apt install nvidia-driver-XXX
うまくいったら
sudo reboot
そして
~$ nvidia-smi
で、なんかの表が出てきたらOKです。
②Docker をインストール
~$ sudo apt-get update && \ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
- Dockerの公式GPGキーを追加
~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- リポジトリを設定(stable)
~$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
- Docker Engineをインストール
~$ sudo apt-get update ~$ sudo apt-get install docker-ce docker-ce-cli containerd.io
完了
③NVIDIA Container Toolkit をインストール
次に Docker ホストに NVIDIA Container Toolkit をインストールする。 この中に Docker で NVIDIA の GPU を使うのに必要なランタイムなどが含まれている。
- リポジトリを APT に登録する。
~$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - ~$ curl -s -L https://nvidia.github.io/nvidia-docker/$(. /etc/os-release;echo $ID$VERSION_ID)/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list ~$ sudo apt update
- NVIDIA Container Toolkitをインストール
sudo apt -y install nvidia-container-toolkit
終わったら
sudo systemctl restart docker
④sudoなしでdockerコマンドを使用するために
sudo groupadd docker sudo usermod -aG docker $USER sudo systemctl enable docker sudo systemctl start docker
念のため
sudo reboot
⑤AutowareのためのROSBAGなど を ダウンロード(時間かかるよ)
~$ cd ~/ && mkdir shared_dir && cd shared_dir && \ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_data.tar.gz && \ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gz && \ tar zxfv sample_moriyama_150324.tar.gz && tar zxfv sample_moriyama_data.tar.gz
⑥Dockerを使ってAutowareのためのコンテナ を 作る
GitHubからクローンしてくる
~$ git clone https://gitlab.com/autowarefoundation/autoware.ai/docker.git ~$ cd docker/generic ~$ ./run.sh
そうするとコンテナの中に入れ・な・い
GitHubから持ってきたファイル(run.sh
)を以下の図のように変更する必要があります。
120行目にある
RUNTIME=""
を消す必要があるかも。
そしたら
roslaunch runtime_manager runtime_manager.launch
でruntime_managerが立ち上がればOK
⑦Autoware を 動かしてみる(シュミレーション)
動画を見ていただく形になります。
以下runtime_managerを使ったシュミレーション