drawtonomy vs scenariogeneration (pyoscx / pyodrx)
scenariogeneration
Section titled “scenariogeneration”scenariogeneration 是一个用于以编程方式生成关联 OpenSCENARIO(.xosc)和 OpenDRIVE(.xodr)XML 文件的开源 Python 库。它是早期 pyoscx 和 pyodrx 库的继任者,可在 PyPI 获取,文档位于 pyoscx.github.io/scenariogeneration。
scenariogeneration 的功能覆盖(参见其 README):
- 用于以编程方式构建 OpenSCENARIO 和 OpenDRIVE 文件的 Python API。
- 三个主要组件:
scenario_generator模块、xosc(OpenSCENARIO)子包、xodr(OpenDRIVE)子包。 - 完整覆盖 OpenSCENARIO V1.0.0,以及 V1.1.0、V1.2.0、V1.3.1 的大部分内容。
- 基于 OpenDRIVE V1.7.1——基本道路、路口、信号和对象。
- 用于生成场景变体的参数化和自动生成工具。
- esmini 集成用于可视化。
- 采用 MPL-2.0 许可证。
- 统一了早期的
pyoscx和pyodrx包。
对于程序化场景生成——尤其是场景批量生成、参数扫描和 CI 驱动的测试用例——scenariogeneration 是成熟的 Python 选项之一。
drawtonomy 与之并行使用的场景
Section titled “drawtonomy 与之并行使用的场景”drawtonomy 是一款 2D 浏览器白板。它没有 Python API,不进行参数化生成,其 OpenSCENARIO / OpenDRIVE 导出覆盖的范围比 scenariogeneration 小。
drawtonomy 在 scenariogeneration 旁边可以添加的几件小事:
- 在编写 Python 之前对单个场景进行视觉 2D 草图。
- 文档中可编辑图形来源
.drawtonomy.svg。 - 用于手工构建场景的快速 esmini 包,独立于 Python 流水线。
两款工具处于不同的层次:scenariogeneration 是程序化生成器;drawtonomy 是视觉草图画布。
同一 OpenSCENARIO 生态系统
Section titled “同一 OpenSCENARIO 生态系统”scenariogeneration(以及其前身 pyoscx / pyodrx)是 OpenSCENARIO / OpenDRIVE Python 生态系统中最成熟的开源贡献之一。drawtonomy 生成同一格式的文件,并针对同一下游播放器(esmini)进行可视化。两款工具——与 Scenic、CARLA ScenarioRunner 以及直接手写 XML 一起——都是围绕 ASAM 开放标准构建工具链这一社区的组成部分。