github Download page 還有 nightly build,說明包含 bugfix 和 new feature,所以猜是 unstable.
Download CARLA_0.9.15.tar.gz,解開會有多目錄,所以在一個目錄中解開比較好。
從 Quick start package installation : Install Client Library
使用 tar.gz 檔安裝,PythonAPI/carla/dist 中有需要的 python packages file : *.whl
提供的 python version 是 : cp37,所以 carla-0.9.15 的 python 版本應該是 python3.7
這個folder 提供的對應 whl 檔,跟用 pip install carla 安裝的檔案相同。
使用的是 carla-0.9.15-cp37-cp37m-manylinux_2_27_x86_64.whl
除此之外,還要install pygame 和 numpy 兩個 package,就可以開始 run :
文件說明是
./CarlaUE4.sh結果發現沒有使用 GPU,參考cannot run Carla using nvidia GPU under Linux with multi-GPU installed : PRIME instruction ignored by Carla #4716,
加上 option
./CarlaUE4.sh -prefernvidia就可以了。
從主網站 carla.org 進入可以看到release 0.10.0的說明。
0.10.0 的 python 版本不同了。
一樣從whl的檔名來看,0.10.0 的 python 版本應該是 3.10
一樣解開download 的 0.10.0 (這次是zip檔),到 PythonAPI/carla 安裝 requirement.txt,再裝 dist/*.whl,之後就可以啟動:
./CarlaUnreal.sh0.10.0 不用家 -prefernvidia,就會用 GPU了。
0.10.0 vRAM用到 8G以上,使用 RTX4070,移動鏡頭快一點就會出現 vulkan out of memory Error.
carla script 啟動的是 server,控制的化,可以參考 Python_API/Example 下的 python code.
在server running 的情況下, run 這些 python code 就可以調整carla 的內容。
在啟動 automatic_control.py 時出現 mesa load iris error.依照這一篇 解決。
ref:
run on server without display
可以 run carla server 在遠端,然後 client 才顯示出來。
.CarlaUE4.sh -prefernvidia -RenderOffScreen
carla 是一個 server ,其他 client 用 socket api 控制,就像遊戲的 server 一樣,
carla server 只對 localhost 開放,所以遠端無法控制。
使用現有的 python script 就可以操作。每個 script 都要獨立 run,所以用 & 到背景,不然就要每個都開一個 console.
- 先把 carla run 起來,可以不show 出來 . (-RenderOffScreen)
- 加入一些車流 : generate_traffic.py
- 自動改變天氣 : dynamic_weathre.py
- 開啟開車控制: manual_control.py,這時候才會出現畫面
- 控制環境 (車燈,路燈...) : util/environment.py
python environment.py --cars LowBeam All
這個 韓國人寫的,從頭開始寫 python code 控制 CARLA 也不錯,很清楚。
Docker
ubuntu 24.04 直接 run carla 0.9.15 的話,使用 vulkan 會出現 memory allocation error,使用 -prefernvidia 的話,run 一陣子就會自動 hang 住。
所以還是用 docker 來 run。
docker imagge 要用 carlasim 的 : carlasim/carla:0.9.15,latest 的更新比 0.9.15 還舊,所以用 0.9.15
要使用 nvidia 的話,就要用 --gpus all,這樣就要安裝 nvidia-toolkit:
sudo apt install nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker這樣docker 的 --cpus all 才會有作用。
啟動 carla docker 的command 是:
docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.15 /bin/bash ./CarlaUE4.sh啟動了之後,因為 --net=host,所以要 run PythonAPI/examples 下的 code 都一樣。
docker 改用 -it 刪掉 ./CarlaUE4.sh,進入 bash 看, 是 Ubuntu 18.04.3...
沒有留言:
張貼留言