image.png
高精地图的格式规范,即对采集到的地图如何进行一个完整的表述。
目前最主流的通用格式规范分NDS和OpenDRIVE两种。此外还有日本OMP公司的格式规范。
NDS是一种非常全面的地图表述方式。
由于其数据库可以细分和运用了Level两种技术,NDS对地图的格式规范做得非常到位。
NDS有上百页格式文档,因此NDS把数据库做了细分,每个细分后的产品都能够独立更新升级。
其最典型表现是一个NDS不仅包括基本导航技术数据、B公司的POI数据(即地图上的一个点,地图上每一家商家店铺都可以被称之为一个POI数据点),还支持局部更新,即使是对一个国家或者省市的相关内容进行局部更新,都十分便捷。
为了方便用户,NDS还提供语音、经纬度等描述功能。
NDS中另外一个非常重要的概念叫做Level(尺度),其含义类似于传统手机地图功能中的比例尺。
通过放大或缩小比例尺,来浏览全国或某个区域、某栋楼的地图信息。分块技术作为地图领域中一项普遍通用的技术,也被应用到Level中。
由于地图的范围非常大,利用Level把整个地图切成一个又一个的小格子,在每个小格子中填充数据。
当我们在使用百度地图或高德地图时,这些小格子显而易见。
虽然这一规范十分重要,但是该技术目前在国内尚未普及,国外使用则相对较普遍,特别是宝马等大厂商使用较多。
该操作也是使NDS的地图格式规范全面到位的原因之一。
OpenDRIVE是目前国际上较通用的一种格式规范,由一家德国公司制定。
需要说明的一点是百度Apollo中也开发了自己的OpenDRIVE,与德国的OpenDRIVE有所不同。
在运用OpenDRIVE格式规范表述道路时,会涉及Section、Lane、Junction、Tracking四个概念。
无论车道线变少或变多,都是从中间的灰线切分。切分之后的地图分为Section A、Section B和Section C三部分。
一条道路可以被切分为很多个Section。按照道路车道数量变化、道路实线和虚线的变化、道路属性的变化的原则来对道路进行切分。
在第二个Lane概念中,Reference Line在OpenDRIVE规范中非常重要。没有Reference Line,可以说一事无成。
基于Reference Line,向左表示ID向左递增,向右表示ID向右递减,它是格式规范的标准之一,同时也是固定的、不可更改的。
比如,Reference Line的ID为0,向左是1、2、3,向右是−1、−2、−3。
Junction是OpenDRIVE格式规范中的路口概念。Junction中包含虚拟路,虚拟路用来连接可通行方向,用红色虚线来表示。
在一张地图中,在遇到对路口的表述时,虽然说路口没有线,但我们要用虚拟线来连接道路的可通行方向连,以便无人驾驶车辆明确行进路线。
以上三个概念在OpenDRIVE格式规范中,是基于Reference Line条件下应用,还有基于Reference Line和偏移量条件下的应用,其中十分重要的一个概念叫做Tracking。
Tracking的坐标系是ST,S代表车道Reference Line起点的偏移量,T代表基于Reference Line的横向偏移量。
前者是纵向的,后者是横向的。此外,还有一些概念,如Heading、Pitch和Roll等,不再赘述。
在OpenDRIVE里,所有对车道线的描述都基于Reference Line的偏移量。
比如,我们这个车道线表示的Reference Line,关于它的描述都是基于它的偏移。
这个车道线可以通过方程来描述,其他属性如车道线左右的坡度,也可以通过一个基于Reference Line偏移的方程来描述。
这种形式非常复杂,在实际操作中困难重重。
百度在Open Derive格式规范中对该技术进行了改进,使之对开发者更加友好,也更利于Apollo自身的表述计算,具体情况今后我们将详细地分享给大家。