No description
scripts | ||
.gitignore | ||
build.sh | ||
Dockerfile | ||
README.md | ||
run.sh | ||
startup.sh |
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