Opendrive地图数据解析

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/2019/06/04/opendrive/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容