1. 课程导学与环境搭建

大家好,我是你们这门课的主讲。在自动驾驶这个行当摸爬滚打了快十年,踩过的坑比走过的路还多。今天咱们开始第一讲——说白了,就是先把家伙事儿备齐了。

你可能会问:为什么非得用CARLA?我直接用真实数据不行吗?嗯,这个问题我当年也纠结过。真实数据当然好,但成本太高了。一次路测下来,油钱、人工、设备损耗,再加上各种审批流程,折腾一天可能就采集了几百帧数据。而在CARLA里,你可以在十分钟内模拟出各种极端场景——暴雨、夜晚、突然窜出的行人。我个人习惯是先用仿真把算法跑通,再去实车验证,效率能翻好几倍。

1.1 CARLA模拟器简介

CARLA是个开源的自动驾驶仿真平台。它基于Unreal Engine 4开发,画面效果相当不错。你想想看,它能提供什么?

  • 高保真视觉渲染:光照、天气、路面材质都模拟得很真实
  • 灵活的传感器套件:摄像头、激光雷达、毫米波雷达、GPS/IMU,想装几个装几个
  • 交通流模拟:可以生成各种车辆和行人,模拟真实交通场景
  • Python API:这是咱们的重点,通过Python就能控制整个仿真世界

我记得2019年刚接触CARLA时,它才到0.9.6版本。那时候文档少,社区也不大,遇到问题只能自己翻源码。现在好多了,0.9.14版本已经相当成熟,社区也很活跃。

核心观点:感知算法验证不能只靠真实数据。仿真环境能让你低成本、高效率地测试算法在各种极端条件下的表现。说白了,就是让你的算法在"温室"里先长结实了,再放到"野外"去历练。

1.2 感知算法验证的意义

做感知算法的人都知道,模型在训练集上跑得再好,到了新场景也可能翻车。为什么会这样?因为真实世界的分布太复杂了——光照变化、天气影响、传感器噪声、遮挡物,这些因素排列组合起来,你的模型根本没见过。

我曾经在一个项目中,把目标检测模型在KITTI数据集上训到了90%以上的mAP。结果一上路,遇到个逆光场景,模型直接漏检了前方停着的卡车。差点出事。从那以后,我特别重视在仿真环境里做充分的验证。

用CARLA做感知验证,有几个实实在在的好处:

  1. 可控性:你可以精确控制天气、光照、交通密度,复现特定场景
  2. 可重复性:同样的场景可以跑一百遍,确保算法表现稳定
  3. 安全性:在仿真里撞车不花钱,不伤人
  4. 效率:一天能跑几千个场景,实车测试根本做不到

1.3 课程目标与学习路径

这门课的目标很明确:让你能独立在CARLA上搭建感知算法验证流程。具体来说,学完这门课,你应该能:

  • 熟练安装和配置CARLA 0.9.14
  • 用Python API控制车辆、传感器和场景
  • 部署目标检测、语义分割、深度估计等感知算法
  • 设计自动化验证流程,评估算法性能
  • 分析仿真结果,定位算法缺陷

学习路径我建议这样走:先搭环境,再学API基础,然后逐步深入到具体算法验证。别急着跳步,我见过太多人一上来就想跑复杂的多传感器融合,结果环境都没配好,折腾两天放弃了。

我的建议:每学完一章,一定要动手实践。光看不练,等于白学。代码这东西,写一遍和看一遍,效果天差地别。

1.4 Windows/Linux双系统环境配置

说到环境配置,这可是个老大难问题。我当年第一次装CARLA,在Windows上折腾了整整一天,各种依赖缺失、版本冲突。后来换了Linux,半小时搞定。所以我的建议是:能用Linux就别用Windows。

但考虑到很多同学可能只有Windows电脑,咱们两种系统都讲。

Windows系统配置

  • 操作系统:Windows 10/11 64位
  • CPU:Intel Core i5以上或AMD Ryzen 5以上
  • 内存:16GB以上(我建议32GB)
  • 显卡:NVIDIA GTX 1060以上,6GB显存
  • 硬盘:至少50GB空闲空间
  • Python:3.7或3.8版本

Linux系统配置(推荐)

  • 操作系统:Ubuntu 20.04或22.04
  • CPU:Intel Core i5以上
  • 内存:16GB以上
  • 显卡:NVIDIA GTX 1060以上
  • 硬盘:至少50GB空闲空间
  • Python:3.7或3.8版本

注意:如果你用Windows,一定要确保显卡驱动是最新的。我曾经遇到过因为驱动版本太旧,CARLA启动后画面全是花屏的情况。更新驱动后就好了。

1.5 CARLA 0.9.14安装与启动

好,咱们开始动手。安装CARLA 0.9.14其实不复杂,但有几个坑要注意。

下载与解压

去CARLA官网的GitHub Release页面下载0.9.14版本的压缩包。Windows用户下载 .zip 文件,Linux用户下载 .tar.gz 文件。下载后解压到你想放的目录,比如 D:\CARLA_0.9.14 或 /home/yourname/CARLA_0.9.14。

启动CARLA服务器

打开终端(Windows用命令提示符或PowerShell),进入CARLA目录,运行:

# Windows
CarlaUE4.exe

# Linux
./CarlaUE4.sh

第一次启动可能会慢一些,因为要加载各种资源。看到出现一个3D城市画面,就说明启动成功了。

小技巧:启动时可以加一些参数,比如 CarlaUE4.exe -quality-level=Low 可以降低画质,提高运行速度。如果你的显卡不太给力,这个参数很管用。

常见问题

启动时如果报错,多半是显卡驱动或依赖库的问题。我遇到过最坑的一次,是在Ubuntu上缺少了 libomp5 库,CARLA直接崩溃。解决办法很简单:

sudo apt-get install libomp5

1.6 Python API客户端配置

CARLA服务器跑起来了,咱们还需要一个客户端来跟它通信。这个客户端就是用Python写的。

安装Python依赖

CARLA自带了Python API的安装包,在 PythonAPI/carla/dist/ 目录下。找到对应你Python版本的 .egg 或 .whl 文件,用pip安装:

# 进入CARLA目录
cd PythonAPI/carla/dist

# 安装carla包(以Python 3.7为例)
pip install carla-0.9.14-cp37-cp37m-win_amd64.whl   # Windows
pip install carla-0.9.14-cp37-cp37m-linux_x86_64.whl  # Linux

测试连接

安装完成后,写个简单的Python脚本来测试:

import carla
import random

# 连接到CARLA服务器
client = carla.Client('localhost', 2000)
client.set_timeout(10.0)

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

# 获取所有蓝图
blueprint_library = world.get_blueprint_library()

# 生成一辆车
vehicle_bp = blueprint_library.filter('vehicle.*')[0]
spawn_point = random.choice(world.get_map().get_spawn_points())
vehicle = world.spawn_actor(vehicle_bp, spawn_point)

print(f"车辆已生成,ID: {vehicle.id}")

# 让车辆动起来
vehicle.set_autopilot(True)

# 等5秒
import time
time.sleep(5)

# 清理
vehicle.destroy()
print("测试完成")

如果运行后看到"车辆已生成"和"测试完成"的打印信息,说明环境配置成功了。

重要提醒:一定要先启动CARLA服务器,再运行Python客户端。顺序反了会报连接超时。我刚开始学的时候就犯过这个错,还以为是代码写错了。

知识体系总览

下面这张图展示了本章的核心知识结构,你可以对照着检查自己是否都掌握了:

第一章:课程导学与环境搭建 - 知识体系 CARLA感知验证实战 CARLA模拟器简介 高保真渲染 传感器套件 交通流模拟 感知算法验证意义 可控可重复 安全高效 低成本 环境配置与安装 双系统配置 CARLA安装启动 Python API配置 目标:搭建完整的感知算法验证环境 理解仿真验证的价值 掌握环境配置方法 能运行第一个Python示例

这张图把本章的内容串起来了。从CARLA是什么,到为什么要用它做验证,再到具体怎么搭环境,最后用Python API跑通第一个示例。每一步都是环环相扣的。

好了,环境搭好了,代码也跑通了。接下来你就可以开始真正探索CARLA的世界了。记住,动手实践是最好的学习方式。遇到问题别慌,先看看日志,再查查文档,实在不行去社区问问。我当年就是这么过来的。

可可精品资料库