No description
  • Shell 58.3%
  • Dockerfile 41.7%
Find a file
Ikko K Kobayashi db4abb2536
Some checks failed
Docker Build and Push / docker (push) Failing after 1h38m42s
delete session.conf
2026-05-11 20:57:53 +09:00
.forgejo/workflows .forgejo/workflows/docker-build.yml を更新 2026-05-08 12:35:58 +09:00
gomi delete session.conf 2026-05-11 20:57:53 +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 enable to use mobaxterm 2026-05-11 20:10:13 +09:00
compose.yml few bugfix 2026-05-11 20:55:02 +09:00
Dockerfile few bugfix 2026-05-11 20:55:02 +09:00
down.sh Initial commit: CARLA 0.9.16 Docker environment 2026-01-28 09:17:51 +09:00
entrypoint.sh maybe cannot work 2026-05-11 00:50:04 +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 README.md を更新 2026-05-08 12:19:21 +09:00
supervisord.conf few bugfix 2026-05-11 20:55:02 +09:00
up.sh add radeon 2026-02-10 18:44:08 +09:00
xorg.conf optimized code 2026-05-10 20:33:31 +09:00

Run CARLA and ROS2 (Jazzy) in Docker Container

Docker 上で CARLA を実行します。 noVNC を使用することで、Web ブラウザから操作できます。

ホストの要件

以下を満たす NVIDIA GPU 対応 Docker サーバーが必要です。

1. Docker の NVIDIA Runtime 設定

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

2. Vulkan ICD ファイル

ホストで以下のファイルがあること。nvidia_icd以外は、carlaは、動かない模様

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

本手順は Ubuntu 24.04 で検証しています。

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

以下をインストールします。

cuda-toolkit nvidia-docker2

ログイン後、以下を実行して GPU が認識されることを確認します。

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

2. docker imageのビルドと実行

クローン

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

基本、ビルドイメージは、スクリプトでpullできるので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.pyで動かす車と、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