Carla 中的交通仿真

交通仿真是自动驾驶堆栈准确高效的训练和测试不可或缺的一部分。Carla 提供了许多不同的选项来仿真交通和特定的交通场景。本节概述了可用选项,可帮助您确定最适合您的用例的选项。


交通管理器

交通管理器是 Carla 中的一个模块,用于从客户端控制仿真中的某些车辆。carla.Vehicle.set_autopilot 车辆通过方法或注册到流量管理器command.SetAutopilot。每辆车的控制是通过 不同阶段 的循环来管理的,每个阶段都在不同的线程上运行。

用于:

  • 用真实的城市交通状况填充仿真。
  • 自定义交通行为 以设置特定的学习环境。
  • 开发与阶段相关的功能和数据结构,同时提高计算效率。

Scenario Runner 和 OpenScenario

Scenario Runner 提供开箱即用的 预定义交通场景 ,还允许用户使用 Python 或 OpenSCENARIO 1.0 标准 定义自己 的场景。

OpenSCENARIO 的主要用途是描述涉及多辆车的复杂操作。用户可以在 这里 查看 Scenario Runner 支持 OpenSCENARIO 的哪些功能。这些功能包括演习、动作、条件、故事和故事板。

Scenario Runner 必须与主 Carla 包 分开 安装。

用于:

  • 创建复杂的交通场景和路线,为自动驾驶智能体做好准备,以便在 Carla 排行榜 上进行评估。
  • 定义可针对场景仿真的记录运行的定制 指标 ,从而无需重复运行仿真。

Scenic

Scenic 是一种特定领域的概率编程语言,用于对机器人和自动驾驶汽车等网络物理系统的环境进行建模。Scenic 提供了一个 专门领域 来促进 Scenic 脚本在 仿真器上的执行。

Scenic 场景定义易于阅读和构建。 此处 提供了创建简单场景的教程。

用于:

  • 使用单个场景定义生成多个不同的场景。
  • 为动态智能体定义概率策略,以便随着时间的推移采取行动以响应世界状况。

SUMO

SUMO 是一种开源、微观、多模式交通仿真。在 SUMO 中,每辆车都经过明确建模,有自己的路线,并通过网络单独移动。默认情况下,仿真是确定性的,但有多种选项可以引入随机性。

Carla 提供了与 SUMO 的联合仿真功能,允许在两个仿真器之间分配任务。车辆可以通过 SUMO 在 Carla 中产生,并由 SUMO 进行管理,就像交通管理器所做的那样。

用于:

  • 在一个软件包中利用 Carla 和 SUMO 的功能。

如果您对 Carla 中仿真交通的不同选项有任何疑问,请随时在论坛或 Discord 中发帖。