OpenSCENARIO 시뮬레이터 — 브라우저에서 .xosc 실행, esmini-WASM 기반
drawtonomy는 자율주행 시나리오를 위한 무료 브라우저 기반 화이트보드입니다. OpenSCENARIO 개체, 경로, 트리거 영역이 같은 캔버스의 기본 도형이므로, drawtonomy는 무료 브라우저 기반 OpenSCENARIO 시뮬레이터로도 동작합니다. .xosc와 그것이 실행되는 .xodr을 놓으면 내장된 esmini-WASM 런타임이 브라우저에서 스토리보드를 시뮬레이션합니다. 스크럽, 프레임 단위 이동, 유령 궤적, Ego를 따라가는 카메라, 한 번의 클릭으로 .webm을 내보낼 수 있습니다.
브라우저에서 실행됩니다. 설치할 것이 없고, MATLAB 라이선스도 없고, C++ 빌드도 없고, 계정도 필요 없습니다.
실제 시뮬레이션을 수행하는 것
섹션 제목: “실제 시뮬레이션을 수행하는 것”drawtonomy는 esmini를 기반으로 구축되었습니다 — OpenSCENARIO 1.x 오픈 소스 참조 런타임으로, 스웨덴 ADAS 커뮤니티에서 개발되었으며 WebAssembly로 컴파일되었습니다. .xosc를 놓으면:
- OpenDRIVE 네트워크가 파싱되어 캔버스에 배치됩니다.
.xosc가esmini-WASM에 전달되고, OpenSCENARIO 스토리보드를 실행합니다 — 네이티브 esmini와 정확히 동일하게 작동합니다. 액트, 시퀀스, 기동, 조건부 트리거, 파라미터 선언, 컨트롤러를 모두 포함합니다.- 매 프레임마다 drawtonomy가 시뮬레이션된 개체의 포즈를 읽어 캔버스에 그립니다.
따라서 시뮬레이터 의미는 esmini의 의미이며, 별도의 재구현이 아니므로, 런타임 정확성에 대한 모든 신뢰는 esmini 프로젝트와 그 유지보수자에게 속합니다. drawtonomy가 그 위에 추가하는 것은 캔버스 기반의 셸입니다. 타임라인 스크러버, Ego 따라보기, 유령 궤적, .webm 내보내기, .drawtonomy.svg 소스 공유, 그리고 시나리오를 작성하는 같은 캔버스입니다. 모두 esmini가 내부에서 하는 어려운 작업 없이는 불가능합니다.
할 수 있는 일
섹션 제목: “할 수 있는 일”.xosc+.xodr쌍 로드 — 파일을 캔버스에 드래그하거나 Hamburger → Import → OpenSCENARIO를 통해 로드합니다.- 시뮬레이션, 일시 정지, 스크럽 — 프레임 단위의 정확도로 Space, 화살표 키, 타임라인 스크러버를 사용합니다.
- 시뮬레이션 속도 조정 — 0.25배에서 4배까지 조정 가능합니다(프리셋 칩 + 슬라이더).
- Ego 따라보기 — Ego 차량을 중심에 유지하는 카메라 추적을 활성화합니다. Bbox / Follow Ego 모드는 동영상 내보내기 카메라로도 사용 가능합니다.
- 유령 궤적 — Path(폴리라인) 및 Footprint(샘플링된 실루엣)을 설정 가능한 시간 간격으로 표시하여 한눈에 이동 기록을 볼 수 있습니다.
- 캔버스 편집 후 재시뮬레이션 — 개체를 이동하거나, Path를 변경하거나, 차량을 교체한 후 시뮬레이션을 다시 실행하여 시뮬레이션이 항상 현재 시나리오를 반영합니다.
- .webm으로 내보내기 — 종횡비 프리셋(16:9, 9:16, 1:1, 4:3, Free)을 사용하여 내보냅니다. 녹화는 브라우저의
MediaRecorder를 통해 로컬에서 처리되며, 업로드나 계정이 필요 없습니다.
자세한 메커니즘은 방법: OpenSCENARIO 파일 시뮬레이션 가이드에 있습니다.
다른 주행 시나리오 시뮬레이터와 비교
섹션 제목: “다른 주행 시나리오 시뮬레이터와 비교”- esmini — drawtonomy가 내장하는 오픈 소스 OpenSCENARIO 1.x 런타임입니다. 시뮬레이터 관점에서 esmini는 같은 엔진이며, drawtonomy는 이를 CLI 대신 브라우저에서 실행합니다. OpenSceneGraph 3D 뷰어, 헤드리스 CI 모드, C++/Python API가 필요할 때는 네이티브 esmini를 선택하세요.
- CARLA — 전체 센서 모델(카메라, LiDAR, 레이더)과 Python OpenSCENARIO 러너를 갖춘 오픈 소스 AV 시뮬레이터입니다. 대용량 설치(GB 수준, GPU 필요)입니다. 센서 데이터가 필요할 때 적합하지만, 단순히 시나리오를 시뮬레이션하고 보고 싶다면 과도합니다.
- MathWorks RoadRunner Scenario — RoadRunner 내에서의 상용 시나리오 작성 및 재생 기능입니다. MATLAB/Simulink 기반 팀에서 탁월하지만, 무료가 아니며 브라우저 기반이 아닙니다.
- Foretellix Foretify / IPG CarMaker / dSPACE ASM — OpenSCENARIO 지원, 깊은 차량 동역학, 대규모 카탈로그를 갖춘 엔터프라이즈 시나리오 시뮬레이션 플랫폼입니다. 조달 규모의 도구이며, drawtonomy는 훨씬 더 작은 범위에서 작동합니다.
- Truevision Designer — 재생 기능이 있는 상용 3D HD-맵 및 시나리오 에디터입니다. 브라우저 도구가 아닌 데스크톱 도구입니다.
- LGSVL Simulator — OpenSCENARIO 지원을 갖춘 인기 있는 오픈 소스 AV 시뮬레이터였습니다만, 호스팅 서비스는 더 이상 유지 관리되지 않습니다.
이 라인업에서 drawtonomy의 위치는 목적상 좁습니다. 무료, 브라우저 기반, 설치 불필요이면서 OpenSCENARIO 파일을 시뮬레이션하고 녹화하는 유일한 옵션입니다. 언제든 .xosc를 보고 싶고 시간을 들여 데스크톱 시뮬레이터를 켤 필요가 없다면, 이것이 바로 그 도구입니다.
센서 시뮬레이션이나 수천 개의 시나리오에 대한 회귀 스윕이 필요하다면, 같은 .xosc를 esmini, CARLA, 또는 엔터프라이즈 시뮬레이터에 제공하세요. drawtonomy vs esmini와 drawtonomy vs CARLA에서 구분을 확인하세요.
브라우저 시뮬레이터를 사용할 때
섹션 제목: “브라우저 시뮬레이터를 사용할 때”- CI 시나리오 실패 진단. CI에서
.xosc를 브라우저에 놓고, 실패 순간으로 스크럽한 후, 스크린샷을 찍습니다. 전체 시뮬레이터 부팅보다 빠릅니다. - 시나리오 PR 코드 리뷰. esmini가 설치되지 않은 리뷰어도 drawtonomy에서 시나리오를 시뮬레이션할 수 있습니다.
- OpenSCENARIO 교육. 클래스나 워크숍에서 학생 노트북에 로컬 설치 없이
.xosc파일을 시뮬레이션할 수 있습니다. - 데모
.webm녹화 — 슬라이드, 버그 리포트, 고객 데모, 소셜 미디어 게시물용 장면을 16:9, 9:16, 또는 1:1로 바로 녹화합니다. - 두 시나리오 시각 비교 — 두 개의 탭에서 시나리오를 열고 각각을 스크럽합니다.
- 생성된 시나리오 훑어보기 — scenariogeneration 또는 Scenic에서 생성된 시나리오를 긴 시뮬레이터 실행에 투자하기 전에 시각적으로 검토합니다.
이 도구가 적합하지 않은 경우
섹션 제목: “이 도구가 적합하지 않은 경우”- 카메라 / LiDAR / 레이더 센서 시뮬레이션이 필요한 경우 → CARLA, IPG CarMaker, Foretellix 또는 다른 완전한 시뮬레이터를 사용하세요. drawtonomy는 스토리보드를 시뮬레이션하며, 센서는 시뮬레이션하지 않습니다.
- 수천 개의 시나리오에 대한 회귀 스윕 실행 → 스크립트에서 esmini 또는 CARLA를 실행하세요.
- 프로덕션 규모의 HD-맵 편집이 필요한 경우 → RoadRunner 또는 Truevision Designer를 사용하세요.
- **네이티브 esmini와 함께 제공되는 OpenSceneGraph 3D 뷰어가 필요한 경우 → 그냥 네이티브 esmini를 실행하세요.
기반이 되는 개방형 표준
섹션 제목: “기반이 되는 개방형 표준”시뮬레이터는 ASAM OpenSCENARIO 1.x .xosc 파일을 그것이 참조하는 ASAM OpenDRIVE .xodr과 함께 로드합니다. 둘 다 개방형 표준입니다. drawtonomy에서 시뮬레이션하는 같은 .xosc를 네이티브 esmini, CARLA, RoadRunner Scenario, 또는 다른 OpenSCENARIO 호환 런타임에 변환 단계 없이 제공할 수 있습니다.
인정 — esmini를 기반으로 구축됨
섹션 제목: “인정 — esmini를 기반으로 구축됨”이 페이지의 브라우저 시뮬레이터는 esmini 프로젝트를 기반으로 직접 구축되었습니다. 시뮬레이션 코어는 WebAssembly로 컴파일된 esmini이며, 스토리보드 의미, OpenSCENARIO 1.x 정확성, 그리고 그 모든 신중한 작업은 drawtonomy가 아닌 esmini 유지보수자와 기여자로부터 나옵니다. 그 팀이 OpenSCENARIO 재생을 위한 사실상의 오픈 참조를 관리해 주신 것에 대해 진심으로 감사합니다. drawtonomy의 브라우저 시뮬레이터가 도움이 된다면, GitHub에서 esmini에 스타를 달아주시고 업스트림 프로젝트를 지원해 주세요.