Disclaimer

This document is the copyrighted property of ASAM e.V. In alteration to the regular license terms, ASAM allows unrestricted distribution of this standard. §2 (1) of ASAM’s regular license terms is therefore substituted by the following clause: "The licensor grants everyone a basic, non-exclusive and unlimited license to use the standard ASAM OpenDRIVE".

免责声明

ASAM e.V. 拥有该文档的版权。

任何使用均局限于许可条款 (https://www.asam.net/license) 所描述的范围内。在常规许可条款的基础上,ASAM允许该标准不受限制地被分发。因此,ASAM常规许可条款 license terms 的 §2 (1) 可被以下条例所替代:许可方授予每个人使用标准ASAM OpenDRIVE的基本、非排他性和无限制许可。

1. Foreword 前言

ASAM OpenDRIVE provides the exchange format specification to describe static road networks for driving simulation applications. The primary task of ASAM OpenDRIVE is the road description including objects along the road. The OpenDRIVE Specification covers the description on how to model e.g. roads, lanes, junctions. Dynamic content is not coverd by ASAM OpenDRIVE

ASAM OpenDRIVE描述了驾驶仿真应用所需的静态道路交通网络(以下简称路网)并提供了标准交换格式说明文档。该标准的主要任务是对道路及道路上的物体进行描述。OpenDRIVE说明文档涵盖对如道路、车道、交叉路口等内容进行建模的描述,但该说明文档中并不包含动态内容。

1.1. Deliverables of the OpenDRIVE specification 说明文档的可交付内容

The following deliverables are provided for OpenDRIVE:

  • File format specification

  • XML schemas

  • UML model

  • Sample files (UseCases and Examples)

  • Example implementations

  • Reference implementations spiral

  • Signal Base catalog for OpenDRIVE

OpenDRIVE可交付以下内容:

  • 文件格式说明文档

  • XML模式

  • UML模型

  • 示例文件(应用案例和示例)

  • 示例实现

  • 引用实现的螺旋线

  • 用于OpenDRIVE的标志库目录

2. Introduction 介绍

2.1. Overview 概要

The OpenDRIVE format provides a common base for describing road networks with Extensible Markup Language (XML) syntax, with the file extension xodr. The data that is stored in an OpenDRIVE file describes the geometry of roads as well as features along the roads that influence the logics, for example, lanes and signals. The road networks that are described in the OpenDRIVE file can either be synthetic or real. The main purpose of OpenDRIVE is to provide a road network description that can be fed into simulations and to make these road network descriptions exchangeable.

OpenDRIVE格式使用文件拓展名为xodr的可扩展标记语言(XML)作为描述路网的基础。存储在OpenDRIVE文件中的数据描述了道路的几何形状以及可影响路网逻辑的相关特征(features),例如车道和标志。OpenDRIVE中描述的路网可以是人工生成或来自于真实世界的。OpenDRIVE的主要目的是提供可用于仿真的路网描述,并使这些路网描述之间可以进行交换。

The format is organized in nodes that can be extended with user defined data. This facilitates a high degree of specialization for individual applications (usually simulations) while maintaining the interoperability that is required for the exchange of data between different applications.

该格式将通过节点(nodes)而被构建,用户可通过自定义的数据扩展节点。这使得各类应用(通常为仿真)具有高度的针对性,同时还保证不同应用之间在交换数据时所需的互通性。

2.2. Normative and non-normative statements and deliverables 规范和非规范的声明与可交付内容

This specification uses a standard information structure. The following rules apply regarding normativity of sections:

  • Statements expressed as requirements, permissions, or prohibitions according to the use of modal verbs, as defined in "2.3.3 Modal verbs", are normative.

  • UML diagrams from the OpenDRIVE UML model are normative.

  • Rules for OpenDRIVE data structures in "Rules" sections are normative.

  • XML examples and use case descriptions are non-normative.

本说明文档使用标准信息结构。以下规则适用于确认章节的规范性:

  • 根据“ 2.3.3情态动词”的定义,使用不同情态动词来声明“要求、允许或禁止”是规范的。

  • OpenDRIVE UML模型中的UML图表是规范的。

  • “规则”小节中的OpenDRIVE数据结构规则是规范的。

  • XML示例和应用案例描述属于非规范。

2.3. Conventions 惯例

2.3.1. Naming Conventions 命名惯例

In this document, the following conventions apply:

data types are given according to IEEE standard

以下惯例适用于此文件:

data types 是根据IEEE标准规定的。

2.3.2. Units 单位

Unless stated otherwise, all numeric values within this specification are in SI units, for example:

  • position/distance in [m]

  • angles in [rad]

  • time in [s]

  • speed in [m/s]

如无另外说明,本说明文档中的所有数值均采用SI单位,例如:

  • 位置/距离单位为[m]

  • 角度单位为[rad]

  • 时间单位为[s]

  • 速度单位为[m/s]

Geographic positions are stated in the unit defined by the spatial coordinate system, for example, in accordance with WGS 84 – EPSG 4326 [1].

地理位置用空间坐标系定义的单位来说明,可遵循例如WGS 84 – EPSG 4326 [1]坐标系。

Some data elements allow you to explicitly state the unit of a given value. If the unit is not given or if there is no means to state the unit, SI units apply. The following units may be used in explicit assignments:

用户可以直接定义某些数据的数量单位。如果数量单位没有被明确定义或无法被解析,则将默认采用SI单位。以下单位可(may)用于直接定义数据:

Table/表 1. Units 单位
Category
类别
Description
描述
Identifier
标识符

distance

距离

meter

m

kilometer

公里

km

feet

英尺

ft

land mile

陆地英里

mile

Speed

速度

meters per second

米/秒

m/s

miles per hour

英里/小时

mph

kilometers per hour

公里/小时

km/h

Mass

重量

kilogram

公斤

kg

metric tons

公吨

t

Slope

坡度

percent

百分比

%

These optional units shall be used for purposes of signage and speed indication only. They shall not be used as general units, for example, to define road geometry, etc.

这些可选的单位只能(shall)作为指示牌以及速度标明使用。它们不能(shall not)作为通用单位使用,比如不能用来定义道路几何形状或其他内容。

2.3.3. Modal verbs 情态动词

To ensure compliance with the OpenDRIVE standard, users need to be able to distinguish between mandatory requirements, recommendations, permissions, as well as possibilities and capabilities.

为确保符合OpenDRIVE标准,用户需要通过文中的情态动词来辨别强制性要求、建议、允许以及可能性和能力。

The following rules for using modal verbs apply:

在使用情态动词时,以下规则适用:

Table/表 2. Rules for using modal verbs 情态动词的使用规则
Provision 规定 Verbal form 情态动词

Requirement 强制性要求
Requirements shall be followed strictly in order to be conform to the standard. Deviations are not allowed.

需严格遵守要求以便符合该标准,不得违背。

shall
shall not

Recommendation 建议
Recommendations indicate that among several possibilities, one is recommended as particularly suitable, without mentioning or excluding others.

建议指的是建议多种可能性中最合适的一种,但不提及或排除其他可能性。

should
should not

Permission 许可
Permissions indicate a course of action permissible within the limits of OpenDRIVE deliverables.

指的是在OpenDRIVE可交付内容的范围内允许采取的措施。

may
need not

Possibility and capability 可能性和能力
These verbal forms are used for stating possibilities or capabilities, being technical, material, physical, or others.

这些语言形式用于说明技术、材料、物理或其他方面的可能性或可行性。

can
can not

Obligation and necessity 义务与必要性
These verbal forms are used to describe legal, organizational, or technical obligations and necessities that are not regulated or enforced by the OpenDRIVE standard.

此类语言形式用于描述OpenDRIVE以外的法律、组织或技术的义务和必要性。

must
must not

2.3.4. Typographic conventions 拼写惯例

This documentation uses the following typographical conventions:

此文档使用以下拼写惯例:

Table/表 3. Typographical conventions 拼写惯例
Mark-up + 标记 Definition
定义

Code elements

This format is used for code elements, such as technical names of classes and attributes, as well as attribute values.

此格式用于代码元素,例如类和属性的技术名称以及属性值。

Code snippets

This format is used for excerpts of code that serve as an example for implementation.

此格式用于摘录作为实现示例的代码。

Terms

This format is used to introduce glossary terms, new terms and to emphasize terms.

此格式用于介绍术语表及新术语并对术语进行强调。

Mathematical elements

This format is used for calculations and mathematical elements.

此格式用于计算和数学元素。

<element>

This describes a tag for an element within the XML specification

此标记用于描述XML说明文档中的元素的标签。

@attribute

The "@" identifies an attribute of any OpenDRIVE element

“ @”用于标明任意OpenDRIVE元素的属性。

The OpenDRIVE structure diagrams are modeled according to the Unified Modeling Language (UML). For detailed information on UML, see Booch et al. (1997).

OpenDRIVE结构图的建模根据统一建模语言(UML)来进行。有关UML的详细信息,请参见Booch et al.(1997)。

img1
Figure 1. UML notation (see ISO TS 19103, Geographic information - Conceptual schema language) 图1. UML谱(参阅ISO TS 19103,地理信息-概念模式语言)

The context that an element takes within an association is indicated by its role. The role is given near the target of the association. For better readability, the OpenDRIVE class diagrams use a color scheme:

  • The top-level element of a diagram is marked orange. This helps finding the entry point when reading a diagram top-down.

  • Classes that are marked yellow belong to the UML package that is discussed in the chapter of the specification, where the UML diagram is given.

  • Classes that are marked blue belong to an OpenDRIVE package that is different from the package that is associated with the yellow color.

  • Classes that are marked green are classes that contain geometry information.

元素的角色标明了其在一个关联中(association)所有的上下文(context),角色标注在关联指向的物体处。OpenDRIVE类图表(class diagram)使用了配色方案来增强可读性:

  • 图表的顶层元素标记为 橙色,在自上而下读取图表时,橙色有助于更快找到入口。

  • 标记为 黄色 的类属于UML包(package)。这些包在说明文档章节里有UML图表之处讨论过。

  • 标记为 蓝色 的类属于OpenDRIVE包,这些包区别于上面提到的黄色标记的UML包。

  • 标记为 绿色 的类包含了几何形状信息。

Mandatory and optional attributes 必选和可选属性

img2
Figure 2. UML attribute notation 图2. UML属性符号

In the UML Model attributes are marked as mandatory and optional. In the above figure the marking of the attributes can be seen. Optional attributes have the UML specific notation [0..1], mandatory attributes do not have any notation.

在UML模型中,属性被标记为必选和可选。上图的示例展示了属性标记的识别以及解读。如图所示,可选属性带有UML特定的符号[0..1],必选属性则没有任何符号。

2.3.5. Use of IDs ID的使用

The following rules apply to the use of IDs in OpenDRIVE:

  • IDs shall be unique within a class.

  • Lane IDs shall be unique within a lane section.

  • Only defined IDs may be referenced.

在OpenDRIVE中使用ID时,请遵循以下规则:

  • ID在一个类中必须(shall)是唯一的。

  • 车道ID在车道段中必须(shall)是唯一的。

  • 仅可(may)引用已定义的ID。

2.3.6. Curvature 曲率

For curvature indications, the following convention applies:

  • Positive curvature: left curve (counter-clockwise motion)

  • Negative curvature: right curve (clockwise motion)

以下惯例适用于标明曲率:

  • 正曲率:左曲线(逆时针运动)

  • 负曲率:右曲线(顺时针运动)

Curvature == 1/radius

3. Relations to other standards (preliminary) 与其他标准的关联(初步)

3.1. Positioning of ASAM OpenDRIVE within ASAM activities ASAM OpenDRIVE在ASAM标准系列中的角色

ASAM OpenDRIVE is part of the ASAM simulation standards that focus on simulation data for the automotive environment. Next to ASAM OpenDRIVE, ASAM Provides other standards for the simulation domain, like ASAM OpenSCENARIO and ASAM openCRG.

ASAM OpenDRIVE是ASAM仿真标准的一部分,该标准专注于车辆环境的仿真数据。除了ASAM OpenDRIVE,ASAM还提供其他仿真领域的标准,例如ASAM OpenSCENARIO和ASAM OpenCRG。

3.2. Relation of ASAM OpenDRIVE to OpenCRG and OpenSCENARIO OpenDRIVE与OpenCRG以及OpenSCENARIO之间的关联

ASAM OpenDRIVE defines a storage format for the static description of road networks. In combination with ASAM OpenCRG it is possible to add very detailed road surface descriptions to the road network. ASAM OpenDRIVE and ASAM OpenCRG only contains static content. To add dynamic content ASAM OpenSCENARIO is needed. Combined all three standards provide a scenario-driven description of traffic simulation that contains static and dynamic content

ASAM OpenDRIVE为路网的静态描述定义了一种存储格式。通过与ASAM OpenCRG结合使用,可以将非常详细的路面描述添加至路网当中。OpenDRIVE和ASAM OpenCRG仅包含静态内容,若要添加动态内容,则需要使用ASAM OpenSCENARIO。三个标准的结合则提供包含静态和动态内容、由场景驱动的对交通模拟的描述。

img3
Figure 3. Relation between OpenDRIVE, OpenCRG, and OpenSCENARIO 图3. OpenDRIVE, OpenCRG 以及 OpenSCENARIO之间的关联

3.3. Backward compatibility to earlier releases 向后兼容早期版本

OpenDRIVE 1.6 contains elements that were introduced in version 1.5 but are not compatible with version 1.4. To ensure compatibility with versions 1.4 and 1.5, these elements are technically defined as optional in the XML schema of version 1.6. They are marked as "Optional for backwards compatibility" in the annotations of the UML model.

OpenDRIVE 1.6版包含了在1.5版中出现过的元素,但这些元素与1.4版不兼容。为了确保能与1.4版和1.5版兼容,这些元素在1.6版的XML模式中从技术上被定义为可选。在UML模型的注释中,它们被标记为“向后兼容的可选”。

3.4. References to other standards 其他标准的引用

  • XML 1.0 Schema

  • UML 2.5.1 Standard

  • ISO 3166-2 for country codes

  • ISO 8855 for right handed coordinate systems

  • ISO 8601 for time / date

  • Georeferencing (ISO DIN 19111)

  • XML 1.0模式

  • UML 2.5.1标准

  • ISO 3166-2 用于国家/地区代码

  • ISO 8855用于右手坐标系

  • ISO 8601用于时间/日期

  • 地理坐标参考(ISO DIN 19111)

4. General Architecture 通用架构

4.1. File Structure 文件结构

OpenDRIVE data is stored in XML files with the extension .xodr. Compressed OpenDRIVE files have the extension ".xodrz" (compression format: gzip).

OpenDRIVE数据存储于XML文件中,文件拓展名为.xodr。OpenDRIVE压缩文件的拓展名为".xodrz"(压缩格式gzip)。

The OpenDRIVE file structure conforms to XML rules; the associated schema file is referenced in the XML. The schema file for the OpenDRIVE® format can be retrieved from https://www.asam.net/standards/detail/opendrive/

OpenDRIVE文件的结构符合XML规则;关联的模式文件在XML中得到引用。用于OpenDRIVE®格式的模式文件可从以下链接中读取: https://www.asam.net/standards/detail/opendrive/

Elements are organized in levels. Elements with a level that is greater than zero (0) are children of the preceding level. Elements with a level of one (1) are called primary elements.

元素被置于层级中。层级大于零(0)的元素是上一层级的子级,层级等于一(1)的元素则为主元素。

Each element can be extended with user-defined data. This data is stored in so-called user data elements.

可通过用户定义的数据对每个元素进行拓展。此类数据被存储于“用户数据”元素中。

All floating-point numbers used in OpenDRIVE are IEEE 754 double precision floating-point numbers. In order to ensure accurate representation of floating-point numbers in the XML representation, implementations SHOULD use a known correct accuracy preserving minimal floating-point printing algorithm (e.g. [Burger96], [Adams18]), or ensure that 17 significand decimal digits are always produced (e.g. using the "%.17g" ISO C printf modifier). Importing implementations should use a known correct accuracy preserving floating-point reading algorithm (e.g. [Clinger90]).

所有在OpenDRIVE中使用的浮点数均为IEEE 754双精度浮点数。为了确保XML表示法中对浮点数的表示精准,应(should)使用已知的、保留最小的浮点数打印算法(比如[Burger96], [Adams18])的正确精度来进行执行,或者执行应该确保始终有17个有效十进制数字得到生成(例如使用the "%.17g" ISO C printf 修饰符)。在导入执行时,建议(should)使用一个已知的正确精度来保留浮点数并读取算法(例如 [Clinger90])。

[Burger96] Robert G. Burger and R. Kent Dybvig: "Printing floating-point numbers quickly and accurately." In proceedings of ACM SIGPLAN 1996 conference on Programming Language Design and Implementation, Philadelphia, PA, USA, May 1996, pp. 108-116

[Burger96] Robert G. Burger和R. Kent Dybvig:“快速、准确地打印浮点数”。引用于美国宾夕法尼亚州费城举行的ACM SIGPLAN 1996编程语言设计与执行会议第108-116页,1996年5月。

[Adams18] Ulf Adams: "Ryū: fast float-to-string conversion." ACM SIGPLAN Notices, Vol. 53, No. 4, April 2018, pp. 270-282

[Adams18] Ulf Adams:“Ryū:浮点数到字符串的快速转换。” 引用于ACM SIGPLAN报告的第53卷第4号第270-282页,出版于2018年4月。

[Clinger90] William D. Clinger: "How to Read Floating Point Numbers Accurately." ACM SIGPLAN Notices, Vol. 25, No. 6, June 1990, pp. 92-101

[Clinger90] William D. Clinger: "如何精确读取浮点数"。引用于ACM SIGPLAN报告的第25卷第6号第92-101页,出版于1999年6月。

4.2. Combining Files 合并文件

Multiple files can be combined with an <include> tag at the appropriate locations. Upon parsing this tag, OpenDRIVE readers shall immediately start reading the file specified as attribute of the tag. It is the user’s responsibility to make sure that contents read from an include file are consistent with the context from which the inclusion starts.

可使用<include>标签在适当的位置对多个文件进行合并。解析该标签后,OpenDRIVE读取器须(shall)立刻开始读取作为标签属性的文件。用户有责任确保从包含文件中读取而来的内容与包含开始时的上下文一致。

The parent tag under which the <include> tag occurs must be present in both, the parent file and the included file.

<include>标签发生在父标签下,该父标签必须(must)存在于父文件以及包含文件内。

Example 示例:

Original File 原始文件

<planView>
  <include file="planview.xml"/>
</planView>

Included File 包含文件

<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. Attributes used in the file 文件中使用的属性

All attributes that can be used in an OpenDRIVE file are fully annotated in the UML model:

  • If units are applicable to an attribute, these are stated according to 1.4.2 Units.

  • Type: Describes the data type of an attribute. It can be either a primitive data type, for example, string, double, float, or a complex data type that refers to an object described within this specification.

    • Value: Value determines the value range of the given attribute relative to the specified type

所有可在OpenDRIVE文件中使用的属性都能在UML模型里得到完整标注:

  • 单位 适用于一个属性,则可根据第2.3.2章“单位”对它们进行说明。

  • 类型:描述了属性的数据类型,可以分为基本数据类型或复杂数据类型。基本数据类型指的是字符串(string)、双精度浮点数(double)、浮点数(float)等。而复杂数据类型则指该说明文档中所描述的物体。

    • :值规定了相对于指定类型的给定属性的值域。

4.3.1. Enclosing element 封闭元素

The overall enclosing element of the file is:

文件的起始及结束元素是:

Table/表 4. Attributes of the OpenDRIVE element OpenDRIVE元素的属性

delimiters 定界符

<OpenDRIVE>…​</OpenDRIVE>

parent 父级

none 无

instances 实例数

1

attributes 属性

xmlns="http://www.opendrive.org"

4.3.2. Header 头文件

The <header> element is the very first element within the <OpenDRIVE> element.

<header> 元素是<OpenDRIVE>中的第一个元素。

Table/表 5. Attributes of the header element 头文件元素的属性

delimiters 定界符

<header>…​</header>

parent 父级

<OpenDRIVE>

instances 实例数

1

attributes 属性

name 名称

type 类型

unit 单位

value 值

Description 描述

revMajor

ushort

-

1

Major revision number of OpenDRIVE format

OpenDRIVE 格式主版本号

revMinor

ushort

-

6

Minor revision number of OpenDRIVE format; 6 for OpenDrive 1.6

OpenDRIVE格式次版本号; OpenDrive 1.6版本号为6

name

string

-

-

Database name

数据库名称

version

string

-

-

Version of this road network

本路网的版本号

date

string

-

-

Time/date of database creation according to ISO 8601 (preference: YYYY-MM-DDThh:mm:ss)

根据ISO 8601采用的数据库创建时间/日期 (优先格式: YYYY-MM-DDThh:mm:ss)

north

double

m

-

Maximum inertial y value

最大惯性y值

south

double

m

-

Minimum inertial y value

最小惯性y值

east

double

m

-

Maximum inertial x value

最大惯性x值

west

double

m

-

Minimum inertial x value

最小惯性x值

vendor

string

-

-

Vendor name

开发商名称

4.4. General rules and assumptions 通用规则与假定

4.4.1. Traffic direction 行车方向

Unless stated otherwise, all examples, figures, and descriptions in this specification assume right-hand traffic.

如无另外说明,本详细说明里的所有示例、图表和描述都假定为靠右行车环境。

5. Additional Data 附加数据

OpenDRIVE offers the possibility to include external data. The processing of this data depends on the application.

OpenDRIVE可以包含外部数据,而如何处理此类数据则视应用而定。

Additional data may be placed at any position in OpenDRIVE.

附加数据可(may)被置于OpenDRIVE中的任意位置。

5.1. User Data 用户数据

Ancillary data should be described near the element it refers to. Ancillary data contains data that are not yet described in OpenDRIVE, or data that is needed by an application for a specific reason. Examples are different road textures.

应(should)在辅助数据所引用的元素附近对其进行描述。辅助数据包含OpenDRIVE中还未描述或出于特殊原因为某一应用所用的数据,如不同的道路纹理。

In OpenDRIVE, ancillary data is represented by <userData> elements. They may be stored at any element in OpenDRIVE.

在OpenDRIVE中,辅助数据用 <userData> 元素来表示。它们可(may)被存储在OpenDRIVE任意元素中。

img4
Figure 4. UML model OpenDRIVE Core 图4. UML模型OpenDRIVE核心

5.2. Including Data 包含数据

OpenDRIVE allows including external files into the OpenDRIVE file. The processing of the files depends on the application.

OpenDRIVE允许将外部文件包含在OpenDRIVE文件中,而如何处理该类文件则视应用而定。

Included data is represented by <include> elements. They may be stored at any position in OpenDRIVE

包含数据用<include>元素来表示,可(may)被存储在OpenDRIVE里任意位置。

5.3. Using different layout types 使用不同布局类型

OpenDRIVE offers the possibility to integrate user generated layouts for elements like road marks or signals. The design of these alternative layouts is not stored in OpenDRIVE, but in the application.

可在OpenDRIVE中对用户生成的元素布局(如路标或标志)进行集成。这些附加的布局设计并不存储在OpenDRIVE中,而是存储在用户应用中。

In OpenDRIVE, different layout types are represented by <set> elements. They may be stored at any position in OpenDRIVE.

在OpenDRIVE中,不同布局类型用 <set> 元素来表示,其可(may)存储在OpenDRIVE里任意位置。

Every <set> element may be followed by one or more <instance> element that specifies the layout.

每个 <set> 元素之后都可以(may)关联一个或多个对布局进行说明的<instance>元素。

5.4. Description of the data quality 数据质量描述

Raw data or data from external sources that is integrated in OpenDRIVE may be of varying quality. It is possible to describe quality and accuracy of external data in OpenDRIVE.

集成到OpenDRIVE的原始数据或来自外部资源的数据质量可能(may)参差不齐。外部数据的质量和准确性可以在OpenDRIVE中得到描述。

The description of the data quality is represented by <dataQuality> elements. They may be stored at any position in OpenDRIVE.

对数据质量的描述用 <dataQuality> 元素来表示。它们可(may)存储在OpenDRIVE中的任意位置。

Measurement data derived from external sources like GPS that is integrated in OpenDRIVE may be inaccurate. The error range, given in [m], may be listed in the application.

集成到OpenDRIVE、源自于GPS等外部资源的测量数据可能(may)存在误差。以[m]为单位的误差范围可(may)在应用中被列出。

The absolute or relative errors of road data are described by <error> elements within the <dataQuality> element.

道路数据的绝对或相对误差在<dataQuality>元素中用 <error> 元素来描述。

Some basic metadata containing information about raw data included in OpenDRIVE is described by the <rawData> element within the <dataQuality> element.

某些基本元数据涵盖了被包括在OpenDRIVE中的原始数据信息,这些原始数据在 <dataQuality> 元素中用 <rawData> 元素来描述。

6. Coordinate systems 坐标系

6.1. Coordinate systems overview 坐标系概况

OpenDRIVE uses three types of coordinate systems, as shown in the below figure:

  • The inertial x/y/z coordinate system

  • The reference line s/t/h coordinate system

  • The local u/v/z coordinate system

OpenDRIVE使用三种类型的坐标系,如下图所示:

  • 惯性x/y/z轴坐标系

  • 参考线s/t/h轴坐标系

  • 局部u/v/z轴坐标系

img5
Figure 5. available coordinate systems in OpenDRIVE 图5. OpenDRIVE中可使用的坐标系

If not indicated otherwise, the local coordinate system is located and oriented relative to the reference line coordinate system. The reference line coordinate system is located and oriented relative to the inertial coordinate system by specifying the origin, as well as the heading, roll, and pitch rotation angles of the origins with respect to each other.

若无另外说明,对局部坐标系的查找与定位将相对于参考线坐标系来进行。对参考线坐标系位置与方向的设定则相对于惯性坐标系来开展,具体方法为对原点、原点的航向角/偏航角、横摆角/翻滚角和俯仰角的旋转角度及它们之间的关系进行详细说明。

img6
Figure 6. Coordinate systems in OpenDRIVE interacting with another 图6. OpenDRIVE中坐标系之间的相互关系

6.2. Inertial coordinate systems 惯性坐标系

The inertial system is a right-handed coordinate system according to ISO 8855 with the axes pointing to the following directions (see Figure 7):

  • x ⇒ right

  • y ⇒ up

  • z ⇒ coming out of drawing plane

根据ISO 8855惯性坐标系是右手坐标系,其轴的指向方向如下(见图7):

  • x轴 ⇒ 右方

  • y轴 ⇒ 上方

  • z轴 ⇒ 指向绘图平面外

For geographic reference, the following convention applies:

  • x ⇒ east

  • y ⇒ north

  • z ⇒ up

以下惯例适用于地理参考:

  • x轴 ⇒ 东边

  • y轴 ⇒ 北边

  • z轴 ⇒ 上方

Elements like objects and signals can be placed within the inertial coordinate system by applying a heading, followed by pitch, followed by roll:

通过依次设置航向角/偏航角(heading)、俯仰角(pitch)和横摆角/翻滚角(roll),元素(如物体、标志等)可被置于惯性坐标系中:

img7
Figure 7. Inertial coordinate system with defined rotations 图7.含有旋转定义的惯性坐标系

Figure 7 shows the positive axes and positive directions of the corresponding angles.

图7展示了对应角的正轴与正方向。

heading
heading = 0.0:
heading = +π/2:

航向角
航向角 = 0.0:
航向角 = +π/2:

around z-axis, where
x’ points into direction of x-axis / east
x’ points into direction of y-axis / north

围绕 z轴,其中:
x’指向x轴 / 东边
x’指向y轴 / 北边

pitch
pitch = 0.0:
pitch = +π/2:

俯仰角
俯仰角 = 0.0:
俯仰角 = +π/2:

around y’-axis, where
x’’/y’’-plane = x’/y’-plane
direction x’’ = - z’ = -z

围绕 y’轴,其中:
x’’/y’’面 = x’/y’面
方向 x’’ = - z’ = -z

roll
roll = 0.0:
roll = +π/2:

横摆角
横摆角 = 0.0:
横摆角 = +π/2:

around x’’-axis, where
x’’’/y’’’-plane = x’’/y’’-plane
direction z’’’ = - y’’

围绕 x’’轴,其中:
x’’’/y’’’面 = x’’/y’’面
方向 z’’’ = - y’’

img8
Figure 8. Inertial coordinate system with defined rotations 图8. 惯性坐标系(带旋转定义)

x’/y’/(z’=z) denotes the coordinate system after rotating x/y/z with the heading angle around the z-axis. The coordinate system x’’/(y’’=y’)/z’’ denotes the coordinate system after rotating x’/y’/z’ with the pitch angle around the y’-axis. The final rotated coordinate system (x’’’=x’’)/y’’’/z’’’ is obtained after rotating system x’’/y’’/z’’ with roll angle.

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. Reference line coordinate systems 参考线坐标系

The reference line coordinate system applies along the reference line of a road. It is a right-handed coordinate system. The s-direction follows the tangent of the reference line. It has to be noted that the reference line is always located within the x/y-plane defined by the inertial coordinate system. The t-direction is orthogonal to the s-direction. The right-hand system is completed by defining the up-direction h orthogonal to x-axis and y-axis. The following degrees of freedom are defined:

参考线坐标系同样也是右手坐标系,应用于道路参考线。s方向跟随着参考线的切线方向。这里需要说明的是:参考线总是被放置在由惯性坐标系定义的x/y平面里。t方向与s方向成正交。在定义完垂直于x轴和y轴、朝上的h方向后,整个右手坐标系才算完成。被定义的自由度如下:

img9
Figure 9. Reference line coordinate system 图9. 参考线坐标系

s

coordinate along reference line, measured in [m] from the beginning of the road reference line, calculated in the xy-plane (that is, not taking into account the elevation profile of the road)

坐标沿参考线,以[m]为单位,由道路参考线的起点开始测量,在xy平面中计算(也就是说,这里不考虑道路的高程剖面)

t

lateral position, positive to the left within the inertial x/y plane

侧面,在惯性x/y平面里正向向左

h

orthogonal to st plane in a right-handed coordinate system

在右手坐标系中垂直于st平面

img10
Figure 10. Reference line system with defined rotations 图10.参考线系(带旋转定义)

heading
heading = 0.0:
heading = +π/2:

航向角
航向角 = 0.0:
航向角 = +π/2:

around h-axis, where
s’ is directed forward along s-direction
s’ is directed to t

围绕 h轴,其中:
s’ 沿 s方向被指向前
s’ 被指向t

roll
roll = 0.0:

横摆角
横摆角 = 0.0: +

around s’-axis, where
s’’’/t’’’-plane = s’/t’-plane

围绕 s’轴,其中:
s’’’/t’’’面= s’/t’面

Similar to the inertial system, the s’/t’/h’ and s’’’/t’’’/h’’’ denote the rotated systems around heading and roll angle. The reference line coordinate system can be positioned in the inertial space by providing the origin’s coordinates and the orientation (heading) of the origin with respect to the inertial system, as shown in figure 11.

与惯性系相似,s’/t’/h’ 与s’’’/t’’’/h’’’指的是围绕航向角/偏航角和横摆角/翻滚角旋转后得到的坐标系。如图11所示,通过提供原点坐标以及相对于惯性坐标系原点的方向(航向角/偏航角),参考线坐标系可(can)被置于惯性空间中。

img11
Figure 11. Heading in reference line 图11.航向角/偏航角在参考线中

Superelevation causes a roll in the reference line.

超高程导致参考线内产生横摆角/翻滚角。

img12
Figure 12. Roll in reference line 图12.横摆角/翻滚角在参考线中

For the s/t/h coordinate system no pitch is possible, the elevation of the reference line is as follows. Elevation has no effect on the length of s.

俯仰角在s/t/h轴坐标系中不可能出现,参考线的高程如下图所示。高程对s的长度不产生影响。

img13
Figure 13. Elevation in reference line 图13.在参考线中的高程

6.4. Local coordinate systems 局部坐标系

The local system is a right-handed coordinate system according to ISO 8855 with the axes pointing to the following directions. For a non-rotated coordinate system the following applies:

根据ISO 8855局部坐标系是右手坐标系,其轴的指向方向如下。以下内容适用于非旋转坐标系:

u

Forward matches s

向前匹配 s

v

Left matches t

向左匹配 t

z

Up matches h

向上匹配 h

Elements like objects can be placed within the local coordinate system by applying a heading, followed by pitch, followed by roll:

可(can)通过依次设置航向角/偏航角、俯仰角和横摆角/翻滚角,将元素(例如物体)置于局部坐标系中:

img14
Figure 14. Local system with defined rotations 图14.局部坐标系(带旋转定义)

Within the local system, the following angles are defined:

在局部坐标系中,以下角度得到定义:

heading
heading = 0.0:
heading = +π/2:

航向角
航向角 = 0.0:
航向角 = +π/2:

around z-axis, 0.0 = east
u’ is directed forward along u-direction
u’ is directed to t

围绕z轴, 0.0 = 东边
u’ 沿u方向指向前方
u’ 指向t

pitch
pitch = 0.0:
pitch = +π/2:

俯仰角
俯仰角 = 0.0:
俯仰角 = +π/2:

around v’-axis, where
u’’/v’’-plane = u’/v’-plane
direction x’’ = - z’ = -z

围绕v’轴,其中:
u’’/v’’面= u’/v’面
方向 x’’ = - z’ = -z

roll
roll = 0.0:
roll = +π/2: +

横摆角
横摆角 = 0.0:
横摆角 = +π/2:

around x’’-axis, where
x’’’/y’’’-plane = x’’/y’’-plane
direction z’’’ = - y’’

围绕 x’’轴, 其中
x’’’/y’’’面 = x’’/y’’面
方向z’’’ = - y’’

img15
Figure 15. Local coordinate systems with heading, pitch, roll 图15.带航向角/偏航角、俯仰角和横摆角/翻滚角的局部坐标系

Figure 14 shows the positive axes and positive directions of the corresponding angles. The local system can only be positioned in reference line space by providing the origin of the local coordinate system within the reference line system and the orientation (heading) of the local system with respect to the reference line system, as shown in figure 16.

图14展示了对应角的正轴与正方向。局部坐标系只能(can)通过以下方法被置于参考线空间中:如图16所示,在参考线坐标系中提供局部坐标系的原点和相对于参考线坐标系、局部系原点的方向(航向角/偏航角)。

img16
Figure 16. Local coordinate system with respect to reference line system 图16.相对于参考线坐标系的局部坐标系

6.5. Summary of all available coordinate systems 所有可用坐标系的总结

Inertial, reference line and local system are used in OpenDRIVE at the same time. An example for positioning and orientation of the different coordinate systems relative to each other is depicted in Figure 17.

惯性坐标系、参考线坐标系和局部坐标系将在OpenDRIVE中同时被使用。图17中的示例描述了三个坐标系相对于彼此的位置与方向设定。

img17
Figure 17. Summary of coordinate system in OpenDRIVE 图17. OpenDRIVE中坐标系总结

6.6. Georeferencing in OpenDRIVE OpenDRIVE中的地理坐标参考

Spatial reference systems are standardized by the European Petroleum Survey Group Geodesy (EPSG) and are defined by parameters describing the geodetic datum. A geodetic datum is a coordinate reference system for a collection of positions that are relative to an ellipsoid model of the earth.

空间参考系的标准化由欧洲石油调查组织(EPSG)执行,该参考系由用于描述大地基准的参数来定义。大地基准是相对于地球的椭圆模型的位置合集所作的坐标参考系。

A geodetic datum is described by a projection string according to PROJ, that is, a format for the exchange of data between two coordinate systems. This data shall be marked as CDATA, because it may contain characters that interfere with the XML syntax of an element’s attribute.

通过使用基于PROJ(一种用于两个坐标系之间数据交换的格式)的投影字符串来完成对大地基准的描述。该数据应(shall)标为CDATA,因为其可能(may)包含会干预元素属性XML语义的字符。

In OpenDRIVE, the information about the geographic reference of an OpenDRIVE dataset is represented by the <geoReference> element within the <header> element. proj-strings, as shown in the below XML Example, contain all parameters that define the used spatial reference system:

在OpenDRIVE中,关于数据集的地理参考信息在<header>元素的<geoReference>元素中得以呈现。Proj字符串(如以下XML示例中所示)包含了所有定义已使用的空间参考系的参数:

For detailed information on proj-strings, see https://proj.org/usage/projections.html

关于proj字符串的细节信息,参见 https://proj.org/usage/projections.html

There shall be no more than one definition of the projection. If the definition is missing, a local Cartesian coordinate system is assumed.

投影的定义不能(shall)多于一个。若定义缺失,那么则假定为局部笛卡尔坐标系。

It is highly recommended to use official parameter sets for proj-strings, which can be found at https://epsg.io/. Parameters should not be changed. Some spatial reference systems, for example, UTM, have implicit false easting and northing, which are defined using the parameters +x_0 and +y_0.

这里强烈建议使用proj字符串的官方参数组(使用该链接查询字符串: https://epsg.io/ )。参数不应(should)被改变。一些空间参考系如UTM具有隐东及北伪偏移,这里使用+x_0与+y_0参数对它们进行定义。

If you want to apply an offset, use the <offset> element instead of changing all parameter values.

若您想应用偏移,请使用<offset>元素,而不是改变所有参数值。

XML example XML示例:

<geoReference>
  <![CDATA[+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs]]>
</geoReference>
img18
Figure 18. Offset for the geoReference 图18. 地理坐标参考偏移

Rules: 规则:

  • The <offset> should be such that the x and y coordinates of OpenDRIVE are approximately centered around (0;0). If the x and y coordinates are too large, applications using float coordinates internally might not be able to process them accurately enough due to the limited precision of IEEE 754 double precision floating point numbers

  • <offset> 应(should)使OpenDRIVE 的x和y坐标大致集中在(0;0)周围。在x和y坐标过大的情况下,由于IEEE 754双精度浮点数的精确度有限,在内部使用浮点坐标的应用可能(might)不能够对它们进行精确处理。

7. Geometry 几何形状

Road courses can have many different shapes. There are long, straight roads on open ground, elongated curves on motorways, or narrow turns in the mountains. In order to model all these road courses in a mathematically correct way, OpenDRIVE provides a variety of geometry elements. Figure 19 shows the five possible ways to define the geometry of a road’s reference line:

  • A straight line

  • A spiral or a clothoid that has a linearly changing curvature

  • An arc that has a constant curvature

  • Cubic polynomials

  • Parametric cubic polynomials

道路的走向可以(can)是多种多样的,它们可以是空旷地面上的直线、高速公路上细长的弯道、亦或山区狭窄的转弯。为从数学角度对所有这些道路线进行正确建模,OpenDRIVE提供了多种几何形状元素。 图19展示了五种定义道路参考线几何形状的可行方式:

  • 直线

  • 螺旋线或回旋曲线(曲率以线性方式改变)

  • 有恒定曲率的弧线

  • 三次多项式曲线

  • 参数三次多项式曲线

img19
Figure 19. Geometry elements in OpenDRIVE 图19. OpenDRIVE的几何形状元素

7.1. Road reference line 道路参考线

The basic element of every road in OpenDRIVE is the road reference line. All geometry elements that describe the road shape and further properties of the road are defined along the reference line. These properties include lanes and signals.

道路参考线是OpenDRIVE中每条道路的基本元素。所有描述道路形状以及其他属性的几何元素都依照参考线来定义,这些属性包括车道及标志。

By definition, the reference line runs in s-direction, while the lateral deviation of objects from the reference line runs in t-direction.

按照定义,参考线向s方向伸展,而物体出自参考线的侧向偏移,向t方向伸展。

Figure 20 shows the different parts of a road in OpenDRIVE.

  • The road reference line

  • The individual lanes of a road

  • Features like signals that are placed along the road

图20展示了OpenDRIVE中一条道路的不同部分。

  • 道路参考线

  • 一条道路上的单独车道

  • 沿道路放置的道路特征(如标志)

img20
Figure 20. the individual parts of a road 图20.一条道路的不同部分

In OpenDRIVE, the geometry of a reference line is represented by the <geometry> element within the <planView> element.

在OpenDRIVE中,参考线的几何形状用<planView>元素里的 <geometry> 元素来表示。

The <planView> element is a mandatory element in every <road> element.

<planView> 元素是每个 <road> 元素里必须要用到的元素。

img21
Figure 21. UML model Road Geometry including the Reference Line elements 图21.道路几何形状(包含参考线元素)UML模型

Attributes 属性

Table/表 6. Attributes of the planView element 平面图元素属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

s

t_grEqZero

m

[0;∞[

s-coordinate of start position

起始位置的s坐标

x

double

m

]-∞;∞[

Start position (x inertial)

起始位置(x 惯性)

y

double

m

]-∞;∞[

Start position (y inertial)

起始位置(y 惯性)

hdg

double

rad

]-∞;∞[

Start orientation (inertial heading)

起始方向 (惯性航向角/偏航角)

length

t_grZero

m

[0;∞[

Length of the element’s reference line

元素的参考线长度

Rules 规则

The following rules apply to road reference lines:

  • Each road shall have a reference line.

  • There shall be only one reference line per road.

  • The reference line usually runs in the center of the road but may be laterally offset.

  • Geometry elements shall be listed in ascending order along the reference line, that is, in increasing s-position.

  • One <geometry> element shall contain only one element that further specifies the geometry of the road.

  • If two roads are connected without a junction, the reference line of a new road shall always begin at the <contactPoint> of its successor or predecessor road. The reference lines may be directed in opposite directions.

  • A reference line shall have no leaps

  • A reference line should have no kinks

以下规则适用于道路参考线:

  • 每条道路必须(shall)有一条参考线。

  • 每条道路只能(shall)有一条参考线。

  • 参考线通常在道路中心,但也可能(may)有侧向偏移。

  • 几何元素应(shall)沿参考线以升序(即递增的s位置)排列。

  • 一个 <geometry> 元素应(shall)只包含一个另外说明道路几何形状的元素。

  • 若两条道路不使用交叉口来连接,那么新的道路的参考线应(shall)总是起始于其前驱或后继道路的 <contactPoint> 。参考线有可能(may)被指向相反方向。

  • 参考线不能(shall)有断口(leaps)。

  • 参考线不应(should)有扭结(kinks)。

Related topics 相关内容

  • Straight line

  • Spirals

  • Arc

  • Roads

  • Lanes

  • 直线

  • 螺旋线

  • 弧线

  • 道路

  • 车道

7.2. Straight line 直线

A straight line, as shown in figure 22, is the simplest geometry element. It contains no further attributes.

如图22所示,直线是最简单的几何形状元素。它不包含其他属性。

img22
Figure 22. A straight line 图22.直线

In OpenDRIVE, a straight line is represented by a <line> element within the <geometry> element.

在OpenDRIVE中,直线用<geometry> 元素里的 <line> 元素来表示。

XML Example XML示例

<planView>
  <geometry
	  s="0.0000000000000000e+00"
	  x="-4.7170752711170401e+01"
	  y="7.2847983820912710e-01"
	  hdg="6.5477882613167993e-01"
	  length="5.7280000000000000e+01">
	  <line/>
  </geometry>
</planView>

Related topics 相关内容

  • Road reference line

  • Road

  • 道路参考线

  • 道路

7.3. Spiral 螺旋线

A spiral is a clothoid that describes a changing curvature of the reference line, as shown in figure 23. Spirals may be used to describe the transition from a <line> to an <arc> without causing leaps in the curvature.

如图23所示,螺旋线是一条描述参考线变化曲率的回旋曲线。螺旋线可(may)被用来描述曲率在<line>到<arc>连贯的转换。

A spiral is characterized by the curvature at its start position (@curvStart) and the curvature at its end position (@curvEnd). Along the arc length of the spiral (see @length of the <geometry> element), the curvature is linear from the start to the end.

螺旋线是以起始位置的曲率(@curvStart)和结束位置的曲率(@curvEnd)为特征。沿着螺旋线的弧形长度(见 <geometry> 元素@length),曲率从头至尾呈线性。

It is also possible to arrange several <line>, <spiral>, and <arc> elements in a sequence in order to describe complex curvatures.

也可以按顺序排列 <line><spiral><arc> 几个元素,从而对复杂曲率进行描述。

img23
Figure 23. Road geometry described by a spiral 图23.用螺旋线来描述道路几何形状

In OpenDRIVE, a spiral is represented by a <spiral> element within the <geometry> element.

在OpenDRIVE中,螺旋线用<geometry> 元素里的<spiral>元素来表示。

Attributes 属性

t_road_planView_geometry_spiral
Table/表 7. Attributes of the spiral element 螺旋线元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

curvStart

double

1/m

]-∞;∞[

Curvature at the start of the element

元素开始时的曲率

curvEnd

double

1/m

]-∞;∞[

Curvature at the end of the element

元素结束时的曲率

XML Example 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>

Rules 规则

The following rules apply to spirals:

  • @curvStart and @curvEnd should not be the same.

以下规则适用于螺旋线:

  • @curvStart和@curvEnd不应该(should)相同。

Related topics 相关内容

  • Arc

  • Reference line

  • Generating arbitrary road courses from geometry elements

  • Road

  • 弧线

  • 参考线

  • 从几何形状元素中生成任意道路线

  • 道路

7.4. Arc 弧线

An arc, as shown in figure 24, describes a road reference line with constant curvature.

如图24所示,弧线描述了有着恒定曲率的道路参考线。

img24
Figure 24. Road geometry described by an arc 图24.用弧线来描述道路几何形状

In OpenDRIVE, a spiral is represented by a <arc> element within the <geometry> element.

在OpenDRIVE中,弧线用<geometry> 元素里的<arc>元素来表示。

Attributes 属性

t_road_planView_geometry_spiral
Table/表 8. Attributes of the arc element 弧线元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

curvature

double

1/m

]-∞;∞[

Constant curvature throughout the element

恒定曲率贯穿元素

XML Example XML示例

<planView>
  <geometry
	  s="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>

Rules 规则

The following rules apply to arcs:

  • The curvature should not be zero.

以下规则适用于弧线:

  • 曲率不应(should)为零。

Related topics 相关内容

  • Reference line

  • Road

  • 参考线

  • 道路

7.5. Generating arbitrary road courses from geometry elements 从几何形状元素中生成任意车道线

The combination of all geometry elements available in OpenDRIVE allows for the creation of a great variety of road courses, as shown in figure 25.

如图25所示,通过对OpenDRIVE中所有可用的几何形状元素进行组合,便可以创建诸多种类的道路线。

To avoid leaps in the curvature, it is recommended to use spirals to combine lines with arcs and other elements with different curvatures.

为避免曲率中出现断口,建议使用螺旋线将直线与弧线以及其他有不同曲率的元素进行结合。

img25
Figure 25. Creating a reference line from geometry elements 图25.从几何形状元素创建参考线

XML Example XML示例

See the sample file Ex_Line-Spiral-Arc.xodr

见示例文件Ex_Line-Spiral-Arc.xodr

7.6. Cubic polynom (deprecated) 三次多项式(弃用)

Cubic polynoms may be used to generate complex road courses that are derived from measurement data. For a given sequence of measured coordinates along the reference line in the x/y-coordinate system, measurement pairs define the polynom limits of the segment.

三次多项式可(may)用来生成衍生于测量数据的复杂道路走向。测量对为x/y坐标系中沿参考线的被测量坐标的指定次序定义了线段的多项式极限。

The reference line of the road is described by a local cubic polynom. Specifying continuity conditions, for example segment continuity, tangent and/or curvature continuity, at the limits of the segment allows to merge several cubic polynom segments and to form a global cubic spline interpolation curve for the entire course of the road. As an additional advantage, routing along polynoms can be realized more efficiently than along clothoids.

局部三次多项式描述了道路的参考线。通过对线段极限处的连续性条件例如线段连续性、切线和/或曲率连续性等进行详细说明,可以对多个三次多项式线段进行融合并且为整个道路走向生成一条全局三次样条线插值曲线。另一个优点则是,沿着多项式的路径方式比沿回旋曲线更有效。

7.6.1. Background information on cubic polynoms 三次多项式的背景信息

The interpolation of a cubic polynom in the x/y-coordinate system is described with the following formula:

以下方程描述了x/y坐标系里三次多项式的插值:

y(x) = a + b*x + c*x2 + d*x³

The polynom parameters a, b, c, d in the calculation are used to define the course of the roads. With the help of the parameters a-d, the y-coordinate can be calculated from the x-coordinate at every point in the coordinate system.

公式中的多项式参数a、b、c、d用于定义道路的走向。借助参数a-d,坐标系里每个点的y坐标都可以从x坐标中计算出来。

Figure 26 shows a cubic polynom in the x/y-coordinate system with the following values:

图26使用以下的值对在x/y坐标系中的三次多项式进行了展示:

a = 20
b = 0
c = 0.0005
d = 0.0001

img26
Figure 26. A cubic polynom 图26.三次多项式

7.6.2. Creating roads using cubic polynoms 利用三次多项式创建道路

A cubic polynom described in the x/y-coordinate system is not suitable to describe curved segments with an arbitrary orientation, as shown in figure 27. To handle curved segments with two or more y-coordinates at a given x-coordinate, cubic polynom segments may be defined with respect to a local u/v-coordinate system. Using the local u/v-coordinate system increases flexibility in the curve definition. The following formula is used:

如图27所示,在x/y坐标系中描述的三次多项式并不适合用来描述带有任意方向的曲线段。为了对在给定x坐标上带有两个或更多y坐标的曲线段进行处理,可(may)根据与局部u/v坐标系的关系来对三次多项式段进行定义。局部u/v坐标系的使用提高了曲线定义的灵活性。以下方程式得以使用:

v(u) = a + b*u + c*u2 + d*u³

The orientation of the local u/v-coordinate system should be chosen in such a way that the curve is expressed as a function v(u) at increasing u-coordinates.

应(should)遵循以下方式对局部u/v坐标系方向进行选择:使用在递增的u坐标上的函数v(u)来表达曲线。

img27
Figure 27. A curve which cannot be represented by a cubic polynom w.r.t x parameter 图27.不能(cannot)用三次多项式w.r.t x参数来表示的曲线

Usually, the u/v-coordinate system is aligned with the s/t-coordinate system at the segment’s start position (@x,@y) and start orientation @hdg, specified in the <geometry> element. This choice results in polynom parameters a=b=0 (see figure 28). As an additional option, the local u/v-coordinate system may be rotated relative to the start point (@x,@y) by specifying a polynom parameter @b that is unequal to zero. Here, the arctan (@b) defines the start heading of the polynom curve with respect to the local u/v-coordinate system. An additional shift of the u/v-coordinate origin along the v-coordinate axis, while (@x,@y) shall be located at u=0, may be achieved by setting the polynom parameter @a unequal to zero (see figure 29). The parameter u may be varied within 0 and the projection of the end point of the curve onto the u-coordinate axis. For the given parameter u, the local coordinate v(u) defines the point on the curve in the local u/v-coordinate system.

通常来说,u/v坐标系与s/t坐标系在线段的起始位置(@x,@y)和起始方向@hdg(关于这两点在<geometry>元素中有详细说明)上是一致的。这一选择的结果就是多项式参数a=b=0(见图28)。作为一个附加选项,局部u/v坐标系可相对于起始点(@x,@y)被旋转,做法为规定一个不等于0的多项式参数@b。在这里,反正切arctan(@b)定义了相对于局部u/v坐标系的多项式的航向角/偏航角。可(may)通过设置一个不等于0的多项式参数@a(见图29)来获得当(@x,@y)应(shall)被定位于u=0时,沿v坐标轴对u/v 坐标系原点的额外位移。参数u有可能(may)随着0到曲线终点在u坐标轴上的投影而发生变化。对于给定的参数u,局部坐标v(u)定义了局部u/v坐标系内曲线上的点。

v(u) = a + b*u + c*u2 + d*u³

Taking into account shift and rotation parameters @a and @b and the (@x,@y) and @hdg specified in the <geometry> element, the final x/y-curve position at a given u-coordinate, as shown in figure 29

考虑到<geometry>元素中说明的位移和旋转参数@a、@b、(@x,@y) 和@hdg,在给定的u坐标上最终的x/y曲线位置如图29所示。

img28
Figure 28. Transformation from a u/v- to a x/y coordinate system with a=b=0 图28.从a u/v坐标系到a x/y坐标系的转变(a=b=0)
img29
Figure 29. Transformation from a u/v- to a x/y coordinate system with a!=0 and b!=0 图29.从a u/v坐标系到a x/y坐标系的转变(a!=0 和b!=0)

In OpenDRIVE, a cubic polynom is represented by a <poly3> element within the <geometry> element.

在OpenDRIVE中,三次多项式用 <geometry> 元素里的 <poly3> 元素来表示。

Attributes 属性

t_road_planView_geometry_poly3
Table/表 9. Attributes of the poly3 element poly3元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

a

double

m

]-∞;∞[

Polynom parameter a

多项式参数a

b

double

1/m

]-∞;∞[

Polynom parameter d

多项式参数d

c

double

1/m²

]-∞;∞[

Polynom parameter c

多项式参数c

d

double

1/m³

]-∞;∞[

Polynom parameter d

多项式参数d

XML Example XML示例

<geometry
  s="0.0000000000000000e+00"
  x="-6.8858131487889267e+01"
  y="4.1522491349480972e-01"
  hdg="6.5004409066736524e-01"
  length="2.5615689718113455e+01">
  <poly3
    a="0.0000000000000000e+00"
    b="0.0000000000000000e+00"
    c="1.4658732624442020e-02"
    d="-5.7746497381565959e-04"/>
</geometry>
<geometry
  s="2.5615689718113455e+01"
  x="-4.8650519031141869e+01"
  y="1.5778546712802767e+01"
  hdg="2.9381264033570398e-01"
  length="3.1394863696852912e+01">
  <poly3
    a="0.0000000000000000e+00"
    b="0.0000000000000000e+00"
    c="-1.9578575382799307e-02"
    d="2.3347864348004167e-04"/>
</geometry>

Rules 规则

The following rules apply to cubic polynoms:

  • A cubic polynom may be used to describe the course of a road for which measurement data is available

  • If the local u/v-coordinate system is aligned with the s/t-coordinate system of the start point, the polynom parameter coefficients are a=b=0.

  • The starting point (@x,@y) of the <geometry> element is located on the v-coordinate axis of the local u/v-coordinate system.

  • The polynomial parameters a and b should be 0 for a smooth reference line.

以下规则适用于三次多项式:

  • 三次多项式可(may)被用于描述在测量数据可用的情况下道路的走向。

  • 若局部u/v坐标系与s/t坐标系起始点一致,那么多项式参数系数为a=b=0。

  • <geometry>元素的起始点(@x,@y)定位在局部u/v坐标系的v轴上。

  • 多项式参数a和b应(should)为0,以确保参考线的平滑。

Related topics 相关内容

  • Parametric cubic curve

  • Georeferencing

  • Roads

  • Generating arbitrary road courses from geometry elements

  • 参数三次曲线

  • 地理坐标参考

  • 道路

  • 从几何形状元素生成任意道路线

7.7. Parametric cubic curve 参数三次曲线

Parametric cubic curves are used for complex curves that are to be generated from measurement data. Parametric cubic curves are more flexible and allow a greater variety of road courses than cubic polynoms. In comparison to cubic polynoms that are defined in a x/y-coordinate system or as local u/v-coordinates, the coordinates x and y are interpolated separately by their own splines with respect to a common interpolation parameter p.

参数三次曲线被用于描述从测量数据中生成的复杂曲线。参数三次曲线相较于三次多项式更为灵活,它能描述更多种类的道路线。与在x/y坐标系中被定义或被当成局部u/v坐标系的三次多项式比起来,x坐标与y坐标的插值是通过它们自身的样条相对于共同的插值参数p而进行的。

7.7.1. Generating roads using parametric cubic curves 使用参数三次曲线生成道路

Generating road courses with parametric cubic curves only require x- and y-coordinates. For reasons of consistency to cubic polynoms, they may be calculated simultaneously to cubic polynoms using local u- and v-coordinates.

只需使用x轴和y轴便可以用参数三次曲线生成道路线。为保持三次多项式的连贯性,可(may)利用u轴和v轴同时将它们计算到三次多项式里。

u(p) = aU + bU*p + cU*p2 + dU*p³
v(p) = aV + bV*p + cV*p2 + dV*p³

Unless otherwise stated, the interpolation parameter p is in the range [0;1]. Alternatively, it may be given in the range [0; @length of <geometry>]. Similar to cubic polynoms, the local coordinate system with the variables u and v may be placed and oriented arbitrarily.

若无另外说明,插值参数p则在[0;1]范围内。另外,也可(may)在 [0; @length of <geometry> ]的范围内对其赋值。与三次多项式相似,有着变量u和v的局部坐标系可(may)被任意放置和旋转。

To simplify representation, the local coordinate system may be aligned with the s/t-coordinate system at the start point (@x,@y) and start orientation @hdg:

  • u points in local s-direction, meaning along the reference line at the start point

  • v points in local t-direction, meaning in lateral deviation from the reference line at the start point

  • the parameters @aU, @aV and @bV shall be zero

为简化描绘,局部坐标系可(may)与s/t坐标系在起始点(@x,@y)和起始方向@hdg上保持一致:

  • u点在局部s方向,即沿参考线在起始点上。

  • v点在局部t方向,即从参考线在起始点上作横向偏移。

  • 参数@aU、@aV和@bV应(shall)为零。

Providing non-zero values for the parameters @aU, @aV and @bV leads to a shift and rotation of the s/t coordinates as shown Figure 26, Figure 27 and Figure 28.

如图26、27和28所示,给参数@aU、@aV、 和@bV赋予非零值会导致s/t坐标系的转移和旋转。

After defining the points of the curve for a given parameter p, the u-values and v-values are transformed into values of the x/y-coordinate system with regard to the shifts and orientation specified by the parameters @aU, @aV, @bU, @bV, the start coordinates (@x,@y) and the start orientation @hdg.

在为已知参数p定义曲线上的点后,在考虑相对于参数@aU、@aV、@bU、@bV、起始坐标(@x,@y)和起始方向@hdg所规定的位移和方向的前提下,u值和v值会被转换成x/y坐标系里的值。

It has to be noted that there is a non-linear relation between the interpolation parameter p and the actual length of the arc between the start point (@x,@y) in the <geometry> element and the point (x(p),y(p)) associated with the parameter p. In general, only the startpoint and endpoint parameter p=0 and p=@length (for the option @pRange=arcLength) will coincide with the actual length of the arc.

这里需注意的是:插值参数p和 <geometry> 元素中起始点(@x,@y)和与参数p相关的点(x(p),y(p))之间弧线实际长度是非线性关系。通常来说,只有起点和终点参数p=0和p=@length(选项@pRange=arcLength)与弧线的实际长度一致。

Taking into account shift and rotation parameters @a and @b and the (@x,@y) and @hdg specified in the <geometry> element, the final x/y-curve position at a given u-coordinate, as shown in figure 29

考虑到 <geometry> 元素中说明的位移和旋转参数@a、@b、(@x,@y) 和@hdg,在给定的u坐标上最终的x/y曲线位置如图29所示。

img30
Figure 30. A parametric cubic polynom for interpolation of u coordinate 图30.为u坐标插值所做的参数三次多项式
img31
Figure 31. A parametric cubic polynom for interpolation of v coordinate 图31. 为v坐标插值所做的参数三次多项式
img32
Figure 32. A parametric cubic polynom 图32.参数三次多项式

In OpenDRIVE, parametric cubic curves are represented by <paramPoly3> elements within the <geometry> element.

在OpenDRIVE中,参数三次曲线用 <geometry> 元素里的 <paramPoly3> 元素来表示。

Attributes 属性

t_road_planView_geometry_poly3
Table/表 10. Attributes of the paramPoly3 element

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

aU

double

m

]-∞;∞[

Polynom parameter a

多项式参数a

bU

double

1/m

]-∞;∞[

Polynom parameter d

多项式参数d

cU

double

1/m²

]-∞;∞[

Polynom parameter c

多项式参数c

dU

double

1/m³

]-∞;∞[

Polynom parameter d

多项式参数d

aV

double

m

]-∞;∞[

Polynom parameter a

多项式参数a

bV

double

1/m

]-∞;∞[

Polynom parameter d

多项式参数d

cV

double

1/m²

]-∞;∞[

Polynom parameter c

多项式参数c

dV

double

1/m³

]-∞;∞[

Polynom parameter d

多项式参数d

pRange

e_paramPoly3_pRange

1/m³

arcLength ; normalized

Range of parameter p.

参数p的范围

- Case arcLength: p in [0, @length of <geometry>]
- Case normalized: p in [0, 1]

XML Example XML示例

<planView>
  <geometry
    s="0.000000000000e+00"
    x="6.804539427645e+05"
    y="5.422483642942e+06"
    hdg="5.287405485081e+00"
    length="6.565893957370e+01">
    <paramPoly3
      aU="0.000000000000e+00"
      bU="1.000000000000e+00"
      cU="-4.666602734948e-09"
      dU="-2.629787927644e-08"
      aV="0.000000000000e+00"
      bV="1.665334536938e-16"
      cV="-1.987729787588e-04"
      dV="-1.317158625579e-09"
      pRange="arcLength">
    </paramPoly3>
  </geometry>
</planView>

Rules 规则

The following rules apply to parametric cubic curves:

  • If the local u/v-coordinate system is aligned with the s/t-coordinate system of the start point, the polynom parameter coefficients are @aU=@aV=@bV=0.

  • If @pRange="arcLength", p may be chosen in [0, @length from <geometry>]

  • If @pRange="normalized", p may be chosen in [0, 1]

  • The polynomial parameters aU, bU and aV should be 0 for a smooth reference line.

以下规则适用于参数三次曲线:

  • 若局部u/v坐标系与s/t坐标系的起始点一致,那么多项式参数系数为@aU=@aV=@bV=0。

  • 若@pRange="arcLength",那么p可(may)在[0, @length from <geometry> ]范围内对其赋值。

  • 若@pRange="normalized",那么p可(may)在[0, 1]范围内对其赋值。

  • 多项式参数aU、bU和 aV应为0,以确保参考线的平滑。

Related topics 相关内容

  • Cubic polynom

  • Georeferencing

  • Roads

  • Generating arbitrary road courses from geometry elements

  • 三次多项式

  • 地理坐标参考

  • 道路

  • 从几何形状元素生成任意道路线

8. Roads 道路

In OpenDRIVE, the road network is represented by <road> elements. Each road runs along one road reference line. A road shall have at least one lane with a width larger than 0.

路网在OpenDRIVE中用 <road> 元素来表示。每条道路都沿一条道路参考线延伸。一条道路必须(shall)拥有至少一条宽度大于0的车道。

OpenDRIVE roads may be roads in the real road network or artificial road network created for application use. Each road is described by one or more <road> elements. One <road> element may cover a long stretch of a road, shorter stretches between junctions, or even several roads. A new <road> element should only start if the properties of the road cannot be described within the previous <road> element or if a junction is required.

OpenDrive中的道路可以(may)与真实路网中或为应用而设的路网中的道路相提并论。每条道路由一个或多个 <road> 元素描述。一个 <road> 元素可以(may)覆盖一条长路、交叉口之间较短的路,或甚至多条道路。只有在道路的属性不能在先前 <road> 元素中得到描述或需要一个交叉口的情况下,才应(should)开始一个新的 <road> 元素。

Related topics 相关内容

  • Reference line

  • Road linkage

  • Lanes

  • 参考线

  • 道路连接

  • 车道

UML Model UML模型

img33
Figure 33. UML Model for Roads 图33. 用于道路的UML模型
img34
Figure 34. UML model for Road Geometry 图34. 用于道路几何形状的UML模型

Attributes 属性

Table/表 11. Attributes of the road element 道路元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

name

string

Name of the road. May be chosen freely.

道路的名称;可以(may)随意选择

length

t_grZero

Total length of the reference line in the xy-plane. Change in length due to elevation is not considered

xy平面中参考线的总长度;无需考虑被高程影响的长度变化。

id

string

-;[0;∞[

Unique ID within the database. If it represents an integer number, it should comply to uint32_t and stay within the given range.

ID在数据库中是唯一的。若其形式是一个整数,它则应符合uint32_t且不超出给定范围。

junction

string

-;-1

ID of the junction to which the road belongs as a connecting road (= -1 for none)

交叉口的ID,道路作为联接道路属于该交叉口(无(none)使用= -1)

rule

e_trafficRule

]-∞;∞[

Basic rule for using the road; RHT=right-hand traffic, LHT=left-hand traffic. When this attribute is missing, RHT is assumed.

使用道路的基本规则; RHT =靠右行车,LHT =靠左行车。当缺少此属性时,将假定为RHT。

8.1. Properties for road sections and cross section 道路段以及横截面的属性

Some properties of roads are described based on the cross section of the road. The road cross section is the orthogonal view of the road at a given point on the road reference line. An example of a property that refers to the road cross section is superelevation. Elements that are valid for a road cross section are valid for the whole width of the road at a given point on the reference line.

某些道路属性是基于道路横截面得到描述的,道路横截面是道路参考线上给定点处的道路正交视图。超高程是一种与道路横截面相关的属性。如果元素对道路横截面有效,那么它对道路参考线上给定点处的整个宽度都有效。

Other road properties are described based on the plan view of the road. This includes lanes and road elevation. For these properties, the term road section is used. Road sections describe parts of roads and their specific properties along the s-coordinate of the road reference line. Properties that are valid for a road section may not be valid for the whole width of the road, but for specific lanes only.

其他道路属性是基于道路平面图得到描述的,其中包括车道和道路高程。这些属性称为道路段,其描述了道路的各个部分以及它们沿道路参考线s坐标的特定属性。对路段有效的属性仅对特定车道有效,可能(may)对整个道路宽度无效。

That means it is possible to create sections for different properties like road type or lane sections. Sections are created by an additional element within the <road> element, using new start s-coordinates. The length of a section is implicitly given by the difference between two given s-start positions. Sections shall be stored in ascending order of s-coordinates.

这意味着可为不同属性(例如道路类型或车道段)创建不同的道路段,方式是使用新的起始s坐标以及 <road> 元素中的附加元素。两个给定s-起始位置之间的差别隐式地指定了组的长度。段的存储必须(shall)按s坐标升序来进行。

8.2. Road Linkage 道路连接

For applications to navigate through a road network, roads must be linked to each other. Roads may be connected to another road or a junction. Isolated roads are not connected to other roads or junctions.

为了能够在路网中行进,道路必须(must)相互连接。道路可以(may)连接到其他道路或交叉口上(孤立的道路除外)。

Figure 35 shows scenarios of prohibited, allowed, and recommended road linkage. It is important that the lanes and reference lines of the roads to be linked have a direct linkage to its predecessor or successor. Overlaps or leaps should be avoided but are not prohibited if the reference lines are connected properly.

图35的场景展示了禁止、允许以及建议的道路连接方式。非常重要的是,相互连接的道路的车道及其参考线需与其前驱以及后继道路的车道及其参考线直接连接。如果参考线连接正确,则应该避免重叠或断口,但不完全禁止。

img35
Figure 35. Allowed, prohibited, and recommended road linkage 图35. 允许、禁止以及建议的道路连接

Figure 36 shows the allowed scenarios for road linkage outside junctions, with two roads running in the same, opposite, or converging directions. Road linkage is not possible, if the two reference lines are not connected to each other.

图36的场景展示了在交叉口外可行的道路连接方式,其中包括两条同向、反向或汇聚的道路。如果这两条参考线相互不连接,则也无法实现道路连接。

img36
Figure 36. Allowed scenarios of road linkage 图36. 可行的道路连接场景
img37
Figure 37. Allowed scenario of road linkage within a junction 图37. 可行的路口内道路连接场景

In OpenDRIVE, road linkage is represented by the <link> element within the <road> element. The <predecessor> and <successor> elements are defined within the <link> element. For virtual and regular junctions, different attribute sets shall be used for the <predecessor> and <successor> elements.

在OpenDRIVE中,道路连接用 <road> 元素里的 <link> 元素来表示。 <predecessor> 以及 <successor> 元素在 <link> 元素中被定义。对于虚拟和常规的交叉口来说, <predecessor> 以及 <successor> 元素必须使用(shall)不同的属性组。

img38
Figure 38. UML model for road linkage 图38. 用于道路连接的UML模型

Attributes 属性

t_road_link

Follows the road header if the road is linked to a successor, a predecessor, or a neighbor. Isolated roads may omit this element.

如果道路与一条后继、前驱或相邻道路连接,该属性则遵循道路头文件。孤立的道路可(may)忽略该元素。

t_road_link_predecessorSuccessor

For virtual and regular junctions, different attribute sets shall be used. @contactPoint shall be used for regular junctions; @elementS and @elementDir shall be used for virtual junctions.

必须(shall)将不同属性用于虚拟以及常规的交叉口。@contactPoint须(shall)用于常规交叉口;@elementS 和 @elementDir则须(shall)用于虚拟交叉口。

Table/表 12. Attributes of the road link predecessorSuccessor element 道路连接前驱以及后继元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

elementId

string

ID of the linked element

被连接的元素ID

elementType

e_road_link_elementType

road ; junction

Type of the linked element

被连接的元素类型

contactPoint

e_contactPoint

start ; end

Contact point of link on the linked element

被连接元素中的链接接触点

elementS

t_grEqZero

m

Alternative to contactPoint for virtual junctions. Indicates a connection within the predecessor, meaning not at the start or end of the predecessor. Shall only be used for elementType "road"

用于虚拟交叉口的接触点contactPoint的备选;标明了前驱中的联接,意为不在前驱的起点或终点。只能(shall)用于"road"元素类型

elementDir

e_elementDir

+;-

To be provided when elementS is used for the connection definition. Indicates the direction on the predecessor from which the road is entered.

该属性将在用elementS定义联接时提供,它标明了道路进入的前面的道路的方向。

Rules 规则

The following rules apply to road linkage:

  • Two roads shall only be linked directly, if the linkage is clear. If the relationship to successor or predecessor is ambiguous, junctions shall be used.

  • A road may have another road or a junction as successor or predecessor. A road may also have no successor or predecessor.

  • A road may serve as its own predecessor or successor.

以下规则适用于道路连接:

  • 只有在连接(linkage)清晰的情况下,才能(shall)直接连接两条道路。如果与前驱或后继的关系模糊,则必须(shall)使用交叉口。

  • 道路可(may)将其他道路或交叉口作为其后继或前驱,它也可以(may)没有后继或前驱。

  • 道路亦可(may)作为自身的后继或前驱。

Related topics 相关内容

  • Reference line

  • Junctions

  • Lane linkage

  • 参考线

  • 交叉口

  • 车道连接

8.3. Road type 道路类型

The road type defines the main purpose of a road and the associated traffic rules. Example road types are motorways and rural roads. The road type is valid for the entire road cross section.

道路类型(例如高速公路以及乡村公路)定义了道路的主要用途以及相关的交通规则。道路类型对于整个道路横截面均有效。

The road type may be changed as often as needed within a <road> element. This may be done by defining different road types at given points along the reference line. One road type remains valid until another road type is defined.

通过在沿参考线的给定点上定义不同道路类型,可(may)在 <road> 元素中根据需要改变道路类型。道路类型将持续有效,直到另一个道路类型被定义。

In OpenDRIVE, the road type is represented by the <type> element within the <road> element. The road type itself is given in the @type attribute.

在OpenDRIVE中,道路类型用<road>元素中的 <type> 元素来表示。道路类型本身在@type属性中被给定。

Attributes 属性

t_road_type

A road type element is valid for the entire cross section of a road. It is valid until a new road type element is provided or until the road ends.

道路类型元素对于整个道路横截面持续有效,直到新的道路类型元素出现或者道路结束。

Table/表 13. Attributes of the road type element 道路类型元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

s

t_grEqZero

m

[0;∞[

s-coordinate of start position

起始位置的s坐标

type

e_roadType

Country code of the road, see ISO 3166-1, alpha-2 codes.

道路的国家/地区代号,参见ISO 3166-1,alpha-2代号。

country

e_countryCode

Country code of the road, see ISO 3166-1, alpha-2 codes.

道路的国家/地区代号,参见ISO 3166-1,alpha-2代号。

Rules 规则

The following rules apply to road types:

  • When the type of road changes, a new <type> element shall be created within the parent <road> element.

  • Country code and state identifier may be added to the <type> element to specify which national traffic rules apply to this road type. The according data is stored in the application and not in OpenDRIVE.

  • There shall only be ALPHA-2 country codes in use, no ALPHA-3 country codes, because only ALPHA-2 country codes support state identifiers.

  • Single lanes may have another type than the road they belong to. Road type and lane type represent different properties and are both valid if specified.

以下规则适用于道路类型:

  • 当道路类型有变更时,必须(shall)在父级<road>元素中创建一个新的 <type> 元素。

  • 可(may)添加国家/地区代号以及州标识符至 <type> 元素中,以便对适用于该道路类型的国家交通规则进行详细说明。相关数据并不存储在OpenDRIVE中,它将存储于应用中。

  • 只能(shall)使用ALPHA-2 国家/地区代号,ALPHA-3 国家/地区代号不能得以使用,原因是只有ALPHA-2 国家/地区代号才支持州标识符。

  • 单独车道可能(may)与其所属道路的类型不同。道路类型和车道类型代表不同的属性,若有具体说明,那么两种属性都为有效。

Related topics 相关内容

  • Lane type

  • Properties for road sections and cross section

  • 车道类型

  • 道路段以及横截面的属性

8.3.1. Speed limits for road types 道路类型的限速

A speed limit may be defined for a road type. When the road type changes and a speed limit exists on that road section, a new speed element is required, because road types have no globally valid speed limits. The limit shall be defined for each road type element separately.

可(may)为道路类型设置速度限制(限速)。若道路类型已更改且在路段中已有速度限制存在,由于道路类型并不拥有全局有效的速度限制,因此需要一个新的速度元素。必须(shall)为每个道路类型元素单独定义限速。

In OpenDRIVE, the speed limit is represented by the <speed> element within the <type> element.

在OpenDRIVE中,速度限制用 <type> 元素里的 <speed> 元素来表示。

Attributes 属性

t_road_type_speed

Defines the default maximum speed allowed in conjunction with the specified road type.

该属性结合了特定的道路类型对默认的最大允许速度进行定义。

Table/表 14. Attributes of the road type speed element 道路类型速度元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

max

t_maxSpeed

no limit ; undefined ; [0,∞[

s-coordinate of start position

起始位置的s坐标

unit

e_unitSpeed

Unit of the attribute max. For values, see chapter "units".

最大属性的单位。关于值,请参见"单位"。

Rules 规则

The following rules apply to speed limits:

  • A maximum speed may be defined as default value per road type element.

  • Single lanes may have different speed limits than the road they belong to. They are defined as <laneSpeed>.

  • Speed limits derived from signals shall always have preference.

以下规则适用于速度限制:

  • 最大速度可以(may)被定义为每个道路类型元素的默认值。

  • 单独车道可以(may)有不同于其所属道路的速度限制,其将被定义为<laneSpeed>。

  • 源自标志的限速必须(shall)始终被优先考虑。

Related topics 相关内容

  • Road type

  • Properties for road sections and cross section

  • Signals

  • 道路类型

  • 道路段和横截面的属性

  • 标志

8.4. Methods of Elevation 高程的方法

There are several ways to elevate a road or parts of a road:

  • Road elevation specifies the elevation along the road reference line, that is in s direction.

  • The lateral profile, using superelevation and shape definition, specifies the elevation orthogonally to the reference line, that is in t direction.

以下几种方法用于标高道路或道路的部分:

  • 道路高程详细说明了沿道路参考线(s方向)的高程。

  • 通过使用超高程以及形状定义,横断面图将对与t方向参考线正交的高程进行详细说明。

The types of road elevation are shown in figure 39

道路高程的类型参见图39。

img39
Figure 39. Types of elevation 图39. 高程的类型

The s length does not change with the elevation.

s长度不随着高程变化。

8.4.1. Road elevation 道路高程

A road may be elevated along its reference line. Road elevation is defined per road cross section at a given position on the reference line. Elevation is specified in meters. The default elevation of a road is zero. In case georeferencing is used, the definition of zero depends on it.

一条道路可(may)沿其参考线被标高,需根据每个在参考线上给定点的道路横截面来对道路高程进行定义。高程以米为单位,道路的默认高程为零。若使用了地理坐标参考,则根据地理坐标参考对零进行定义。

In OpenDRIVE, elevation is represented by the <elevation> element inside the <elevationProfile> element.

在OpenDRIVE中,高程用 <elevationProfile> 元素中的 <elevation> 元素来表示。

Attributes 属性

t_road_elevationProfile_elevation

Defines an elevation element at a given position on the reference line. Elements shall be defined in ascending order along the reference line. The s length does not change with the elevation.

该属性定义了参考线上给定点处的高程元素。此外,必须(shall)沿参考线按升序对元素进行定义。s的长度不随高程而改变。

Table/表 15. Attributes of the elevation element 高程元素的属性

attributes
属性

name
名称

type
类型

unit
单位

value

Description
描述

s

t_grEqZero

m

[0;∞[

s-coordinate of start position

起始位置的s坐标

a

double

m

]-∞;∞[

Polynom parameter a

多项式的参数a

b

double

1

]-∞;∞[

Polynom parameter d

多项式的参数d

c

double

1/m

]-∞;∞[

Polynom parameter c

多项式的参数c

d

double

1/m²

]-∞;∞[

Polynom parameter d

多项式的参数d

Calculation 计算方式

Road elevation is calculated with the following polynomial function of the third order:

使用以下三次多项式函数来计算道路高程:

elev(ds) = a + b*ds + c*ds² + d*ds³

where 其中

elev

is the elevation (inertial z) at a given position

是给定位置上的高程(惯性 z)

a, b, c, d

are the coefficients

是系数

ds

is the distance along the reference line between the start of a new elevation element and the given position.

是沿着参考线上新高程元素的起点与给定位置之间的距离

ds restarts at zero for each element. The absolute position of an elevation value is calculated as follows:

每当新的元素出现,`ds`则清零。使用以下公式对高程值的绝对位置进行计算:

s = sstart + ds

where 其中

s

is the absolute position in the reference line coordinate system

是参考线坐标系中的绝对位置

sstart

is the start position of the element in the reference line coordinate system

是元素在参考线坐标中的起始位置

Rules 规则

The following rules apply to road elevation:

  • Roads shall be elevated along their reference line.

  • Road elevation may be defined in combination with superelevation and road shape or standalone.

  • Elevation elements shall be defined in ascending order. Because the elevation can go up and down, the elements shall be linked to the respective position on the reference line.

  • The definition of road elevation remains valid until the next element of this type is defined.

以下规则适用于道路高程:

  • 道路必须(shall)沿其参考线被标高。

  • 道路高程可(may)单独或者结合超高程以及道路形状被定义。

  • 对高程元素的定义必须(shall)按升序进行。由于高程可以上下移动,元素必须(shall)被连接到参考线上的相应位置。

  • 道路高程的定义持续有效,直到该类型的下一个元素得到定义。

Related topics 相关内容

  • Superelevation

  • Shape definition

  • 超高程

  • 形状定义

8.4.2. Superelevation 超高程

Superelevation is part of the lateral profile and describes the cross slope of the road. It may be used, for example, to incline the road to the inner side so that vehicles can drive through them more easily. For superelevated roads, the t axis of a road is not parallel to the underlying terrain, as shown in figure 40. For this reason, a lateral profile is defined for the entire road cross section. Superelevation does not change the actual width of a lane, but it affects the projected width. The default value for superelevation is zero.

超高程是横断面图的一部分,它描述了道路的横坡。它可(may)用于将道路往内侧倾斜,从而使车辆更容易驶过。如图40所示,对于被超高程的道路而言,道路的t轴不与下层地形平行。因此,横断面图的定义适用于整个道路横截面。超高程不改变车道的实际宽度,但它会影响被投影的宽度。超高程的默认值为零。

Mathematically, superelevation is defined as the roll angle of the road cross section around the reference line. That means, superelevation has positive values for roads falling to the right side and negative values for roads falling to the left side.

超高程从数学角度被定义为围绕参考线的道路横截面的倾斜角。这意味着超高程对于向右边倾斜的道路具有正值,对于向左边倾斜的道路具有负值。

In the example in figure 40, the reference line is parallel to the y axis, to simplify the given example.

为简化上述示例,图40示例中的参考线平行于y轴。