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。
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
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个行人。如果你能看到车辆在道路上行驶,行人走动,那恭喜你——环境搭建成功了。
netstat -tulpn | grep 2000。
2.5 本章知识体系
为了让你更直观地理解CARLA环境搭建的整体流程,我画了一张图:
这张图把整个流程串起来了。你按这个顺序走,基本不会出大问题。
好了,环境搭建就讲到这里。记住:包安装是捷径,源码编译是进阶。别贪心,一步步来。下一章我们会正式进入CARLA的世界,开始写第一个Python脚本控制车辆。
可可精品资料库