跳转到内容

Lanelet2 编辑器 — 免费、浏览器、无需安装

drawtonomy 首先是一个免费的浏览器白板工具,用于驾驶场景设计。因为车道是一类具有拓扑感知的一级形状,同一个画布也可以作为免费、浏览器版的 Lanelet2 编辑器使用:打开一个 Lanelet2 .osm 文件,在 2D 画布上可视化编辑车道线和路口连接,然后重新导出为 Lanelet2 格式——全部在浏览器中完成。无需安装,无需账号。drawtonomy 不管理的管制元素和标签通过一个 sidecar 机制保留下来。

导入一份 Lanelet2 .osm 地图,然后在浏览器中编辑车道线几何。
  • TIER IV Vector Map Builder — 免费、浏览器版、为 Autoware 设计。 支持车道及管制元素(信号灯、停止线、人行横道、停车位)和点云参考图层。 是做认真的 Autoware 高精地图工作的最佳选择。
  • JOSM 加 Autoware Lanelet2 插件 — 经典的桌面 OSM 编辑器,为 Lanelet2 扩展。
  • MapToolbox — 基于 Unity 的矢量地图编辑器,为 Autoware 设计。

drawtonomy 是浏览器版、轻量级、免费的选择,适合做 2D 几何编辑和小地图裁剪。如果你的编辑需要在 UI 中创建管制元素(信号灯分组、通行权关系、限速),或者工作范围是城市级别,那么应该用 Vector Map Builder 或 JOSM。

并排对比: drawtonomy vs JOSMvs Vector Map Buildervs MapToolbox

根据其导出文档

  • 读取一个 Lanelet2 .osm 文件,将 lanelets 渲染为 drawtonomy 的车道形状。
  • 允许你重新塑造边界(拖动控制点、平滑边界、基本几何编辑)。
  • 重新导出结果。drawtonomy 在 UI 中不管理的管制元素和其他标签通过一个 sidecar 机制保留原始 .osm 内容。
  • 在 UI 中创建或编辑管制元素 — 信号灯分组、通行权关系、限速、停止线/车道绑定。Vector Map Builder 和 JOSM 是这方面的合适工具。
  • 城市级别的地图。drawtonomy 为小场景优化。
  • 基于 LiDAR/航拍影像的测量级编辑
  • 批量操作 — 没有过滤器,不支持对数千条 lanelets 的批量编辑。
  • 点云参考图层。Vector Map Builder 支持在 PCD 之上追踪;drawtonomy 不支持。
  • 快速检视 Lanelet2 地图,无需安装任何东西。
  • 轻量级几何调整 — 修复偏离的边界、平滑锯齿状线段——在小地图上。
  • 裁剪大地图的一个区域,用于论文图或教学示例。
  • 制作干净的图 展示现有地图的一小部分。

如果你的编辑需要管制元素或要处理城市级别的地图,使用 Vector Map Builder 或 JOSM。drawtonomy 只关注几何和可视化。

具体工作流:一个小的几何修复

Section titled “具体工作流:一个小的几何修复”
  1. 导入 → Lanelet2 OSM。
  2. 平移/缩放到需要编辑的 lanelet。
  3. 点击选择;拖动边界控制点;使用”平滑边界”按钮。
  4. 导出 → Lanelet2 OSM。
  5. 比较输入和输出,确认只有你想改变的内容被改变了。

sidecar 机制意味着 drawtonomy UI 范围之外的标签和管制元素在重新导出时会原样保留,所以地图的其余部分不受影响。

详见导入 Lanelet2 OSM 地图的导入细节。

如果你有一份 Lanelet2 地图,想基于它制作一个简单的驾驶场景,drawtonomy 可以充当可视化桥梁——但范围很窄。

Lanelet2 OSM → drawtonomy 画布 → 简易 OpenSCENARIO + OpenDRIVE 包

具体步骤:

  1. 导入 Lanelet2 地图。
  2. 按需要修剪和调整几何。
  3. 添加一小组场景参与者。
  4. 用路径箭头标明意图。
  5. 导出 esmini 包(.xosc + .xodr + run.sh)。
  • 一个快速的方式,基于现有 Lanelet2 地图来制作论文图或设计讨论用的场景。
  • 一个可以在浏览器中运行的场景,基于 esmini WebAssembly,或导出为包进行原生 esmini 运行。
  • 一个可重用的 .drawtonomy.svg 源文件,用于图的多种变体。
  • 真正的 Lanelet2 → OpenDRIVE 转换器。drawtonomy 的导出器不做解析几何重建。它生成的 OpenDRIVE 是对 lanelets 的可视化重新解释,不是工业级转换。如果需要,使用专用转换器——例如,CommonRoad 场景设计工具箱通过 CommonRoad 中间格式提供 Lanelet2 ↔ OpenDRIVE 转换,还有一些研究工具直接针对此。
  • 参数扫描场景群。drawtonomy 一次只编辑和运行一个具体的 OpenSCENARIO 1.x 场景(导出 1.0–1.2 版本)——actionstriggers 和 PASS/FAIL 条件都在场景编辑器中工作——但它不做参数扫描、自定义/ML 控制器或 OpenSCENARIO 2.0/M-SDL。从 DSL 或 Python 库生成场景群。
  • 目标中的 Lanelet2 管制元素。导入的管制元素在重新导出时通过 sidecar 保留,但目前不会作为 <signal> 或 storyboard 条目传播到 OpenSCENARIO 端。
  • 紧密的 Autoware 集成。drawtonomy 在 OpenSCENARIO/OpenDRIVE 对处停止;在 Autoware 栈内运行场景需要 Autoware 自己的工具。
  • 导出前裁剪。Lanelet2 地图往往覆盖比你需要的多得多的区域。
  • 验证车道方向。导入的 lanelet 方向映射到 OpenDRIVE 车道方向。检查人行道/反向车道是否意外保留为可行驶车道。
  • 在浏览器中运行场景。地图进来后,把它带入场景编辑器添加 actions 和 triggers,在 esmini-WASM 上播放故事板并获得 PASS/FAIL 判定——无需安装 esmini。
  • 城市级或生产级 Lanelet2 → OpenDRIVE 转换 → 使用专用转换器。
  • 生产级场景群 → 基于已知正确的 OpenDRIVE 从代码生成,或使用 DSL。
  • Autoware 内部场景 → 使用 Autoware 自己的场景工具。