完美解析Opendrive地图格式数据

article/2025/11/9 19:27:43

1.前言

高精度电子地图也称为高分辨率地图(HD Map,High Definition Map),是一种专门为无人驾驶服务的地图。与传统导航地图不同的是,高精度地图除了能提供的道路(Road)级别的导航信息外,还能够提供车道(Lane)级别的导航信息。无论是在信息的丰富度还是信息的精度方面,都是远远高于传统导航地图的。 目前市面上提供高精度地图的厂商有:tomtom、here、百度、高德等。 高精度地图流行的格式有很多种,有的厂商直接基于rndf地图增加属性来制作高精度地图,也有厂商使用osm格式增加属性来制作高精度地图。 对于ADAS系统,则有ADASIS定义了地图的数据模型及传输方式,以CAN作为传输通道。 OpenDRIVE是一种开放的文件格式, 用于路网的逻辑描述,常用于高精度地图的制作,百度Apollo则使用基于OpenDRIVE格式改进过的高精度地图。

本文主要对OpenDRIVE文件格式进行简述,详情可参考:http://www.opendrive.org/docs/OpenDRIVEFormatSpecDelta_1.5M_vs_1.4H.pdf。

2.正文

OpenDRIVE文件格式为XML,该XML文件种包含了很多地图信息,如Road、Junction、station等。

example

主要结构如下:

 OpenDRIVE 
|-header 
| |-geoReference 
| |-offset 
|-road  
| |-link 
| | |-predecessor 
| | |-successor 
| | |-neighbor 
| |-type 
| | |-speed 
| |-planView 
| | |-geometry | | | |-line 
| | | |-spiral 
| | | |-arc 
| | | |-poly3 
| | | |-paramPoly3 
| |-elevationProfile 
| | |-elevation 
| |-lateralProfile 
| | |-superelevation 
| | |-crossfall 
| | |-shape 
| |-lanes 
| | |-laneOffset 
| | |-laneSection 
| | | |-left 
| | | | |-lane 
| | | | | |-link 
| | | | | | |-predecessor 
| | | | | | |-successor 
| | | | | |-width 
| | | | | |-border 
| | | | | |-roadMark 
| | | | | | | -sway 
| | | | | | | -type 
| | | | | | | | -line 
| | | | | | | -explicit 
| | | | | | | | -line 
| | | | | |-material 
| | | | | |-visibility 
| | | | | |-speed 
| | | | | |-access 
| | | | | |-height 
| | | | | |-rule 
| | | |-center 
| | | | |-lane 
| | | | | |-link 
| | | | | | |-predecessor 
| | | | | | |-successor
| | | | | | |-predecessor 
| | | | | | |-successor 
| | | | | |-roadMark 
| | | | | | | -sway 
| | | | | | | -type 
| | | | | | | | -line 
| | | | | | | -explicit 
| | | | | | | | -line 
| | | |-right 
| | | | |-lane 
| | | | | |-link 
| | | | | | |-predecessor 
| | | | | | |-successor 
| | | | | |-width 
| | | | | |-border 
| | | | | |-roadMark 
| | | | | | | -sway 
| | | | | | | -type 
| | | | | | | | -line 
| | | | | | | -explicit 
| | | | | | | | -line 
| | | | | |-material 
| | | | | |-visibility 
| | | | | |-speed 
| | | | | |-access 
| | | | | |-height 
| | | | | |-rule 
| |-objects 
| | |-object 
| | | |-repeat 
| | | |-outlines 
| | | | |-outline 
| | | | | |-cornerRoad 
| | | | | |-cornerLocal 
| | | |-material 
| | | |-validity 
| | | |-parkingSpace 
| | | |-markings 
| | | | |-marking 
| | | | | |-cornerReference 
| | | |-borders 
| | | | |-border 
| | | | | |-cornerReference 
| | |-objectReference 
| | | |-validity | | |-tunnel 
| | | |-validity | | |-bridge 
| | | |-validity 
| |-signals 
| | |-signal 
| | | |-validity 
| | | |-dependency 
| | | |-reference 
| | | |-positionRoad 
| | | |-positionInertial 
| | |-signalReference 
| | | |-validity 
| |-surface 
| | |-CRG 
| |-railroad 
| | |-switch 
| | | |-mainTrack 
| | | |-sideTrack 
| | | |-partner 
|-controller 
| |-control 
|-junction 
| |-connection 
| | |-predecessor 
| | |-successor 
| | |-laneLink | |-priority 
| |-controller 
| |-surface 
| | |-CRG 
|-junctionGroup 
| |-junctionReference 
|-station 
| |-platform 
| | |-segment 

A.坐标系

最先考虑的应该时坐标系的表达方式,在GIS中一般使用两种常用的坐标系类型:

  • 全局坐标系或球坐标系,例如经纬度。这些坐标系通常称为地理坐标系。(GCS)

wgs

  • 基于横轴墨卡托、亚尔勃斯等积或罗宾森等地图投影的投影坐标系,这些地图投影(以及其他多种地图投影模型)提供了各种机制将地球球面的地图投影到二维笛卡尔坐标平面上。(PCS)

utm

在OpenDRIVE中可表示为:

<geoReference><![CDATA[+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units= m+no_defs]]> 
</geoReference> 

从OpenDRIVE 1.4 开始, 可以使用格式化为 “proj4”-字符串的投影定义对路网进行地理参照转化. PROJ 是一种通用坐标变换软件, 它将地理空间坐标从一个坐标参考系统 (CRS) 转换为另一个坐标参考系统。这包括制图投影和大地测量转换。 geoReference元素定义了该文件使用的投影坐标系,其中地理坐标系为WGS-84。

在OpenDRIVE数据中大量使用的位置信息都是投影后的xy坐标,而除了该投影坐标系,还定义了一种轨迹坐标系,如下所示,s坐标是沿着reference line的,关于reference line后面介绍,长度是在xy坐标下计算的。 t坐标,是相对于reference line的侧向位置,左正,右负。cs

B.Road Layout

OpenDRIVE中路网结构中的一个road,该road有三部分组成,蓝色的reference line,车道lane,车道lane的其他feature(限速等)。

在这里插入图片描述

所有道路都由一条参照线组成, 用于定义基本几何 (弧线、直线等)。沿着参考线, 可以定义道路的各种属性。这些是, 例如海拔概况、车道、交通标志等。道路可以直接连接 (当两个给定的道路之间只有一个连接时), 也可以通过路口 (当从某一道路到其他道路有一个以上的连接时)。

所有属性都可以根据本规范中规定的标准进行参数化, 也可以通过用户定义的数据进行参数化。

C.Reference Line

整个地图路网由很多的road构成,而每个road中都会包含reference line,就是一条线,它没有宽度。 reference line,线条有好几种类型,直线,螺旋线等, The geometry of the reference line is described as a sequence of primitives of various types. The available primitives are:

straight line (constant zero curvature) spiral (linear change of curvature) curve (constant non-zero curvature along run-length) cubic polynom parametric cubic curves

下图为几种常见的reference line,注意图中的两个坐标系,xy和st

rrl

D.Lane

车道是由数字识别的, 这些数字是唯一的 (每个车道部分, 见下文) - 顺序 (即没有缝隙), - 从参考线上的0开始 - 向左上升 (正 t 方向) - 向右下降 (负 t 方向)

车道总数不受限制。参考线本身被定义为车道零, 不能有宽度条目 (即其宽度必须始终为 0.0)。

l

E.Road Linkage

road之间的连接定义了两种(每个road有唯一的ID),一种是有明确的连接关系,例如前后只有一条road,那么通过 successor/predecessor进行连接(例如下图中的road 1和road 2)。

R

3.总结

总之,对于一个road来说,先确定reference line,有了reference line的几何形状和位置,然后再确定reference line左右的车道lane,车道lane又有实线和虚线等属性;road 和road之间通过普通连接和Junction进行连接,同时还要将road中的相关车道进行连接

参考文献:
https://ryanadex.github.io/


http://chatgpt.dhexx.cn/article/vGNq1lY3.shtml

相关文章

OpenDRIVE文件格式详解

1 OpenDRIVE概要 ASAM OpenDRIVE描述了自动驾驶仿真应用所需的静态道路交通网络&#xff0c;并提供了标准交换格式说明文档。该标准的主要任务是对道路及道路上的物体进行描述。OpenDRIVE说明文档涵盖对如道路、车道、交叉路口等内容进行建模的描述&#xff0c;但其中并不包含动…

Unity iOS 使用 ASTC 格式纹理实践

引言上一篇文章描述了如何在不修改自定义渲染组件的前提下使用 alpha 分离的纹理来提升 iOS 的透明压缩纹理质量&#xff08;见这里&#xff1a;上一篇的链接&#xff09;。在这个方案投入项目开始使用一段时间之后&#xff0c;UI 同学又来找我抱怨了&#xff1a;虽然一些贴图的…

图形 3.6 纹理压缩——包体瘦身术——RGBA与ASTC与ETC2压缩与实际对比体验

包体瘦身术 RGBA与ASTC与ETC2压缩与实际对比体验Unity贴图压缩方式官方文档默认格式安卓的各个格式注意事项 体积对比单图片大小安装包大小 实机表现RGBA32综合表现ASTC12x12综合表现ETC2综合表现 虚假的总结&#xff01;额外的测试报告RGBA32额外测试报告ASTC12x12综合表现ETC…

creator贴图纹理压缩(creator2.4.x 实现ETC2和ASTC)

目录 1. creator游戏开发之纹理压缩 2. 常用的压缩纹理格式 3. 测试 4. ETC2 格式测试 6. ASTC格式测试 送上下载链接 不修改引擎的实现ASTC格式加载.zip-cocos2D文档类资源-CSDN下载 7. 最后附上插件代码 1. creator游戏开发之纹理压缩 目的&#xff1a;减少运行内存…

Android平台压缩纹理ETC2 VS ASTC

1&#xff09;Android平台压缩纹理ETC2 VS ASTC ​2&#xff09;Unity使用Profiler和UWA内存差异巨大 3&#xff09;Unity 2020 IL2CPP打包异常 4&#xff09;TouchScreenKeyboardWrap在PC模式下打包报错 这是第301篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发…

Unity iOS使用ASTC格式纹理实践

引言 上一篇文章描述了如何在不修改自定义渲染组件的前提下使用 alpha 分离的纹理来提升 iOS 的透明压缩纹理质量&#xff08;见这里&#xff1a;https://indienova.com/indie-game-development/unity-alpha-separate/&#xff09;。 在这个方案投入项目开始使用一段时间之后…

ASTC纹理压缩格式详解

https://zhuanlan.zhihu.com/p/158740249 一、ASTC纹理压缩格式介绍 ASTC是在OpenGL ES3.0出现后在2012年中产生的一种业界领先的纹理压缩格式&#xff0c;它的压缩分块从4x4到12x12最终可以压缩到每个像素占用1bit以下&#xff0c;压缩比例有多种可选。ASTC格式支持RGBA&…

astc纹理压缩格式

astc是当前android和ios平台下压缩最好的纹理格式&#xff0c;并且主流的机器基本都支持&#xff0c; astc:支持非2次幂的&#xff0c;2次幂的&#xff0c;等宽高的 一、ASTC纹理压缩格式介绍 ASTC是在OpenGL ES3.0出现后在2012年中产生的一种业界领先的纹理压缩格式。 它的压…

ASTC textures

ASTC textures 原文&#xff1a;https://arm-software.github.io/opengl-es-sdk-for-android/astc_textures.html This document describes usage of compressed ASTC textures. Introduction This tutorial shows how Adaptive Scalable Texture Compression (ASTC) can be …

[图形学]ASTC纹理压缩格式

纹理压缩的目的 1&#xff0c;降低内存&#xff0c;特别是移动端应用&#xff0c;内存占用不应过大&#xff0c;否则低端机很容易崩溃 2&#xff0c;降低带宽&#xff0c;手游类应用&#xff0c;在渲染时会有大量贴图传输到GPU&#xff0c;不限制的话不仅会严重影响渲染性能&a…

ASTC纹理压缩格式(Adaptive Scalable Texture Compression)

原文&#xff1a;这是一个pdf的下载链接 介绍 Adaptive Scalable Texture Compression(ASTC)是一种世界领先的新型纹理压缩格式。这种压缩格式已经加入Khronos标准&#xff0c;并已在某些硬件平台中提供。本文介绍了它的工作原理、使用方法和如何最大程度地使用它。更深入的信…

ASTC纹理压缩格式介绍

一、ASTC纹理压缩格式介绍 ASTC是在OpenGL ES 3.0出现后&#xff0c;在2012年中产生的一种业界领先的纹理压缩格式&#xff0c;它的压缩分块从4x4到12x12最终可以压缩到每个像素占用1bit以下&#xff0c;压缩比例有多种可选。ASTC格式支持RGBA&#xff0c;且适用于2的幂次方长宽…

选择软件人力外包公司看这几点没错

近几年&#xff0c;大数据、云计算等各种互联网技术飞速发展&#xff0c;深入到我们工作生活的各个角落。很多企业为了提升竞争力也加快了信息化建设的步伐&#xff0c;而信息化建设的关键就是软件人才&#xff0c;谁能快速构建真正高效的软件开发团队&#xff0c;谁就能先一步…

10 个Web3 设计灵感网站

10 个Web3 设计灵感网站&#xff1a;Cosmos、Axies Infinity、DeSo Foundation、Foundation App、Llama、Snapshot、Juicebox、Alchemy、RabbitHole 正如Twitter前首席执行官Jack Dorsey最近发的一条推文“你不拥有web3&#xff0c;但风险投资家拥有”&#xff0c;而Marc Andre…

web 服务器有哪些

<1>什么是web服务器 "网络服务"&#xff08;Web Service&#xff09;的本质&#xff0c;就是通过网络调用其他网站的资源。 Web Service架构和云 如果一个软件的主要部分采用了"网络服务"&#xff0c;即它把存储或计算环节"外包"给其他…

要不要进外包?

互联网行业的估计都听过这句话:外包&#xff0c;你是外包&#xff0c;麻烦不要偷吃公司零食&#xff0c;注意素质&#xff01; 事情是这样的:她说自己被外派到一家大公司上班&#xff0c;因为那家公司是大公司&#xff0c;在休息的时候还提供零食和下午茶。大家都知道女生爱吃…

为什么程序员做外包会被瞧不起?

二哥&#xff0c;有个事想询问下您的意见&#xff0c;您觉得应届生值得去外包吗&#xff1f;公司虽然挺大的&#xff0c;中xx&#xff0c;但待遇感觉挺低&#xff0c;马上要报到&#xff0c;挺纠结的。 以上是读者小 K 给我发的私信。除此之外&#xff0c;还有个读者 down 也问…

被迫选择了到了外包公司

即使大厂裁员下来的员工愿意被迫选择了到了外包公司&#xff0c;迫不得已做外包的工作&#xff0c;那么&#xff0c;中小型企业那势必也得裁员&#xff0c;为了接收从大厂下来的&#xff0c;有大厂背景的员工&#xff0c;那么就会裁掉自己公司的员工。 这样看来&#xff0c;这…

测试应届生是去自研小公司好还是外包公司好?

我不知道当年怎么想的&#xff0c;能在一个外包公司一干就是3年&#xff0c;后来终于跳出来了&#xff0c;现在的公司虽然不是什么大厂吧&#xff0c;但至少是个正经的互联网企业&#xff0c;待遇也不错。其实很多地方的朋友都有提到外包公司的一些弊端。 外包公司&#xff1a…

网站建设公司该不该把web前端外包出来!精辟

如今的网站建设公司其实过的并不好&#xff0c;一些建站平台、模板建站、仿站等都对网站定制造成了比较大的影响&#xff0c;网站建设公司如何降低用人成本、灵活的整合第三方资源成为度过“特殊时期”的重要手段&#xff0c;迎接下一波春天的到来。 网站建设公司该不该把前端…