什么是 OpenDRIVE?
OpenDRIVE 是 ASAM 制定的开放标准,用来描述驾驶仿真中的静态道路网络,文件扩展名为 .xodr。它是 OpenSCENARIO 文件引用的标准道路几何容器。
.xodr 文件里有什么
Section titled “.xodr 文件里有什么”.xodr 文件用解析式几何而非多边形来描述道路网络:
- 道路(Road):参考线沿 s 轴用
line、arc、spiral、poly3或paramPoly3分段表示。 - 车道区间(Lane Section):包含左、中、右车道,每条车道都有宽度、类型,以及前驱/后驱车道的连接关系。
- 交叉口(Junction):在路口处连接多条道路,明确记录入射道路与连接道路的映射关系。
- 道路对象:护栏、交通标志、红绿灯、人行横道等。
- 高程与超高:描述道路的 3D 形状。
这种解析式表达让仿真器可以低成本地查询”7 号道路 s=42m 处的车道中心在哪”这类问题,也正因如此,这个格式通常靠工具编辑,很少手写。
值得了解的 OpenDRIVE 版本
Section titled “值得了解的 OpenDRIVE 版本”- OpenDRIVE 1.4 / 1.5——长期稳定版本,老工具里仍然常见。
- OpenDRIVE 1.6 / 1.7——增量改进和措辞澄清。
- OpenDRIVE 1.8——当前版本,也是 drawtonomy 导出时采用的版本。RoadRunner 对 1.4–1.8 全系列都支持导入导出。
各工具大多向下兼容、不向上兼容,用之前先确认你的仿真器要求哪个版本。
OpenDRIVE 与 Lanelet2 的区别
Section titled “OpenDRIVE 与 Lanelet2 的区别”这两种高精地图相关格式经常被混为一谈:
| 维度 | OpenDRIVE | Lanelet2 |
|---|---|---|
| 起源 | ASAM,仿真行业 | Autoware,FZI |
| 几何表达 | 解析式(弧线、回旋曲线、多项式) | 折线(车道由 linestring 围成) |
| 主要使用方 | CARLA、esmini、RoadRunner、Cognata、SCANeR | Autoware 规划模块、感知真值 |
| 存储格式 | XML .xodr | OSM XML |
两者都能描述类似的道路网络,只是针对的下游任务不同。另一侧的视角见什么是 Lanelet2?
常见编辑工具
Section titled “常见编辑工具”- 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 的定位
Section titled “drawtonomy 的定位”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 而非全新手绘时,才可以信任导出的交叉口。