跳转到内容

什么是 OpenDRIVE?

OpenDRIVE 是 ASAM 制定的开放标准,用来描述驾驶仿真中的静态道路网络,文件扩展名为 .xodr。它是 OpenSCENARIO 文件引用的标准道路几何容器。

.xodr 文件用解析式几何而非多边形来描述道路网络:

  • 道路(Road):参考线沿 s 轴用 line、arc、spiral、poly3 或 paramPoly3 分段表示。
  • 车道区间(Lane Section):包含左、中、右车道,每条车道都有宽度、类型,以及前驱/后驱车道的连接关系。
  • 交叉口(Junction):在路口处连接多条道路,明确记录入射道路与连接道路的映射关系。
  • 道路对象:护栏、交通标志、红绿灯、人行横道等。
  • 高程与超高:描述道路的 3D 形状。

这种解析式表达让仿真器可以低成本地查询”7 号道路 s=42m 处的车道中心在哪”这类问题,也正因如此,这个格式通常靠工具编辑,很少手写。

  • OpenDRIVE 1.4 / 1.5——长期稳定版本,老工具里仍然常见。
  • OpenDRIVE 1.6 / 1.7——增量改进和措辞澄清。
  • OpenDRIVE 1.8——当前版本,也是 drawtonomy 导出时采用的版本。RoadRunner 对 1.4–1.8 全系列都支持导入导出。

各工具大多向下兼容、不向上兼容,用之前先确认你的仿真器要求哪个版本。

这两种高精地图相关格式经常被混为一谈:

维度OpenDRIVELanelet2
起源ASAM,仿真行业Autoware,FZI
几何表达解析式(弧线、回旋曲线、多项式)折线(车道由 linestring 围成)
主要使用方CARLA、esmini、RoadRunner、Cognata、SCANeRAutoware 规划模块、感知真值
存储格式XML .xodrOSM XML

两者都能描述类似的道路网络,只是针对的下游任务不同。另一侧的视角见什么是 Lanelet2?

  • MathWorks RoadRunner——应用最广的高精地图编辑器之一,完整支持 OpenDRIVE 1.4–1.8。商业软件,不少高校可申请校园许可。
  • Truevision Designer——桌面版 OpenDRIVE 编辑器,非商业用途免费,常被当作 RoadRunner 的开源替代。
  • Blender Driving Scenario Creator——开源 Blender 插件,支持三次回旋曲线道路几何和完整的交叉口建模。
  • LaneMaker——免费的 Apache-2.0 桌面编辑器,内置交通仿真,面向轻量使用场景。
  • odrviewer.io 和 odrplot——纯查看工具,在浏览器里检查 .xodr 文件,不支持编辑。
  • drawtonomy——浏览器端白板,可导入并导出 OpenDRIVE(最高支持 1.8),带有 carry-through 往返能力。

drawtonomy 是一款基于浏览器的 2D OpenDRIVE 编辑器。它不是要取代 RoadRunner / Truevision / BDSC 这类 3D 高精地图编辑工具,但在 2D 道路网络这条线上,它能覆盖完整的工作流:

  • 导入 .xodr 文件,挑出需要的道路,用可视化方式编辑车道、交叉口和连接关系。
  • 从零绘制道路布局——交叉口、车道合并、车道几何——并放置红绿灯、交通标志、停止线、路权关系,这些都是可编辑的监管元素,与它们所约束的车道相关联。
  • 导出 OpenDRIVE 1.8,同时输出一份 OpenSCENARIO 文件(可选 1.0 / 1.1 / 1.2),或者打包成一份可直接给 esmini 用的 zip。导出器不只是原样搬运,还能合成 <junction> / <connection> / <laneLink> 结构以及 <signal> 条目。
  • 往返一致性:没有被编辑过的道路、信号和标志会通过 carry-through 机制从原始 .xodr 逐字重新写出,解析式几何、交叉口归属、完整的 <signal> 属性集都会被保留(已对照 esmini 的 RoadManagerLib 验证过)。
  • 在 3D 预览(跟车视角 / 俯瞰 / 驾驶员视角摄像机)里查看导入或自建的路网,和 2D 画布并列显示——适合用来做直观核对,但它只能查看、不能编辑,也不能替代专门的 3D 高精地图工具。
  • 全部功能都在浏览器里运行,无需安装,也无需注册账号。

2D 折线模型的局限也要说清楚:

  • 3D 细节——高程、超高、桥梁、立体交叉。drawtonomy 的画布是 2D 的,所以导入时会丢弃竖直方向的几何,导出时也不会重新生成;3D 预览只是把平面道路铺在一个平面上播放,并不会补上地形或高程。要做 3D 高精地图,请使用专门的高精地图工具。
  • 从零绘制道路的解析式曲率。这些道路是根据采样点拟合出 OpenDRIVE 几何的,而不是以原生回旋曲线系数的形式直接编辑。对 esmini / CARLA / Autoware 的回放来说完全够用,但不适合做道路设计 CAD。已导入且未改动过形状的道路,会通过 carry-through 保留原始解析式几何。
  • 从零绘制路网的交叉口精度。从导入的 .xodr 原样 carry-through 过来、未经编辑的交叉口,拓扑还原度很高;但由手绘车道网络合成出来的交叉口目前还不够可靠——只有当周边道路来自 carry-through 而非全新手绘时,才可以信任导出的交叉口。