콘텐츠로 이동

시나리오 에디터 — 브라우저에서 OpenSCENARIO 작성 및 실행

drawtonomy의 시나리오 에디터는 그리기 캔버스를 OpenSCENARIO 제작 도구로 변환합니다. 도로를 그리고, 액터를 배치하고, 시간 경과에 따른 행동을 기술한 후 재생 버튼을 누르면 — 실행은 WebAssembly로 컴파일된 esmini에 의해 같은 브라우저 탭 내에서 수행됩니다. 설치, 계정, 빌드 단계가 필요 없습니다.

시나리오 에디터 — 도로와 액터가 있는 캔버스, 트랜스포트 행, 단계/이벤트 그래프, 이벤트 에디터

drawtonomy는 작업을 두 가지로 나눕니다. 이 둘 사이의 전환이 시작하기 전에 알아야 할 가장 중요한 것입니다.

모드여기서 수행할 일제공되는 툴바
Scene도로 그리기: 차선, 교차로, 횡단보도, 표시. 차량과 보행자 배치.전체 드로잉 툴바 — Lane, Linestring, Intersection, Participants 등.
Scenario동작 정의: 단계, 이벤트, 액션, 트리거, 종료 및 실패 조건. 시나리오 실행.Undo, Redo, Hand, Select, Add actor, Path만 표시됨.

왼쪽 상단 햄버거 메뉴의 EDITING 제목 아래에서 모드를 전환합니다: Scene 또는 Scenario.

이 분리로부터 두 가지가 따릅니다:

  • Scenario 모드에서는 도로를 그릴 수 없습니다. 드로잉 도구가 표시되지 않습니다. 돌아가려면 햄버거 메뉴를 사용하거나 액터 배치 패널 상단의 Edit roads 버튼을 클릭합니다.
  • 먼저 도로를 그리고 최소한 하나의 액터를 배치하세요. 시나리오에 액터가 있을 때까지 + Phase 버튼은 비활성 상태로 유지되며, 도로가 없는 시나리오는 액터가 주행할 것이 없습니다.
  1. Scene 모드 — 도로 그리기. N을 눌러 Lane 도구를 시작하고 하나 이상의 차선을 그립니다. 또는 그리는 대신 OpenDRIVE .xodr 파일을 불러올 수 있습니다.
  2. 액터 배치. 두 모드 모두에서 수행할 수 있습니다: Scene 모드에서 P를 눌러 Participants 도구를 사용하거나, Scenario 모드에서 Add actor를 클릭한 후 차선 위를 클릭합니다. 각 액터는 OpenSCENARIO 엔티티가 됩니다.
  3. Scenario 모드로 전환. 햄버거 → EDITINGScenario.
  4. 로직 구성. + Phase는 첫 번째 이벤트와 함께 단계를 생성합니다. 각 이벤트는 하나의 TRIGGER(언제 실행될지)와 하나 이상의 ACTIONS(어떤 일이 발생할지)를 가집니다.
  5. 종료 및 실패 조건 설정. END CONDITIONS 노드는 실행이 멈칠 때를 결정하고, FAIL CONDITIONS는 실행이 PASS인지 FAIL인지를 결정합니다.
  6. 재생. LOGIC 카드 왼쪽의 ▶ 버튼은 시나리오를 실행하고 판정 배지가 결과를 보고합니다.
  7. 내보내기. 햄버거 → Export → **OpenSCENARIO (.xosc)…**로 시나리오, **.xodr (OpenDRIVE)**로 도로, **Export video…**로 녹화를 내보냅니다.

작업은 진행하면서 브라우저에 자동으로 저장되고 탭을 다시 열 때 돌아오므로, 여기서는 필수 “저장” 단계가 없습니다. 다만 Export를 사용하여 시나리오를 공유하거나 보존합니다.

에디터의 레이블은 OpenSCENARIO 요소에 매핑됩니다. 간단한 버전입니다:

drawtonomy UIOpenSCENARIO 1.x
PhaseAct
EventEvent
TRIGGER이벤트의 StartTrigger
ACTIONPrivateAction (예: SpeedAction)
ALL OF (AND)하나의 ConditionGroup
END CONDITIONS스토리보드의 StopTrigger
FAIL CONDITIONSdrawtonomy 특화, 벤더 파라미터로 저장됨

RoadRunner Scenario 등가어를 포함한 전체 표는 RoadRunner와 OpenSCENARIO 용어에서 확인하세요.