OpenDRIVE地图第二篇:车道LANE
前言
在前讲过了参考线reference line,参考线是没有宽度的,车辆也无法通行,下面引入车道Lane,车道本身有宽度(width),以及虚线、实线等属性参数。结合这些参数,可以在reference line的基础上将车道画出来。有了车道车辆也就可以通行了。下面先把基本的概念说一下。官方是先介绍road,再介绍lane,这里我先介绍lane,有了车道,再有道路,然后考虑道路连接。声明:以下图片均引用自ASAM OpenDRIVE官方文档。
1 车道ID排序
以reference line为标准,它的ID为0,左为正方向,向左序号依次增大,右为负方向,向右序号依次减小。0是center lane就是reference line,没有宽度width,只是一条线。下图中左边定义了3条车道,ID分别为1、2、3,而右边定义了2条,ID分别为-1、-2。
2 Lane sections
在Lane下有一个laneSection车道横截面的概念,每个laneSection中包含了车道lane。车道可分为多个车道区段。每个车道段包含固定数量的车道。每改变车道数,就需要一个新的车道段。车道路段按照道路参考线的前进方向(这个地方翻译不知道是否合适,原文是升序,我个人理解就是按照参参考线的值变大的方向)定义。对于复杂的车道,也可以在单侧进行lane Section,更加方便描述。
lane Section的规则:
每条道路road至少有一个lane Section;元素应按照s坐标升序定义;lane Section的长度应大于零;在每个s位置都应该有一条中心车道;应避免长距离使用宽度为0的车道;每次车道数改变时,应定义新的车道段;在定义新的lane Section之前,旧的lane Section应一直有效;可根据需要多次更改一个车道段内的车道属性;使用@singleSide属性可以为道路的一侧定义lane Section。
3 Lane offset
这个概念在OpenDRIVE中看似定义很清楚,但是用起来才知道不是那么回事,很多作者也提到了这一点。直接上图给大家说明。
<lanes> <laneOffset s="25.0" a="0.0" b="0.0" c="3.9e-03" d="-5.2e-05"/> <laneOffset s="75.0" a="3.25" b="0.0" c="0.0" d="0.0"/> </lanes>
第一段laneoffset,从25m到75m处的offset如下图所示,最大值3.25,在75处的offset是0;
第二段laneoffset在75处的offset是3.25。这两段怎么连接谁能告诉我。我看很多文章都在写这一段例子,不知道大家去实践没有。鉴于此,我就不对这个属性展开了,或者后期解决了自己的疑惑再来更新。
4 Lane linkage
为了实现车道导航,车道的联动信息存储在OpenDRIVE中。通过每个车道的 and 信息来描述联动。车道可以与同一条或另一条道路上的车道相连。给定车道的 是一个在其基准线方向上连接到其车道段起点的车道。一个给定车道的 是一个在参考线方向上连接到其车道区段末端的车道。由 和 组成的车道连接与行驶方向无关。
对这段连接做个说明:road10和road30的连接好理解,road20和road10的车道ID的排序不一样,原因是两条参考线的方向相反。