《OpenDRIVE1.6规格文档》1
目录
- 1 前言
- 1.1 说明文档的可交付内容
- 2 介绍
- 2.1 概要
- 2.2 规范和非规范的声明与可交付内容
- 2.3 惯例
- 2.3.1 命名惯例
- 2.3.2 单位
- 2.3.3 情态动词
- 2.3.4 拼写惯例
- 2.3.5 ID的使用
- 2.3.6 曲率
- 3 与其它标准的关联(初步)
- 3.1 ASAM OpenDRIVE在ASAM标准系列中的角色
- 3.2 OpenDRIVE与OpenCRG以及OpenSCENARIO之间的关联
- 3.3 向后兼容早期版本
- 3.4 其它标准的引用
- 4 通用架构
- 4.1 文件结构
- 4.2 合并文件
- 4.3 文件中使用的属性
- 4.3.1 封闭元素
- 4.3.2 头文件
- 4.4 通用规则与假设
- 4.4.1 行车方向
- 5 附加数据
- 5.1 用户数据
- 5.2 包含数据
- 5.3 使用不同布局类型
- 5.4 数据质量描述
- 6 坐标系
- 6.1 坐标系概述
- 6.2 惯性坐标系
- 6.3 参考线坐标系
- 6.4 局部坐标系
- 6.5 所有可用坐标系的总结
- 6.6 OpenDRIVE中的地理坐标参考
- 7 几何形状
- 7.1 道路参考线
- 7.2 直线
- 7.3 螺旋线
- 7.4 弧线
- 7.5 从几何形状元素中生成任意车道线
- 7.6 三次多项式(弃用)
- 7.6.1 三次多项式的背景信息
1 前言
ASAM OpenDRIVE描述了驾驶仿真应用所需的静态道路交通网络(以下简称路网)并提供了标准交换格式说明文档。该标准的主要任务是对道路及道路上的物体进行描述。OpenDRIVE说明文档涵盖对如道路、车道、交叉路口等内容进行建模的描述,但该说明文档中并不包含动态内容。
1.1 说明文档的可交付内容
- 文件格式说明文档
- XML模式
- UML模型
- 示例文件(应用案例和示例)
- 示例实现
- 参考实施的螺旋线
- 用于OpenDRIVE的标志库目录
2 介绍
2.1 概要
OpenDRIVE格式使用文件拓展名为xodr的可扩展标记语言(XML)作为描述路网的基础。存储在OpenDRIVE文件中的数据描述了道路的几何形状以及可影响路网逻辑的相关特征(features),例如车道和标志。OpenDRIVE中描述的路网可以是人工生成或来自于真实世界的。OpenDRIVE的主要目的是提供可用于仿真的路网描述,并使这些路网描述之间可以进行转换。
该格式将通过节点(nodes)而被构建,用户可通过自定义的数据扩展节点。这使得各类应用(通常为仿真)具有高度的针对性,同时还保证不同应用之间在交换数据时所需的互通性。
2.2 规范和非规范的声明与可交付内容
本说明文档使用标准信息结构。以下规则适用于确认章节的规范性:
- 根据“ 2.3.3情态动词”的定义,使用不同情态动词来声明“要求、允许或禁止”是规范的。
- OpenDRIVE UML模型中的UML图表是规范的。
- “规则”小节中的OpenDRIVE数据结构规则是规范的。
- XML示例和应用案例描述属于非规范的。
2.3 惯例
2.3.1 命名惯例
以下惯例适用于此文件:data types
是根据IEEE标准规定的。
2.3.2 单位
如无另外说明,本说明文档中的所有数值均采用SI单位,例如:
- 位置/距离单位为[m]
- 角度单位为[rad]
- 时间单位为[s]
- 速度单位为[m/s]
地理位置用空间坐标系定义的单位来说明,可遵循例如WGS 84–EPSG 4326[1]坐标系。
用户可以直接定义某些数据的数量单位。如果数量单位没有被明确定义或无法被解析,则将默认采用SI单位。以下单位可用于直接定义数据:
表1 单位
这些可选的单位只能作为指示牌以及速度标明使用。它们不能作为通用单位使用,比如不能用来定义道路几何形状或其它内容。
2.3.3 情态动词
为确保符合OpenDRIVE标准,用户需要通过文中的情态动词来辨别强制性要求、建议、允许以及可能性和能力。
在使用情态动词时,以下规则适用:
表2 情态动词的使用规则
规定 | 情态动词 |
---|---|
强制性要求:需严格遵守要求以便符合该标准,不得违背。 | shall, shall not |
建议:建议指的是建议多种可能性中最合适的一种,但不提及或排除其它可能性。 | should, should not |
许可:指的是在OpenDRIVE可交付内容的范围内允许采取的措施。 | may, need not |
可能性和能力:这些语言形式用于说明技术、材料、物理或其它方面的可能性或可行性。 | can, can not |
义务与必要性:此类语言形式用于描述OpenDRIVE以外的法律、组织或技术的义务和必要性。 | must, must not |
2.3.4 拼写惯例
此文档使用以下拼写惯例:
表3 拼写惯例
标记 | 定义 |
---|---|
Code elements | 此格式用于代码元素,例如类和属性的技术名称以及属性值。 |
Code snippets | 此格式用于摘录作为实现示例的代码。 |
Terms | 此格式用于介绍术语表及新术语,并对术语进行强调。 |
Mathematical elements | 此格式用于计算和数学元素。 |
<element> | 此标记用于描述XML说明文档中的元素的标签。 |
@attribute | “@”用于标明任意OpenDRIVE元素的属性。 |
OpenDRIVE结构图的建模根据统一建模语言(UML)来进行。有关UML的详细信息,请参见Booch et al.(1997)。
图1 UML记号(参阅ISO TS 19103,地理信息-概念模式语言)
元素的角色标明了其在一个关联中所有的上下文,角色标注在关联指向的物体处。OpenDRIVE类图表使用了配色方案来增强可读性:
- 图表的顶层元素标记为橙色,在自上而下读取图表时,橙色有助于更快找到入口。
- 标记为黄色的类属于UML包。这些包在说明文档章节里有UML图表之处讨论过。
- 标记为蓝色的类属于OpenDRIVE包,这些包区别于上面提到的黄色标记的UML包。
- 标记为绿色的类包含了几何形状信息。
图2 UML属性符号
在UML模型中,属性被标记为必选和可选。在上图中可以看到属性的标记。如图所示,可选属性带有UML特定的符号[0…1],必选属性则没有任何符号。
2.3.5 ID的使用
在OpenDRIVE中使用ID时,请遵循以下规则:
- ID在一个类中必须是唯一的。
- 车道ID在车道段中必须是唯一的。
- 仅可引用已定义的ID。
2.3.6 曲率
以下惯例适用于标明曲率:
- 正曲率:左曲线(逆时针运动)
- 负曲率:右曲线(顺时针运动)
Curvature=1/radiusCurvature = 1 / radius Curvature=1/radius
3 与其它标准的关联(初步)
3.1 ASAM OpenDRIVE在ASAM标准系列中的角色
ASAM OpenDRIVE是ASAM仿真标准的一部分,该标准专注于车辆环境的仿真数据。除了ASAM OpenDRIVE,ASAM还提供其它仿真领域的标准,例如ASAM OpenSCENARIO和ASAM OpenCRG。
3.2 OpenDRIVE与OpenCRG以及OpenSCENARIO之间的关联
ASAM OpenDRIVE为路网的静态描述定义了一种存储格式。通过与ASAM OpenCRG结合使用,可以将非常详细的路面描述添加至路网当中。OpenDRIVE和ASAM OpenCRG仅包含静态内容,若要添加动态内容,则需要使用ASAM OpenSCENARIO。三个标准结合则提供包含静态和动态内容的由场景驱动的对交通仿真的描述。
图3 OpenDRIVE、OpenCRG以及OpenSCENARIO之间的关联
3.3 向后兼容早期版本
OpenDRIVE 1.6版本包含了在1.5版本中出现过的元素,但这些元素与1.4版本不兼容。为了确保能与1.4版本和1.5版本兼容,这些元素在1.6版本的XML模式中从技术上被定义为可选。在UML模型的注释中,它们被标记为“向后兼容的可选”。
3.4 其它标准的引用
- XML 1.0模式
- UML 2.5.1标准
- ISO 3166-2用于国家/地区代码
- ISO 8855用于右手坐标系
- ISO 8601用于时间/日期
- 地理坐标参考(ISO DIN 19111)
4 通用架构
4.1 文件结构
OpenDRIVE数据存储于XML文件中,文件拓展名为.xodr。OpenDRIVE压缩文件的拓展名为".xodrz"(压缩格式gzip)。
OpenDRIVE文件的结构符合XML规则;关联的模式文件在XML中得到引用。用于OpenDRIVE格式的模式文件可从以下链接中读取:https://www.asam.net/standards/detail/opendrive/。
元素被置于层级中。层级大于0的元素是上一层级的子级,层级等于1的元素则为主元素。
可通过用户定义的数据对每个元素进行拓展。此类数据被存储于“用户数据”元素中。
所有在OpenDRIVE中使用的浮点数均为IEEE 754双精度浮点数。为了确保XML表示法中对浮点数的表示精准,应使用已知的保留最小的浮点数打印算法(比如[Burger96],[Adams18])的正确精度来进行执行,或者确保始终生成17位有效的十进制数字(例如,使用"%.17g"ISO C printf修改器)。导入实现应该使用已知的保持精度的浮点读取算法(例如[Clinger90])。
4.2 合并文件
可使用标签在适当的位置对多个文件进行合并。解析该标签后,OpenDRIVE读取器须立刻开始读取作为标签属性的文件。用户有责任确保从包含文件中读取而来的内容与包含开始时的上下文一致。
<include>标签出现在父标签下,该父标签必须存在于父文件以及包含文件内。
示例:
原始文件
<planView><include file="planview.xml"/>
</planView>
包含文件
<planView><geometry x="-0.014" y="-0.055" hdg="2.88" length="95.89" s="0.0"><arc curvature="-0.000490572"/></geometry><geometry x="-92.10" y="26.64" hdg="2.84" length="46.65" s="95.89"><spiral curvStart="-0.000490572" curvEnd="-0.004661241"/></geometry>
</planView>
4.3 文件中使用的属性
所有可在OpenDRIVE文件中使用的属性都能在UML模型里得到完整标注:
- 若单位适用于一个属性,则可根据第2.3.2章“单位”对它们进行说明。
- 类型:描述了属性的数据类型,可以分为基本数据类型或复杂数据类型。基本数据类型指的是字符串、双精度浮点数和浮点数等。而复杂数据类型则指该说明文档中所描述的物体。
- 值:值规定了相对于指定类型的给定属性的值域。
4.3.1 封闭元素
文件的起始及结束元素是:
表4 OpenDRIVE元素的属性
4.3.2 头文件
<header>
元素是<OpenDRIVE>中的第一个元素。
表5 头元素中的属性
4.4 通用规则与假设
4.4.1 行车方向
如无另外说明,本规格文档里的所有示例、图表和描述都假定为靠右行车环境。
5 附加数据
OpenDRIVE可以包含外部数据,而如何处理此类数据则视应用而定。附加数据可被置于OpenDRIVE中的任意位置。
5.1 用户数据
应在辅助数据所引用的元素附近对其进行描述。辅助数据包含OpenDRIVE中还未描述或出于特殊原因为某一应用所用的数据,如不同的道路纹理。
在OpenDRIVE中,辅助数据用<userData>
元素来表示。它们可被存储在OpenDRIVE任意元素中。
图4 UML模型OpenDRIVE核心
5.2 包含数据
OpenDRIVE允许将外部文件包含在OpenDRIVE文件中,而如何处理该类文件则视应用而定。包含数据用<include>
元素来表示,可被存储在OpenDRIVE里任意位置。
5.3 使用不同布局类型
可在OpenDRIVE中对用户生成的元素布局(如路标或标志)进行集成。这些附加的布局设计并不存储在OpenDRIVE中,而是存储在用户应用中。
在OpenDRIVE中,不同布局类型用<set>
元素来表示,其可存储在OpenDRIVE里任意位置。每个<set>
元素之后都可以关联一个或多个对布局进行说明的<instance>
元素。
5.4 数据质量描述
集成到OpenDRIVE的原始数据或来自外部资源的数据质量可能参差不齐。外部数据的质量和准确性可以在OpenDRIVE中得到描述。
对数据质量的描述用<dataQuality>
元素来表示。它们可存储在OpenDRIVE中的任意位置。集成到OpenDRIVE、源自于GPS等外部资源的测量数据可能存在误差。以[m]为单位的误差范围可在应用中被列出。道路数据的绝对或相对误差在<dataQuality>
元素中用<error>
元素来描述。某些基本数据涵盖了被包括在OpenDRIVE中的原始数据信息,这些原始数据在<dataQuality>
元素中用<rawData>
元素来描述。
6 坐标系
6.1 坐标系概述
OpenDRIVE使用三种类型的坐标系,如下图所示:
- 惯性x/y/z轴坐标系
- 参考线s/t/h轴坐标系
- 局部u/v/z轴坐标系
图5 OpenDRIVE中可使用的坐标系
若无另外说明,对局部坐标系的查找与定位将相对于参考线坐标系来进行。对参考线坐标系位置与方向的设定则相对于惯性坐标系来开展,具体方法为对原点、原点的偏航角、横滚角和俯仰角以及它们之间的关系进行详细说明。
图6 OpenDRIVE中坐标系之间的相互关系
6.2 惯性坐标系
根据ISO 8855惯性坐标系是右手坐标系,其轴的指向方向如下(见图7):
- x轴 ⇒ 右方
- y轴 ⇒ 上方
- z轴 ⇒ 指向绘图平面外
以下惯例适用于地理参考:
- x轴 ⇒ 东边
- y轴 ⇒ 北边
- z轴 ⇒ 上方
通过依次设置偏航角(heading)、俯仰角(pitch)和横滚角(roll),元素(如物体、标志等)可被置于惯性坐标系中:
图7 含有旋转定义的惯性坐标系
图7展示了对应角的正轴与正方向。
航向角 围绕z轴
航向角 = 0.0 x'指向x轴/东边
航向角 = pi/2 x'指向y轴/北边
俯仰角 围绕y'轴
俯仰角 = 0.0 x''/y''面 = x'/y'面
俯仰角 = pi/2 方向x'' = -z' = -z
横滚角 围绕x''轴
横滚角 = 0.0 x'''/y'''面 = x''/y''面
横滚角 = pi/2 方向z''' = -y''
图8 惯性坐标系(带旋转定义)
x’/y’/(z’=z) 指的是以偏航角围绕z轴旋转x/y/z轴之后的坐标系。坐标系x’’/(y’’=y’)/z’’指的是以俯仰角围绕y’轴旋转x’/y’/z’轴之后的坐标系。最后,坐标系(x’’’=x’’)/y’’’/z’’’指的是以横滚角旋转x’’/y’’/z’’轴之后的坐标系。
6.3 参考线坐标系
参考线坐标系同样也是右手坐标系,应用于道路参考线。s方向跟随着参考线的切线方向。这里需要说明的是:参考线总是被放置在由惯性坐标系定义的x/y平面里。t方向与s方向成正交。在定义完垂直于x轴和y轴的朝上的h方向后,整个右手坐标系才算完成。被定义的自由度如下:
图9 参考线坐标系
sss轴:坐标沿参考线,以[m]为单位,由道路参考线的起点开始测量,在xy平面中计算(也就是说,这里不考虑道路的高程剖面)。
ttt轴:侧面,在惯性x/y平面里向左为正方向。
hhh轴:在右手坐标系中垂直于st平面。
图10 参考线坐标系(带旋转定义)
航向角 围绕h轴
航向角 = 0.0 s'沿s方向被指向前
航向角 = pi/2 s'被指向t
横滚角 围绕s'轴
横滚角 = 0.0 s'''/t'''面 = s'/t'面
与惯性系相似,s’/t’/h’与s’’’/t’’’/h’’’指的是围绕偏航角和横滚角旋转后得到的坐标系。如图11所示,通过提供原点坐标以及相对于惯性坐标系原点的方向(偏航角),参考线坐标系可被置于惯性空间中。
图11 在参考线中的偏航角
超高程导致参考线内产生横滚角。
图12 参考线中的横滚角
俯仰角在s/t/h轴坐标系中不可能出现,参考线的高程如下图所示。高程对s的长度不产生影响。
图13 参考线中的高程
6.4 局部坐标系
根据ISO 8855局部坐标系是右手坐标系,其轴的指向如下。以下内容适用于非旋转坐标系:
uuu轴:向前匹配sss
vvv轴:向左匹配ttt
zzz轴:向上匹配hhh
可通过依次设置偏航角、俯仰角和横滚角,将元素(例如物体)置于局部坐标系中:
图14 局部坐标系(带旋转定义)
在局部坐标系中,以下角度得到定义:
航向角 围绕z轴, 0.0 = 东边
航向角 = 0.0 u'沿u方向指向前方
航向角 = pi/2 u'指向t
俯仰角 围绕v'轴
俯仰角 = 0.0 u''/v''面 = u'/v'面
俯仰角 = pi/2 方向x'' = -z' = -z
横滚角 围绕x''轴
横滚角 = 0.0 x'''/y'''面 = x''/y''面
横滚角 = pi/2 方向z''' = -y''
图15 带偏航角、俯仰角和横滚角的局部坐标系
图14展示了对应角的正轴与正方向。局部坐标系只能通过以下方法被置于参考线空间中:如图16所示,在参考线坐标系中提供局部坐标系的原点和相对于参考线坐标系的偏航角。
图16 相对于参考线坐标系的局部坐标系
6.5 所有可用坐标系的总结
惯性坐标系、参考线坐标系和局部坐标系将在OpenDRIVE中同时被使用。图17中的示例描述了三个坐标系相对于彼此的位置与方向设定。
图17 OpenDRIVE中坐标系总结
6.6 OpenDRIVE中的地理坐标参考
空间参考系的标准化由欧洲石油测量集团大地测量学(EPSG)执行,该参考系由用于描述大地基准的参数来定义。大地基准面是相对于地球椭球模型的位置集合的坐标参考系统。
通过使用基于PROJ(一种用于两个坐标系之间数据交换的格式)的投影字符串来完成对大地基准的描述。该数据应标为CDATA
,因为其可能包含会干预元素属性XML语义的字符。
在OpenDRIVE中,关于数据集的地理参考信息在<header>
元素的<geoReference>
元素中得以呈现。Proj字符串(如以下XML示例中所示)包含了所有定义已使用的空间参考系的参数:
关于proj字符串的细节信息,参见https://proj.org/usage/projections.html。投影的定义不能多于一个。若定义缺失,那么则假定为局部笛卡尔坐标系。这里强烈建议使用proj字符串的官方参数组(使用该链接查询字符串:https://epsg.io/)。参数不应被改变。一些空间参考系如UTM具有东向和北向偏移,这里使用+x_0
与+y_0
参数对它们进行定义。若您想应用偏移,请使用<offset>
元素,而不是改变所有参数值。
XML示例:
<geoReference><![CDATA[+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs]]>
</geoReference>
图18 地理坐标参考偏移
规则:<offset>
应使OpenDRIVE的x和y坐标大致集中在(0;0)周围。在x和y坐标过大的情况下,由于IEEE 754双精度浮点数的精确度有限,在内部使用浮点坐标的应用可能不能够对它们进行精确处理。
7 几何形状
道路的走向可以是多种多样的,它们可以是空旷地面上的直线、高速公路上细长的弯道、亦或是山区狭窄的转弯。为从数学角度对所有这些道路线进行正确建模,OpenDRIVE提供了多种几何形状元素。图19展示了5种定义道路参考线几何形状的可行方式。
- 直线
- 螺旋线或回旋曲线(曲率以线性方式改变)
- 有恒定曲率的弧线
- 三次多项式曲线
- 参数三次多项式曲线
图19 OpenDRIVE的几何形状元素
7.1 道路参考线
道路参考线是OpenDRIVE中每条道路的基本元素。所有描述道路形状以及其它属性的几何元素都依照参考线来定义,这些属性包括车道及标志。
按照定义,参考线向sss方向伸展,而物体出自参考线的侧向偏移,向ttt方向伸展。
图20展示了OpenDRIVE中一条道路的不同部分。
- 道路参考线
- 一条道路上的单独车道
- 沿道路放置的道路特征(如标志)
图20 一条道路的不同部分
在OpenDRIVE中,参考线的几何形状用<planView>
元素里的<geometry>
元素来表示。<planView>
元素是每个<road>
元素里必须要用到的元素。
图21 道路几何形状(包含参考线元素)UML模型
表6 planView元素属性
名称 | 类型 | 单位 | 值 | 描述 |
---|---|---|---|---|
s | t_grEqZero | m | [0;∞[ | 起始位置的s坐标 |
x | double | m | ]-∞;∞[ | 起始位置(x惯性) |
y | double | m | ]-∞;∞[ | 起始位置(y惯性) |
hdg | double | rad | ]-∞;∞[ | 起始方向(惯性偏航角) |
length | t_grZero | m | [0;∞[ | 元素的参考线长度 |
以下规则适用于道路参考线:
- 每条道路必须有一条参考线。
- 每条道路只能有一条参考线。
- 参考线通常在道路中心,但也可能有侧向偏移。
- 几何元素应沿参考线以升序(即递增的s位置)排列。
- 一个
<geometry>
元素应只包含一个另外说明道路几何形状的元素。 - 若两条道路不使用交叉口来连接,那么新的道路的参考线应总是起始于其前驱或后继道路的
<contactPoint>
。参考线有可能被指向相反方向。 - 参考线不能有断口。
- 参考线不应有扭结。
相关内容:
- 直线
- 螺旋线
- 弧线
- 道路
- 车道
7.2 直线
如图22所示,直线是最简单的几何形状元素。它不包含其它属性。
图22 直线
在OpenDRIVE中,直线用<geometry>
元素里的<line>
元素来表示。
XML示例,
<planView><geometrys="0.0000000000000000e+00"x="-4.7170752711170401e+01"y="7.2847983820912710e-01"hdg="6.5477882613167993e-01"length="5.7280000000000000e+01"><line/></geometry>
</planView>
相关内容:道路参考线和道路。
7.3 螺旋线
如图23所示,螺旋线是一条描述参考线变化曲率的回旋曲线。螺旋线可被用来描述曲率在<line>
到<arc>
连贯的转换。螺旋线是以起始位置的曲率(@curvStart)和结束位置的曲率(@curvEnd)为特征。沿着螺旋线的弧形长度(见<geometry>
元素@length),曲率从头至尾呈线性。也可以按顺序排列<line>
、<spiral>
和<arc>
几个元素,从而对复杂曲率进行描述。
图23 用螺旋线来描述道路几何形状
在OpenDRIVE中,螺旋线用<geometry>
元素里的<spiral>
元素来表示。
t_road_planView_geometry_spiral
表7 螺旋线元素的属性
名称 | 类型 | 单位 | 值 | 描述 |
---|---|---|---|---|
curvStart | double | 1/m | ]-∞;∞[ | 元素开始时的曲率 |
curvEnd | double | 1/m | ]-∞;∞[ | 元素结束时的曲率 |
XML示例:
<geometry s="100.0" x="38.00" y="-1.81" hdg="0.33" length="30.00"><spiral curvStart="0.0" curvEnd="0.013"/>
</geometry>
@curvStart和@curvEnd不应该相同。
相关内容:弧线、参考线、从几何形状元素中生成任意道路、道路。
7.4 弧线
如图24所示,弧线描述了有着恒定曲率的道路参考线。
图24 用弧线来描述道路几何形状
在OpenDRIVE中,弧线用<geometry>
元素里的<arc>
元素来表示。
t_road_planView_geometry_spiral
表8 弧线元素的属性
名称 | 类型 | 单位 | 值 | 描述 |
---|---|---|---|---|
curvature | double | 1/m | ]-∞;∞[ | 恒定曲率贯穿元素 |
XML示例:
<planView><geometrys="3.6612031746270386e+00"x="-4.6416930098385274e+00"y="4.3409250448366459e+00"hdg="5.2962250374496271e+00"length="9.1954178989066371e+00"><arc curvature="-1.2698412698412698e-01"/></geometry>
</planView>
曲率不应为零。
相关内容:参考线、道路
7.5 从几何形状元素中生成任意车道线
如图25所示,通过对OpenDRIVE中所有可用的几何形状元素进行组合,以便可以创建诸多种类的道路线。为避免曲率中出现断口,建议使用螺旋线将直线与弧线以及其它有不同曲率的元素进行结合。
图25 从几何形状元素创建参考线
7.6 三次多项式(弃用)
三次多项式可用于生成从测量数据导出的复杂道路路线。对于x/y坐标系中沿参考线的给定测量坐标序列,测量对定义线段的多项式极限。局部三次多项式描述了道路的参考线。通过对线段极限处的连续性条件例如线段连续性、切线和/或曲率连续性等进行详细说明,可以对多个三次多项式线段进行融合并且为整个道路走向生成一条全局三次样条插值曲线。另一个优点则是,沿着多项式的路径方式比沿回旋曲线更有效。
7.6.1 三次多项式的背景信息
以下方程描述了x/y坐标系里三次多项式的插值:
y(x)=a+bx+cx2+dx3y(x) = a + bx + cx^2 + dx^3 y(x)=a+bx+cx2+dx3
公式中的多项式参数a、b、c和d用于定义道路的走向。借助参数a-d,坐标系里每个点的y坐标都可以从x坐标中计算出来。图26使用以下的值对在x/y坐标系中的三次多项式进行了展示:
a = 20
b = 0
c = 0.0005
d = 0.0001
图26 三次多项式
《OpenDRIVE1.6规格文档》1相关推荐
- 《QTP自动化测试进阶》(1)
学习<QTP自动化测试进阶>第一章. 采用不同的项目开发模型对自动化测试有不同的影响. (1)瀑布模型:瀑布模型在需求定义方面做得很好,这对自动化测试是有益的,包括可以尽早选择合适的自动化 ...
- QTP自动化测试从零基础到精通进阶(脚本测试、VBS语法、描述性编程、测试框架)...
QTP自动化测试从零基础到精通进阶(脚本测试.VBS语法.描述性编程.测试框架) 网盘地址:https://pan.baidu.com/s/19yUptC8PBFZFfH-VpyUUpQ 提取码: a ...
- 《精通QTP——自动化测试技术领航》—第1章1.6节对象库(下)之进阶编程篇
本节书摘来自异步社区<精通QTP--自动化测试技术领航>一书中的第1章1.6节对象库(下)之进阶编程篇,作者余杰 , 赵旭斌,更多章节内容可以访问云栖社区"异步社区"公 ...
- 亿能测试-QTP自动化测试系列视频-汇总
视频: 第1讲-安装目录分析[QTP自动化测试视频系列_亿能测试] http://www.automationqa.com/forum.php?mod=viewthread&tid=1146& ...
- 转:一个简单的基于WEB的QTP自动化测试框架-SAFFRON
来源: http://www.itestware.com/ctest/index.php?option=com_content&view=article&id=62:webqtp-sa ...
- QTP自动化测试视频系列
第1讲-安装目录分析 第2讲-认识QTP操作窗体 第3讲-QTP示例程序业务讲解 第4讲-QTP高手进阶指南 第5讲-初试QTP脚本录制回放 第6讲-QTP脚本增强与调试 第7讲-QTP的三种录制模式 ...
- 软件测试技术qtp,51Testing独家连载:(四十一)精通QTP——自动化测试技术领航
操控方式2: '获取DOM对象 setoDocument = Browser("Browser").Page("Page").Object '使用GetElem ...
- 51Testing独家连载:(七)精通QTP——自动化测试技术领航
1.3 录制与回放-QTP的开关 阶段要点 录制在实际项目应用中的价值观(极低). 新手切记不可在项目应用时被禁锢在录制中. 录制及其相关功能的重点知识点提炼. 录制功能"旁门左道" ...
- 《精通QTP——自动化测试技术领航》—第1章1.3节录制与回放—QTP的开关
本节书摘来自异步社区<精通QTP--自动化测试技术领航>一书中的第1章1.3节录制与回放-QTP的开关,作者余杰 , 赵旭斌,更多章节内容可以访问云栖社区"异步社区"公 ...
- 《精通QTP——自动化测试技术领航》—第1章1.2节帮助文档(HELP)-QTP的说明书...
本节书摘来自异步社区<精通QTP--自动化测试技术领航>一书中的第1章1.2节帮助文档(HELP)-QTP的说明书,作者余杰 , 赵旭斌,更多章节内容可以访问云栖社区"异步社区& ...
最新文章
- Linux更新pip国内源
- Windows Virtual PC RC 发布
- fork source exec区别差异
- Qt 常用类——QStandardItemModel
- linux delete内存不下降_linux内存分配管理
- HDFS副本放置策略
- hihocoder第229周:最大连续字母个数
- atitit.为什么技术的选择方法java超过.net有前途
- paip.索引的种类以及实现attilax 总结
- h5页面如何预览excel文件_在网页中预览word和excel
- 拿R来画画(八):面积图与堆积图
- Vijos 3764 牛奶题
- 小冰岛——小户赛茶的特点
- 我的梦想是成为一名计算机程序员英语怎么说,我的梦想英语作文带翻译八篇(I have a dream)...
- 国内主要的PDM产品关于浏览圈阅模块的总结(2006)
- 大数据工程师岗位工作内容是什么
- 新媒体运营如何入门?
- linux编译.o文件,使用-O0编译Linux内核
- 剑灵盛世服务器位置,剑灵全新大区西洛区 1月17日盛世开启!
- 记一次云服务器重装CentOS7系统
热门文章
- 360安全桌面壁纸被设为壁纸后的路径xp
- 教你成为质量管理高手GJB
- 西门子S7-200的PLC,CPU224XP的模拟量接线怎样接
- kuangbin线段树专题
- java数据结构银行叫号_数据结构C语言版利用队列结构实现银行叫号系统要..._结构工程师_帮考网...
- 多个ai文件合并成pdf_AI打开多页PDF教程.pdf
- 搭建Hadoop环境(超详细)
- 【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件
- PUN☀️四、服务器大厅建房解析
- 网页游戏用的什么编程语言