跳转到内容

drawtonomy 与 CARLA ScenarioRunner

drawtonomy 和 CARLA ScenarioRunner 不是竞争工具。它们处于同一生态系统的不同层次:

  • drawtonomy — 用于编写场景的 2D 浏览器白板。输出 OpenSCENARIO 1.3 + OpenDRIVE 1.8。
  • CARLA ScenarioRunner — 基于 Python 的 CARLA 仿真器场景定义和执行引擎。消费 OpenSCENARIO 1.0 / 2.0(以及用其 Python 接口定义的场景)。

两者的关系是”drawtonomy 生产,ScenarioRunner 消费”——当格式匹配时。

根据官方文档

  • 通过 Python 接口或 OpenSCENARIO 标准定义场景。
  • 支持 OpenSCENARIO 1.0——涵盖对机动动作(Actions)、条件(Conditions)、故事(Stories)和 Storyboard 的初始支持。
  • 支持 OpenSCENARIO 2.0 标准。
  • 基于 Python,无需构建步骤。
  • 与 CARLA 采用相同许可证的开源软件。

ScenarioRunner 是在 CARLA 中定义和执行场景的标准方式。

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 中转录/手动编辑场景逻辑。

CARLA、ScenarioRunner、drawtonomy、esminiScenicscenariogenerationRoadRunnerBlender DSC 都是同一 OpenSCENARIO 生态系统的组成部分,在不同层次(编写、生成、执行、回放)发挥作用。drawtonomy 是该社区中较小的贡献者之一——其角色是编写侧的视觉草图画布。