C#,自动驾驶,《OpenDRIVE 1.8.0规范摘要》及 1.8/1.7/1.6/1.5/1.4 各版本
本文介绍自动驾驶技术的尺度之一《ASAM OpenDRIVE》1.8.0 版本的规范摘要,及北京联高软件开发有限公司实现的1.8/1.7/1.6/1.5/1.4 各版本 xodr 文件(XML)C# Parser 源代码。支持全部元素的准确剖析;覆盖重要版本:1.4H,1.5M,1.6, 1.7,1.8;非常完备的注释!支持xml格式 *.xodr 文件的剖析;支持转为 json;支持曲线、曲面的毗连、过分、插值计算;支持各种实体的显示。关于OpenDRIVE
本文档是 ASAM e.V. 的版权财产。 在更改常规许可条款时,ASAM 允许不受限制地分发此尺度。因此,ASAM 常规许可条款的 §2 (1) 替换为以下条款:“许可方授予每个人使用尺度 ASAM OpenDRIVE 的基本、非排他性和无限制的许可”。
01 术语和界说
桥
桥梁在 ASAM OpenDRIVE 中建模为对象。 带有 bridge 对象的道路通向一座桥。 桥梁对道路的整个横截面有效,除非提供具有进一步限制的车道有效性记载作为子元素。
Bridge
Bridges are modeled as objects in ASAM OpenDRIVE. The road with the bridge object leads over a bridge. Bridges are valid for a road’s complete cross section unless a lane validity record with further restrictions is provided as child element.
公共毗连
公共路口是 ASAM OpenDRIVE 中的默认路口范例,用于指定可行驶车道可能重叠且车辆可能交叉的区域。
Common junction
Common junctions are the default type of junction in ASAM OpenDRIVE and specify areas where drivable lanes may overlap and traffic may cross.
毗连道路
毗连道路是交叉路口的一部分,毗连进出的道路。
Connecting road
Connecting roads are part of a junction and link the roads going in and out.
路口
十字路口是没有毗连道路的路口。 它们界说了可以显示交叉流量的部分。 交通不会在道口改变道路,例如在铁路道口。
Crossing
Crossings are junctions without connecting roads. They define sections where crossing traffic can appear. Traffic does not change roads at crossings, for example, at railway crossings.
直接结
直接交叉路口旨在对可行驶车道可能重叠以进行分叉或合并,但交通不会交叉的入口和出口进行建模。
Direct junction
Direct junctions are intended to model entries and exits where drivable lanes may overlap to split or merge, but traffic does not cross.
进入
条目是道路合并到另一条道路的位置。 条目与用于加速车道的元素的 @type 属性的值差别。entry<lane>
Entry
Entries are locations where roads merge into another road. Entries are not the same as the entry value of the @type attribute at the <lane> element which is used for the acceleration lane.
退出
出口是道路分叉成其他道路的位置。 出口与用于减速车道的元素的 @type 属性的值差别。exit<lane>
Exit
Exits are locations where a road splits into other roads. Exits are not the same as the exit value of the @type attribute at the <lane> element which is used for the deceleration lane.
出场道路
传入道路包含通向交叉路口的车道。
Incoming road
Incoming roads contain lanes that lead into a junction.
惯性坐标系
惯性坐标系是符合 ISO 8855 的右手坐标系。
Inertial coordinate system
An inertial coordinate system is a right-handed coordinate system according to ISO 8855.
交汇点
交汇点对道路之间的交叉点进行建模。
Junction
Junctions model intersections between roads.
“交汇点”组
交汇点组指示路径分配的交汇点属于同一节点,而且通常被视为一个大交汇点,例如环形交叉路口或高速公路交汇处。
Junction group
Junction groups indicate for routing that the grouped junctions belong to the same node and are commonly seen as one big junction, for example roundabouts or highway interchanges.
车道
车道是所有道路的紧张组成部分。 车道附着到道路参考线,并从内到外界说。
Lane
Lanes are an essential part of all roads. Lanes are attached to the road reference line and are defined from inside to outside.
车道偏移
车道偏移使中央车道远离道路参考线。
Lane offset
Lane offsets shift the center lane away from the road reference line.
车道截面
每当车道数目或其功能发生变革时,车道段就会将道路分成多个部分。
Lane section
A lane section splits a road into multiple parts whenever the number of lanes or their function changes.
车道范例
车道具有一种界说其功能的车道范例,例如,驾驶、骑自行车或出口。
Lane type
A lane has one lane type that defines its function, for example, driving, biking, or exit.
车道有效性
通道有效性将信号和对象限制为特定通道。
Lane validity
Lane validities restrict signals and objects to specific lanes.
车道宽度
车道宽度可沿车道段内的 t 坐标加宽或变窄车道。
Lane width
Lane widths widen or narrow lanes along the t-coordinate within lane sections.
局部坐标系
局部坐标系是符合 ISO 8855 的右手坐标系。
Local coordinate system
A local coordinate system is a right-handed coordinate system according to ISO 8855.
对象
对象通过扩展、界定或补充道路的路线来影响道路。 对象是构成环境的元素,例如建筑物、护栏、电线杆和树木。 与信号差别,对象不会直接影响流量的行为。
Object
Objects influence a road by expanding, delimiting, or supplementing its course. Objects are elements that form the environment, for example, buildings, guard rails, poles, and trees. Objects do not influence the behavior of traffic directly, unlike signals.
出境道路
在 ASAM OpenDRIVE 中,传出道路未明确界说为元素或属性。 传入道路用作传出道路。 这些道路被隐式界说为由通向它们的毗连道路传出。
Outgoing road
Outgoing roads are not specifically defined as an element or attribute in ASAM OpenDRIVE. Incoming roads serve as outgoing roads. These roads are implicitly defined as outgoing by the connecting roads that lead into them.
道路
道路是 ASAM OpenDRIVE 中任何道路网络的核心元素。 每条道路沿一条道路参考线延伸。
Road
Roads are the core elements for any road network in ASAM OpenDRIVE. Each road runs along one road reference line.
道路高程
道路高程指定沿道路参考线(即 s 方向)的高程。
Road elevation
Road elevation specifies the elevation along the road reference line, that is in s direction.
道路标记
ASAM OpenDRIVE 中的道路标记被界说为车道标记、对象标记(例如停车位)或信号(例如停车线)。
Road marking
Road markings in ASAM OpenDRIVE are defined as lane markings, object markings, for example parking boxes, or signals, for example stop lines.
道路参考线
道路参考线界说道路的水平路线,由一个或多个几何图形元素组成。 每条道路都有一条道路参考线。 道路的其他属性 (例如,车道、信号和对象) 是相对于道路参考线界说的。
Road reference line
A road reference line defines the horizontal alignment of a road and consists of one or more geometry elements. Every road has one road reference line. Further properties of the road, for example, lanes, signals, and objects are defined relative to the road reference line.
道路参考线坐标系
道路参考线始终位于惯性坐标系界说的 x/y 平面内。 道路参考线坐标系沿道路参考线运行。 它是一个右手坐标系。 S 轴沿道路参考线的切线。 t 轴与 s 轴正交。 右手坐标系是通过界说与 x 轴和 y 轴正交的向上方向来完成的。
Road reference line coordinate system
The road reference line is always located within the x/y-plane defined by the inertial coordinate system. A road reference line coordinate system runs along the road reference line. It is a right-handed coordinate system. The s-axis follows the tangent of the road reference line. The t-axis is orthogonal to the s-axis. The right-handed coordinate system is completed by defining the up-direction h orthogonal to x-axis and y-axis.
S 坐标
S 坐标沿道路参考线界说,以米为单位从道路参考线出发点开始测量。
s-coordinate
The s-coordinate is defined along the road reference line, measured in meters from the beginning of the road reference line.
信号
信号是交通标记、交通信号灯和用于控制和调治道路交通的特定道路标记。
Signal
Signals are traffic signs, traffic lights, and specific road markings for the control and regulation of road traffic.
信号控制器
信号控制器将信号周期(请参阅信号周期)应用于信号或信号组(请参阅信号组)。
Signal controller
A signal controller applies a signal cycle (see signal cycle) to a signal or a signal group (see signal group).
信号周期
信号周期是一个动态信号的相位(拜见信号相位)的有序列表。
Signal cycle
A signal cycle is an ordered list of phases (see signal phase) for one dynamic signal.
信号依赖性
信号依存关系通过附加信号来限制或延伸一个信号的有效性。 例如,仅对卡车有效的 60 公里/小时限速标记,由附加标记指定。 一个信号可能有多个依赖项。
Signal dependency
Signal dependencies limit or extend the validity of one signal by an additional signal. For example, a speed limit sign of 60 km/h that is only valid for trucks, specified by a supplementary sign. One signal may have multiple dependencies.
信号组
每个动态信号都需要恰好位于一个信号组中。
Signal group
Each dynamic signal needs to be in exactly one signal group.
信号相位
动态信号的一个阶段是语义状态(拜见 信号状态)与(可能是无限的)连续时间的组合,它指定了这个语义状态处于活动状态的时间。 该术语不要与英语土木匠程术语 stage 或德语术语 phase 混淆。
Signal phase
A phase of a dynamic signal is the semantic state (see signal state) in combination with a (possibly infinite) duration, which specifies how long this semantic state is active. This term is not to be confused with the English civil engineering term stage or the German term phase.
信号参考
信号引用将信号链接到另一个信号或对象。 一个信号可能有多个信号引用。 不应将信号参考术语与用于将信号毗连到多条道路的元素混淆。<signalReference>
Signal reference
Signal references link a signal to another signal or object. One signal may have multiple signal references. The signal reference term should not to be confused with the <signalReference> element that is used to link a signal to multiple roads.
信号状态
动态信号的状态是信号的语义状态和可观察状态的组合。
Signal state
A state of a dynamic signal is the combination of the semantic and the observable state of a signal.
信号同步组
多个信号组(拜见信号组)应保持同步,而且其信号周期 (拜见信号周期)具有相同的有限连续时间,可以但不要求映射到同步组。 此映射可用于指示每当通过 ASAM OpenSCENARIO 或其他方式设置一个信号组的相位时,该同步组中的其他信号组应设置为其信号周期中的相应位置。
Signal synchronization group
Multiple signal groups (see signal group) which should be kept synchronized and whose signal cycles (see signal cycle) have the same finite duration can, but are not required to be mapped to a synchronization group. This mapping can be used to indicate that whenever the phase of one signal group is set, by an ASAM OpenSCENARIO TrafficSignalControllerAction or otherwise, the other signal groups in that synchronization group should be set to the corresponding position in their signal cycles.
滑道
在转弯车道上,驾驶员可以在不驶入主交叉路口的情况下改变道路。
Slip lane
On a slip lane a driver can change roads without driving into the main intersection.
静态路网
由静态对象丰富且在模仿运行时不会更改的已毗连道路的集合。
Static road network
Collection of connected roads enriched by static objects that do not change during runtime of a simulation.
跃程高
跃程高指定沿道路参考线的横向坡度。 超高是为横截面界说的,而且可以在道路参考线方向上变革。
Superelevation
Superelevation specifies the transverse slope along the road reference line. Superelevation is defined for a cross section and can vary in road reference line direction.
T 坐标
t 坐标界说为与道路参考线正交的横向位置。
t-coordinate
The t-coordinate is defined as the lateral position orthogonal to the road reference line.
隧道
隧道在 ASAM OpenDRIVE 中建模为对象。 带有 tunnel 对象的道路界说道路的一部分,即隧道或地下通道。
Tunnel
Tunnels are modeled as objects in ASAM OpenDRIVE. The road with the tunnel object defines the part of the road that is the tunnel or the underpass.
假造交汇点
假造路口管理不制止道路内的毗连,例如,停车场的入口和出口以及人行横道。
Virtual junction
Virtual junctions manage connections within an uninterrupted road, for example, entries and exits to parking lots, and pedestrian crossings.
VMS 板
在 ASAM OpenSCENARIO 的模仿期间,可变消息板可以更改其值。
VMS board
Variable message boards can change their values during the simulation in ASAM OpenSCENARIO.
02 通用架构简介
ASAM OpenDRIVE 数据存储在扩展名为 . xodr 压缩的 ASAM OpenDRIVE 文件的扩展名为 .xodrz (compression format:gzip )。
ASAM OpenDRIVE 文件布局符合 XML 规则;关联的架构文件在 XML 中引用。 ASAM OpenDRIVE 格式的架构文件可以从《可交付结果》检索。
元素被构造成多个级别。 级别大于零 (0) 的元素是前一个级别的子元素。 级别为一 (1) 的元素称为主元素。
每个元素都可以使用用户界说的数据进行扩展。 此数据存储在用户数据元素中。
ASAM OpenDRIVE 中使用的所有浮点数都是 IEEE 754 双精度浮点数。 为了确保在 XML 表现情势中准确表现浮点数,实现应使用已知的正确准确性,保留最小浮点打印算法或确保始终天生 17 个有效十进制数字,例如使用“%.17g”ISO C printf 修饰符。 导入实现应使用已知的正确精度保留浮点读取算法。
02.01 范围
ASAM OpenDRIVE 指定了怎样使用可扩展标记语言 (XML) 描述驾驶仿真应用步调的静态道路网络的建模方法。
ASAM OpenDRIVE 尺度的范围如下:
在 UML 模型和 XSD 架构中指定 ASAM OpenDRIVE 的架构。 UML 模型和 XSD 模式界说了 ASAM OpenDRIVE 的布局、序列、元素和值。 XSD 架构派生自 UML 模型。
提供有效 ASAM OpenDRIVE 文件应符合的 XSD 架构。
解释怎样使用 ASAM OpenDRIVE 元素以及 ASAM OpenDRIVE UML 模型和 XSD 模式中元素之间的关系,例如,道路、车道、交叉路口、对象、信号和铁路。
提供其他准则和规则,这些准则和规则不能在使用 ASAM OpenDRIVE 的 UML 模型和 XSD 架构中表现。
02.02 相关尺度
以下文档在文本中的引用方式使其部分或全部内容构成本文档的要求。 对于注明日期的参考文献,仅引用的版本适用。 对于未注明日期的参考文献,适用参考文件的最新版本(包罗任何修订)。
本节中引用的尺度是规范性的,因此在实现引用的功能时应应用部分或全部尺度。 本节中引用的尺度应在正文中规范性引用。
ASAM OpenCRG
ASAM OpenSCENARIO
ISO 3166-1
ISO 3166-2
ISO 8855
ISO 8601
ISO 19111
OMG® UML 2.5.1
W3C XML
W3C XML 架构 ]
02.03 向后兼容性
ASAM OpenDRIVE 1.8.0 向后兼容 ASAM OpenDRIVE 1.7.0。
作为次要版本更改,它引入了新功能并弃用了一些未使用的功能,但 ASAM OpenDRIVE 1.7.0 中的所有现有功能仍受支持。 有关更改的完备列表,请参阅附录 D.1,修订历史 ASAM OpenDRIVE 1.8.0。
ASAM OpenDRIVE 1.8.0 包含版本 1.5 中引入但与版本 1.4 不兼容的元素。 为了确保与版本 1.4 和 1.5 的兼容性,这些元素在版本 1.8.0 的 XML 架构中被技术界说为可选元素。 它们在 UML 模型的注释中标记为“为向后兼容而可选”。
开发 ASAM OpenDRIVE 1.6.0 和 ASAM OpenDRIVE 1.6.1 时,在 1.4 和 1.5 版的 XSD 架构中发现与这些版本的文档相关的错误。 因此,可以确保与版本 1.4 和 1.5 的文档的向后兼容性。
02.04 属性
可在 ASAM OpenDRIVE 文件中使用的所有属性在 UML 模型中都进行了完全注释:
[*] 如果单位适用于某个属性,则这些单位根听说明。
[*] 范例:描述属性的数据范例。它可以是原始数据范例(例如 string、double、float),也可以是引用此规范中描述的对象的复杂数据范例。
[*] Value:Value 确定给定属性相对于指定范例的值范围。
02.05 根元素
https://i-blog.csdnimg.cn/direct/3ecfd40c7c5c46dc99f3dd74eaa78f74.png
02.06 HEADER
header 是元素中的第一个元素。 它是一个逼迫性元素,包含有关 ASAM OpenDRIVE 文件的一般信息,例如 ASAM OpenDRIVE 的版本或默认规定。
https://i-blog.csdnimg.cn/direct/f66a5f6ddd394f8b8508de9ff0be6328.png
https://i-blog.csdnimg.cn/direct/ea8fe988fb544f84b6943eb7f804c81f.png
03 元素通览Overview of elements
https://i-blog.csdnimg.cn/direct/ad8bed90e4284103a2f50c9cf804c71f.png
https://i-blog.csdnimg.cn/direct/5c1a49dd622e46bfb88782fde7bbaab5.png
https://i-blog.csdnimg.cn/direct/074f62df53d54f5ab070a5922097b9c3.png
https://i-blog.csdnimg.cn/direct/f54425f15b324f70977558a644c02898.png
https://i-blog.csdnimg.cn/direct/17017dd6155445e2ad912507eaa754d8.png
https://i-blog.csdnimg.cn/direct/0a29e0e548174e2ba30750da6dcfe53f.png
https://i-blog.csdnimg.cn/direct/7998948f19ad4b90bac7314eb5b63931.png
https://i-blog.csdnimg.cn/direct/97988b525b5a4e26b3f9aa0c0a964f28.png
https://i-blog.csdnimg.cn/direct/d9c9fd7e87054e2dbd3a7606d62ed7e9.png
https://i-blog.csdnimg.cn/direct/11a5e0bc80e64e3a934588206b36d5c9.png
https://i-blog.csdnimg.cn/direct/cdcada746e5f497ea7f5bb80321ee568.png
https://i-blog.csdnimg.cn/direct/67992ad3cb434d85b465f776cf304e05.png
https://i-blog.csdnimg.cn/direct/af4b376c7c9b42f0a87914ae38ff62d0.png
04 附加数据
ASAM OpenDRIVE 提供了包含外部数据的可能性。 此数据的处置惩罚取决于应用步调。 其他数据可以放置在 ASAM OpenDRIVE 中的任何位置。
https://i-blog.csdnimg.cn/direct/89ce4233b36e450298b5344c8d470990.png
05 坐标系简介
ASAM OpenDRIVE 使用三种范例的坐标系:
[*] 惯性 x/y/z 坐标系
[*] 道路参考线 s/t/h 坐标系
[*] 本地 u/v/z 坐标系
05.01 基本坐标系
https://i-blog.csdnimg.cn/direct/1b0815d443a7495388ad606785752406.png
https://i-blog.csdnimg.cn/direct/cf22a746e85943ddae2dca9b6735b458.png
https://i-blog.csdnimg.cn/direct/b0ccac560ffe43f6b66dc654ab89483a.png
https://i-blog.csdnimg.cn/direct/30006f3085894be9b8ff921d9b4f5283.png
惯性体系是符合 ISO 8855 的右手坐标系。
https://i-blog.csdnimg.cn/direct/f4ac902e167b458396520effcb8c8514.png
https://i-blog.csdnimg.cn/direct/eb56939e6e8a4cb2bad2b414e3edf53d.png
显示了具有界说旋转的惯性坐标系的差别状态。 x'/y'/(z'=z) 表现以绕 z 轴的航向角旋转 x/y/z 后的坐标系。 坐标系 x''/(y''=y')/z'' 表现以绕 y' 轴的俯仰角旋转 x'/y'/z' 后的坐标系。 最终旋转坐标系 (x'''=x'')/y'''/z''' 是用滚动角旋转体系 x''/y''/z'' 后得到的。
道路参考线坐标系
道路参考线始终位于惯性坐标系界说的 x/y 平面内。 道路参考线坐标系沿道路参考线运行。 它是一个右手坐标系。 S 轴沿道路参考线的切线。 t 轴与 s 轴正交,而且可以通过超高绕 s 轴旋转。 右手坐标系是通过界说与 s 轴和 t 轴正交的向上方向来完成的。
https://i-blog.csdnimg.cn/direct/80970b8d3db84b1399df53df6b26b1fb.png
https://i-blog.csdnimg.cn/direct/f0d6fd1e3f5e4406821deeea3438cdfe.png
https://i-blog.csdnimg.cn/direct/dad8fe0cd5774546a4eb292fe6737588.png
https://i-blog.csdnimg.cn/direct/ca24ad9b5bf1472ab16ae189c82a2e81.png
https://i-blog.csdnimg.cn/direct/a9dd0988d01c46728ecb8fc82a09f89b.png
局部坐标系是符合 ISO 8855 的右手坐标系,轴指向以下方向。
https://i-blog.csdnimg.cn/direct/2f8127c7f56a471fa61e4c7586d6df89.png
https://i-blog.csdnimg.cn/direct/565fbdbf589d4a49a29da9b025f18d6a.png
https://i-blog.csdnimg.cn/direct/e6b380aa5a014200b34c9ec03521a177.png
05.02 地理配准 Georeferencing
空间参考体系由欧洲石油调查组大地测量学 (EPSG:32632 WGS 84 / UTM zone 32N )尺度化,并由描述大地基准面的参数界说。 大地基准面是相对于地球的椭球体模型的位置集合的坐标参考体系。
大地基准面由根据 PROJ 的投影字符串描述,即两个坐标系之间数据交换的格式。 此数据应标记为 CDATA,因为它可能包含干扰元素属性的 XML 语法的字符。
https://i-blog.csdnimg.cn/direct/165d8b0ebc444a8f8bec8c4617a42de3.png
06 几何元素 Geometry
公路路线可以有许多差别的外形。 开阔的地面上有长而直的道路,高速公路上有细长的弯道,山区有狭窄的转弯。
06.01 基本几何元素
为了以数学上正确的方式对所有这些道路进行建模,ASAM OpenDRIVE 提供了各种几何元素:
[*] 直线 line
[*] 具有线性变革曲率的和缓曲线或回旋线 spiral
[*] 具有恒定曲率的圆弧 arc
[*] 参数化三次多项式 paramPoly3
[*] 三次多项式 (已弃用) poly3
https://i-blog.csdnimg.cn/direct/4665b6130d1c413bb7485f8f838c8571.png
https://i-blog.csdnimg.cn/direct/6d748100d1714d388efb59c78edb398f.png
06.02 道路参考线
ASAM OpenDRIVE 中每条道路的基本元素都是道路参考线。 描述道路外形和道路其他属性的所有几何图形元素均沿道路参考线界说。 这些属性包罗 lanes 和 signals。
根据界说,道路参考线沿 s 方向运行,而对象与道路参考线的横向毛病沿 t 方向运行。 道路参考线的方向不指示行驶方向。
https://i-blog.csdnimg.cn/direct/4e141615978141c4ab50beb4e5270547.png
https://i-blog.csdnimg.cn/direct/19dd36bcf87940ca84e27d0b77110192.png
https://i-blog.csdnimg.cn/direct/88e43495e640470984bcb8fef8217ec7.png
https://i-blog.csdnimg.cn/direct/98d9c39c6d9545e69a41ae0f410f1c35.png
https://i-blog.csdnimg.cn/direct/a8a37a6a7971429abcfd775507d85b0f.png
https://i-blog.csdnimg.cn/direct/9654e5b3567e4511a51afcd92c321679.png
https://i-blog.csdnimg.cn/direct/694261c1f06a43cbb5087b862dfbaeea.png
https://i-blog.csdnimg.cn/direct/564e37ad5a8d41f2860cf224e5d45a48.png
https://i-blog.csdnimg.cn/direct/416cb4339f5c4fd3853fa7b7f17da17a.png
https://i-blog.csdnimg.cn/direct/bd26447adc814ca3bd2832373769ebb6.png
07 道路 Road
道路是 ASAM OpenDRIVE 中任何道路网络的核心元素。 每条道路沿一条道路参考线延伸。
道路应至少有中间车道。 车辆可以沿道路参考线的两个方向行驶。 尺度行驶方向由分配给 @rule 属性的值界说 (RHT=右侧交通,LHT=左侧交通)。
ASAM OpenDRIVE 道路可以是真实道路网络中的道路,也可以是为应用步调使用而创建的人工道路网络。 每条道路都由一个或多个元素描述。 一个元素可以覆盖一段很长的道路、交汇点之间的较短一段,乃至是多条道路。 仅当道路的属性无法在前一个元素中描述或需要交汇点时,新元素才应开始。
https://i-blog.csdnimg.cn/direct/96dc5130e22e438893fd6006faf96fd8.png
https://i-blog.csdnimg.cn/direct/aa6a58c8ba2a4ae2bb3573e55d548b5a.png
07.01 道路的属性
道路的一些属性是根据道路的横截面来描述的。 道路横截面是道路参考线上给定点处的道路正交视图。 引用道路横断面的特性的一个示例是 superelevation。 对道路横截面有效的元素对道路参考线上给定点处的道路整个宽度有效。
其他道路属性根据道路的平面图进行描述。 这包罗车道和道路高程。 对于这些属性,使用术语 road section。 道路横断面描述道路的各个部分及其沿道路参考线的 s 坐标的特定属性。 对路段有效的特性可能对道路的整个宽度无效,而仅对特定车道有效。
这意味着可以为差别的属性(如道路范例或车道部分)创建截面。 截面由元素中的附加元素使用新的起始 s 坐标创建。 截面的长度由两个给定的 s-start 位置之间的差别隐式给出。 各节应按 s 坐标的升序存储。
07.02 路段和横断面的属性
道路的一些属性是根据道路的横截面来描述的。 道路横截面是道路参考线上给定点处的道路正交视图。 引用道路横断面的特性的一个示例是 superelevation。 对道路横截面有效的元素对道路参考线上给定点处的道路整个宽度有效。
其他道路属性根据道路的平面图进行描述。 这包罗车道和道路高程。 对于这些属性,使用术语 road section。 道路横断面描述道路的各个部分及其沿道路参考线的 s 坐标的特定属性。 对路段有效的特性可能对道路的整个宽度无效,而仅对特定车道有效。
这意味着可以为差别的属性(如道路范例或车道部分)创建截面。 截面由元素中的附加元素使用新的起始 s 坐标创建。 截面的长度由两个给定的 s-start 位置之间的差别隐式给出。 各节应按 s 坐标的升序存储。
07.03 道路联动 Road Linkage
对于要在道路网络中导航的应用步调,道路必须相互链接。 道路可以毗连到另一条道路或交叉路口。 孤立的道路不与其他道路或交汇点相连。
https://i-blog.csdnimg.cn/direct/bf68d8060bfb485c8cca6b1be00a9618.png
显示了克制、允许和推荐的道路联动的情况。 紧张的是,要毗连的道路的车道和道路参考线必须与其前一个或后一个直接链接。 应避免重叠或跳跃,但如果道路参考线毗连正确,则不克制重叠或跳跃。
https://i-blog.csdnimg.cn/direct/c81517cbea004ba982660ac283a809ef.png
显示了在交叉路口外进行道路毗连的允许情况,此中两条道路沿相同、相反或会聚的方向运行。 如果两条道路参考线没有相互毗连,则无法进行道路毗连。
https://i-blog.csdnimg.cn/direct/1015a14c329b4ac28e356057e9fb2bdb.png
显示了路口内允许的道路毗连情况。
给定道路的后导是毗连到其道路参考线终点的元素。 给定道路的前置使命是毗连到其道路参考线出发点的元素。 对于交汇点,应为 and 元素使用差别的属性集。
07.04 道路高程方法 elevation
有几种方法可以升高道路或道路的一部分:
道路高程指定沿道路参考线(即 S 方向)的高程。
横向剖面指定与道路参考线正交的高程,即 t 方向。
道路 CRG 表面可能会影响道路高度(请拜见第 10.6 节 “道路 CRG 表面”)。
对象可能会影响道路高度(请参阅第 13.13 节 “对象 CRG 表面”)。
https://i-blog.csdnimg.cn/direct/93537cdd45da40c38dc13a9d7edd2547.png
07.05 超高
超高是横向纵断面的一部分,用于描述道路的横向坡度。 例如,它可以用于将道路向内侧倾斜,以便车辆可以更轻松地通过它们。
https://i-blog.csdnimg.cn/direct/efe5f63c13484861b858e7236d30bea0.png
显示,对于超高道路,道路的 t 轴与底层地形不平行。 因此,为整个道路横截面界说了一个横向轮廓。 超高不会更改车道的实际宽度,但会影响投影宽度。 超高的默认值为零。 在数学上,超高界说为道路横截面围绕道路参考线的滚动角。 这意味着,超高对于落到右侧的道路为正值,对于落到左侧的道路为负值。示例中,道路参考线与 y 轴平行,以简化给定的示例。
https://i-blog.csdnimg.cn/direct/e5dadf4388264fb898bad8900861f80b.png
https://i-blog.csdnimg.cn/direct/101378e7d91e403186a21a8b32814574.png
https://i-blog.csdnimg.cn/direct/c8819c9cecc541208d8fbe841e33d2fa.png
07.06 横截面曲面
横截面曲面用条带描述沿道路参考线的路面。 条带界说 s 方向的起始位置和 t 方向多项式的参数。 在道路参考线的每一侧最多有两条条带。 右侧的内条带为 @id=“-1”,左侧的内条带为 @id=“1”。 右侧的外部条带为 @id=“-2”,左侧的外部条带为 @id=“2”。
https://i-blog.csdnimg.cn/direct/b5ffecbc6e2349558f7e241f2b0d1801.png
https://i-blog.csdnimg.cn/direct/1def9b520fcf40578a586ae4a8302812.png
<lateralProfile>
<crossSectionSurface>
<tOffset>
<coefficients s="0.0"
a="0.0"
b="0.0"
c="0.0045000000000000005"
d="-5e-05"/>
<coefficients s="50.0"
a="5.0"
b="0.075"
c="-0.003"
d="3e-05"/>
</tOffset>
<surfaceStrips>
<strip id="1">
<width>
<coefficients s="0.0"
a="0.0"
b="0.0"
c="0.006000000000000001"
d="-6.400000000000001e-05"/>
<coefficients s="50.0"
a="7.0"
b="0.12"
c="-0.0036"
d="3.2e-05"/>
</width>
<constant>
<coefficients s="0.0"
a="0.0"
b="1.942890293094024e-18"
c="0.0011385321100917428"
d="-3.192660550458715e-05"/>
<coefficients s="20.0"
a="0.2"
b="0.007229357798165137"
c="-0.0007770642201834863"
d="9.449541284403669e-06"/>
<coefficients s="70.0"
a="-0.2"
b="0.0003944954128440377"
c="0.0006403669724770642"
d="-1.437648657832144e-05"/>
</constant>
<linear>
<coefficients s="0.0"
a="0.0"
b="0.0"
c="-0.0003285714285714286"
d="6.507936507936508e-06"/>
<coefficients s="30.0"
a="-0.12"
b="-0.002142857142857143"
c="0.00025714285714285715"
d="-2.3032069970845484e-06"/>
</linear>
<quadratic>
<coefficients s="0.0"
a="0.0"
b="0.0"
c="-2.1649831649831646e-06"
d="3.713680009976306e-08"/>
<coefficients s="45.0"
a="-0.001"
b="3.0757575757575755e-05"
c="2.848484848484849e-06"
d="-3.7916353618832964e-08"/>
</quadratic>
<cubic>
<coefficients s="0.0"
a="0.0"
b="0.0"
c="1.4840830449826988e-06"
d="-1.5831467535110928e-08"/>
<coefficients s="85.0"
a="0.001"
b="-9.085294117647057e-05"
c="-2.5529411764705903e-06"
d="2.480610021786493e-07"/>
</cubic>
</strip>
<strip id="2">
<constant>
<coefficients s="0.0"
a="0.2"
b="0.0"
c="-0.00031875"
d="3.2031250000000004e-06"/>
<coefficients s="80.0"
a="-0.2"
b="0.0105"
c="0.00045"
d="-2.375e-05"/>
</constant>
<linear>
<coefficients s="0.0"
a="0.0"
b="8.673617379884036e-20"
c="-8.437500000000002e-06"
d="6.640625000000001e-08"/>
<coefficients s="80.0"
a="-0.02"
b="-7.500000000000001e-05"
c="7.500000000000001e-06"
d="-1.8750000000000003e-07"/>
</linear>
<quadratic>
<coefficients s="0.0"
a="0.0001"
b="-2.6201552501733024e-20"
c="-4.856163886874543e-06"
d="2.8561638868745455e-07"/>
<coefficients s="10.0"
a="-0.0001"
b="-1.1438361131254525e-05"
c="3.712327773749093e-06"
d="-1.3739209840732682e-07"/>
<coefficients s="25.0"
a="0.0001"
b="7.1918056562726596e-06"
c="-2.4703166545806143e-06"
d="4.0075537829344936e-08"/>
<coefficients s="65.0"
a="-0.001"
b="1.9290548706792377e-06"
c="2.338747884940778e-06"
d="-4.5072491650757476e-08"/>
</quadratic>
<cubic>
<coefficients s="0.0"
a="0.0"
b="0.0"
c="3.1999999999999995e-07"
d="-3.555555555555555e-09"/>
<coefficients s="75.0"
a="0.0003"
b="-1.1999999999999999e-05"
c="-4.8e-07"
d="1.92e-08"/>
</cubic>
</strip>
<strip id="-1">
<width>
<coefficients s="0.0"
a="8.0"
b="0.0"
c="0.0"
d="0.0"/>
</width>
<constant>
<coefficients s="0.0"
a="0.0"
b="1.942890293094024e-18"
c="0.0011385321100917428"
d="-3.192660550458715e-05"/>
<coefficients s="20.0"
a="0.2"
b="0.007229357798165137"
c="-0.0007770642201834863"
d="9.449541284403669e-06"/>
<coefficients s="70.0"
a="-0.2"
b="0.0003944954128440377"
c="0.0006403669724770642"
d="-1.437648657832144e-05"/>
</constant>
<linear>
<coefficients s="0.0"
a="0.1"
b="0.0"
c="6.000000000000001e-05"
d="-4.0000000000000003e-07"/>
</linear>
</strip>
<strip id="-2">
<linear>
<coefficients s="0.0"
a="0.0"
b="1.3183898417423733e-17"
c="-0.0005797802197802213"
d="2.9763125763125804e-05"/>
<coefficients s="15.0"
a="-0.03"
b="0.0026967032967032934"
c="0.0007595604395604402"
d="-5.2923076923076945e-05"/>
<coefficients s="25.0"
a="0.02"
b="0.002010989010989012"
c="-0.0008281318681318682"
d="3.270329670329671e-05"/>
<coefficients s="35.0"
a="-0.01"
b="-0.004740659340659341"
c="0.00015296703296703297"
d="-1.1948761297873725e-06"/>
</linear>
<quadratic>
<coefficients s="0.0"
a="0.0"
b="0.0"
c="1.8518518518518523e-06"
d="-1.920438957475995e-08"/>
<coefficients s="90.0"
a="0.001"
b="-0.00013333333333333337"
c="-3.333333333333328e-06"
d="6.666666666666664e-07"/>
</quadratic>
<cubic>
<coefficients s="0.0"
a="-0.0002"
b="2.7105054312137612e-21"
c="9.583333333333325e-08"
d="-6.712962962962956e-10"/>
<coefficients s="60.0"
a="0.0"
b="4.25e-06"
c="-2.499999999999998e-08"
d="-4.687500000000003e-10"/>
</cubic>
</strip>
</surfaceStrips>
</crossSectionSurface>
</lateralProfile> 07.07 道路表面的描述
道路表面的描述是 ASAM OpenCRG 的一部分,而不是 ASAM OpenDRIVE 的一部分。 可以在 ASAM OpenDRIVE 中引用 ASAM OpenCRG 创建的数据。 在 ASAM OpenDRIVE 中,路面由元素中的元素表现。 ASAM OpenCRG 中描述的数据由元素中的元素表现。
https://i-blog.csdnimg.cn/direct/03c3da51c26c4100bf6036b929c0b3f6.png
07.08 道路 CRG
道路 CRG 表面可能会影响道路高度(请拜见第 10.6 节 “道路 CRG 表面”)。
对象可能会影响道路高度(请参阅第 13.13 节 “对象 CRG 表面”)。
显示了怎样使用 ASAM OpenCRG 对详细的路面属性进行建模,例如鹅卵石或坑洼。
除了高程建模外,CRG 数据还可用于对道路的详细摩擦值进行建模(拜见第 10.6.5 节 “使用 ASAM OpenCRG 界说摩擦力”)。
顾名思义,CRG(弯曲规则网格)数据构造在一个规则网格中,该网格沿着参考线摆设,这与 ASAM OpenDRIVE 的道路参考线相称。 在每个网格位置,它包含沿实际道路测量的绝对高程和一些附加数据,这些数据允许计算相对于参考线的增量高程。
https://i-blog.csdnimg.cn/direct/01a665b6419143f285d558c5812d3544.png
https://i-blog.csdnimg.cn/direct/70dbd5447f4b4745bb7d27ebf4a2ab69.png
https://i-blog.csdnimg.cn/direct/5ba873828c6e419b944de1245a2e9730.png
https://i-blog.csdnimg.cn/direct/88a464bc453e492394ba4fb6c6b47434.png
https://i-blog.csdnimg.cn/direct/3d7e3daeb614468f894e5620cdc39eb0.png
https://i-blog.csdnimg.cn/direct/9587fce352b941e9a8891f44585b8705.png
https://i-blog.csdnimg.cn/direct/9bce1e3628b14e06bd48d6a34a99200f.png
08 车道 Lane
在 ASAM OpenDRIVE 中,车道是所有道路的紧张组成部分。 车道附着到道路的道路参考线,并从内到外界说。 最小道路界说需要一条中央车道和一条具有界说宽度的附加车道。 每条道路的车道数目没有限制。
08.01 车道
中间车道没有宽度,用作车道编号的参考。 中间车道自己的车道 ID 为 0。 其他车道的编号从中间车道开始:车道编号向右下降,表现负 t 方向,向左上升,表现正 t 方向。
https://i-blog.csdnimg.cn/direct/ecd92dab597b4bd99a229ef89bd3f419.png
https://i-blog.csdnimg.cn/direct/1f41f5f5872740da891c516cb862fd72.png
为了更轻松地浏览 ASAM OpenDRIVE 道路描述,车道部分内的车道分为左侧车道、中间车道和右侧车道。
08.02 通道分组
https://i-blog.csdnimg.cn/direct/a82278d370b74a7bbbf421fb28cdd3ec.png
显示了通道分组。 在这些组中,通道由元素描述。 由于通道编号沿负 t 方向下降,沿正 t 方向上升,因此应用步调可以从元素的 @id 属性中给定的通道 ID 派生通道的方向,除非通道是双向的(由 @direction=both 指定)。
https://i-blog.csdnimg.cn/direct/080f463ce56a4d73adfe9d1f2b850206.png
在 ASAM OpenDRIVE 中,行驶方向由差别元素和属性的组合指定。 对于具有 @rule=“RHT” 属性的道路,对于具有负 @id 属性的所有元素车道,默认行驶方向将是道路参考线的正方向,对于具有正 @id 属性的元素中的车道,默认行驶方向将是道路参考线的正方向。 如果道路具有 @rule=“LHT” 属性,则对于具有正 @id 属性的所有元素车道,默认行驶方向将为道路参考线的正方向,对于具有负 @id 属性的所有元素车道,默认行驶方向将为道路参考线的正方向。 这可以通过每个通道的 @direction 属性单独影响。 如果未指定 @direction 属性或值为 @direction=“standard”,则不会更改默认行驶方向。 @direction=“reversed” 属性将反转默认行驶方向。 @direction=“both” 属性将替换已弃用的车道 @type=“bidirectional” 并允许两个行驶方向。
此外,如果设置了 @dynamicLaneDirection=“true” 属性,则可以在模仿期间更改此设置,例如通过 VMS 板。
https://i-blog.csdnimg.cn/direct/a936008677ef4f43aa0979d7526940d5.png
08.03 规则
以下规则适用于车道部分:
每条道路应至少有一个车道路段。
<laneSection>元素应根据 S 坐标按升序界说。
车道部分的长度应大于零。
每个 S 位置应始终只有一个中间车道。
应避免使用宽度为 0 的车道进行长距离传输。
每次车道数目发生变革时,应界说一个新的车道部分。
在界说新的车道段之前,车道段应保持有效。
车道截面内车道的属性可以根据需要随时更改。
只能使用 @singleSide 属性为道路的一侧界说车道截面。
08.04 车道偏移 Lane Offset
车道偏移可用于使中央车道远离道路参考线。 这使得对道路上车道的局部横向偏移进行建模变得更加容易,例如左转车道。
通道偏移和外形界说的组合可能会导致不一致,详细取决于用于通道偏移的插值。 由于线性插值用于沿道路参考线的道路外形,因此线性插值也应用于偏移界说,以便能够一致地组合使用这两个界说。
https://i-blog.csdnimg.cn/direct/4a0ab039836e44b491eeef6b3904fff1.png
08.05 车道的联动
要启用车道导航,车道的联动信息可以存储在 ASAM OpenDRIVE 中。 链接通过每个通道的 和 元向来描述。 车道可以与同一条或另一条道路上的车道相连。 给定车道的 A 是在其道路参考线方向上毗连到其车道部分出发点的车道。 给定车道的 A 是毗连到道路参考线方向上其车道部分末了的车道。 a 和 a 的车道毗连与行驶方向无关。
https://i-blog.csdnimg.cn/direct/767130d9f9924843ad6c65a284792fa9.png
https://i-blog.csdnimg.cn/direct/21175f2eb8444986be29161196e74418.png
https://i-blog.csdnimg.cn/direct/cb72fa712f31450a972b667b31595a1d.png
08.06 Lane Width
https://i-blog.csdnimg.cn/direct/cd010ee72a8546909c7140d2a8b6a8d4.png
08.07 Lane border
https://i-blog.csdnimg.cn/direct/2109a88102d647079965680d2f8886af.png
08.08 Lane Height
https://i-blog.csdnimg.cn/direct/e117d4b2783c4a47b2a6a0c5b82eddf6.png
https://i-blog.csdnimg.cn/direct/c61f685dbda142169cf09bd2373eef89.png
08.09 其他车道属性
其他 lane 属性描述 lanes 的使用或其他物理属性。 车道属性是按车道部分界说的,但可能会在该部分内更改。 如果没有专门为 lane section(车道段)界说特性,则应用步调可以应用默认特性。
https://i-blog.csdnimg.cn/direct/9bad6430c57b4219a16abe118c7451d1.png
08.10 通道范例
通道范例是按通道界说的。 车道范例界说车道的重要用途及其相应的交通规则。
可用的车道范例包罗:
[*] shoulder:道路边沿的软边界。
[*] border:路边的硬边界。 它通常与可驾驶车道的高度相同。
[*] driving:不是其他范例之一的正常可驾驶道路。
[*] stop: 高速公路上的紧急停车用硬路肩
[*] restricted:汽车不应行驶的车道。车道的高度与可行驶车道相同。 通常,车道用线条分隔,而且通常还包含虚线。
[*] parking: 带停车位的车道。
[*] median:位于相反方向的行车道之间的车道。 它通常用于在大型道路上分隔城镇的交通。
[*] biking:为骑行者预留的车道。
[*] walking:行人可以行走的车道。
[*] curb:路缘石。 路缘石的高度通常与相邻的可行驶车道差别。
[*] entry:用于与主干道平行并合并到主干道的路段的车道。 它重要用于加速车道。
[*] exit:用于与主干道平行并通向主干道出口的路段的车道。 重要用于减速车道。
[*] onRamp: 从农村或都会道路通往高速公路的匝道。
[*] offRamp:从高速公路通往墟落都会道路的匝道。
[*] connectingRamp:毗连两条高速公路的匝道,例如高速公路交叉口。
[*] slipLane:驾驶员在不驶入主交叉路口的情况下改变道路的车道。
[*] none:位于道路最外侧边沿的空间,没有实际内容。 它的唯一目的是让应用步调注册 ASAM OpenDRIVE 仍然存在,以防(人类)驾驶员离开道路。
08.11 车道标记 Road markings
道路上的车道可以具有差别的车道标记,例如差别颜色和样式的线条。 ASAM OpenDRIVE 为道路标记提供元素。 道路标记信息界说车道外边界处的线条样式。 对于左侧车道,这是左边界,对于右侧车道,这是右侧边界。 分隔左右车道的中央线的样式由中央车道的道路标记元素决定。<roadMark>
对于道路横截面内的每一车道,可以界说多个道路标记元素。 可以使用多个属性来描述车道标记的属性,例如 @type、@weight 和 @width。
有两种方法可以指定道路标记的范例:
元素中的 @type 属性可以输入存储在应用步调中的关键字。它们用于描述简化的道路标记范例,如实心、破损或草地。<roadMark>
该元素包含更多元素,以便以更详细的方式描述道路标记。<type><line>
https://i-blog.csdnimg.cn/direct/1aca3b097b82473da91c89a061f66867.png
09 交汇 Junction
交叉路口可以毗连两条以上的道路。
存在四种范例的交汇点:
[*] 公共路口是具有可行驶车道的路口,这些车道可以重叠而且车辆可以穿过。
[*] 直接交叉路口是指交通可以改变道路但不能与其他交通交叉的交叉路口。
[*] 假造路口是主干道未制止的路口。
[*] 十字路口是交通无法改变道路的路口。
https://i-blog.csdnimg.cn/direct/35203ff6dd15410688bdee7a237bf31f.png
09.01 公共路口
公共路口是具有可行驶车道的路口,这些车道可以重叠。
https://i-blog.csdnimg.cn/direct/77cc27220be0417baa50ac3c8cb8a07a.png
传入道路包含通向交叉路口的车道。 因为在 ASAM OpenDRIVE 中没有明确界说出路,以是进出道路也可以用作出路
09.02 毗连道路
毗连道路将毗连在交汇处相交的道路。 它们描述了车辆可以穿过交汇点的路径。 毗连道路的建模方式与尺度道路相同。
毗连道路描述的路径基于其车道。 毗连道路指定同一交汇点的进入道路的车道与出境道路的车道之间的毗连。 如果进出道路的车道未毗连,则意味着这些车道之间没有可穿越的路径。
https://i-blog.csdnimg.cn/direct/33c1039da8f549cc967dd5d87822dba9.png
从驾驶的角度来看,交叉路径类似于交叉路口,在特定车道之间添加了毗连。 交叉路口是交汇点的一部分,类似于毗连道路。
https://i-blog.csdnimg.cn/direct/da741207ab0a42bab8be41cbd700930f.png
显示了公共路口的一部分,此中 @id=“75” 作为交叉路口的道路毗连了两条 @id=“45” 和 @id=“46” 的毗连道路的人行道。元素的 @roadAtStart 属性界说元素通过其 s@ 属性引用的道路。元素的 @roadAtEnd 属性界说元素通过其 s@ 属性引用的道路。
09.03 交叉路径
交叉路径由元素中的元素表现。 元素使用 @crossingRoad 属性的值界说交叉道路,并使用 @roadAtStart 和 @roadAtEnd 属性的值界说由交叉路径毗连的道路。
<road name="" length="6.8257399999999990e+01" id="4" junction="-1" rule="RHT">
<link>
<successor elementType="junction" elementId="10"/>
</link>
...
<lanes>
<laneSection s="0.0000000000000000e+00">
<left>
<lane id="3" type="walking" level="false">
<link/>
...
</lane>
<lane id="2" type="curb" level="false">
<link/>
...
</lane>
<lane id="1" type="driving" level="false">
<link/>
...
</lane>
</left>
<center>
<lane id="0">
...
</lane>
</center>
<right>
<lane id="-1" type="driving" level="false">
<link/>
...
</lane>
<lane id="-2" type="curb" level="false">
<link/>
...
</lane>
<lane id="-3" type="walking" level="false">
<link/>
...
</lane>
</right>
</laneSection>
</lanes>
...
</road>
<road name="" length="3.9995576531488346e+01" id="46" junction="10" rule="RHT">
<link>
<predecessor elementType="road" elementId="4" contactPoint="end"/>
<successor elementType="road" elementId="6" contactPoint="end"/>
</link>
<lanes>
<laneSection s="0.0000000000000000e+00">
<left>
<lane id="3" type="walking" level="false">
<link>
<predecessor id="3"/>
<successor id="-3"/>
</link>
...
</lane>
<lane id="2" type="curb" level="false">
<link>
<predecessor id="2"/>
<successor id="-2"/>
</link>
...
</lane>
<lane id="1" type="driving" level="false">
<link>
<predecessor id="1"/>
<successor id="-1"/>
</link>
...
</lane>
</left>
<center>
<lane id="0">
...
</lane>
</center>
<right>
<lane id="-1" type="driving" level="false">
<link>
<predecessor id="-1"/>
<successor id="1"/>
</link>
...
</lane>
</right>
</laneSection>
</lanes>
</road>
<road name="" length="2.8900504898771064e+01" id="45" junction="10" rule="RHT">
<link>
<predecessor elementType="road" elementId="4" contactPoint="end"/>
<successor elementType="road" elementId="5" contactPoint="start"/>
</link>
...
<lanes>
<laneSection s="0.0000000000000000e+00">
<left>
<lane id="1" type="driving" level="false">
<link>
<predecessor id="1"/>
<successor id="1"/>
</link>
...
</lane>
</left>
<center>
<lane id="0">
...
</lane>
</center>
<right>
<lane id="-1" type="driving" level="false">
<link>
<predecessor id="-1"/>
<successor id="-1"/>
</link>
...
</lane>
<lane id="-2" type="curb" level="false">
<link>
<predecessor id="-2"/>
<successor id="-2"/>
</link>
...
</lane>
<lane id="-3" type="walking" level="false">
<link>
<predecessor id="-3"/>
<successor id="-3"/>
</link>
...
</lane>
</right>
</laneSection>
</lanes>
....
</road>
<road name="" length="9.4332512961489723e+00" id="75" junction="10" rule="RHT">
<link/>
...
<lanes>
<laneSection s="0.0000000000000000e+00">
<left>
<lane id="1" type="walking" level="false">
<link/>
...
</lane>
</left>
<center>
<lane id="0">
...
</lane>
</center>
</laneSection>
</lanes>
...
</road>
<junction name="" id="10">
<connection id="0" incomingRoad="4" connectingRoad="46" contactPoint="start">
<laneLink from="-1" to="-1"/>
</connection>
<connection id="1" incomingRoad="4" connectingRoad="45" contactPoint="start">
<laneLink from="-1" to="-1"/>
<laneLink from="-2" to="-2"/>
<laneLink from="-3" to="-3"/>
</connection>
...
<crossPath id="6" crossingRoad="75" roadAtStart="46" roadAtEnd="45">
<startLaneLink s="5.0000000000000000e-01" from="3" to="1"/>
<endLaneLink s="2.4841630000000000e-01" from="-3" to="1"/>
</crossPath>
...
</junction> https://i-blog.csdnimg.cn/direct/9b26c12c2e6f49f3b4ce27627e50203a.png
https://i-blog.csdnimg.cn/direct/24e6d9a78bfd49f7bde4bb265b590bf1.png
https://i-blog.csdnimg.cn/direct/3061683015744eb399dd2ae2293ecd5e.png
https://i-blog.csdnimg.cn/direct/2d58de994f254335968c08b1175430ce.png
https://i-blog.csdnimg.cn/direct/12a5711dfeb8469daba096206b56ddd4.png
https://i-blog.csdnimg.cn/direct/1488a780a18346a7a30d2cb8481be10a.png
https://i-blog.csdnimg.cn/direct/4fb948deb02a4f17a0709488411add4d.png
https://i-blog.csdnimg.cn/direct/4c2d7f582d4648388b95a85c2e850c45.png
https://i-blog.csdnimg.cn/direct/78a0518a027a4741bce00e3b224bc9a4.png
https://i-blog.csdnimg.cn/direct/bab48f5af1f24d7891479eed3c1448e1.png
https://i-blog.csdnimg.cn/direct/b7a22a6b02034d90b444badbe42cd9f4.png
https://i-blog.csdnimg.cn/direct/2d32e2494d4a4dd5be596eb11c73e366.png
https://i-blog.csdnimg.cn/direct/e97a9c0d950d49f39c5040b1ec9ced4c.png
https://i-blog.csdnimg.cn/direct/8a5fca27cceb482dbb3037c3726e60e9.png
https://i-blog.csdnimg.cn/direct/7033209a1c104ae4bb550d660fe95487.png
https://i-blog.csdnimg.cn/direct/4459f1ab8c1e42d390b406fde4202bae.png
https://i-blog.csdnimg.cn/direct/41d044bbaed24206b361459256b2393b.png
在公共路口,驾驶员可以改变道路并在其他道路上交叉交通。 当几条道路相交时,公共路口会出现许多场合。
公共结点的典范示例是:
[*] T 型交汇点或 Y 型交汇点
[*] X 路口
T 型路口是一条道路沿一连道路的某处毗连的最小路口。
X 形交汇点是两条道路相交并在交汇点后继承行驶的尺度交汇点。
公共路口也包罗两条以上道路在一个地方交汇的情况。
以下部分介绍了每种结点的建模方法,并介绍的简化部分,并不停延伸到完备的结点。
https://i-blog.csdnimg.cn/direct/ca78917982e447f891325c7d69ccc729.png
https://i-blog.csdnimg.cn/direct/403af6de4a41494bb385a84c7fb8d9f0.png
https://i-blog.csdnimg.cn/direct/a26989100b704e949fe2ad098607b29a.png
https://i-blog.csdnimg.cn/direct/87594e3f80194578b312b4e1c12eceee.png
https://i-blog.csdnimg.cn/direct/0e33c80b66af444f844cf2f9559b8a8d.png
https://i-blog.csdnimg.cn/direct/38cb42d7df6149aeb0b552c902f4bae3.png
https://i-blog.csdnimg.cn/direct/44fb83e395034a81b903fe5b209503a3.png
https://i-blog.csdnimg.cn/direct/0921148a0c6d466a8e58fe4008e2dc11.png
https://i-blog.csdnimg.cn/direct/b927472fac8a4e7b8a6f0529d60d950d.png
https://i-blog.csdnimg.cn/direct/a8e3d8dd39d841cc9ba2b98346f92db0.png
https://i-blog.csdnimg.cn/direct/c0f84679eb4e4aa68b92e5539424fcc6.png https://i-blog.csdnimg.cn/direct/78426eaf2baf4ea0be2a2289733099f7.png
https://i-blog.csdnimg.cn/direct/cbdd4308f2c44c888b40ab685f9ca20e.png
https://i-blog.csdnimg.cn/direct/8eb34d30879e4d9e9dd9762682f61c40.png
https://i-blog.csdnimg.cn/direct/3bd2469b0f8c4f1eb3ab3861249d458b.png
https://i-blog.csdnimg.cn/direct/0ea0014a148f4375a868600e5c7e854e.png
https://i-blog.csdnimg.cn/direct/c32b98f971c34acda5a19b1e6a0d882e.png
https://i-blog.csdnimg.cn/direct/ec432adffab243a68dcbe25c7e9ca5ba.png
https://i-blog.csdnimg.cn/direct/21038f88f2dc4617ae3c3f63ab121da4.png
https://i-blog.csdnimg.cn/direct/2a800b46f2ea41748aa1f07f96821ed8.png
https://i-blog.csdnimg.cn/direct/46a8305fdf414d009b918b031a1c119f.png
https://i-blog.csdnimg.cn/direct/75cbb151d74644d38b216d389080ce9c.png
https://i-blog.csdnimg.cn/direct/e2a9cb53a2ae4f51909ee7d773c7a2ec.png
https://i-blog.csdnimg.cn/direct/b82c4d5d22444beba8fe3feb1eff4066.png
https://i-blog.csdnimg.cn/direct/0696f9bb7cf44a59ac1b5a67de9991c8.png
https://i-blog.csdnimg.cn/direct/96aa9bf4f4e645dda08b6c729cdacc7a.png
https://i-blog.csdnimg.cn/direct/1d01378500684988912d4538de87ee98.png https://i-blog.csdnimg.cn/direct/d73407b4bf26420a959b14b494b306c0.png
https://i-blog.csdnimg.cn/direct/dcc2bfd634b94ebd8c34e2f2acb213c6.png
https://i-blog.csdnimg.cn/direct/c9bbb247ccf14189899e174841f25c58.png
https://i-blog.csdnimg.cn/direct/cbef32a68f6a42f4a10dffa47ad45953.png
https://i-blog.csdnimg.cn/direct/8ff7621fbc6f4ed18c8217dcaff1ffba.png
https://i-blog.csdnimg.cn/direct/c00a07d3e2884f56a5f9db1fc2d27576.png
https://i-blog.csdnimg.cn/direct/c9f00ccd3b2c45afa36a17fd56f5cf7c.png
https://i-blog.csdnimg.cn/direct/36b555159f0d4f97a1ac478b4682bf1e.png
https://i-blog.csdnimg.cn/direct/97acc8108e5e4611a62a1151690b03aa.png
https://i-blog.csdnimg.cn/direct/813a75ca8df243a8a36d642ffca77533.png
https://i-blog.csdnimg.cn/direct/b4fee4caa1b646f5a1e0e0e38d6ac16a.png
https://i-blog.csdnimg.cn/direct/87ad6d27c4a04853955811baf6b8f205.png
https://i-blog.csdnimg.cn/direct/6145ae02b8c042d8a1a456a92d3f784c.png
https://i-blog.csdnimg.cn/direct/e37d61389e5947529fc2129b33fc46d5.png
https://i-blog.csdnimg.cn/direct/a11054d1f31d40e997915a6a47cc0d87.png
https://i-blog.csdnimg.cn/direct/ff6bfd33f73f4f07bb4201f0a1b5f3a4.png
https://i-blog.csdnimg.cn/direct/9031066b84e0445b9cea08518824f748.png
https://i-blog.csdnimg.cn/direct/4d5fecf2efc447cb94e6290471372eaa.png
https://i-blog.csdnimg.cn/direct/d708a1bdc17b4366a4d975be68761332.png
https://i-blog.csdnimg.cn/direct/b9d5f5a5dcdd47caa0cfda27cae677c3.png
https://i-blog.csdnimg.cn/direct/99b887a04e5f46259bb90c8b5513d339.png
https://i-blog.csdnimg.cn/direct/89e9ce0aff3b4d63bca8c37480e26eb9.png
https://i-blog.csdnimg.cn/direct/50e5fa84113544d4bbeee0c92c7eea69.png
https://i-blog.csdnimg.cn/direct/1efe170f330e47789c10c074a9af0460.png
https://i-blog.csdnimg.cn/direct/69b1d1cbf5a44f8fb6ac31b34bd7ffa0.png
https://i-blog.csdnimg.cn/direct/0a513eb1461c409090fb9504936a8d0f.png
https://i-blog.csdnimg.cn/direct/85732791e8004968997bd239c3a8899b.png
09.04 信号灯 Traffic Lights
https://i-blog.csdnimg.cn/direct/fc69be35a61c436cb20e490ca2672b7c.png
https://i-blog.csdnimg.cn/direct/75b07f54d65f4d348e8e45f702f6fba1.png
https://i-blog.csdnimg.cn/direct/363373bdd0eb48eeb1d64377910cab4d.png
09.05 交叉路口
https://i-blog.csdnimg.cn/direct/4295a85996284af5ba2a9b512ada35bf.png
https://i-blog.csdnimg.cn/direct/04164889e37d45238d4c45c61d85aea7.png
https://i-blog.csdnimg.cn/direct/593e4d8a191d4eeca4d6a85f47ea6a44.png
https://i-blog.csdnimg.cn/direct/b6e169840c7d468aa2d5b7c037542acb.png
https://i-blog.csdnimg.cn/direct/aee979f84ef34c34b7ac1092b8af504e.png
https://i-blog.csdnimg.cn/direct/f79e21f25a084e3aa1b7f2c7e5ae0a03.png
https://i-blog.csdnimg.cn/direct/a7a54fc12cc14d0badda0ac545b98d1e.png
https://i-blog.csdnimg.cn/direct/3bcfed51a60b4c8cab749ba18778822a.png
https://i-blog.csdnimg.cn/direct/60ee1b542be246d7b4bd98aaa24af69f.png
https://i-blog.csdnimg.cn/direct/05c42fe42b9045adafde01ff1073da88.png
https://i-blog.csdnimg.cn/direct/662016350e064713914a3aa97d515e2e.png
https://i-blog.csdnimg.cn/direct/a3e01f08297346ccb43d31eeb40b6cfd.png
https://i-blog.csdnimg.cn/direct/c394eddd9c064204ad7636f780d7843c.png
https://i-blog.csdnimg.cn/direct/3c0238f06fa64780951a216ea33bc70e.png
10 对象 Objects
对象是通过扩展、界定或补充道路路线来影响道路的项目。 最常见的例子是停车位、人行横道和交通障碍。
https://i-blog.csdnimg.cn/direct/6f3c4423d68c4933a557fd8af8ca7400.png显示了使用 width、length 和 height 的角度对象的边界框,以及使用 radius 和 height 的圆形对象的边界框。
可以使用元素进一步描述复杂对象。 如果界说了元素,它将代替边界框。<outline><outline>
ASAM OpenDRIVE 中的对象不会更改其位置。
它们可以声明为 dynamic 或 static:
[*] 动态对象是静态的,但具有一个或多个可移动部分。 例如隧道或风车中的风扇。
[*] 静止的物体是完全静止的,没有任何可移动的部件。 例如建筑物或树木。
10.0 对象
对象是按元素界说的。
https://i-blog.csdnimg.cn/direct/16bf3c9013f54e2aa98ef7f4af5067c1.png
https://i-blog.csdnimg.cn/direct/766e918f6e3e4be78555b2fdd516179d.png
https://i-blog.csdnimg.cn/direct/2098aa75876b4e7e8d47a05320477417.png
10.02 Repeat
https://i-blog.csdnimg.cn/direct/7b40818d4b42440090560928cfc99282.png
https://i-blog.csdnimg.cn/direct/af5c6c9f57a94b35ba81b06c90e6a48a.png
https://i-blog.csdnimg.cn/direct/237976f366b14f349fcf614ccb908f85.png
https://i-blog.csdnimg.cn/direct/14d4fb1a5e0e43e69f2c00efe907eada.png
https://i-blog.csdnimg.cn/direct/c70543f1d024400eb10fd5c315b3b884.png
https://i-blog.csdnimg.cn/direct/0f922af758f94a64b68fde026cd7e64c.png
https://i-blog.csdnimg.cn/direct/bbfef45df6a8440bb62b597721d72ad3.png
https://i-blog.csdnimg.cn/direct/7de12ee873574ed7ada67ef8f4f2baf6.png
https://i-blog.csdnimg.cn/direct/5cb43d9165544e1e9cca9df6e5fb467f.png
https://i-blog.csdnimg.cn/direct/1162a4952e0c423ead3bcdfff5d31c61.png
https://i-blog.csdnimg.cn/direct/1a59155b7d5a43b6a8e079987511bc0a.png
11 信号与信号灯 Signals
信号是交通标记、交通信号灯和用于控制和调治道路交通的特定道路标记。
https://i-blog.csdnimg.cn/direct/18b14a847f424e99bc8792a6be54437e.png
Fig 124 显示了 ASAM OpenDRIVE 的示例信号界说。
11.01 信号
信号具有差别的功能和属性:
[*] 它们用于控制交通行为,例如,通过限速和转弯限制,以及提示道路交通留意危险情况。
[*] 它们可以是静态的,也可以是动态的。 静态信号(例如停车标记)不会改变其含义。 动态信号(如交通信号灯或可变留言板)在仿真过程中可能会改变其含义。 它们的动态内容可以在 ASAM OpenSCENARIO 中界说。
信号应相对于特定道路放置。 使用 s 和 t 坐标描述信号相对于道路参考线的位置。 信号灯的位置应清楚地表明它们属于哪条道路或车道以及其有效性从哪里开始。 应避免对其解释的歧义。
每个国家/地区的交通规则都差别。 信号的国家/地区在 @country 属性中指定。 在 ASAM OpenDRIVE 中放置信号时,应考虑特定国家/地区的立法和交通规则。 法规变更由规则见效的年份表现。 可以在元素中的元素中界说整个 ASAM OpenDRIVE 文件的流量规则。
11.02 信号的属性
信号的 @height 和 @width 属性不是必须的,但发起使用这些属性来正确表现信号。 @length 属性可用于指定信号的粗细。
不与交通绑定的道路标记不被界说为信号,而只是被界说为对象。
具有 @type 和 @subtype 属性的信号只有在与 @country 和 @countryRevision 属性组适时才是唯一的。 由于一些在 ASAM OpenDRIVE 中被视为信号的元素,例如交通信号灯,没有任何官方的 @type和@subtype表现情势。 它们可以与适当的 @type、@subtype 和 @country=“OpenDRIVE” 一起使用。
https://i-blog.csdnimg.cn/direct/97ffb15cbb244e06a66f96170c4d6c10.png
https://i-blog.csdnimg.cn/direct/02c9fcd41f4c4f0a8b70f53328e7c1a4.png
https://i-blog.csdnimg.cn/direct/30ba1b1bfa7a42a09b7bd42857f6d8c2.png
https://i-blog.csdnimg.cn/direct/7fbd457e1a384ac0b2abcebc2671a29a.png
https://i-blog.csdnimg.cn/direct/2e63d768b9bf4980b82b512e9391ab08.png
https://i-blog.csdnimg.cn/direct/1025cc2fe52644ee893f065fee9fe2aa.png
https://i-blog.csdnimg.cn/direct/fa35f4ce71df44589d8741abacf56108.png
https://i-blog.csdnimg.cn/direct/818415d8c8654994b88847b14caef271.png
https://i-blog.csdnimg.cn/direct/7261be417c804f5eb367f052debb8676.png
https://i-blog.csdnimg.cn/direct/3f30fb8818d84f2f91a1273b23a34a15.png
12 铁路 Railroad
除了道路之外,ASAM OpenDRIVE 还可以对基于轨道的交通体系(即有轨电车和有轨电车)进行建模。 ASAM OpenDRIVE 不能用于复杂的铁路网络和铁路信号。 ASAM OpenDRIVE 仅描述公路和铁轨交汇处的铁路网络。
在 ASAM OpenDRIVE 中,铁路由元素中的元素表现。
12.01 铁路
可用的 railroad 元素集目前仅限于道岔的界说。 所有其他条目都应被现有元素覆盖,例如 track definition by 、 signal definition by 等。 特定于铁路的元素是在有轨电车应用步调的背景下界说的。
https://i-blog.csdnimg.cn/direct/2517075bc69e4a28a34b63d2306014e9.png
https://i-blog.csdnimg.cn/direct/0d484209b5054b41872841b96e33d868.png
12.02 Switch
https://i-blog.csdnimg.cn/direct/4f097f4eca39499ca717e323d8b38b19.png
https://i-blog.csdnimg.cn/direct/a1628665efbe4c94be0eef1593aaae05.png
13 联高解释器 Parser
北京联高软件开发有限公式实现的 C# 版本xodr Parser。
13.01 重要特色
支持全部元素的准确剖析;
覆盖重要版本:1.4H,1.5M,1.6, 1.7,1.8;
非常完备的注释!
支持xml格式 *.xodr 文件的剖析;
支持转为 json;
支持曲线、曲面的毗连、过分、插值计算;
支持各种实体的显示;
13.02 源代码展示
https://i-blog.csdnimg.cn/direct/3bad9977366c46f09c7154e32ba516ac.png
联高解释器的部分源代码:
using System;
using System.Collections;
using System.Collections.Generic;
namespace OpenDrive
{
public class t_junctionGroup : _OpenDriveElement
{
/// <summary>
/// Unique ID within database
/// </summary>
public string id { get; set; }
/// <summary>
/// Name of the junction group. May be chosen freely.
/// </summary>
public string name { get; set; }
/// <summary>
/// Type of junction group
/// </summary>
public string type { get; set; } = "";
/// <summary>
///
/// </summary>
public List<t_junctionGroup_junctionReference>? junctionReference { get; set; } = null;
public t_junctionGroup() { }
}
}
using System;
using System.Collections;
using System.Collections.Generic;
namespace OpenDrive
{
public class t_road_objects_object
{
#region Attributes
/// <summary>
/// Indicates whether the object is dynamic or static,
/// default value is “no” (static). Dynamic object cannot change its position.
/// </summary>
public string dynamic { get; set; }
/// <summary>
/// Heading angle of the object relative to road direction
/// </summary>
public double hdg { get; set; } = 0.0;
/// <summary>
/// Height of the object’s bounding box.
/// @height is defined in the local coordinate system u/v along the z-axis
/// </summary>
public double height { get; set; } = 0.0;
/// <summary>
/// Unique ID within database
/// </summary>
public string id { get; set; }
/// <summary>
/// Length of the object’s bounding box, alternative to @radius.
/// @length is defined in the local coordinate system u/v along the u-axis
/// </summary>
public double length { get; set; } = 0.0;
/// <summary>
/// Name of the object. May be chosen freely.
/// </summary>
public string name { get; set; }
/// <summary>
/// "+" = valid in positive s-direction
/// "-" = valid in negative s-direction
/// "none" = valid in both directions
/// (does not affect the heading)
/// </summary>
public string orientation { get; set; }
/// <summary>
/// Alternative to @pitch and @roll.
/// If true, the object is vertically perpendicular to the road surface at
/// all points and @pitch and @roll are ignored. Default is false.
/// </summary>
public bool perpToRoad { get; set; }
/// <summary>
/// Pitch angle relative to the x/y-plane
/// </summary>
public double pitch { get; set; }
/// <summary>
/// radius of the circular object’s bounding box, alternative to @length and @width.
/// @radius is defined in the local coordinate system u/v
/// </summary>
public double radius { get; set; }
/// <summary>
/// Roll angle relative to the x/y-plane
/// </summary>
public double roll { get; set; }
/// <summary>
/// s-coordinate of object’s origin
/// </summary>
public double s { get; set; }
/// <summary>
/// Variant of a type
/// </summary>
public string subtype { get; set; }
/// <summary>
/// t-coordinate of object’s origin
/// </summary>
public double t { get; set; }
/// <summary>
/// Type of object.
/// For a parking space, the <parkingSpace> element may be used additionally.
/// </summary>
public string type { get; set; }
/// <summary>
/// Validity of object along s-axis (0.0 for point object)
/// </summary>
public double validLength { get; set; }
/// <summary>
/// Width of the object’s bounding box, alternative to @radius.
/// @width is defined in the local coordinate system u/v along the v-axis
/// </summary>
public double width { get; set; }
/// <summary>
/// z-offset of object’s origin relative to the elevation of the road reference line
/// </summary>
public double zOffset { get; set; }
#endregion
#region Elements
/// <summary>
///
/// </summary>
public List<t_road_objects_object_repeat>? repeat { get; set; } = null;
/// <summary>
///
/// </summary>
public t_road_objects_object_outline? outline { get; set; } = null;
/// <summary>
///
/// </summary>
public t_road_objects_object_outlines? outlines { get; set; } = null;
/// <summary>
///
/// </summary>
public List<t_road_objects_object_material>? material { get; set; } = null;
/// <summary>
///
/// </summary>
public List<t_road_objects_object_validity>? validity { get; set; } = null;
/// <summary>
///
/// </summary>
public t_road_objects_object_surface? surface { get; set; } = null;
/// <summary>
///
/// </summary>
public t_road_objects_object_markings? markings { get; set; } = null;
/// <summary>
///
/// </summary>
public t_road_objects_object_parkingSpace? parkingSpace { get; set; } = null;
/// <summary>
///
/// </summary>
public t_road_objects_object_borders? borders { get; set; } = null;
/// <summary>
///
/// </summary>
public t_road_objects_object_skeleton? skeleton { get; set; } = null;
/// <summary>
///
/// </summary>
public List<t_road_objects_object_tunnel>? tunnel { get; set; } = null;
/// <summary>
///
/// </summary>
public List<t_road_objects_object_bridge>? bridge { get; set; } = null;
/// <summary>
///
/// </summary>
public List<t_road_objects_objectReference>? objectReference { get; set; } = null;
#endregion
public t_road_objects_object() { }
}
}
读取 xodr 文件并转换为 json 的代码
try
{
// 读取 xodr(XML) 文件
// using System.Xml;
// using System.Xml.Serialization;
XmlSerializer serializer = new XmlSerializer(typeof(OpenDRIVE));
using XmlReader reader = XmlReader.Create(filename);
OpenDRIVE drive = (OpenDRIVE)serializer.Deserialize(reader);
// 转换为 json 文件
// using Newtonsoft.Json
if (drive != null)
{
JsonSerializerSettings settings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
DefaultValueHandling = DefaultValueHandling.Ignore
};
string buf = JsonConvert.SerializeObject(drive, Newtonsoft.Json.Formatting.Indented, settings);
File.WriteAllText(filename, buf, Encoding.UTF8);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
联系联高软件,获取全套C#源代码。
14 参考资料
各种解释器的参考代码。
14.01 C/C++:A very simple OpenDRIVE parser
A very simple OpenDRIVE parserhttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://github.com/JensKlimke/xsd2cpp
14.02 XML+C++:openDRIVE convert dev
https://github.com/pageldev/libOpenDRIVEhttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://github.com/pageldev/libOpenDRIVE
14.03 XML+C++:This serves as an OpenDRIVE parser
An OpenDRIVE parserhttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://github.com/Brucknem/GuidedResearch
14.04 XML+C++: openDRIVE Praser
https://gitee.com/a4zhangfei/OpenDrivePraserhttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://gitee.com/a4zhangfei/OpenDrivePraser
14.05 XML+Python: parse-and-visualize-xodr
A project for parsing opendrive .xodr file and visualization using matplotlib.https://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://github.com/fiefdx/pyopendriveparser
14.06 XML+Python/C++: Read opendrive with python/c++ parser
https://github.com/esmini/esmini.githttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://github.com/esmini/esmini.git
14.07 XML+C++: Easily accessible C++ object structure of OpenDRIVE
https://github.com/DLR-TS/xodrhttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://github.com/DLR-TS/xodr
14.08 OSM(OpenStreetMap) 转 OpenDRIVE (1.4)
https://github.com/JHMeusener/osm2xodr.githttps://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttp:// https://github.com/JHMeusener/osm2xodr.git
未完待续。。。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]