Ubuntu 18.04上保姆级安装Carla 0.9.14(含地图包、虚拟环境配置与常见错误解决)
在自动驾驶仿真研究领域,Carla作为开源数字孪生平台已成为学术界和工业界的黄金标准。但对于刚接触Linux环境的科研新手而言,从零开始配置Carla往往要经历依赖冲突、显卡驱动不兼容、Python环境混乱等"地狱级"挑战。本文将手把手带你用最稳妥的方式在Ubuntu 18.04上部署Carla 0.9.14,涵盖从系统准备到虚拟环境隔离,从地图包导入到客户端调试的全流程,特别针对实验室常见的老旧显卡设备提供性能优化方案。
1. 系统准备与环境检查
在开始安装前,我们需要对硬件和系统环境进行彻底检查。实验室里那台积灰的GTX 1080Ti理论上可以运行Carla,但显存管理不当会导致场景加载崩溃。执行以下命令验证硬件配置:
# 查看显卡型号及显存(单位MB) nvidia-smi --query-gpu=name,memory.total --format=csv # 检查Ubuntu版本 lsb_release -a # 查看磁盘剩余空间(建议根目录保留至少80GB) df -h /关键参数对照表:
| 组件 | 最低要求 | 推荐配置 | 检测命令 |
|---|---|---|---|
| 显卡 | GTX 1060 6GB | RTX 2070 8GB+ | nvidia-smi |
| 内存 | 16GB | 32GB | free -h |
| 存储 | 50GB SSD | 100GB NVMe | df -h |
| Python | 3.6 | 3.7 | python3 --version |
注意:若使用校园网等受限网络环境,建议提前配置apt国内镜像源。编辑
/etc/apt/sources.list替换为阿里云或清华源,可加速后续依赖安装。
安装基础编译工具链和图形库依赖:
sudo apt update && sudo apt install -y \ build-essential \ cmake \ git \ libgl1-mesa-dev \ libomp5 \ python3-pip \ python3-dev \ python3-setuptools2. 虚拟环境与Python生态隔离
Python版本冲突是导致90%安装失败的元凶。我们采用conda创建独立环境,与系统Python彻底隔离:
# 安装Miniconda(若已安装可跳过) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda source ~/miniconda/bin/activate # 创建专用环境(python=3.7是关键!) conda create -n carla python=3.7 -y conda activate carla # 验证环境 which python && python --version配置pip加速并安装必要库:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip install --upgrade pip wheel setuptools pip install numpy pygame matplotlib ipython3. Carla本体与地图包部署
从官方渠道获取安装包(建议使用axel多线程下载加速):
# 创建工作目录 mkdir -p ~/carla_sim && cd ~/carla_sim # 多线程下载(比wget快3倍以上) axel -n 8 https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/CARLA_0.9.14.tar.gz axel -n 8 https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/AdditionalMaps_0.9.14.tar.gz # 解压主程序 tar -xzvf CARLA_0.9.14.tar.gz # 导入地图包(注意路径差异) mv AdditionalMaps_0.9.14.tar.gz Carla_0_9_14/Import/ cd Carla_0_9_14 && ./ImportAssets.sh常见问题排查:
若出现
libomp.so.5缺失错误:sudo apt install libomp5地图导入卡在90%时,尝试:
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
4. 客户端库与API集成
在虚拟环境中安装Python API客户端:
# 定位whl文件(注意cp37对应Python3.7) cd PythonAPI/carla/dist pip install carla-0.9.14-cp37-cp37m-manylinux_2_27_x86_64.whl # 验证安装 python -c "import carla; print(carla.__file__)"配置环境变量永久生效:
echo 'export CARLA_ROOT=~/carla_sim/Carla_0_9_14' >> ~/.bashrc echo 'conda activate carla' >> ~/.bashrc source ~/.bashrc5. 启动优化与性能调校
针对老旧显卡的启动参数优化:
cd $CARLA_ROOT ./CarlaUE4.sh -quality-level=Low -benchmark -fps=20参数说明:
-quality-level:可设为Low/Epic-windowed:窗口化模式节省资源-carla-server:无图形界面纯服务端模式
在实验室多用户环境下,建议通过tmux管理会话:
tmux new -s carla ./CarlaUE4.sh -RenderOffScreen # Ctrl+B D 退出会话而不终止进程6. 实战测试与场景验证
新建终端测试基础功能:
conda activate carla cd $CARLA_ROOT/PythonAPI/examples # 生成100辆随机车辆 python3 generate_traffic.py -n 100 # 手动控制车辆(方向键操作) python3 manual_control.py --filter vehicle.tesla.model3若出现SDL_VIDEO_X11_DGAMOUSE错误,执行:
export SDL_VIDEODRIVER=x117. 高级技巧:自定义地图导入
除官方地图外,可通过以下步骤导入第三方场景:
- 下载OpenDrive格式地图(如Town06)
- 放置到
Carla_0_9_14/Content/Carla/Maps/目录 - 执行转换命令:
./CarlaUE4.sh -only-generate-maps对于需要重复实验的场景,建议保存快照:
# 在Python脚本中 world = client.get_world() world.save_settings("lab_test_map.json")