1.前言
高精度電子地圖也稱為高分辨率地圖(HD Map,High Definition Map),是一種專門為無人駕駛服務(wù)的地圖。與傳統(tǒng)導(dǎo)航地圖不同的是诡渴,高精度地圖除了能提供的道路(Road)級別的導(dǎo)航信息外,還能夠提供車道(Lane)級別的導(dǎo)航信息菲语。無論是在信息的豐富度還是信息的精度方面妄辩,都是遠(yuǎn)遠(yuǎn)高于傳統(tǒng)導(dǎo)航地圖的。 目前市面上提供高精度地圖的廠商有:tomtom山上、here眼耀、百度痒留、高德等次氨。 高精度地圖流行的格式有很多種,有的廠商直接基于rndf地圖增加屬性來制作高精度地圖陈肛,也有廠商使用osm格式增加屬性來制作高精度地圖妄帘。 對于ADAS系統(tǒng)楞黄,則有ADASIS定義了地圖的數(shù)據(jù)模型及傳輸方式,以CAN作為傳輸通道抡驼。 OpenDRIVE是一種開放的文件格式, 用于路網(wǎng)的邏輯描述鬼廓,常用于高精度地圖的制作,百度Apollo則使用基于OpenDRIVE格式改進(jìn)過的高精度地圖致盟。
本文主要對OpenDRIVE文件格式進(jìn)行簡述碎税,詳情可參考:http://www.opendrive.org/docs/OpenDRIVEFormatSpecDelta_1.5M_vs_1.4H.pdf。
2.正文
OpenDRIVE文件格式為XML馏锡,該XML文件種包含了很多地圖信息雷蹂,如Road、Junction杯道、station等匪煌。
主要結(jié)構(gòu)如下:
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.坐標(biāo)系
最先考慮的應(yīng)該時坐標(biāo)系的表達(dá)方式,在GIS中一般使用兩種常用的坐標(biāo)系類型:
- 全局坐標(biāo)系或球坐標(biāo)系,例如經(jīng)緯度虐杯。這些坐標(biāo)系通常稱為地理坐標(biāo)系玛歌。(GCS)
- 基于橫軸墨卡托、亞爾勃斯等積或羅賓森等地圖投影的投影坐標(biāo)系擎椰,這些地圖投影(以及其他多種地圖投影模型)提供了各種機(jī)制將地球球面的地圖投影到二維笛卡爾坐標(biāo)平面上。(PCS)
在OpenDRIVE中可表示為:
<geoReference>
<![CDATA[+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units= m+no_defs]]>
</geoReference>
從OpenDRIVE 1.4 開始, 可以使用格式化為 “proj4”-字符串的投影定義對路網(wǎng)進(jìn)行地理參照轉(zhuǎn)化. PROJ 是一種通用坐標(biāo)變換軟件, 它將地理空間坐標(biāo)從一個坐標(biāo)參考系統(tǒng) (CRS) 轉(zhuǎn)換為另一個坐標(biāo)參考系統(tǒng)创肥。這包括制圖投影和大地測量轉(zhuǎn)換达舒。 geoReference元素定義了該文件使用的投影坐標(biāo)系,其中地理坐標(biāo)系為WGS-84叹侄。
在OpenDRIVE數(shù)據(jù)中大量使用的位置信息都是投影后的xy坐標(biāo)巩搏,而除了該投影坐標(biāo)系,還定義了一種軌跡坐標(biāo)系趾代,如下所示贯底,s坐標(biāo)是沿著reference line的,關(guān)于reference line后面介紹撒强,長度是在xy坐標(biāo)下計算的禽捆。 t坐標(biāo),是相對于reference line的側(cè)向位置飘哨,左正胚想,右負(fù)。B.Road Layout
OpenDRIVE中路網(wǎng)結(jié)構(gòu)中的一個road芽隆,該road有三部分組成浊服,藍(lán)色的reference line,車道lane胚吁,車道lane的其他feature(限速等)牙躺。
所有道路都由一條參照線組成, 用于定義基本幾何 (弧線、直線等)腕扶。沿著參考線, 可以定義道路的各種屬性孽拷。這些是, 例如海拔概況、車道蕉毯、交通標(biāo)志等乓搬。道路可以直接連接 (當(dāng)兩個給定的道路之間只有一個連接時), 也可以通過路口 (當(dāng)從某一道路到其他道路有一個以上的連接時)。
所有屬性都可以根據(jù)本規(guī)范中規(guī)定的標(biāo)準(zhǔn)進(jìn)行參數(shù)化, 也可以通過用戶定義的數(shù)據(jù)進(jìn)行參數(shù)化代虾。
C.Reference Line
整個地圖路網(wǎng)由很多的road構(gòu)成进肯,而每個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,注意圖中的兩個坐標(biāo)系,xy和st
D.Lane
車道是由數(shù)字識別的, 這些數(shù)字是唯一的 (每個車道部分, 見下文) - 順序 (即沒有縫隙), - 從參考線上的0開始 - 向左上升 (正 t 方向) - 向右下降 (負(fù) t 方向)
車道總數(shù)不受限制抬吟。參考線本身被定義為車道零, 不能有寬度條目 (即其寬度必須始終為 0.0)萨咕。
E.Road Linkage
road之間的連接定義了兩種(每個road有唯一的ID),一種是有明確的連接關(guān)系火本,例如前后只有一條road危队,那么通過 successor/predecessor進(jìn)行連接(例如下圖中的road 1和road 2)。
3.總結(jié)
總之钙畔,對于一個road來說茫陆,先確定reference line,有了reference line的幾何形狀和位置擎析,然后再確定reference line左右的車道lane,車道lane又有實線和虛線等屬性簿盅;road 和road之間通過普通連接和Junction進(jìn)行連接,同時還要將road中的相關(guān)車道進(jìn)行連接