1. 环境准备与前置条件
在Ubuntu 22.04上部署CARLA 0.9.14预编译版之前,需要确保系统满足基础运行条件。我实测发现,跳过这些准备步骤会导致后续安装过程中出现各种"玄学报错"。首先需要确认显卡驱动已正确安装——这是最容易忽略但最关键的一环。通过nvidia-smi命令可以快速验证,如果能看到显卡型号和驱动版本信息,说明驱动安装正常。如果报错,建议通过Ubuntu的"附加驱动"功能安装专有驱动。
另一个重要前提是Python环境管理工具。虽然官方文档没有强制要求,但我强烈推荐使用Miniconda创建独立环境。这不仅能避免系统Python环境被污染,还能解决不同CARLA版本对Python解释器的特殊要求。实测发现CARLA 0.9.14对Python 3.7兼容性最好,高版本可能会出现import carla失败的情况。建议用以下命令创建环境:
conda create -n carla python=3.7 -y conda activate carla pip install --upgrade pip2. 文件下载与解压技巧
官方提供的预编译包下载速度往往很慢,这里分享几个实测可用的国内镜像源。南方科技大学镜像站是最稳定的选择,下载CARLA_0.9.14.tar.gz和AdditionalMaps_0.9.14.tar.gz两个文件时,建议使用axel多线程下载工具加速:
sudo apt install axel axel -n 8 https://mirrors.sustech.edu.cn/carla/0.9.14/CARLA_0.9.14.tar.gz解压时有个容易踩坑的细节:如果直接用图形界面解压,可能会丢失文件权限。正确的做法是通过终端执行:
tar -xzvf CARLA_0.9.14.tar.gz -C ~/carla chmod +x ~/carla/CarlaUE4.sh特别注意要将解压路径设置为用户主目录下的carla文件夹,避免因系统路径权限问题导致运行时崩溃。
3. 依赖安装与问题排查
虽然预编译版号称"开箱即用",但实际部署时会遇到各种依赖缺失问题。最常见的是libomp5库缺失导致的崩溃错误,症状是运行时报libomp.so.5 not found。解决方法很简单:
sudo apt install libomp5Python依赖方面,除了官方要求的numpy和pygame外,还需要特别注意protobuf版本兼容性问题。建议使用以下组合:
pip install pygame numpy protobuf==3.20.0我遇到过因protobuf版本过高导致PythonAPI无法通信的情况,锁定3.20.0版本可避免这个问题。
4. 地图导入与客户端配置
AdditionalMaps的导入有严格的操作顺序要求,错误步骤会导致地图加载失败。正确流程是:
- 将地图包复制到Import目录
- 确保当前目录是CARLA主文件夹
- 执行导入脚本
完整命令序列如下:
cp AdditionalMaps_0.9.14.tar.gz ~/carla/Import/ cd ~/carla ./ImportAssets.sh这个过程可能会持续5-10分钟,期间不要中断终端进程。导入完成后检查CarlaUE4/Content/目录下是否新增了Town04等地图文件夹。
客户端安装最容易出错的是wheel包安装环节。必须在正确的conda环境下执行:
cd PythonAPI/carla/dist/ pip install carla-0.9.14-cp37-cp37m-manylinux_2_27_x86_64.whl如果遇到"platform not supported"错误,说明Python环境版本不对,需要检查conda环境是否为Python 3.7。
5. 运行测试与参数调优
启动服务端时推荐添加渲染参数,可以显著降低GPU负载:
./CarlaUE4.sh -quality-level=Low -carla-server这个配置在我的GTX 1660上能将帧率从15fps提升到35fps,同时保持可用的画面质量。
客户端测试建议分步骤验证:
# 终端1:启动服务端 cd ~/carla && ./CarlaUE4.sh # 终端2:运行交通模拟 conda activate carla python PythonAPI/examples/generate_traffic.py # 终端3:手动控制 python PythonAPI/examples/manual_control.py如果车辆能正常移动且周围有随机车辆行驶,说明安装成功。
6. 常见问题解决方案
Q1: 启动时崩溃报Vulkan错误这是Ubuntu 22.04特有的兼容性问题,解决方法:
sudo apt install vulkan-utils export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.jsonQ2: Python导入carla模块失败检查三处关键点:
- conda环境是否为Python 3.7
- 是否执行了wheel安装
- 尝试在Python中手动指定路径:
import sys sys.path.append('/path/to/carla/PythonAPI/carla/dist')Q3: 地图加载后建筑透明这是显卡驱动问题,需要确保:
- 使用专有驱动而非开源驱动
- 在NVIDIA X Server设置中将性能模式设为"Prefer Maximum Performance"
7. 高级配置技巧
对于需要长期开发的项目,建议配置VS Code远程开发环境:
- 安装Remote - SSH扩展
- 连接到Ubuntu主机
- 在conda环境中安装pylint和autopep8
- 设置Python解释器路径为
~/miniconda3/envs/carla/bin/python
调试时可以使用CARLA的内置Web可视化工具,先启动服务端时添加参数:
./CarlaUE4.sh -carla-server -carla-web-port=8000然后在浏览器访问http://服务器IP:8000即可查看实时状态。