https://www.asam.net/index.php
https://blog.csdn.net/An1090239782/article/details/124590617
https://blog.csdn.net/qq_39767850/category_9260279.html
坐标系
OpenDrive地图中主要包含三个坐标系,分别为xy惯性坐标系,st参考线坐标系和uv局部坐标系
- 惯性坐标系的X轴通常指向东,Y轴指向北,作为最稳定的坐标系,在执行routing等功能时我们使用的都是惯性xy坐标
- st坐标系又名参考线坐标系,参考线可以将其想象为一条道路,那么st坐标系的走势就是从参考线开始到参考线结束一直沿着参考线的切线方向进行的,st坐标系是针对于参考线来说的,只有同一条参考线为基准下才能比较两个点的st坐标
st坐标系一直随着参考线的变化在变化,且一直沿着切线方向,由此我们可以推断出:在st坐标系中S的取值范围为[0, 参考线长度length],而t即为基于参考线的偏移,所有处于参考线上的点t值均为0 - uv坐标系目前看来只有在参数多项式那里使用了,你目前只需要知道它是由参考线坐标系通过确定原点并提供偏向角来确定的,此外无他。
结构


OpenDrive格式的文件结构分为三大类:Header类,Road类,Junction类。
Header类
<header revMajor="1" revMinor="4" name="" version="1.00" date="Thu Aug 13 13:55:33 2020" north="0.0000000000000000e+00" south="0.0000000000000000e+00" east="0.0000000000000000e+00" west="0.0000000000000000e+00">
</header>
Road
参考线
我们无法保证一条道路的走势是完全一致的,设想一条前半段为直线后半段为曲线的道路,如果想方便的用方程对其进行表示,分段表示是最好的选择,而这种分段,就是几何线表示参考线原理所在
直线是最常用的元素,在OpenDrive中用line来表示。直线有四个属性,首先是S值,S值表示该段几何线在参考线中的起始位置,观察上面我给出的那条参考线并结合OpenDrive代码,你可以发现表示参考线的第一条几何线就是直线,所以第一条直线的S值就是0。其次是x, y值,xy值给出参考线起始位置在惯性坐标系下的位置。然后是heading,该值给出起始朝向,用弧度表示,上面给出的第一条line的弧度转化成为角度大致是-71度,最后是length属性,给出几何线的长度。结合上述属性,我们可以确定这样一条参考线
道路连接元素link
分别是前驱道路(predecessor)和后继道路(successor)还有连接点(contact point
前驱和后驱是基于参考线的方向来规定的,沿着参考线方向的是后驱道路,反之则为前驱,连接点则是由前驱后驱道路参考线方向决定的,连接的是参考线起点则contactPoint属性为start,否则则为end
车道Lanes

中心车道没有宽度,并被用作车道编号的参考,自身的车道编号为0。对其他车道的编号以中心车道为出发点:车道编号向右呈降序,也就是朝负t方向;向左呈升序,也就是朝正t方向。在OpenDrive中编号为负的车道为< right >,中心车道为 < center >,编号为正的车道为 < left >。
车道段laneSection

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
网友评论