콘텐츠로 이동

OpenSCENARIO 에디터 — 시각적 브라우저 시나리오 작성 도구

drawtonomy는 무료 브라우저 기반 OpenSCENARIO 에디터입니다. 도로를 그리거나(또는 기존 .xodr을 가져오고), 행위자를 배치한 후 전체 스토리보드를 시각적으로 구성합니다 — 단계, 이벤트, 35개 동작, 그리고 19개 트리거 조건 — XML을 손으로 작성하는 대신 캔버스에서 구성합니다. 동일한 브라우저 탭에 내장된 esmini-WASM 엔진이 탑재되어 있으므로, 시나리오가 완성되는 즉시 실행하고 PASS / FAIL 판정을 읽을 수 있습니다 — 로컬 설치 필요 없음, 시뮬레이터로의 왕복 필요 없음. 의도한 대로 작동하면 표준 ASAM OpenSCENARIO 1.2 .xosc를 실행 환경 OpenDRIVE .xodr과 함께 내보내고, esmini 준비 완료 zip으로 번들화합니다.

도로를 그리고, 차량을 배치하고, Change Speed와 Change Lane 이벤트가 있는 단계를 구성한 후 브라우저에서 실행합니다.

다른 시나리오 작성 도구와의 비교

섹션 제목: “다른 시나리오 작성 도구와의 비교”
  • esmini — OpenSCENARIO 참조 플레이어 및 런타임으로, 풍부한 명령줄 및 라이브러리 API를 가집니다. drawtonomy는 esmini가 재생하는 시나리오를 내보냅니다.
  • MathWorks RoadRunner Scenario — RoadRunner용 시나리오 작성 애드온입니다. 상용 제품입니다.
  • Cognata / Foretellix Foretify — 엔터프라이즈 시나리오 플랫폼입니다. 상용 제품입니다.
  • scenariogeneration / py-scenariogeneration.xodr + .xosc를 프로그래매틱하게 생성하기 위한 Python 라이브러리입니다.

drawtonomy는 브라우저 기반, 시각적, 무료 옵션으로, 스토리보드를 작성하고 동일한 탭에서 실행할 수 있습니다. 런타임 규모의 esmini를 대체하거나 RoadRunner Scenario의 상용 도구체인을 대체하려 하지 않습니다 — 일반적인 경우 (시나리오 구성, 실행 확인, 판정 읽기, 표준 XML 내보내기)를 빠르고 설치 불필요하게 만듭니다.

내보내기가 표준 ASAM XML이므로 참조 런타임으로 바로 연결됩니다: 여기서 작성한 동일한 .xosc + .xodr네이티브 esmini에서 수정 없이 실행되며, 재생 시 drawtonomy는 관여하지 않습니다.

한 번에: 장면을 그리고, esmini zip을 내보낸 후 내보낸 .xosc를 네이티브 esmini에서 재생합니다 — 표준 XML이 그대로 재생됩니다.
  • ADAS 테스트 시나리오(컷인, 차선 변경, 보호받지 않은 좌회전, 선행 차량 감속, 보행자 횡단, 로터리 진입)를 시각적으로 작성하고 실행 가능한 .xosc를 얻고 싶을 때.
  • 실행하고 판정을 본다END 및 FAIL 조건을 설정하고 로컬 esmini 설치 없이 브라우저에서 PASS / FAIL을 읽고 싶을 때.
  • 기존 .xosc를 검토하거나 편집하고 싶은데 OSC XML을 읽지 않는 이해관계자와 함께하고 싶을 때 — 열고, 단계를 검사하고, 조정하고, 재실행합니다.
  • 시각적 스토리보드에서 표준, 이식 가능한 esmini 준비 zip으로 한 번의 내보내기에 이동하고 싶을 때.

캔버스에서 실행 중인 시나리오로

섹션 제목: “캔버스에서 실행 중인 시나리오로”

전체 시나리오를 캔버스에서 구성하며 텍스트 에디터를 열 필요가 없습니다.

  • 시각적 스토리보드: 단계와 이벤트 행위자 행, 시작 조건, 실행 순서 — OpenSCENARIO Story / Act / ManeuverGroup 구조를 XML을 중첩하지 않고 클릭으로 구성합니다.
  • 35개 동작 — Change Speed, Change Lane, Follow Path, Teleport, 컨트롤러, 트래픽 소스, 트레일러, 조명 등 — 그리고 19개 트리거 조건: 시뮬레이션 시간, 시간 간격, 충돌 시간, 거리, 속도, 스토리보드 요소 상태, 그리고 고급 조건.
  • END 및 FAIL 조건: 실행이 멈출 때통과 여부를 분리하여, 모든 시나리오를 PASS / FAIL 검사로 전환합니다.
  • 내장 esmini-WASM 엔진의 브라우저 재생 — 타임라인 탐색, Follow Ego, 고스트 모션 트레일, 판정 배지, 실행 녹화(.webm).
  • 표준 ASAM OpenSCENARIO 1.2 .xosc + OpenDRIVE .xodr 내보내기로, run.sh과 함께 번들화되어 모든 esmini 설치에서 재생 가능합니다.

에디터는 캔버스에서 구성할 수 있는 스토리보드를 포함합니다 — 전체 OpenSCENARIO 1.x 사양이 아닙니다. 매개변수 스윕 및 값 분포, 기본 제공 세트 이상의 사용자 정의 또는 플러그인 컨트롤러, 시뮬레이터 특정 확장, OpenSCENARIO 2.x / M-SDL은 UI가 표현하는 범위 밖입니다. 이 중 하나가 필요하면 내보낸 .xosc는 코드나 손으로 확장할 수 있는 깔끔한 표준 시작점입니다. 시나리오 플릿의 경우 캔버스에서 손으로 생성하는 대신 DSL(scenariogeneration 또는 유사)에서 생성합니다.

  1. 도로 네트워크를 그리거나 가져옵니다. Lane Tool, Intersection Templates, Crosswalk 도형 — 또는 기존 OpenDRIVE .xodr을 가져옵니다.
  2. 행위자를 배치합니다. 특정 차선의 자아차량, 알려진 종단 오프셋의 다른 개체.
  3. 스토리보드를 구성합니다. 시나리오 모드로 전환하고 단계, 이벤트, 동작, 그리고 트리거시나리오 에디터에서 구성합니다.
  4. 브라우저에서 실행합니다. ▶를 누르고, 탐색하고, Follow Ego를 사용하고, PASS / FAIL 판정을 읽습니다. 의도한 대로 작동할 때까지 반복합니다.
  5. esmini 번들을 내보냅니다 — 표준 .xosc + .xodr + run.sh — 그리고 모든 esmini 설치로 이동하거나 추가로 확장합니다.