drawtonomy 与 CARLA ScenarioRunner
不是比较——不同的层次
Section titled “不是比较——不同的层次”drawtonomy 和 CARLA ScenarioRunner 不是竞争工具。它们处于同一生态系统的不同层次:
- drawtonomy — 用于编写场景的 2D 浏览器白板。输出 OpenSCENARIO 1.3 + OpenDRIVE 1.8。
- CARLA ScenarioRunner — 基于 Python 的 CARLA 仿真器场景定义和执行引擎。消费 OpenSCENARIO 1.0 / 2.0(以及用其 Python 接口定义的场景)。
两者的关系是”drawtonomy 生产,ScenarioRunner 消费”——当格式匹配时。
CARLA ScenarioRunner 的功能覆盖
Section titled “CARLA ScenarioRunner 的功能覆盖”根据官方文档:
- 通过 Python 接口或 OpenSCENARIO 标准定义场景。
- 支持 OpenSCENARIO 1.0——涵盖对机动动作(Actions)、条件(Conditions)、故事(Stories)和 Storyboard 的初始支持。
- 支持 OpenSCENARIO 2.0 标准。
- 基于 Python,无需构建步骤。
- 与 CARLA 采用相同许可证的开源软件。
ScenarioRunner 是在 CARLA 中定义和执行场景的标准方式。
drawtonomy 如何融入其中
Section titled “drawtonomy 如何融入其中”drawtonomy 的导出器生成 OpenSCENARIO 1.3 的一个子集。ScenarioRunner 主要面向 OpenSCENARIO 1.0,因此在边界处可能存在规范版本不匹配的问题。drawtonomy 的主要回放目标是 esmini,它对 1.x 的处理更加统一。
如果你想将 drawtonomy 输出与 CARLA 一起使用:
.xosc可能需要手动编辑以符合 ScenarioRunner 接受的内容。.xodr是 OpenDRIVE 1.8——CARLA 接受多种 OpenDRIVE 版本。- 对于复杂场景(触发器、ML 控制器、参数扫描),直接在 ScenarioRunner 的 Python 接口中定义;drawtonomy 无法表达这些。
合理模式:用 drawtonomy 视觉草绘场景,然后在 ScenarioRunner 中转录/手动编辑场景逻辑。
同一生态系统的组成部分
Section titled “同一生态系统的组成部分”CARLA、ScenarioRunner、drawtonomy、esmini、Scenic、scenariogeneration、RoadRunner 和 Blender DSC 都是同一 OpenSCENARIO 生态系统的组成部分,在不同层次(编写、生成、执行、回放)发挥作用。drawtonomy 是该社区中较小的贡献者之一——其角色是编写侧的视觉草图画布。
- 什么是 OpenSCENARIO?
- 什么是 esmini? — drawtonomy 的主要回放目标。
- OpenSCENARIO 编写前的草图绘制