2. CARLA环境搭建:系统要求、安装方式与依赖配置

好,咱们正式开始动手了。

搭建CARLA环境,是很多人入门时第一个坎。我记得自己第一次装CARLA,光依赖就折腾了两天。后来带团队做项目,发现新人卡在这儿的比例特别高。所以这一章,我把踩过的坑、总结的经验,一次性给你讲透。

2.1 系统要求:别让硬件拖后腿

先说硬件。CARLA是个吃资源的家伙,尤其是显卡。我个人的建议是:

  • 操作系统:Ubuntu 20.04 或 22.04(我推荐20.04,兼容性最好)。Windows也行,但坑更多。
  • CPU:至少4核,8核以上更舒服。编译源码时,核心数直接决定你等多久。
  • 内存:16GB起步。32GB是安全线。我试过8GB跑仿真,卡到怀疑人生。
  • 显卡:NVIDIA GTX 1060 以上,显存6GB+。如果你用RTX 3060或更高,体验会好很多。
  • 硬盘:至少50GB空闲空间。源码编译需要30GB左右,包安装也需要20GB。
⚠️ 注意:如果你用虚拟机,基本跑不动CARLA。我见过有人用WSL2尝试,结果OpenGL渲染直接崩了。老老实实双系统或物理机吧。

2.2 安装方式:源码编译 vs 包安装

CARLA提供两种安装方式。怎么选?我直接说结论:

对比项 包安装(推荐新手) 源码编译(推荐进阶)
安装时间 10-20分钟 1-3小时(取决于网络和CPU)
灵活性 低,不能改源码 高,可以自定义修改
稳定性 高,官方打包好的 中等,可能遇到编译问题
适合场景 快速上手、教学演示 二次开发、算法研究

我个人习惯:新手先用包安装。等你跑通了基础流程,再考虑源码编译。别一上来就挑战高难度,容易劝退。

2.2.1 包安装(推荐)

这是最省心的方式。直接下载官方编译好的包,解压就能用。

# 1. 下载CARLA 0.9.14(我写教程时的最新稳定版)
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/CARLA_0.9.14.tar.gz

# 2. 解压
mkdir ~/carla
tar -xzf CARLA_0.9.14.tar.gz -C ~/carla

# 3. 进入目录
cd ~/carla

# 4. 启动CARLA(先测试能不能跑)
./CarlaUE4.sh -quality-level=Low

这里有个小技巧:第一次启动加 -quality-level=Low 参数,能大幅降低显卡负载。我当年第一次启动没加这个,笔记本风扇直接起飞。

2.2.2 源码编译(进阶)

如果你需要修改CARLA内部逻辑,或者想集成自己的传感器模型,那就得走源码编译了。

# 1. 克隆源码
git clone https://github.com/carla-simulator/carla.git
cd carla

# 2. 更新子模块(这一步很关键,容易卡住)
git submodule update --init --recursive

# 3. 安装依赖
./Setup.sh

# 4. 编译(根据你的CPU核心数调整-j参数)
make CarlaUE4Editor -j8
💡 经验之谈:编译时如果报错,八成是网络问题。我建议用代理或者换国内镜像源。另外,make 命令建议用 -j$(nproc) 自动检测核心数,别手动写死。

2.3 依赖项配置:最容易翻车的地方

嗯,这里要重点说。依赖配置是CARLA安装过程中最容易出问题的环节。我曾经帮一个学员排查问题,发现他漏装了Python的 pygame 包,结果折腾了一下午。

2.3.1 Python依赖

CARLA的Python API需要以下包:

pip install --user pygame numpy matplotlib
pip install --user carla  # 注意:这个包名就是carla

这里有个坑:pip install carla 安装的是CARLA的Python客户端库,不是CARLA本身。很多人搞混了,以为装了这个就能跑仿真。其实你还需要先启动 CarlaUE4.sh。

2.3.2 系统依赖

Ubuntu系统需要安装一些底层库:

sudo apt-get update
sudo apt-get install -y \
    build-essential \
    clang-8 \
    lld-8 \
    libomp-dev \
    libvulkan1 \
    mesa-utils \
    xdg-utils
⚠️ 注意:如果你用的是Ubuntu 22.04,clang版本可能不兼容。我建议用clang-10或clang-12。具体可以看CARLA官方文档的版本对应表。

2.4 验证安装是否成功

装完了,怎么知道能不能用?我一般用三步验证法:

2.4.1 第一步:启动CARLA服务端

cd ~/carla
./CarlaUE4.sh -quality-level=Low

如果看到CARLA的启动画面,并且终端没有报错,说明服务端没问题。我第一次看到那个画面时,还挺激动的。

2.4.2 第二步:运行Python客户端测试

打开另一个终端,运行:

# 确保CARLA服务端正在运行
python3 -c "
import carla
client = carla.Client('localhost', 2000)
client.set_timeout(10.0)
world = client.get_world()
print('连接成功!当前地图:', world.get_map().name)
"

如果输出类似 连接成功!当前地图: Town01,说明Python API正常工作。

2.4.3 第三步:跑一个简单的仿真

我习惯用官方自带的示例脚本测试:

cd ~/carla/PythonAPI/examples
python3 spawn_npc.py -n 10 -w 5

这个脚本会在场景中生成10辆车和5个行人。如果你能看到车辆在道路上行驶,行人走动,那恭喜你——环境搭建成功了。

💡 避坑指南:我曾经遇到一个问题——Python客户端连不上服务端。排查了半天,发现是防火墙把2000端口封了。如果你也遇到类似问题,先检查端口:netstat -tulpn | grep 2000。

2.5 本章知识体系

为了让你更直观地理解CARLA环境搭建的整体流程,我画了一张图:

CARLA环境搭建知识体系 系统要求 硬件 & 操作系统 安装方式 包安装 / 源码编译 依赖配置 Python & 系统依赖 CPU / GPU / 内存 / 硬盘 包安装 源码编译 Python依赖 系统依赖 验证安装:三步测试法 ① 启动服务端 ② Python客户端测试 ③ 运行示例仿真

这张图把整个流程串起来了。你按这个顺序走,基本不会出大问题。


好了,环境搭建就讲到这里。记住:包安装是捷径,源码编译是进阶。别贪心,一步步来。下一章我们会正式进入CARLA的世界,开始写第一个Python脚本控制车辆。

可可精品资料库