跳到內容

drawtonomy 與 CARLA ScenarioRunner

drawtonomy 與 CARLA ScenarioRunner 並非競爭工具。它們位於同一生態系的不同層次:

  • drawtonomy — 用於編寫場景的二維瀏覽器白板。輸出 OpenSCENARIO 1.3 + OpenDRIVE 1.8。
  • CARLA ScenarioRunner — 用於 CARLA 模擬器的基於 Python 的場景定義與執行引擎。使用 OpenSCENARIO 1.0 / 2.0(以及以 Python 介面定義的場景)。

兩者的關係是「drawtonomy 生產,ScenarioRunner 使用」——在格式匹配時。

依據官方說明文件

  • 透過 Python 介面或 OpenSCENARIO 標準進行場景定義。
  • 支援 OpenSCENARIO 1.0——涵蓋對操縱動作、條件、故事與 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 是那個社群中較小的貢獻者之一——其角色是編寫側的視覺草圖介面。