第一章: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