No description
  • Dockerfile 50.6%
  • Shell 49.4%
Find a file
Ikko K Kobayashi f7e1396bdd
All checks were successful
Docker Build and Push / docker (push) Successful in 14s
fix README.md
2026-02-24 16:19:48 +09:00
.forgejo/workflows remove debug code 2026-02-23 22:32:47 +09:00
scripts reduce layer 2026-02-14 17:36:20 +09:00
.dockerignore reorganize Dockerfile 2026-02-03 13:30:53 +09:00
.gitignore reduce layer 2026-02-14 17:36:20 +09:00
build.sh fix 2026-02-23 14:40:00 +09:00
compose.yml add radeon 2026-02-10 18:44:08 +09:00
Dockerfile almost resolved 2026-02-22 14:03:42 +09:00
down.sh Initial commit: CARLA 0.9.16 Docker environment 2026-01-28 09:17:51 +09:00
in.sh change from xfce to lxqt. 2026-01-31 14:42:51 +09:00
pushimage.sh fix build.sh and pushimage.sh 2026-02-14 17:52:38 +09:00
README.md fix README.md 2026-02-24 16:19:48 +09:00
session.conf change from xfce to lxqt. 2026-01-31 14:42:51 +09:00
supervisord.conf clean up 2026-02-10 10:36:27 +09:00
up.sh add radeon 2026-02-10 18:44:08 +09:00

Run Carla and ROS2(jazzy) in docker container

Docker上でCarlaを動かす。

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

ホストの要件

Nvidia GPUカードが認識できるDockerサーバー ホストで以下の設定がされていることと、

cat /etc/docker/daemon.json
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

ホストで以下のファイルがあること。

 /usr/share/vulkan/icd.d/nvidia_icd.json

一応、

 /usr/share/vulkan/icd.d/intel_icd.json

 /usr/share/vulkan/icd.d/radeon_icd.json

でもビルドはできるが、動作しない。ここでは、OS Ubuntu 24.04 で検証

1. GPU対応サーバーのセットアップ

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

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

2. docker imageのビルドと実行

クローン

# cd /opt
# git clone https://forgejo.ikko-lab.k.hosei.ac.jp/ikko/carla9.git

基本、ビルドイメージがあるのでbuild.shは、不要、マシンにもよるが、から時間程度かかる。

# cd carla9
# ./build.sh

実行

# ./up.sh
WARN[0000] Warning: No resource found to remove for project "carla9".
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all images without at least one container associated to them
  - all build cache
Are you sure you want to continue? [y/N] n

ここで、Yとすると、docker system prune -aが動くため、 使っていないDocker image,volume,networkが全部削除されるので注意。

NVIDIA GPU を検出しました。NVIDIA runtime を使用します。
GPU      = all
runtime  = nvidia
libgl    = 0
ICD file = /usr/share/vulkan/icd.d/nvidia_icd.json

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

  • noVNCを使用したブラウザからのアクセスは、ポート6080を使用。パスワードは、kobaken
http://192.168.100.220:6080

CARLA demo

noVNCに接続

httpsでは、接続できないので注意 資格情報 パスワードは、kobaken

ターミナルを開く

マウス右クリックで、[Open in terminal] としてmを実行

kbkn@u220-24:~/Desktop$ m
kbkn@u220-24:~/Desktop/scripts$ ls
reboot.sh    runrviz2.sh  setTown02.sh setTown05.sh
runcarla.sh  setros2.sh   setTown03.sh
runros2.sh   setTown01.sh setTown04.sh
kbkn@u220-24 :~ /Desktop/scripts$

runcarla.sh

/opt/carla/PythonAPI/examples/manual_control.pyを実行

kbkn@u220-24 :~ /Desktop/scripts$./runcarla.sh

Pで自動運転 ちなみに、manual_control.pyには、syncモードがある。 デフォルトのasyncモードで、python3 generate_trafic.pyを実行すると、すぐに事故を起こすので、 syncモードにする。確認しながらシミュレーションをするのでフレームレートが遅くなる

動的天候の変更

File->New Tabでターミナルを開いて

kbkn@u220-24 :~ /Desktop/scripts$ cd /opt/carla/PythonAPI/examples
kbkn@u220-24 :/opt/carla/PythonAPI/examples$ ./dynamic_weather.py
Sun(alt: 32.83, azm: 163.08) Storm(clouds=0%, rain=0%, wind=5%)
Sun(alt: 32.87, azm: 163.10) Storm(clouds=0%, rain=0%, wind=5%)
Sun(alt: 32.90, azm: 163.13) Storm(clouds=0%, rain=0%, wind=5%)
・・・
人や車の追加

File->New Tabでターミナルを開いて

kbkn@u220-24:/opt/carla/PythonAPI/examples$ ./generate_traffic.py
ERROR: Spawn failed because of collision at spawn position
spawned 30 vehicles and 9 walkers, press Ctrl+C to exit.

ROS2 demo

ターミナルを開く

マウス右クリックで、[Open in terminal] としてmを実行または、 File->New Tabでターミナルを開く ちなみに、manual_controlで動かす車と、ROS2 demoで動いている車は、同一マップ内ではあるが、別の車

ROS domain IDのセット

ROS2でネットワーク内で連携したい場合に実行 ROS domain IDは、101としている。

kbkn@u220-24:~/Desktop/scripts$ ./setros2.sh
kbkn@u220-24:~/Desktop/scripts$

ROS2での車の起動

kbkn@u220-24 :~ /Desktop/scripts$ ./runros2.sh
INFO: Listening to server localhost:2000
INFO: Running ...

rviz2の起動

kbkn@u220-24 :~ /Desktop/scripts$ ./runrviz2.sh
kbkn@u220-24 :~ /Desktop/scripts$ ./runrviz2.sh
QStandardPaths: XDG RUNTIME DIR not set, defaulting to '/tmp/ru
ntime-kbkn'
[INFO] [1771805554.411140129] [rviz2]: Stereo is NOT SUPPORTED
[INFO] [1771805554.411226539] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[INFO] [1771805554.454136347] [rviz2]: Stereo is NOT SUPPORTED
[INFO] [1771805554.584136337] [rviz]: Subscribing to: /carla/hero/lidar/point cloud
[INFO] [1771805554.616611144] [rviz]: Subscribing to: /carla/hero/lidar/point_cloud
[INFO] [1771805554.672006995] [rviz2]: Stereo is NOT SUPPORTED

Mapの変更

kbkn@u220-24 :~/Desktop/scripts$./setTown05.sh