news 2026/5/25 20:05:17

Ubuntu 18.04上保姆级安装Carla 0.9.14(含地图包、虚拟环境配置与常见错误解决)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 18.04上保姆级安装Carla 0.9.14(含地图包、虚拟环境配置与常见错误解决)

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 6GBRTX 2070 8GB+nvidia-smi
内存16GB32GBfree -h
存储50GB SSD100GB NVMedf -h
Python3.63.7python3 --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-setuptools

2. 虚拟环境与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 ipython

3. 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 ~/.bashrc

5. 启动优化与性能调校

针对老旧显卡的启动参数优化:

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=x11

7. 高级技巧:自定义地图导入

除官方地图外,可通过以下步骤导入第三方场景:

  1. 下载OpenDrive格式地图(如Town06)
  2. 放置到Carla_0_9_14/Content/Carla/Maps/目录
  3. 执行转换命令:
./CarlaUE4.sh -only-generate-maps

对于需要重复实验的场景,建议保存快照:

# 在Python脚本中 world = client.get_world() world.save_settings("lab_test_map.json")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 20:04:41

DIY OBD II HUD:从单片机到车载显示的极简车速显示器

1. 项目概述:打造一款极简实用的OBD II抬头显示器你是否也曾羡慕豪华车上那个能将车速、导航信息直接投射到前挡风玻璃上的炫酷抬头显示功能?作为一个汽车爱好者和电子DIY玩家,我一度对市面上那些琳琅满目的后装HUD产品充满期待,但…

作者头像 李华
网站建设 2026/5/25 20:01:06

约束感知图缩减算法在量子优化中的应用

1. 约束感知图缩减算法概述在量子计算领域,资源受限一直是制约算法实际应用的主要瓶颈。以当前主流的超导量子计算机为例,其量子比特数通常在50-100个之间,且存在显著的噪声干扰。这种硬件限制使得许多经典优化问题难以直接映射到量子设备上求…

作者头像 李华
网站建设 2026/5/25 19:59:45

使用Hermes Agent框架对接Taotoken自定义模型提供方

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Hermes Agent框架对接Taotoken自定义模型提供方 基础教程类,为Hermes Agent用户提供接入指南,说明如何…

作者头像 李华
网站建设 2026/5/25 19:59:44

SC9017S 座充充电器 IC

一、 概述 SC9017S 是一款管理锂电池充电功能的完整系统集成电路,它能提供快速充电,并最大化地延长电池寿命。 SC9017S 监测电池的情况,如果电池电压低于 2.9V 时,决定是否需要预充电。预充电电流可通过外部电阻在 7.5mA到 120mA …

作者头像 李华
网站建设 2026/5/25 19:58:59

MySQL 外键的优缺点

我刚工作的时候,设计订单表时给 user_id 加了外键约束,结果 DBA 看到后直接把我骂了一顿:“你这是要把数据库搞垮啊!” 今天咱们就来聊聊 MySQL 外键的优缺点,看完这篇,你就能根据业务场景决定要不要用外键…

作者头像 李华