共计 1914 个字符,预计需要花费 5 分钟才能阅读完成。
CARLA 自动驾驶项目新手入门指南
背景与痛点
CARLA 是一个开源的自动驾驶模拟器,它提供了高度可配置的虚拟环境和丰富的 API 接口,非常适合用于自动驾驶算法的开发和测试。不过对于新手来说,环境搭建和 API 使用往往是一道门槛。常见的困难包括依赖项安装复杂、Python 客户端配置出错、API 文档理解困难等。

环境搭建
下面是在 Ubuntu 20.04 系统下安装 CARLA 的详细步骤:
- 首先安装必要的依赖项:
sudo apt-get update
sudo apt-get install -y build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python3-pip python3-dev python3-setuptools
- 下载 CARLA 发布包(以 0.9.13 版本为例):
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/CARLA_0.9.13.tar.gz
- 解压并进入目录:
tar -xvf CARLA_0.9.13.tar.gz
cd CARLA_0.9.13
- 启动 CARLA 服务器:
./CarlaUE4.sh -carla-server -benchmark -fps=10
-carla-server表示以服务器模式运行-benchmark启用性能优化-fps=10设置帧率为 10
Python 客户端配置
要连接 CARLA 服务器,需要先安装 Python 客户端库:
- 安装必要的 Python 包:
pip install carla
- 以下是基础连接代码示例:
import carla
# 连接 CARLA 服务器
try:
client = carla.Client('localhost', 2000)
client.set_timeout(10.0) # 设置 10 秒超时
# 获取世界对象
world = client.get_world()
# 打印地图名称
print(f"Connected to {world.get_map().name}")
except Exception as e:
print(f"连接失败: {e}")
第一个自动驾驶 Demo
下面是一个简单的自动驾驶 Demo,它会生成一辆车并让它沿着道路行驶:
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('model3')[0]
# 获取所有出生点并随机选择一个
spawn_points = world.get_map().get_spawn_points()
spawn_point = random.choice(spawn_points)
# 生成车辆
vehicle = world.spawn_actor(vehicle_bp, spawn_point)
# 设置自动驾驶模式
vehicle.set_autopilot(True)
# 运行 10 秒
import time
time.sleep(10)
# 清理
vehicle.destroy()
避坑指南
-
端口冲突 :CARLA 默认使用 2000 端口,如果该端口被占用,可以通过
-world-port参数指定其他端口。 -
Python 版本兼容性:CARLA 0.9.13 推荐使用 Python 3.7,其他版本可能不兼容。
-
显卡驱动问题:确保已安装最新的 NVIDIA 驱动,否则可能导致渲染错误。
-
内存不足:CARLA 服务器运行时需要大量内存,建议至少有 16GB 内存。
-
连接超时 :首次连接可能需要较长时间,适当增加
set_timeout的值。
进阶建议
-
官方文档:CARLA 官方文档非常全面,是学习 API 的最佳资源。
-
社区论坛:CARLA 的 GitHub Issues 和 Discord 频道有很多活跃的开发者。
-
示例代码 :CARLA 自带大量示例代码,位于
PythonAPI/examples目录下。 -
传感器配置:尝试添加摄像头、雷达等传感器,收集更丰富的数据。
-
自定义地图:学习如何使用 RoadRunner 等工具创建自定义地图。
结语
通过本文,你应该已经成功搭建了 CARLA 环境,并运行了第一个自动驾驶 Demo。接下来,你可以尝试修改代码,比如改变车辆行为、添加更多传感器或者探索更复杂的场景。CARLA 的功能远比本文展示的要丰富,期待你能在这个强大的平台上开发出更多有趣的项目!
