OpenSCENARIO 仿真器 — 在浏览器中运行 .xosc,由 esmini-WASM 驱动
drawtonomy 是一个免费的浏览器版白板编辑工具,用于绘制自动驾驶场景。由于 OpenSCENARIO 实体、路径和触发区域都是画布上的一级形状,drawtonomy 也可以作为免费的浏览器版 OpenSCENARIO 仿真器使用:上传 .xosc 及其依赖的 .xodr,嵌入式 esmini-WASM 运行时在浏览器中直接仿真情景——支持时间轴拖拽、逐帧播放、幽灵轨迹、自车跟踪摄像头,以及一键导出 .webm 视频。
完全运行在浏览器中。无需安装任何内容,无需 MATLAB 许可证、无需 C++ 编译、无需账户。
drawtonomy 建立在 esmini 基础之上——由瑞典 ADAS 社区开发的开源 OpenSCENARIO 1.x 参考运行时,已编译为 WebAssembly。当你上传 .xosc 时:
- OpenDRIVE 道路网络被解析并放在画布上。
- .xosc 文件被提交给
esmini-WASM,它执行 OpenSCENARIO 故事板——完全与本地 esmini 相同,包括 acts、sequences、maneuvers、条件触发、参数声明和控制器。 - 每一帧,drawtonomy 读取仿真实体的位置并在画布上绘制。
因此仿真语义完全来自 esmini,而非单独的重新实现。运行时正确性的所有信誉都属于 esmini 项目及其维护者。drawtonomy 在该运行时之上添加的是画布原生外壳:时间轴滑块、Follow Ego、幽灵轨迹、.webm 导出、.drawtonomy.svg 源文件共享,以及你创作场景的同一画布。这一切都离不开 esmini 在底层所做的艰苦工作。
你可以做什么
Section titled “你可以做什么”- 加载 .xosc 和 .xodr 对——拖入画布或通过汉堡菜单 Import OpenSCENARIO 导入。
- 仿真、暂停和拖拽——支持帧精度精确控制,使用空格键、箭头键和时间轴滑块。
- 调整仿真速度——从 0.25 倍到 4 倍(预设芯片 + 滑块)。
- Follow Ego——摄像头跟踪自车并保持居中。Bbox / Follow Ego 模式也可用于视频导出摄像头选项。
- 幽灵轨迹——Path(折线)和 Footprint(采样轮廓)在可配置的时间间隔显示,一览实体的运动历史。
- 重新仿真——编辑画布后重新运行故事板(移动实体、修改 Path、更换车辆),仿真始终反映当前场景而非过时的快照。
- 导出为 .webm——支持宽高比预设(16:9、9:16、1:1、4:3、自由)。录制在本地进行,使用浏览器的
MediaRecorder,无上传、无账户。
完整的机制说明见 如何:仿真 OpenSCENARIO 文件 指南。
与其他驾驶场景仿真工具的对比
Section titled “与其他驾驶场景仿真工具的对比”- esmini——drawtonomy 嵌入的开源 OpenSCENARIO 1.x 运行时。从仿真器角度,esmini 是完全相同的引擎;drawtonomy 只是在浏览器中而不是在命令行中运行它。当你需要 OpenSceneGraph 3D 查看器、无头 CI 模式或 C++/Python API 时,选择原生 esmini。
- CARLA——开源自动驾驶仿真器,配备完整的传感器模型(摄像头、LiDAR、雷达)和 Python OpenSCENARIO 运行器。安装体积大(多 GB、需要 GPU)。当你需要传感器数据时最合适;如果只想查看和仿真场景则显得过于复杂。
- MathWorks RoadRunner Scenario——商业化的场景编辑和回放工具,集成在 RoadRunner 中。在 MATLAB / Simulink 重度使用的团队中表现优秀;不免费、不在浏览器中。
- Foretellix Foretify / IPG CarMaker / dSPACE ASM——企业级场景仿真平台,支持 OpenSCENARIO,具有深层车辆动力学和大型目录库。采购级工具;drawtonomy 的定位要小得多。
- Truevision Designer——商业 3D 高精地图和场景编辑器,带回放功能。桌面工具,不是浏览器工具。
- LGSVL Simulator——曾是流行的开源自动驾驶仿真器,支持 OpenSCENARIO;现在托管服务已停止维护。
drawtonomy 在这个列表中的位置很明确:它是免费的、浏览器版的、无需安装的仿真和录制 OpenSCENARIO 文件的选项。如果你只是想查看 .xosc 而不想启动整个桌面仿真器,那这就是你需要的工具。
对于传感器仿真或对数千个场景的回归测试,将相同的 .xosc 交给 esmini、CARLA 或企业仿真器处理。详见 drawtonomy vs esmini 和 drawtonomy vs CARLA。
何时选择浏览器仿真器
Section titled “何时选择浏览器仿真器”- **排查失败的 CI 场景。**将 CI 中的 .xosc 拖入浏览器,拖拽到失败的时刻并截图。比启动完整仿真器快得多。
- **审查场景 PR。**没有安装 esmini 的审查员仍然可以在 drawtonomy 中打开并仿真场景。
- **教授 OpenSCENARIO。**课堂或讲习班可以在学生笔记本电脑上仿真 .xosc,无需本地安装。
- **录制演示视频。**直接以 16:9、9:16 或 1:1 的比例为幻灯片、bug 报告、客户演示或社交媒体录制 .webm 视频。
- **直观对比两个场景。**在两个标签页中打开它们并分别拖拽时间轴。
- **快速查看生成的场景。**从 scenariogeneration 或 Scenic 生成的场景,在进行长时间仿真前快速预览。
何时不适合用浏览器仿真器
Section titled “何时不适合用浏览器仿真器”- 你需要摄像头 / LiDAR / 雷达传感器仿真 → 使用 CARLA、IPG CarMaker、Foretellix 或其他完整仿真器。drawtonomy 仿真故事板,不仿真传感器。
- 你在进行数千个场景的回归测试 → 用脚本驱动 esmini 或 CARLA。
- 你需要生产级的高精地图编辑 → 使用 RoadRunner 或 Truevision Designer。
- 你需要原生 esmini 附带的 OpenSceneGraph 3D 查看器 → 直接运行原生 esmini。
开放标准驱动
Section titled “开放标准驱动”仿真器加载 ASAM OpenSCENARIO 1.x .xosc 文件及其依赖的 ASAM OpenDRIVE .xodr。两者都是开放标准。你在 drawtonomy 中仿真的同一个 .xosc 可以直接提交给原生 esmini、CARLA、RoadRunner Scenario 或任何其他 OpenSCENARIO 兼容的运行时,无需任何转换步骤。
致谢——建立在 esmini 基础上
Section titled “致谢——建立在 esmini 基础上”本页面的浏览器仿真器直接建立在 esmini 项目基础上。仿真核心是编译为 WebAssembly 的 esmini;故事板语义、OpenSCENARIO 1.x 的正确性以及背后多年的精心工作都来自 esmini 的维护者和贡献者,不是来自 drawtonomy。感谢那个团队精心维护 OpenSCENARIO 播放的事实标准。如果 drawtonomy 的浏览器仿真器对你有帮助,请同时 在 GitHub 上给 esmini 加星,并支持上游项目。