跳转到内容

OpenSCENARIO 仿真器 — 在浏览器中运行 .xosc,由 esmini-WASM 驱动

drawtonomy 是一个免费的浏览器版白板编辑工具,用于绘制自动驾驶场景。由于 OpenSCENARIO 实体、路径和触发区域都是画布上的一级形状,drawtonomy 也可以作为免费的浏览器版 OpenSCENARIO 仿真器使用:上传 .xosc 及其依赖的 .xodr,嵌入式 esmini-WASM 运行时在浏览器中直接仿真情景——支持时间轴拖拽、逐帧播放、幽灵轨迹、自车跟踪摄像头,以及一键导出 .webm 视频。

完全运行在浏览器中。无需安装任何内容,无需 MATLAB 许可证、无需 C++ 编译、无需账户。

通过 esmini-WASM 在浏览器中仿真 ACC 换道 .xosc,拖拽时间轴,并将运行过程录制为 .webm 视频。

drawtonomy 建立在 esmini 基础之上——由瑞典 ADAS 社区开发的开源 OpenSCENARIO 1.x 参考运行时,已编译为 WebAssembly。当你上传 .xosc 时:

  1. OpenDRIVE 道路网络被解析并放在画布上。
  2. .xosc 文件被提交给 esmini-WASM,它执行 OpenSCENARIO 故事板——完全与本地 esmini 相同,包括 acts、sequences、maneuvers、条件触发、参数声明和控制器。
  3. 每一帧,drawtonomy 读取仿真实体的位置并在画布上绘制。

因此仿真语义完全来自 esmini,而非单独的重新实现。运行时正确性的所有信誉都属于 esmini 项目及其维护者。drawtonomy 在该运行时之上添加的是画布原生外壳:时间轴滑块、Follow Ego、幽灵轨迹、.webm 导出、.drawtonomy.svg 源文件共享,以及你创作场景的同一画布。这一切都离不开 esmini 在底层所做的艰苦工作。

  • 加载 .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 esminidrawtonomy vs CARLA

  • **排查失败的 CI 场景。**将 CI 中的 .xosc 拖入浏览器,拖拽到失败的时刻并截图。比启动完整仿真器快得多。
  • **审查场景 PR。**没有安装 esmini 的审查员仍然可以在 drawtonomy 中打开并仿真场景。
  • **教授 OpenSCENARIO。**课堂或讲习班可以在学生笔记本电脑上仿真 .xosc,无需本地安装。
  • **录制演示视频。**直接以 16:9、9:16 或 1:1 的比例为幻灯片、bug 报告、客户演示或社交媒体录制 .webm 视频。
  • **直观对比两个场景。**在两个标签页中打开它们并分别拖拽时间轴。
  • **快速查看生成的场景。**从 scenariogenerationScenic 生成的场景,在进行长时间仿真前快速预览。
  • 你需要摄像头 / LiDAR / 雷达传感器仿真 → 使用 CARLA、IPG CarMaker、Foretellix 或其他完整仿真器。drawtonomy 仿真故事板,不仿真传感器。
  • 你在进行数千个场景的回归测试 → 用脚本驱动 esmini 或 CARLA。
  • 你需要生产级的高精地图编辑 → 使用 RoadRunnerTruevision Designer
  • 你需要原生 esmini 附带的 OpenSceneGraph 3D 查看器 → 直接运行原生 esmini。

仿真器加载 ASAM OpenSCENARIO 1.x .xosc 文件及其依赖的 ASAM OpenDRIVE .xodr。两者都是开放标准。你在 drawtonomy 中仿真的同一个 .xosc 可以直接提交给原生 esmini、CARLA、RoadRunner Scenario 或任何其他 OpenSCENARIO 兼容的运行时,无需任何转换步骤。

本页面的浏览器仿真器直接建立在 esmini 项目基础上。仿真核心是编译为 WebAssembly 的 esmini;故事板语义、OpenSCENARIO 1.x 的正确性以及背后多年的精心工作都来自 esmini 的维护者和贡献者,不是来自 drawtonomy。感谢那个团队精心维护 OpenSCENARIO 播放的事实标准。如果 drawtonomy 的浏览器仿真器对你有帮助,请同时 在 GitHub 上给 esmini 加星,并支持上游项目。