一、CARLA初识:CARLA是什么、为什么选择CARLA、CARLA的安装与启动

1.1 CARLA到底是什么?

CARLA,全称是Car Learning to Act。说白了,它是一个开源的自动驾驶仿真器。

我第一次接触CARLA是在2019年。那时候市面上能用的自动驾驶仿真工具不多,要么太贵,要么太封闭。CARLA的出现,算是给这个领域带来了一股清流。

它基于Unreal Engine 4开发,能提供高度逼真的3D环境。你可以在里面模拟城市道路、高速公路、乡村小路,甚至各种天气和光照条件。嗯,这些对于自动驾驶算法测试来说,太重要了。

核心定位:CARLA不是游戏,而是一个专门为自动驾驶算法研发设计的仿真平台。它提供了传感器模拟、车辆动力学、交通流控制等关键能力。

1.2 为什么选择CARLA?

市面上仿真工具有不少,为什么我推荐CARLA?给你三个理由。

  • 开源免费:代码完全开放,你可以随意修改和扩展。我在项目中就曾给CARLA加过自定义传感器,整个过程很顺畅。
  • 生态活跃:社区非常活跃,GitHub上有大量示例代码和讨论。遇到问题,基本都能找到解决方案。
  • 接口友好:提供Python API,上手门槛低。你不需要精通C++,用Python就能完成大部分工作。

我曾经对比过CARLA和另一款商业仿真器。商业工具确实更稳定,但灵活性差太多。你想改个传感器参数,得等厂商发补丁。在CARLA里,改几行代码就行。

个人建议:如果你是个人开发者或小团队,CARLA绝对是首选。大厂可能会用自研工具,但学习和研究阶段,CARLA完全够用。

1.3 CARLA的安装与启动

安装CARLA其实不复杂,但有几个坑需要注意。我踩过,所以给你指出来。

1.3.1 系统要求

组件 最低配置 推荐配置
操作系统 Ubuntu 18.04 / Windows 10 Ubuntu 20.04 / Windows 11
GPU NVIDIA GTX 1060 NVIDIA RTX 2070 或更高
内存 8 GB 16 GB
硬盘 20 GB 空闲 50 GB 空闲(SSD)

注意:CARLA对显卡要求较高。我曾经在一台GTX 1050的笔记本上跑过,帧率只有十几帧,体验很差。建议至少用GTX 1060以上。

1.3.2 安装步骤

我以Ubuntu 20.04为例,Windows的安装过程类似。

# 1. 下载CARLA包
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/CARLA_0.9.13.tar.gz

# 2. 解压
tar -xzf CARLA_0.9.13.tar.gz

# 3. 进入目录
cd CARLA_0.9.13

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

# 5. 启动CARLA
./CarlaUE4.sh

启动后,你会看到一个窗口,里面是CARLA的默认地图。嗯,第一次看到这个画面时,我还是挺震撼的。光影效果、路面纹理,都做得相当逼真。

1.3.3 验证安装

启动CARLA后,打开另一个终端,运行一个简单的Python脚本来验证。

# 导入CARLA库
import carla

# 连接客户端
client = carla.Client('localhost', 2000)
client.set_timeout(10.0)

# 获取世界对象
world = client.get_world()

# 打印当前地图名称
print(f"当前地图: {world.get_map().name}")

# 获取所有蓝图
blueprints = world.get_blueprint_library()
print(f"可用蓝图数量: {len(blueprints)}")

如果一切正常,你会看到类似这样的输出:

当前地图: Town01
可用蓝图数量: 128

小技巧:如果连接失败,先检查CARLA是否在运行。我经常犯的错是:忘了启动CARLA就直接跑脚本。嗯,别笑,你可能也会遇到。

1.4 CARLA的核心架构

理解CARLA的架构,能帮你更快上手。我画了一张图,展示它的核心组件。

CARLA核心架构图 CARLA服务器 Unreal Engine 4 物理引擎 传感器模拟 通信层 TCP/IP协议 端口: 2000 序列化/反序列化 Python客户端 CARLA API 用户脚本 数据处理 地图与场景 Town01-Town07 传感器套件 相机/激光雷达/GNSS 交通流控制 车辆/行人/信号灯

这张图展示了CARLA的基本工作流程。服务器负责渲染和物理模拟,客户端通过TCP/IP发送指令。你写的Python脚本,就是通过这个通道来控制仿真世界的。

1.5 常见问题与避坑

安装过程中,有几个问题我遇到过,给你提个醒。

  • 端口被占用:如果启动时提示端口2000被占用,可以用--carla-rpc-port=2001指定其他端口。
  • 显卡驱动问题:CARLA需要OpenGL 4.0以上支持。如果启动黑屏,先检查驱动版本。
  • Python版本:建议用Python 3.7或3.8。我试过Python 3.10,有些依赖包不兼容。

曾经踩过的坑:有一次我升级了系统内核,结果CARLA启动报错。折腾了半天才发现是显卡驱动和新内核不兼容。所以,如果你用的是Ubuntu,建议不要轻易升级内核。

1.6 小结

这一章我们聊了CARLA是什么、为什么选它、以及怎么装。说白了,CARLA就是一个帮你测试自动驾驶算法的好工具。安装过程虽然有点小坑,但按步骤来,基本都能搞定。

下一章,我们会真正开始写代码。你会学到如何控制车辆、如何获取传感器数据。嗯,那才是真正有意思的部分。

可可精品资料库