Zum Inhalt springen

drawtonomy vs. scenariogeneration (pyoscx / pyodrx)

scenariogeneration ist eine Open-Source-Python-Bibliothek für die Erzeugung verknüpfter OpenSCENARIO-(.xosc) und OpenDRIVE-(.xodr-)XML-Dateien. Sie ist der Nachfolger der früheren Bibliotheken pyoscx und pyodrx und auf PyPI verfügbar.

Was scenariogeneration abdeckt, laut README:

  • Eine Python-API für das programmatische Erstellen von OpenSCENARIO- und OpenDRIVE-Dateien.
  • Drei Hauptkomponenten: scenario_generator-Modul, xosc-(OpenSCENARIO-)Unterpaket, xodr-(OpenDRIVE-)Unterpaket.
  • Vollständige Abdeckung von OpenSCENARIO V1.0.0 und der meisten V1.1.0, V1.2.0, V1.3.1.
  • Abdeckung basierend auf OpenDRIVE V1.7.1 — einfache Straßen, Knotenpunkte, Signale und Objekte.
  • Parametrierungs- und Auto-Generierungs-Dienstprogramme für das Erstellen von Szenario-Varianten.
  • esmini-Integration für Visualisierung.
  • Lizenziert unter MPL-2.0.

Für programmatische Szenarioerzeugung — insbesondere Szenario-Flotten, Parametervariationen und CI-gesteuerte Testfälle — ist scenariogeneration eine der etablierten Python-Optionen.

drawtonomy ist ein 2D-Browser-Whiteboard. Es hat keine Python-API, macht keine parametrisierte Generierung und sein OpenSCENARIO-/OpenDRIVE-Export ist eine kleinere Teilmenge als scenariogenerations Abdeckung.

Einige kleine Dinge, die drawtonomy neben scenariogeneration hinzufügen kann:

  • Eine visuelle 2D-Skizze einer einzelnen Szene vor dem Schreiben von Python-Code.
  • .drawtonomy.svg als bearbeitbare Abbildungsquelle für Dokumentation.
  • Ein schnelles esmini-Bundle für eine handgebaute Szene, getrennt von der Python-Pipeline.

Die beiden Werkzeuge befinden sich auf unterschiedlichen Ebenen: scenariogeneration ist ein programmatischer Generator; drawtonomy ist eine visuelle Skizzieroberfläche.

scenariogeneration (und seine Vorgänger pyoscx / pyodrx) ist einer der etabliertesten Open-Source-Beiträge zum OpenSCENARIO-/OpenDRIVE-Python-Ökosystem. drawtonomy emittiert dieselben Dateiformate und visualisiert gegen denselben nachgelagerten Player (esmini). Beide Werkzeuge — zusammen mit Scenic, CARLA ScenarioRunner und direkt handgeschriebenem XML — sind Teil derselben Community, die Tooling rund um ASAMs offene Standards aufbaut.