跳转到内容

场景编辑器 — 在浏览器中编写和运行 OpenSCENARIO

drawtonomy 的场景编辑器将绘图画布转变为 OpenSCENARIO 编写工具。你绘制道路、放置演员、描述他们随时间的行动,然后点击播放 — 运行由 esmini 编译为 WebAssembly 在同一浏览器标签页内执行。无需安装、无需账户、无需编译步骤。

场景编辑器 — 画布显示道路和演员、传输行、阶段/事件图表和事件编辑器

drawtonomy 将工作分为两部分。在它们之间切换是开始前最重要的事情。

模式你在那里做什么工具栏提供什么
场景绘制道路:车道、交叉口、人行横道、标记。放置车辆和行人。完整的绘图工具栏 — Lane、Linestring、Intersection、Participants 等。
场景逻辑定义行为:阶段、事件、动作、触发器、结束和失败条件。运行场景。仅撤销、重做、Hand、Select、添加演员和 Path。

从左上角的汉堡菜单中切换模式,在 EDITING 标题下:SceneScenario

分割带来两个后果:

  • 你不能在场景逻辑模式中绘制道路。 绘图工具在那里不显示。要返回,使用汉堡菜单,或演员放置面板顶部的 Edit roads 按钮。
  • 先绘制道路并放置至少一个演员。 + Phase 按钮保持禁用,直到场景有演员,没有道路的场景对演员来说没有可驾驶的地方。
  1. 场景模式 — 绘制道路。N 调用 Lane 工具并绘制一条或多条车道。或者 导入 OpenDRIVE .xodr 而不是绘制。
  2. 放置演员。 你可以从任一模式执行此操作:在场景模式中按 P 调用 Participants 工具,或在场景逻辑模式中点击 Add actor — 然后点击车道上。每个演员成为一个 OpenSCENARIO 实体。
  3. 切换到场景逻辑模式。 汉堡菜单 → EDITINGScenario
  4. 构建逻辑。 + Phase 创建带有第一个事件的阶段。每个事件有一个 TRIGGER(何时触发)和一个或多个 ACTIONS(发生什么)。
  5. 设置结束和失败条件。 END CONDITIONS 节点决定何时停止运行;FAIL CONDITIONS 决定运行是 PASS 还是 FAIL。
  6. 播放。 LOGIC 卡左侧的 ▶ 按钮运行场景,结果徽章报告结果。
  7. 导出。 汉堡菜单 → ExportOpenSCENARIO (.xosc)… 导出场景,.xodr (OpenDRIVE) 导出道路,或 Export video… 导出录像。

你的工作在进行过程中自动保存到浏览器,重新打开标签页时返回,所以这里没有必需的”保存”步骤 — 但导出是你用来共享场景或永久保存的方式。

编辑器的标签映射到 OpenSCENARIO 元素。简要版本:

drawtonomy UIOpenSCENARIO 1.x
PhaseAct
EventEvent
TRIGGER事件的 StartTrigger
ACTION私有动作,如 SpeedAction
ALL OF (AND)一个 ConditionGroup
END CONDITIONSstoryboard 的 StopTrigger
FAIL CONDITIONSdrawtonomy 特定,存储为供应商参数

完整表格(包括 RoadRunner Scenario 等价物)在 RoadRunner 和 OpenSCENARIO 术语 上。