跳到內容

drawtonomy 與手寫 OpenSCENARIO XML 的比較

手寫 OpenSCENARIO XML 是一種常見的工作流程,對於許多使用情境來說是正確的選擇。

XML 是適當路徑的情況:

  • 場景很小,您想要位元組級別的控制。
  • 您正在從 DSL 或程式碼生成流程以程式化方式生成 XML。
  • 您需要超出視覺化工具所暴露的規格功能——條件觸發器、參數掃描、自訂控制器、複雜 Storyboard、交通流量模型。
  • 您透過 git 協作處理場景,穩定的 XML diff 很重要。

對於生產場景編寫,手寫或程式碼生成的 XML 是標準方法。

依據匯出器說明文件OpenSCENARIO 1.3 的一個子集:

  • 二維俯視道路網路——車道、路口、簡單線串——匯出為部分 OpenDRIVE 1.8 .xodr
  • 車輛、行人、紅綠燈、道路標線的靜態放置,作為 <ScenarioObject> / <Pedestrian> 條目。
  • <FollowTrajectoryAction> 形式匯出的簡單路徑 / 軌跡。

匯出的 .xosc 可在 esmini 中重播簡單場景。這是一個起點,而非完成的場景。

匯出器說明文件中列為路線圖項目的內容:

  • OpenDRIVE 路口元素匯出(<junction>)。
  • <signal> 形式表示的交通標誌。
  • 加速 / 減速曲線、停留 / 停止事件、信號感知路徑、換道動作、多主體 Storyboard。
  • 條件觸發器、參數掃描、自訂或機器學習驅動的控制器、密集交通流。

對於上述任何內容,您需要手動撰寫 XML 或從程式碼生成。

  1. 在 drawtonomy 中草繪佈局,確定車道網路與參與者放置。
  2. 匯出 esmini 套件包,確認簡單版本可以重播。
  3. 在文字編輯器中開啟 .xosc,加入 drawtonomy 無法表達的部分。
  4. 保留 drawtonomy 原始來源作為測試計畫 / 論文 / 投影片的配圖。

drawtonomy 是草圖。XML 是任何非瑣碎場景的事實來源。

手寫 XML 是 OpenSCENARIO 的基礎編寫路徑——生態系中的每個其他工具最終都會產生它(或其 DSL 等價物)。drawtonomy 的匯出器、scenariogenerationScenicRoadRunnerBlender DSC 及其他工具在某個時點都會產生 XML。直接讀寫 XML 是標準保持為標準的方式,而產生 XML 的工具受益於社群圍繞它建立的跨工具互操作性。