一、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的基本工作流程。服务器负责渲染和物理模拟,客户端通过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就是一个帮你测试自动驾驶算法的好工具。安装过程虽然有点小坑,但按步骤来,基本都能搞定。
下一章,我们会真正开始写代码。你会学到如何控制车辆、如何获取传感器数据。嗯,那才是真正有意思的部分。