CARLA自动驾驶项目新手入门指南:从环境搭建到第一个自动驾驶Demo

1次阅读
没有评论

共计 1914 个字符,预计需要花费 5 分钟才能阅读完成。

image.webp

CARLA 自动驾驶项目新手入门指南

背景与痛点

CARLA 是一个开源的自动驾驶模拟器,它提供了高度可配置的虚拟环境和丰富的 API 接口,非常适合用于自动驾驶算法的开发和测试。不过对于新手来说,环境搭建和 API 使用往往是一道门槛。常见的困难包括依赖项安装复杂、Python 客户端配置出错、API 文档理解困难等。

CARLA 自动驾驶项目新手入门指南:从环境搭建到第一个自动驾驶 Demo

环境搭建

下面是在 Ubuntu 20.04 系统下安装 CARLA 的详细步骤:

  1. 首先安装必要的依赖项:
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
  1. 下载 CARLA 发布包(以 0.9.13 版本为例):
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/CARLA_0.9.13.tar.gz
  1. 解压并进入目录:
tar -xvf CARLA_0.9.13.tar.gz
cd CARLA_0.9.13
  1. 启动 CARLA 服务器:
./CarlaUE4.sh -carla-server -benchmark -fps=10
  • -carla-server 表示以服务器模式运行
  • -benchmark 启用性能优化
  • -fps=10 设置帧率为 10

Python 客户端配置

要连接 CARLA 服务器,需要先安装 Python 客户端库:

  1. 安装必要的 Python 包:
pip install carla
  1. 以下是基础连接代码示例:
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()

避坑指南

  1. 端口冲突 :CARLA 默认使用 2000 端口,如果该端口被占用,可以通过-world-port 参数指定其他端口。

  2. Python 版本兼容性:CARLA 0.9.13 推荐使用 Python 3.7,其他版本可能不兼容。

  3. 显卡驱动问题:确保已安装最新的 NVIDIA 驱动,否则可能导致渲染错误。

  4. 内存不足:CARLA 服务器运行时需要大量内存,建议至少有 16GB 内存。

  5. 连接超时 :首次连接可能需要较长时间,适当增加set_timeout 的值。

进阶建议

  1. 官方文档:CARLA 官方文档非常全面,是学习 API 的最佳资源。

  2. 社区论坛:CARLA 的 GitHub Issues 和 Discord 频道有很多活跃的开发者。

  3. 示例代码 :CARLA 自带大量示例代码,位于PythonAPI/examples 目录下。

  4. 传感器配置:尝试添加摄像头、雷达等传感器,收集更丰富的数据。

  5. 自定义地图:学习如何使用 RoadRunner 等工具创建自定义地图。

结语

通过本文,你应该已经成功搭建了 CARLA 环境,并运行了第一个自动驾驶 Demo。接下来,你可以尝试修改代码,比如改变车辆行为、添加更多传感器或者探索更复杂的场景。CARLA 的功能远比本文展示的要丰富,期待你能在这个强大的平台上开发出更多有趣的项目!

正文完
 0
评论(没有评论)