第一章:Carla入门——Carla简介、应用场景与环境搭建

大家好,我是你们这趟Carla之旅的向导。先说说我自己的经历——几年前我第一次接触Carla时,差点被它的安装流程劝退。但坚持下来后,我发现它确实是目前最接近真实世界的自动驾驶仿真器之一。今天咱们就从零开始,把Carla的底细摸清楚。

1.1 Carla到底是什么?

Carla,全称是Car Learning to Act,一个开源的自动驾驶仿真平台。说白了,它就是一个虚拟的“驾驶考场”。你可以在里面放上各种车辆、行人、交通信号灯,甚至模拟下雨、大雾、夜晚这些复杂天气。

我个人习惯把它比作“自动驾驶的《我的世界》”——自由度极高,但需要你自己动手搭建场景。它基于Unreal Engine 4开发,所以画面质感相当不错。你想想看,在真实道路上测试自动驾驶算法,一次事故可能就是几十万的损失。但在Carla里,你可以随便撞,撞完重置就行。

核心特点:

  • 开源免费,社区活跃(GitHub上星标超过1万)
  • 支持多种传感器模拟:摄像头、激光雷达、GPS、IMU等
  • 提供Python API,方便快速开发
  • 内置多种地图和车辆模型

1.2 Carla能用在哪些场景?

我在项目中遇到过不少团队,把Carla用在了完全不同的方向上。这里我总结几个最常见的应用场景:

应用场景 具体用途 我见过的案例
算法验证 测试感知、规划、控制算法 某团队用Carla验证了他们的端到端驾驶模型
数据生成 生成带标注的训练数据 我做过一个项目,用Carla生成了10万张雨夜场景图片
硬件在环测试 将真实控制器接入仿真环境 有朋友把NVIDIA Jetson接进Carla做实时推理
教学演示 展示自动驾驶基本原理 很多高校的自动驾驶课程都在用

嗯,这里要注意一点:Carla虽然强大,但它不是万能的。比如高精度的车辆动力学仿真,它做得一般。如果你需要测试底盘控制算法,可能还得搭配CarSim这类专业工具。

1.3 开发环境搭建——我的避坑指南

搭建环境这一步,我当年踩过的坑比走过的路还多。现在我把最稳妥的流程告诉你。

1.3.1 硬件要求

先看看你的电脑能不能跑得动。Carla对显卡要求比较高,毕竟要实时渲染3D场景。

配置项 最低要求 推荐配置
操作系统 Windows 10 / Ubuntu 18.04 Ubuntu 20.04
显卡 NVIDIA GTX 1060 6GB NVIDIA RTX 3070 8GB
内存 16GB 32GB
硬盘 50GB空闲空间 SSD 100GB

我曾经犯过的错:用笔记本的集成显卡去跑Carla,结果画面卡成PPT。后来才发现,Carla必须用独立显卡才能流畅运行。如果你用的是游戏本,记得在NVIDIA控制面板里把Carla设为高性能模式。

1.3.2 安装步骤(Ubuntu 20.04为例)

我个人习惯在Ubuntu上开发,因为Python生态更友好。Windows版本也支持,但偶尔会有兼容性问题。

第一步:安装依赖

# 更新系统
sudo apt-get update
sudo apt-get upgrade

# 安装必要的库
sudo apt-get install build-essential
sudo apt-get install python3-dev python3-pip
sudo apt-get install libpng-dev libjpeg-dev
sudo apt-get install libtiff5-dev libopenexr-dev

第二步:下载Carla

别从源码编译,太慢了。直接下载预编译包:

# 创建工作目录
mkdir ~/carla
cd ~/carla

# 下载Carla 0.9.14(当前稳定版)
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/CARLA_0.9.14.tar.gz

# 解压
tar -xzf CARLA_0.9.14.tar.gz

小技巧:下载速度慢的话,可以用迅雷或者换个时间段。我一般凌晨下载,速度能快3倍。

第三步:安装Python API

# 进入Carla目录
cd ~/carla/CARLA_0.9.14

# 安装Python依赖
pip3 install -r PythonAPI/examples/requirements.txt

# 将Carla的Python包添加到环境变量
echo 'export PYTHONPATH=$PYTHONPATH:~/carla/CARLA_0.9.14/PythonAPI/carla' >> ~/.bashrc
source ~/.bashrc

第四步:启动测试

# 启动Carla服务器(需要开一个新终端)
cd ~/carla/CARLA_0.9.14
./CarlaUE4.sh

# 运行一个简单的测试脚本(另一个终端)
cd ~/carla/CARLA_0.9.14/PythonAPI/examples
python3 spawn_npc.py -n 10

如果看到Carla窗口里出现了10辆自动驾驶的车辆,恭喜你,环境搭建成功了!

1.3.3 常见问题排查

你可能会遇到这些问题,我提前帮你列出来:

  • 启动时黑屏:检查显卡驱动,运行 nvidia-smi 确认驱动正常
  • Python API报错:确认 PYTHONPATH 设置正确,重启终端试试
  • 运行卡顿:降低画质设置,在Carla设置里把画质调到Low
  • 端口冲突:Carla默认使用2000端口,如果被占用,启动时加参数 ./CarlaUE4.sh -carla-rpc-port=2001

我的经验之谈:第一次启动Carla时,别急着跑复杂脚本。先打开Carla窗口,按键盘上的 F8 键,看看控制台输出。如果出现 Listening to port 2000 这样的信息,说明服务器启动成功了。然后手动按 F1 键,试试用键盘控制车辆,感受一下这个仿真环境。

1.4 本章小结

到这,你已经了解了Carla是什么、能做什么,并且成功搭建了开发环境。说实话,环境搭建这一步是最劝退的,但跨过去之后,后面的路就好走了。

下一章,我会带你深入Carla的架构,看看它的客户端-服务器模式是怎么工作的,以及如何用Python控制一辆车动起来。到时候咱们再聊。

对了,如果你在搭建过程中遇到任何问题,别硬扛。去Carla的GitHub Issues里搜一搜,或者直接问我。我当年就是一个人闷头搞,浪费了不少时间。

公众号:蓝海资料掘金营,微信deep3321