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
```