1. CARLA初探:CARLA是什么?为什么选择CARLA?安装与启动(Windows/Linux)
大家好,我是你们的老朋友。今天咱们正式开启CARLA仿真之旅。
说实话,我第一次接触CARLA是在三年前。那时候我正为一个自动驾驶项目头疼——实车测试成本太高,一次剐蹭就是几万块。后来我发现了CARLA,嗯,这玩意儿真香。
1.1 CARLA是什么?
CARLA的全称是 Car Learning to Act,说白了就是一个开源的自动驾驶仿真器。它由巴塞罗那计算机视觉中心(CVC)和丰田研究院联合开发,2017年首次发布。
你可以把它理解成一个专门为自动驾驶算法打造的"虚拟试车场"。在这个虚拟世界里,你可以控制车辆、行人、交通灯、天气,甚至传感器噪声。
核心特点:
- 完全开源,MIT协议,商用也没问题
- 基于Unreal Engine 4,画面逼真
- 支持RGB相机、深度相机、激光雷达、GPS、IMU等多种传感器
- 提供Python API,方便算法集成
- 支持多客户端架构,可以分布式运行
我习惯把CARLA比作自动驾驶界的"GTA"。你想想看,在GTA里你能开车、撞人、闯红灯,CARLA里也能——只不过CARLA是给AI开的,而且撞了不用赔钱。
1.2 为什么选择CARLA?
市面上仿真器不少,比如AirSim、SUMO、LGSVL。为什么我推荐CARLA?
第一,生态成熟。 CARLA社区非常活跃,GitHub上有超过1万颗星。我在项目中遇到的大部分问题,Stack Overflow上都能找到答案。
第二,传感器仿真真实。 我记得有一次做激光雷达点云处理,用CARLA生成的雷达数据跟实际Velodyne采集的数据几乎没区别。这一点对算法验证太重要了。
第三,场景灵活。 你可以自定义地图、车辆、行人路径,甚至模拟极端天气。我曾经在项目中用CARLA模拟了暴雨天、雪天、夜间场景,帮团队发现了不少算法盲区。
| 对比项 | CARLA | AirSim | SUMO |
|---|---|---|---|
| 渲染引擎 | Unreal Engine 4 | Unreal Engine 4 | 无(微观交通流) |
| 传感器仿真 | 丰富(相机、雷达、激光雷达等) | 丰富 | 无 |
| 交通流仿真 | 支持(内置SUMO接口) | 有限 | 专业级 |
| Python API | 完善 | 完善 | 有 |
| 开源协议 | MIT | MIT | EPL-2.0 |
说白了,如果你做的是感知、规划、控制这类算法,CARLA是首选。如果你只做交通流仿真,SUMO更轻量。但大多数时候,我们两者结合用——CARLA做渲染,SUMO做交通流。
1.3 安装与启动(Windows)
嗯,这里要注意。Windows安装相对简单,但有几个坑我得提前说。
1.3.1 系统要求
- Windows 10/11 64位
- 至少8GB内存(我建议16GB)
- 独立显卡(NVIDIA GTX 1060以上)
- 50GB以上硬盘空间
1.3.2 安装步骤
- 下载CARLA:去GitHub Releases页面下载CARLA 0.9.14(我习惯用这个版本,稳定)
- 解压:解压到纯英文路径,比如
D:\CARLA。千万别放中文路径,否则你会哭的。 - 安装Python依赖:打开命令行,进入CARLA目录,运行:
pip install -r PythonAPI/examples/requirements.txt - 启动CARLA:双击
CarlaUE4.exe,或者命令行运行:CarlaUE4.exe -quality-level=Low我建议第一次用
-quality-level=Low,启动快。等熟悉了再调高画质。
避坑指南: 我曾经在Windows上遇到启动后黑屏的问题。后来发现是显卡驱动太旧。更新到最新NVIDIA驱动后就好了。另外,如果你用的是笔记本,记得在NVIDIA控制面板里把CARLA设为高性能显卡。
1.4 安装与启动(Linux)
Linux下安装稍微复杂一点,但性能更好。我个人习惯在Ubuntu 20.04上跑CARLA。
1.4.1 系统要求
- Ubuntu 18.04/20.04/22.04
- NVIDIA显卡 + 驱动(至少460版本)
- Vulkan支持
1.4.2 安装步骤
- 安装依赖:
sudo apt-get update sudo apt-get install -y build-essential cmake python3-dev libpng-dev libtiff5-dev libjpeg-dev libboost-all-dev - 下载CARLA:同样从GitHub下载,或者用命令行:
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 - 安装Python依赖:
pip3 install -r PythonAPI/examples/requirements.txt - 启动CARLA:
./CarlaUE4.sh -quality-level=Low
小技巧: 在Linux下,我习惯用 ./CarlaUE4.sh -RenderOffScreen 启动无界面模式。这样可以在服务器上跑,节省GPU资源。配合 tmux 或 screen,可以后台运行。
1.5 核心知识体系
为了让你更直观地理解CARLA的整体架构,我画了一张图。这张图是我做项目时总结的,希望能帮你建立全局认知。
这张图展示了CARLA的核心架构。从上到下,你看到的是:仿真引擎 → 三大模块(传感器、场景、交通流)→ Python API → 实际应用。说白了,你只需要通过Python API就能控制整个仿真世界。
1.6 验证安装
安装完成后,我们来跑一个简单的测试脚本。打开Python终端,输入:
import carla
client = carla.Client('localhost', 2000)
client.set_timeout(10.0)
world = client.get_world()
print("CARLA连接成功!当前地图:", world.get_map().name)
如果输出类似 CARLA连接成功!当前地图:/Game/Carla/Maps/Town01,恭喜你,安装成功了!
小提示: 第一次启动CARLA时,可能会弹出防火墙提示。记得允许访问。另外,默认端口是2000,如果你同时跑多个实例,可以用 -carla-rpc-port=3000 指定不同端口。
好了,这一章的内容就到这里。CARLA的安装和启动其实不难,难的是后面怎么用它做自动化仿真。别急,我们一步步来。
可可精品资料库