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 包 分开 安装。
用于:
Scenic
Scenic 是一种特定领域的概率编程语言,用于对机器人和自动驾驶汽车等网络物理系统的环境进行建模。Scenic 提供了一个 专门领域 来促进 Scenic 脚本在 模拟器上的执行。
Scenic 场景定义易于阅读和构建。 此处 提供了创建简单场景的教程。
用于:
- 使用单个场景定义生成多个不同的场景。
- 为动态代理定义概率策略,以便随着时间的推移采取行动以响应世界状况。
SUMO
SUMO 是一种开源、微观、多模式交通模拟。在 SUMO 中,每辆车都经过明确建模,有自己的路线,并通过网络单独移动。默认情况下,模拟是确定性的,但有多种选项可以引入随机性。
Carla 提供了与 SUMO 的联合模拟功能,允许在两个模拟器之间分配任务。车辆可以通过 SUMO 在 Carla 中产生,并由 SUMO 进行管理,就像交通管理器所做的那样。
用于:
- 在一个软件包中利用 Carla 和 SUMO 的功能。
如果您对 Carla 中模拟交通的不同选项有任何疑问,请随时在论坛或 Discord 中发帖。