会议背景音乐OpenDrive格式⾼精度地图详细解析及其使⽤(2.Road道路元素和Lane车道元
素)
⼤家过年好!距离上次更新过去了很久的时间,是因为12⽉份的时候⾝体出现了⼀点⼩状况,在碰上今年⼀⽉份的时候事情有点多,更新就这么⼀直耽误了,好在这⼏天在家可以安⼼码字,把之前没更新完的更新完,废话不多说,我们接下来直接上⼲货。
1.道路元素(Road)
锦衣夜行电视剧准确的来说,不应该把道路元素(Road)和车道元素(Lane)分开来说,因为车道元素是包含在道路中的,车道集合(lanes)是道路的⼀个⼦元素,每个道路必须有⼀条以上的,但是我觉得分开说能讲的更好,所以就这么分开说了。
Road的集合Roads是opendrive的三⼤元素之⼀,Roads中包含着所有的道路信息,这些道路信息描述了整张地图。
⾸先来看Road这个元素的属性有哪些:
name 道路的名字,这个就是平时⼤街上XX街XX路⼀样单纯的名字。
length 道路的长度,注意这个长度是不受⾼程影响的,还记得之前我们说过st坐标系中的s么,s的取值范围就是(0, length)。
id 道路的id,主键,规定了该道路的唯⼀id。
junction 表⽰该道路是否属于交叉路⼝Junction中的连接道路ConnectionRoads,你现在应该不知道连接道路是什么,这个我们将在junction元素的介绍中详细讲述,现在你可以把这个元素当作是交叉⼝为了表达复杂道路连接所借助的⼀种建模⼯具。
rule 就如图⽚中所⽰,标注使⽤道路的基本规则。
处理的英文
接下来我们会从⼦元素⼊⼿,逐个分析,在这之前,我截取了项⽬中的⼀个道路的描述,读者可以看⼀看并尝试从字⾯上猜测各⼦元素的作⽤。
高浓度复合肥
道路连接元素link
⾸先我们看⼀下link⾃带的属性,分别是前驱道路(predecessor)和后继道路(successor)还有连接点(contact point)
如何双面打印
在我们实际开车的过程中,可以从XX路⾏驶⾄XX路本质上的原因是因为道路存在连接,可能是⾃然⽽然的⼀对⼀顺序连接,也可能是在复杂的交叉⼝中⽽进⾏连接。那么这个元素就是标志着这⼀条道路的前驱道路(predecessor)和后继道路(successor),从⽽让我们明晰道路的连接关系。
连接有两种,⼀种是道路连接道路,另⼀种是道路连接交叉⼝,道路连接交叉⼝本质上解决的就是复杂连接的情况,设想⼀下我们开车经过某个⼗字路⼝,驶⼊路⼝前我们通常有三种选择,左转、右转、和直⾏,这三种⾏驶选择对应着三种道路连接,那么简单的道路连接道路就⽆法解决了,语⾔描述有些抽象,我画了张简图,还记得之前我们说过的参考线么,某种程度上来说,其实本质上道路之间的连接就是参考线之间的连接,如下图所⽰(⼿绘多谅解):
斯巴达是哪个国家
我相信你⼀定能理解我的意思,可以看到前驱和后驱是基于参考线的⽅向来规定的,沿着参考线⽅向的是后驱道路,反之则为前驱,连接点则是由前驱后驱道路参考线⽅向决定的,连接的是参考线起点则contactPoint属性为start,否则则为end。
道路种类元素type
这个元素没什么好说的,就是描述道路种类的,⼀般我们见到的都是城镇道路town。
描述参考线的元素planView
滑板怎么转弯
这个元素参考我们之前那⼀篇⽂章,参考线由⼏何线组成。所以planView就是⼦元素geometry⼏何线的集合。⾥⾯的属性我们在上⽂中已经进⾏了详细的介绍,不再赘述。
⾼程元素elevation和超⾼程元素superelevation
⾼程元素就是道路S轴同向的⾼度变化,我们常说的道路的起伏,超⾼程元素是参考线t轴同向的变化,即道路的斜坡,下⾯的图⽚很好的解释了这两种元素的⽤途:
西瓜谜语
相信看完这幅图你能很好的了解这两种元素的⽤途,这两种元素的属性较为⼀致,S为起始的参考线s值位置,abcd均为三次多项式的参数,通过计算就可以描述出道路的状态。
2. 车道Lanes
road的⼦元素中包含lanes元素,该元素为车道的合集,注意,每⼀条道路必须有⼀条或⼀条以上宽度⼤于0的车道。⼀个道路上的车道是这样描述的,如下图所⽰:
可以看到每⼀条车道上有编号,在描述中需要使⽤中⼼车道对OpenDRIVE中的车道进⾏定义和描述。中⼼车道没有宽度,并被⽤作车道编号的参考,⾃⾝的车道编号为0。对其他车道的编号以中⼼车道为出发点:车道编号向右呈降序,也就是朝负t⽅向;向左呈升序,也就是朝正t⽅向。在OpenDrive中编号为负的车道为< right >,中⼼车道为 < center >,编号为正的车道为 < left >。
⽤通俗的话来讲,⾏驶⽅向与参考线⽅向相同的右车道编号为负,相反的左车道则为正。中⼼车道⼤多数时候与参考线重合,但并不绝对,laneOfft元素就是⽤来描述参考线与中⼼车道不重合的情况,
但是laneOfft的运⽤并不太多,因此我就不叙述了,如果你需要了解这个元素,可以去OpenDrive官⽅⽂档中了解,我觉得这部分写得还不错,相信聪明的你⼀定能看懂。
车道段laneSection
为了更好地描述车道,OpenDrive引⼊了车道段的概念,我们通常在车道编号发⽣变化的时候引⼊⼀个新的车道段,上⾯的图⽚就描述了两个车道段的情况,车道段的属性S代表分段的起始位置。我们描述的每⼀条车道都是在车道段内来描述的,因此注意它们之间的包含关系。我们来看⼀个⽰例:
仔细看上⾯的⽰例描述的车道段,相信你能对我上⾯说的有⼤致的了解,接下来我们深⼊每⼀条车道。
车道元素Lane
车道的主要属性包括:
id 即车道的id,上⾯我们说到的那个。
type 车道类型,包括很多种,⽐如说⾏驶的车道就是driving,⼈⾏道就是sidewalk。
level 车道是否采⽤超⾼程的标志,如果为true,即车道保持⽔平,否则采⽤超⾼程。
车道连接