二、高精地图设计
高精地图的格式规范,即对采集到的地图如何进行一个完整的表述。目前比较有影响力的通用格式规范分为NDS(Navigation Data Standard)、OpenDRIVE和Lanelets等。
1.NDS
NDS组织(NDSAssociation)由德国宝马等车厂与导航数据、软件提供商于2005年联合成立,2010年发布了第一个NDS版本(NDSAssociation)。早期的NDS是一种基于嵌入式数据库的导航电子地图数据存储标准,主要是支持导航电子地图的增量更新。而近几年,随着自动驾驶的发展,NDS不断升级版本,发布了越来越多的支持自动驾驶的数据内容,NDS比较关注兼容性和互操作性,注重应用程序与数据分离,而且支持数据更新。
NDS最新的版本将地图要素划分成车道信息、路标、障碍物、规划、基础地图显示(BMD)、名称、POI共七个层。NDS车道模型具备很多高级的功能,如车道级别的交通表达、车道级别的停车等,为自动驾驶提供简洁高效的地图。因保密性的原因,NDS仅公开开放了其中的一部分内容,该内容就是开放车道模型(Open Lane Model,OLM),它所存储的车道拓扑结构和高精度几何形状的分辨率高达1cm。除了能够提供高精度的车道属性信息,该模型显示了边界信息,如墙壁或者彩色车道路标志。而且,复杂的交叉口是通过复杂的连接模型进行描述。
NDS在嵌入式数据库中采用了分层分块的组织方式,它根据地图数据的内容,分为地图显示、路径规划、名称、POI、交通信息、语音表达六个内容层,分别存储在嵌入式数据库的不同数据表中。对于某一内容层的数据,划分为多个比例尺的数据表达层;对以某一内容层指定比例尺的数据,进行分块(tile)表达和存储。对于某内容层指定比例尺的某块的数据,在NDS中,表现为数据库表中的一条记录,即对应在数据表中的一行。数据间的关联,不再是通过传统的地址偏移来链接,而是通过数据库ID来互相引用的。NDS数据模型充分结合了数据库的特性,当需要对地图数据进行更新时,NDS数据进行逐块的更新,即替换数据表中块对应的一行。这种更新方式,充分利用了DBMS的特性,简化了关系的维护。
2.OpenDRIVE
OpenDRIVE是一种用于道路网络逻辑描述的开放文件格式。由德国VIRES Simulationstechnologie GmbH公司于2006年发布第一个版本,目前最新的版本是2019年2月发布的OpenDRIVE 1.5。
OpenDRIVE将道路内容划分为路段、交叉口、停车道、交通标志和道路的入口和出口,交通信号设置等内容。在这个基础上,最新版OpenDRIVE进一步细化了道路信息的描述,包括车道形状、高程和横向坡度、横向剖面、道路Link关系、表面、选择布局、铁路描述等内容。OpenDRIVE是基于XML语言描述的。每条道路在类型、平面图、立面图、横断面等方面独立描述,并分别与同一网络中的其他道路Link信息。交叉口、信号灯也是分开单独的描述文件。
OpenDRIVE按照道路车道数量变化、道路实线和虚线的变化、道路属性的变化的原则对道路进行切分。一条道路可以切分为多个Section。基准线(reference line)用于定义道路的几何形状,车道的编号ID以基准线线为标准向左递增,向右递减。OpenDRIVE在路口中引入虚拟路,虚拟路用来连接路口可通行方向。(https://www.daowen.com)
3.Liblanelet
德国信息技术研究中心在2014年提出了一种用于自动驾驶的地图库Liblanelet。该框架可以在网上进行公开下载,并且在奔驰智能车MERCEDES BENZ S500 INTELLIGENT DRIVE上进行测试和验证。Liblanelet是为特定的、预先已知的路径而设计,例如,Liblanelet只有在预定义的地点才可能改变车道,也就是说Liblanelet不支持超车。此外,Liblanelet不支持在定位和特殊侦察等领域的推广和扩展应用。学者针对这些缺点对其进行修改,在Liblanelet的基础上进行扩展和推广,提出了Liblanelet2。
Liblanelet2地图由五个元素组成:属于物理层点的和线串(linestrings)、Lanelets,属于关系层的区域和调整元素。所有元素有一个唯一的ID标识,并且分配相应的键值对形式的属性。除了固定属性以外,还包括额外的用来增强地图的其他属性。除了区域之外,所有的原始的内容都已经是Liblanelet的一部分。
点是Liblanelet2地图中最基本的要素,用度量坐标系中的三维位置来描述。并且,通常它们是线串的一部分。点是唯一具有位置信息的原始内容,所有其他原始内容都是直接或间接地由点组成。例如,杆的垂直结构可用单点表示。
线串是由两个或多个点进行线性插值组成的有序数组,用于表达地图中元素的形状信息。例如,路标、马路边线、外墙、围栏等都可以用线串表示。线串用来描述任何一维的实体,还可以表达虚拟实体,如可以表达一条小巷的隐式边界。
Lanelets表示地图中定向运动发生的静态区域部分,如普通车道上的人行横道。静态(atomic)表示当前有效的交通规则在Lanelets内没有发生改变,此外与其他Lanelets拓扑关系也不会改变。Lanelets由左边界线串和右边界线串表示,Lanelets也可以重叠或相交,但是同一个线串可能有多个交通规则元素。在Lanelets中,可以允许向相反的方向移动,此时左右边界互换,反之亦然。
区域是地图上没有方向或没有运动的部分,由一个或多个线串定义,这些线串一起形成一个封闭的外部边界。单个或多个线串,可以一起定义几个内部边界,从而在区域内形成孔。与Lanelets类似,这些也可以具有规则元素,如停车场、广场、绿地或建筑物。
4.中国的格式
中国卫星导航应用产业化进程逐渐加快,但仍与快速增长的应用需求不匹配,在高精度地图制图、地图表达和地图应用方面尚缺乏统一的、可参考的依据和标准。国家测绘地理信息局、全国地理信息标准化技术委员会下达的2017年度测绘地理信息标准项目研究计划中包括高精度电子地图相关的标准《道路高精度电子导航地图数据规范》(CH/T 05—2017)、《道路高精度电子导航地图生产技术规范》(CH/T 04—2017),包括上海市测绘院、浙江省第一测绘院、百度、四维图新、易图通、公安部交通管理科学研究所、解放军信息工程大学、同济大学在内的国内主流的车载电子企业和地图企业及高校科研机构等都将参与该高精度道路导航地图的标准制定工作。从逻辑结构上对车道级高精细地图进行分层定义,增加车道网络和车道线两层地图信息,其定义的高精度地图数据分为4层:第1层为道路层,包含道路网络信息;第2层为车道网络层;第3层为车道线层;第4层为交通标志层,包含红绿灯、路牌、路标等信息。目前国内各大厂商大多在现有电子地图的基础上扩展无人驾驶需要的道路及其设施信息,如在基础地理数据中增加路网的交通规则,红绿灯几何位置,交通标志标牌的语义信息,交通标线的转向含义、车道线数量及其对应行驶规则,基础设施(如人行横道、虚实线、隔离带类型等)的交通规则等,建立基于道路网的全要素交通信息和完整拓扑关系。