Newer
Older
glx-docker-headless-gpu / README.md
@ikko ikko on 18 May 2023 2 KB Update README.md

Run Carla and ROS-Bridge in docker container

Docker上でCarlaを動かす。

noVNCを使うことでWebブラウザ上で実行可能

ホストの要件

Nvidia GPUカード1枚が認識できるDockerサーバー

Dockerサーバー Dockerクライアント ともに、OSのバージョンは、なんでも良いが、cuda-toolkitのバージョンは、ともに合わせなければならない。

ここでは、 OS 22.04.2 Docker version 20.10.19, build d85ef84 で検証

ubuntu18.04でcuda12.1 のドライバに統一。nvidia-smiでバージョンを確認する。もし一致していないなら、

cuda-toolkitを検索し、

Linux->x86_64->Ubuntu->18.04->deb(local)

の手順に書いてあるところを参考に、Dockerfileを書き換える。

1. 研究室サーバーでGPU対応サーバーのセットアップ

cuda-toolkitとnvidia-docker2をインストールする。

sshログインしてnvidia-smiを実行して、GPUが検出されることと、入っているドライババージョンを確認

2. docker containerのビルド

> git clone https://www.ikko-lab.k.hosei.ac.jp/gitbucket/git/ikko/glx-docker-headless-gpu.git
> cd glx-docker-headless-gpu
> ./build.sh

3. docker containerの実行

> ./run.sh

noVNC

  • noVNCを使用したブラウザからのアクセスは、ポート6080を使用。一般には、vnc.htmlをアクセスし、パスワードを入れれば入れるが、エラーが出る場合(多分、ブラウザのキャッシュの関係。)もあり、 この場合、vnc_lite.htmlからアクセスするとできる。 ・また、VNC経由の場合には、ポート7000を使用。変更は、run.shをいじれば、任意のポート番号に変更可能。

ブラウザ経由でアクセス。

https://192.168.100.231:6080

vnc.htmlから入り、ターミナルを開く

マウス右クリックで、ターミナル開く

m リターンでユーザーモードに切り替えスクリプトを実行

> m
> cd scripts
> ./startcarla.sh

Pattern 1

ターミナルを開く

マウス右クリックで、ターミナル開く

> m
> cd scripts
> ./launchcarla.sh

Pで自動運転

Pattern 2

ターミナルを開く

マウス右クリックで、ターミナル開く 次に、

> m
> cd CARLAXXXXX/PythonAPI/examples
> ./manual_control.py

Pで自動運転 ちなみに、manual_control.pyには、syncモードがある。 デフォルトのasyncモードでは、うまく制御できないので、 syncモードにしている。(確認しながらシミュレーションをするのでフレームレートが遅くなる)

> m
> cd CARLAXXXXX/PythonAPI/examples
> ./manual_control.py --sync