Annex E: Checker rules (normative)

Checker rule concept

Checker rules are semantic and syntactic requirements that shall be applied to a scenario. ASAM OpenDRIVE defines a basic set of rules that enforce compliance with the standard, as well as additional rules with recommendations in accordance with ASAM OpenDRIVE. Rules consist of a name, an UID (a unique identifier of the check), and a description that specifies the requirements for the scenario.

Rule UID Concepts

The UID is a string that encapsulates a sequence of concepts that allow to identify immediately a rule across the different domains. The concepts are ordered and separated via the separation character :.

The concepts for a rule UID are:

  • Emanating Entity: a domain name for the entity (organization or company) that declares the rule UID

  • Standard: a short string that represents the standard or the domain to which the rule is applied

  • Definition Setting: the version of the standard or the domain to which the rule appears or is applied for the first time

  • Rule Full Name: the full name of the rule, as dot-separated, snake_lower_case string. The full name of a rule is composed by the rule set, a categorization for the rule, and the rule name, a unique string inside the categorization. The rule set can be nested (meaning that it can be defined as an arbitrary sequence of dot-separated names, while the name is the snake_case string after the last dot of the full name)

To provide a visual description for a rule UID:

<emanating-entity>:<standard>:x.y.z:rule_set.for_rules.rule_name

Third party rule UID creators (i.e., emanating entities different than ASAM) should still fill all the concepts above. If that is not possible, concepts shall be left blank, but separation : is still required (i.e., example.com:::rulename is valid).

UIDs are designed to be queried, e.g., implementations may use UNIX pattern matching.

Visit the ASAM Quality Checker Framework documentation to see detailed information on how and which checks are implemented.

E.1 defaultRegulations

E.1.1 only_speed_prioity

UID

asam.net:xodr:1.8.0:defaultRegulations.only_speed_prioity

Description

Only <speed> and <priority> elements shall be used within the <defaultRegulations> element.

E.2 header

E.2.1 offset

E.2.1.1 centered_coords

UID

asam.net:xodr:1.7.0:header.offset.centered_coords

Description

The <offset> element should be such that the x and y coordinates of ASAM 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.

E.3 ids

E.3.1 id_unique_in_class

UID

asam.net:xodr:1.4.0:ids.id_unique_in_class

Description

IDs shall be unique within a class.

E.3.2 id_unique_in_lane_section

UID

asam.net:xodr:1.4.0:ids.id_unique_in_lane_section

Description

Lane IDs shall be unique within a lane section.

E.3.3 only_ref_defined_ids

UID

asam.net:xodr:1.4.0:ids.only_ref_defined_ids

Description

Only defined IDs may be referenced.

E.4 junctions

E.4.1 boundary

E.4.1.1 close_gap_with_new_roads

UID

asam.net:xodr:1.8.0:junctions.boundary.close_gap_with_new_roads

Description

If the existing roads are not sufficient to define a closed junction boundary, additional roads shall be defined for the missing segments.

E.4.1.2 only_for_common_junctions

UID

asam.net:xodr:1.8.0:junctions.boundary.only_for_common_junctions

Description

Junction boundaries are currently only valid for common junctions.

E.4.1.3 segments_close_boundry

UID

asam.net:xodr:1.8.0:junctions.boundary.segments_close_boundry

Description

Segments shall close the entire junction boundary.

E.4.1.4 segments_counter_clockwise_order

UID

asam.net:xodr:1.8.0:junctions.boundary.segments_counter_clockwise_order

Description

Segments shall be ordered counter clockwise.

E.4.1.5 segments_for_each_conn_road

UID

asam.net:xodr:1.8.0:junctions.boundary.segments_for_each_conn_road

Description

Segments shall be defined to reach the start or end of all roads connected to the junction.

E.4.2 common

E.4.2.1 direct_junction_attributes

UID

asam.net:xodr:1.8.0:junctions.common.direct_junction_attributes

Description

The @overlapZone attribute shall only be specified for direct junctions.

E.4.2.2 junctions_no_pred_succ

UID

asam.net:xodr:1.4.0:junctions.common.junctions_no_pred_succ

Description

Unlike roads, junctions do not have a predecessor or successor.

E.4.2.3 virtual_junction_attributes

UID

asam.net:xodr:1.5.0:junctions.common.virtual_junction_attributes

Description

The @mainRoad, @orientation, @sStart and @sEnd attributes shall only be specified for virtual junctions.

E.4.2.4 when_to_use

UID

asam.net:xodr:1.4.0:junctions.common.when_to_use

Description

Junctions shall only be used when roads cannot be linked directly. They clarify ambiguities for the linking. Ambiguities are caused when a road has two or more possible predecessor or successor roads.

E.4.3 connection

E.4.3.1 connect_road_no_incoming_road

UID

asam.net:xodr:1.4.0:junctions.connection.connect_road_no_incoming_road

Description

Connecting roads shall not be incoming roads.

UID

asam.net:xodr:1.8.0:junctions.connection.one_link_to_incoming

Description

Each connecting road shall be associated with at most one <connection> element per incoming road. A connecting road shall only have the <laneLink> element for that direction.

E.4.3.3 start_along_linkage

UID

asam.net:xodr:1.7.0:junctions.connection.start_along_linkage

Description

The value start shall be used to indicate that the connecting road runs along the linkage indicated in the <laneLink> element.

E.4.3.4 no_lane_change_for_mult_con_roads

UID

asam.net:xodr:1.7.0:junctions.connection.no_lane_change_for_mult_con_roads

Description

By multiple connecting roads, each with one <laneLink> element for the connection between two specific lanes. Lane changes within this junction are not possible.

E.4.3.5 connect_road_no_incoming_road

UID

asam.net:xodr:1.7.0:junctions.connection.lane_change_one_con_road

Description

By one connecting road with multiple <laneLink> elements for the connections between the lanes.

E.4.3.6 end_opposite_linkage

UID

asam.net:xodr:1.7.0:junctions.connection.end_opposite_linkage

Description

The value end shall be used to indicate that the connecting road runs along the opposite direction of the linkage indicated in the <laneLink> element

E.4.4 cross_path

E.4.4.1 correct_junction_id

UID

asam.net:xodr:1.8.0:junctions.cross_path.correct_junction_id

Description

The @junction attribute shall contain the id of the junction to which a road belongs.

E.4.4.2 disregard_cross_road_evelation

UID

asam.net:xodr:1.8.0:junctions.cross_path.disregard_cross_road_evelation

Description

The elevations of the crossing road defined by the @crossingRoad attribute of the <crossPath> element are disregarded.

E.4.4.3 lane_linkage

UID

asam.net:xodr:1.8.0:junctions.cross_path.lane_linkage

Description

Start and end of the crossing road shall reach the linked lanes specified by the <startLaneLink> and <endLaneLink> elements.

E.4.4.4 only_connect_correct_type

UID

asam.net:xodr:1.8.0:junctions.cross_path.only_connect_correct_type

Description

Cross paths shall only connect lanes with @type="walking" or @type="biking".

E.4.4.5 start_end_contained

UID

asam.net:xodr:1.8.0:junctions.cross_path.start_end_contained

Description

The start and end points of the crossing road and its lanes shall be fully contained within the linked lanes specified by the <startLaneLink> and <endLaneLink> elements.

E.4.4.6 within_junction_area

UID

asam.net:xodr:1.8.0:junctions.cross_path.within_junction_area

Description

Cross paths shall be within the area of a common junction or a virtual junction.

E.4.5 crossing

E.4.5.1 only_one_high_prio

UID

asam.net:xodr:1.8.0:junctions.crossing.only_one_high_prio

Description

Only one road defined by the @roadId attributes of the <roadSection> elements shall have high priority.

E.4.5.2 only_road_sections

UID

asam.net:xodr:1.8.0:junctions.crossing.only_road_sections

Description

Junctions with @type="crossing" shall only have <roadSection> elements.

E.4.5.3 s_start_end_coverage

UID

asam.net:xodr:1.8.0:junctions.crossing.s_start_end_coverage

Description

The values for the @sStart and @sEnd attributes of the <roadSection> elements shall at least cover the area where the roads overlap.

E.4.6 direct

E.4.6.1 connecting_road_attribute_usage

UID

asam.net:xodr:1.7.0:junctions.direct.connecting_road_attribute_usage

Description

The @connectingRoad attribute shall not be used for junctions with @type="direct".

E.4.6.2 correct_type_linked_road_usage

UID

asam.net:xodr:1.7.0:junctions.direct.correct_type_linked_road_usage

Description

The @linkedRoad attribute shall only be used for junctions with @type="direct".

E.4.6.3 flat_exits_entries

UID

asam.net:xodr:1.8.0:junctions.direct.flat_exits_entries

Description

Currently only flat entries and exits can be modeled by overlapping direct junctions.

E.4.6.4 linked_lane_smoothness

UID

asam.net:xodr:1.7.0:junctions.direct.linked_lane_smoothness

Description

The linked lanes shall fit smoothly as described for roads (see [top-86fc414c-6211-4777-b40e-466d4551d23e]).

E.4.6.5 overlap_zone_coverage

UID

asam.net:xodr:1.8.0:junctions.direct.overlap_zone_coverage

Description

The value of the @overlapZone attribute shall cover at least the overlapping area, but may be larger.

E.4.6.6 overlap_zone_exclusivity

UID

asam.net:xodr:1.8.0:junctions.direct.overlap_zone_exclusivity

Description

Only one pair of <laneLink> elements shall have @overlapZone attributes to define the overlapping lanes.

E.4.6.7 road_connectivity

UID

asam.net:xodr:1.8.0:junctions.direct.road_connectivity

Description

Direct junctions shall connect one road on one side with multiple roads on the other side.

E.4.6.8 road_ramp_heading

UID

asam.net:xodr:1.7.0:junctions.direct.road_ramp_heading

Description

The junction shall be placed where the headings of road, ramp, or slip lane are identical.

E.4.6.9 split_or_merge

UID

asam.net:xodr:1.8.0:junctions.direct.split_or_merge

Description

Direct junctions shall only be used for splitting or merging roads without crossing traffic.

E.4.7 elevation_grid

E.4.7.1 entry_exit_smoothness

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.entry_exit_smoothness

Description

For junction entries and exits, a smooth transition should be assured.

E.4.7.2 only_one_elev_grid

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.only_one_elev_grid

Description

A junction shall have only one elevation grid.

E.4.7.3 perpendicular_vectors

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.perpendicular_vectors

Description

The elevation grid shall be defined with vectors perpendicular to the junction reference line.

E.4.7.4 polynome_coefficient_values

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.polynome_coefficient_values

Description

The coefficients \(c\) and \(d\) of the polynoms shall be 0 if there are not enough support points in the elevation grid to calculate them.

E.4.7.5 valid_for_entire_boundry

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.valid_for_entire_boundry

Description

If a junction boundary is defined, the elevation grid shall be valid for the area enclosed by the junction boundary.

E.4.8 geometry

E.4.8.1 correct_junction_boundry

UID

asam.net:xodr:1.8.0:junctions.geometry.correct_junction_boundry

Description

If a junction boundary is specified, a junction reference line shall cross the junction boundary or be at least tangent to the junction boundary at one point.

E.4.8.2 only_one_line_element

UID

asam.net:xodr:1.8.0:junctions.geometry.only_one_line_element

Description

Junction reference lines shall be defined by one <geometry> element. This <geometry> element shall have only one <line> element.

E.4.8.3 ref_line_definition

UID

asam.net:xodr:1.8.0:junctions.geometry.ref_line_definition

Description

The <geometry> element of a junction reference line shall be defined in a way that every point of the junction can be reached with a perpendicular straight line.

E.4.9 no_overlap

UID

asam.net:xodr:1.4.0:junctions.no_overlap

Description

No junctions of any type shall overlap each other.

E.4.10 priority

E.4.10.1 high_and_low_attr

UID

asam.net:xodr:1.8.0:junctions.priority.high_and_low_attr

Description

<priority> elements shall be defined with a pair of one @high and one @low attribute.

E.4.10.2 no_signals

UID

asam.net:xodr:1.7.0:junctions.priority.no_signals

Description

<priority> elements should only be used if there are no signals defined.

E.4.11 type_default_no_linked_road

UID

asam.net:xodr:1.7.0:junctions.type_default_no_linked_road

Description

The <connection> element of a junction of @type="default" or @type="virtual" shall not have the @linkedRoad attribute.

E.4.12 type_direct_no_conn_road

UID

asam.net:xodr:1.7.0:junctions.type_direct_no_conn_road

Description

The <connection> element of a junction of @type="direct" shall not have the @connectingRoad attribute.

E.4.13 virtual

E.4.13.1 crossPath

cross_road_check_s_t
UID

asam.net:xodr:1.8.0:junctions.virtual.crossPath.cross_road_check_s_t

Description

The crossing road shall not exceed the values for s and t of the main road defined by the @roadAtStart and @roadAtEnd attributes.

E.5 road

E.5.1 no_overlap_outside_junction

UID

asam.net:xodr:1.4.0:road.no_overlap_outside_junction

Description

Roads outside a junction shall not overlap.

E.5.2 no_overlap_self

UID

asam.net:xodr:1.4.0:road.no_overlap_self

Description

A road shall not overlap with itself.

E.5.3 overlap_inside_junction

UID

asam.net:xodr:1.4.0:road.overlap_inside_junction

Description

Only roads with the same junction id may overlap on the same level. This does not include roads on different driving levels, for example, bridges.

E.5.4 corner_local

E.5.4.1 element_min_amount

UID

asam.net:xodr:1.7.0:road.corner_local.element_min_amount

Description

There shall be at least two <cornerLocal> elements inside an <outline> element.

E.5.5 corner_road

E.5.5.1 corner_road_local_exclusivity

UID

asam.net:xodr:1.7.0:road.corner_road.corner_road_local_exclusivity

Description

There shall be no <cornerLocal> element next to a <cornerRoad> element inside the same <outline> element.

E.5.5.2 element_min_amount

UID

asam.net:xodr:1.7.0:road.corner_road.element_min_amount

Description

There shall be at least two <cornerRoad> elements inside an <outline> element.

E.5.6 crg

E.5.6.1 attach_vs_friction

UID

asam.net:xodr:1.7.0:road.crg.attach_vs_friction

Description

@mode=attached shall not be used together with @purpose=friction.

E.5.6.2 friction_no_z _offset_scale

UID

asam.net:xodr:1.7.0:road.crg.friction_no_z _offset_scale

Description

@zOffset and @zScale shall not be set for friction values.

E.5.6.3 h_offset_only_genuine

UID

asam.net:xodr:1.7.0:road.crg.h_offset_only_genuine

Description

@hOffset shall not be used for modes other than @mode=genuine.

E.5.6.4 junction

UID

asam.net:xodr:1.7.0:road.crg.junction

Description

If a <junction> element contains a <CRG> element, none of the connecting roads that belong to this junction shall have a <CRG> element.

E.5.6.5 no_opposite

UID

asam.net:xodr:1.7.0:road.crg.no_opposite

Description

@orientation=opposite shall not be used for modes other than @mode=attached and @mode=attached0.

E.5.6.6 only_on_per_s

UID

asam.net:xodr:1.7.0:road.crg.only_on_per_s

Description

In the future, multiple CRG files at one position may be combined. For compatibility with future versions, each road or junction should only contain one CRG file per s-position and @purpose.

E.5.6.7 s_t_offset_no_global

UID

asam.net:xodr:1.7.0:road.crg.s_t_offset_no_global

Description

@sOffset and @tOffset shall not be used with @mode=global.

E.5.6.8 use_last_entry

UID

asam.net:xodr:1.7.0:road.crg.use_last_entry

Description

If more than one CRG entry is given for the same physical property (attribute purpose) at a given location, then the last entry in the sequence of occurrence in the ASAM OpenDRIVE file shall be the relevant one. All others are ignored (but see the note).

E.5.7 cross_section_surface

E.5.7.1 height

UID

asam.net:xodr:1.8.0:road.cross_section_surface.height

Description

The value of @height at <lane> elements is added to the cross section surface in z-direction.

E.5.7.2 lane_def_valid

UID

asam.net:xodr:1.8.0:road.cross_section_surface.lane_def_valid

Description

A cross section surface is only valid within the lane definition of the road.

E.5.7.3 no_shape_superelevation

UID

asam.net:xodr:1.8.0:road.cross_section_surface.no_shape_superelevation

Description

A cross section surface shall not be used in combination with road shape or superelevation.

E.5.7.4 start_end_match_with_refline

UID

asam.net:xodr:1.8.0:road.cross_section_surface.start_end_match_with_refline

Description

A cross section surface shall start and end at the start and end of the road reference line.

E.5.7.5 use_strip

UID

asam.net:xodr:1.8.0:road.cross_section_surface.use_strip

Description

If on a side only one strip is used, it is defined in a <strip> element with @id="1" or @id="-1" and a width shall not be specified.

E.5.7.6 use_width

UID

asam.net:xodr:1.8.0:road.cross_section_surface.use_width

Description

If on a side two strips are specified, a width for the inner strip shall be specified.

E.5.8 elevation

E.5.8.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.elevation.elem_asc_order

Description

<elevation> elements shall be defined in ascending order according to the s-coordinate.

E.5.8.2 elev_along_ref_line

UID

asam.net:xodr:1.4.0:road.elevation.elev_along_ref_line

Description

Roads shall be elevated along their road reference line.

E.5.9 geometry

E.5.9.1 contact_point

UID

asam.net:xodr:1.7.0:road.geometry.contact_point

Description

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

E.5.9.2 elem_asc_order

UID

asam.net:xodr:1.4.0:road.geometry.elem_asc_order

Description

<geometry> elements shall be defined in ascending order along the road reference line according to the s-coordinate.

E.5.9.3 one_geom_elem_per_spec

UID

asam.net:xodr:1.4.0:road.geometry.one_geom_elem_per_spec

Description

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

E.5.9.4 only_one_refline

UID

asam.net:xodr:1.4.0:road.geometry.only_one_refline

Description

There shall be only one road reference line per road.

E.5.9.5 paramPoly3

arcLength_range
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.arcLength_range

Description

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

length_match
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.length_match

Description

The actual curve length, as determined by numerical integration over the parameter range, should match @length.

normalized_range
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.normalized_range

Description

If @pRange="normalized", p shall be chosen in [0, 1].

valid_parameters
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.valid_parameters

Description

The local u/v coordinate system should be aligned with the s/t coordinate system of the start point (meaning that the curve starts in the direction given by @hdg, and at the position given by @x and @y). To achieve this, the polynomial parameter coefficients have to be @aU=@aV=@bV=0, @bU>0.

E.5.9.6 refline_exists

UID

asam.net:xodr:1.4.0:road.geometry.refline_exists

Description

Each road shall have a road reference line.

E.5.9.7 refline_no_gaps

UID

asam.net:xodr:1.4.0:road.geometry.refline_no_gaps

Description

A road reference line shall have no gaps.

E.5.9.8 refline_no_kinks

UID

asam.net:xodr:1.4.0:road.geometry.refline_no_kinks

Description

A road reference line should have no kinks.

E.5.10 lane

E.5.10.1 lane_listing

UID

asam.net:xodr:1.4.0:road.lane.lane_listing

Description

For better orientation, lanes should be listed from left to right, that is with descending ID.

E.5.10.2 lane_order

UID

asam.net:xodr:1.4.0:road.lane.lane_order

Description

Lane numbering shall start with 1 next to the center lane in positive t-direction in ascending order and -1 next to the center lane in negative t-direction in descending order.

E.5.10.3 lane_order_no_gaps

UID

asam.net:xodr:1.4.0:road.lane.lane_order_no_gaps

Description

Lane numbering shall be consecutive without any gaps.

E.5.10.4 center_elem_definition

UID

asam.net:xodr:1.4.0:road.lane.center_elem_definition

Description

One <center> element shall be defined for each s-coordinate.

E.5.10.5 center_lane

UID

asam.net:xodr:1.4.0:road.lane.center_lane

Description

Each road shall have a center lane.

E.5.10.6 center_lane_id

UID

asam.net:xodr:1.4.0:road.lane.center_lane_id

Description

The center lane shall have the lane id 0.

E.5.10.7 lane_sect_min_amount

UID

asam.net:xodr:1.4.0:road.lane.lane_sect_min_amount

Description

Each <lanes> element shall contain at least one <laneSection> element.

E.5.10.8 lanes_numbered_correctly

UID

asam.net:xodr:1.4.0:road.lane.lanes_numbered_correctly

Description

Lanes with positive ID run on the left side of the center lane, while lanes with negative ID run on the right side of the center lane.

E.5.10.9 level_true_one_side

UID

asam.net:xodr:1.7.0:road.lane.level_true_one_side

Description

If a lane has @level="true", then all further outward lanes shall be lanes with @level="true" until the edge of the road is reached.

E.5.10.10 s_attr_value

UID

asam.net:xodr:1.4.0:road.lane.s_attr_value

Description

All <laneSection> elements shall contain the @s attribute.

E.5.10.11 center_lane

UID

asam.net:xodr:1.4.0:road.lane.lane_id_unique

Description

Lane numbering shall be unique per lane section.

E.5.10.12 center_lane

UID

asam.net:xodr:1.4.0:road.lane.center_lane_no_width

Description

The center lane shall have no width, meaning that the <width> element shall not be used for the center lane.

E.5.10.13 access

center_lane_no_acc_rule
UID

asam.net:xodr:1.4.0:road.lane.access.center_lane_no_acc_rule

Description

The center lane shall have no access rules.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.access.elem_asc_order

Description

<access> elements shall be defined in ascending order according to the s-coordinate.

no_mix_of_deny_or_allow
UID

asam.net:xodr:1.7.0:road.lane.access.no_mix_of_deny_or_allow

Description

At a given s-position, either only deny or only allow values shall be given.

E.5.10.14 border

overlap_with_inner_lanes
UID

asam.net:xodr:1.4.0:road.lane.border. overlap_with_inner_lanes

Description

Lane borders shall not intersect inner lanes.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.border.elem_asc_order

Description

<border> elements shall be defined in ascending order according to the s-coordinate.

exclusive_offset_border
UID

asam.net:xodr:1.4.0:road.lane.border.exclusive_offset_border

Description

<border> elements shall not be used together with <laneOffset>.

exclusive_width_border
UID

asam.net:xodr:1.4.0:road.lane.border.exclusive_width_border

Description

<border> elements shall not be used together with <width> elements in the same lane group.

E.5.10.15 height

center_lane_no_height
UID

asam.net:xodr:1.4.0:road.lane.height.center_lane_no_height

Description

The center lane shall not be elevated by lane height.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.height.elem_asc_order

Description

<height> elements shall be defined in ascending order according to the s-coordinate.

E.5.10.16 lane_properties

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.lane_properties.elem_asc_order

Description

Lane geometries of identical types shall be defined in ascending order.

UID

asam.net:xodr:1.4.0:road.lane.link.lanes_across_laneSections

Description

Lane that continues across the lane sections shall be connected in both directions.

UID

asam.net:xodr:1.4.0:road.lane.link.multiple_connections

Description

Multiple predecessors and successors shall be used if a lane is split abruptly or several lanes are merged abruptly. All lanes that are connected shall have a non-zero width at the connection point.

UID

asam.net:xodr:1.4.0:road.lane.link.new_lane_appear

Description

If a new lane appears besides, only the continuing lane shall be connected to the original lane, not the appearing lane.

UID

asam.net:xodr:1.4.0:road.lane.link.no_link

Description

The <link> element shall be omitted if the lane starts or ends in a junction or has no link.

UID

asam.net:xodr:1.4.0:road.lane.link.use_junctions

Description

Two lanes shall only be linked if their linkage is clear. If the relationship to a predecessor or successor is ambiguous, junctions shall be used.

UID

asam.net:xodr:1.7.0:road.lane.link.zero_width_at_end

Description

Lanes that have a width of zero at the end of the lane section shall have no <successor> element.

UID

asam.net:xodr:1.7.0:road.lane.link.zero_width_at_start

Description

Lanes that have a width of zero at the beginning of the lane section shall have no <predecessor> element.

E.5.10.18 material

center_lane_no_material
UID

asam.net:xodr:1.4.0:road.lane.material.center_lane_no_material

Description

The center lane shall have no material elements.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.material.elem_asc_order

Description

<material> elements shall be defined in ascending order according to the s-coordinate

E.5.10.19 road_mark

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.road_mark.elem_asc_order

Description

<roadMark> elements shall be defined in ascending order according to the s-coordinate.

E.5.10.20 rule

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.rule.elem_asc_order

Description

<rule> elements shall be defined in ascending order according to the s-coordinate.

E.5.10.21 speed

center_lane_no_spd_lmt
UID

asam.net:xodr:1.4.0:road.lane.speed.center_lane_no_spd_lmt

Description

The center lane shall have no speed limit.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.speed.elem_asc_order

Description

<speed> elements shall be defined in ascending order according to the s-coordinate.

E.5.10.22 width

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.width.elem_asc_order

Description

<width> elements shall be defined in ascending order according to the s-coordinate.

lane_width_validity
UID

asam.net:xodr:1.4.0:road.lane.width.lane_width_validity

Description

Width (ds) shall be greater than or equal to zero.

width_defined_whole_section
UID

asam.net:xodr:1.7.0:road.lane.width.width_defined_whole_section

Description

The width of the lane shall be defined for the full length of the lane section. This means that there must be a <width> element for @s="0".

E.5.11 lane_section

E.5.11.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.lane_section.elem_asc_order

Description

<laneSection> elements shall be defined in ascending order according to the s-coordinate.

E.5.11.2 lane_sect_req

UID

asam.net:xodr:1.4.0:road.lane_section.lane_sect_req

Description

Each road shall have at least one lane section.

E.5.11.3 lanesec_usage_lane_num

UID

asam.net:xodr:1.4.0:road.lane_section.lanesec_usage_lane_num

Description

A new lane section shall be defined each time the number of lanes change.

E.5.11.4 valid_length

UID

asam.net:xodr:1.4.0:road.lane_section.valid_length

Description

The length of lane sections shall be greater than zero.

E.5.12 lanes

E.5.12.1 lane_offset

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lanes.lane_offset.elem_asc_order

Description

<laneOffset> elements shall be defined in ascending order according to the s-coordinate.

no_offset_if_border_defined
UID

asam.net:xodr:1.4.0:road.lanes.lane_offset.no_offset_if_border_defined

Description

There shall be no <laneOffset> if border definitions are present.

E.5.13 linkage

E.5.13.1 is_junction_needed

UID

asam.net:xodr:1.4.0:road.linkage.is_junction_needed

Description

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.

UID

asam.net:xodr:1.7.0:road.linkage.junc_link_attribute_usage

Description

For a common junction and a direct junction as successor or predecessor the @elementType and @elementId attributes shall be used.

UID

asam.net:xodr:1.4.0:road.linkage.road_link_attribute_usage

Description

For a road as successor or predecessor the @elementType, @elementId and @contactPoint attributes shall be used.

UID

asam.net:xodr:1.7.0:road.linkage.virtjunc_link_attribute_usage

Description

For a virtual junction as successor or predecessor the @elementType, @elementId, @elementS and @elementDir attributes shall be used.

E.5.14 object

E.5.14.1 circular_vs_angular

UID

asam.net:xodr:1.7.0:road.object.circular_vs_angular

Description

Objects may be of circular or angular shape. The possibilities are mutually exclusive. The shape is defined by the used attributes.

E.5.14.2 valid_s_length_for_repeat

UID

asam.net:xodr:1.7.0:road.object.valid_s_length_for_repeat

Description

Redundant elements should be avoided, such as elevation or laneSection nodes for consecutive s-coordinates with identical attributes, or multiple geometry nodes for straight lines.

E.5.14.3 orientation

UID

asam.net:xodr:1.7.0:road.object.orientation

Description

The direction for which objects are valid shall be specified.

E.5.14.4 s_t_coords

UID

asam.net:xodr:1.7.0:road.object.s_t_coords

Description

The origin position of the object shall be described with s- and t-coordinates along the road surface.

E.5.14.5 type_attr

UID

asam.net:xodr:1.7.0:road.object.type_attr

Description

The type of an object shall be given by the @type attribute.

E.5.14.6 borders

useCompleteOutline_true
UID

asam.net:xodr:1.7.0:road.object.borders.useCompleteOutline_true

Description

If @useCompleteOutline is true, the <cornerReference> element shall not be defined.

E.5.14.7 bridges

define_type
UID

asam.net:xodr:1.7.0:road.object.bridges.define_type

Description

Bridges may be restricted to certain lanes, using the <laneValidity> element.

type_definition
UID

asam.net:xodr:1.7.0:road.object.bridges.type_definition

Description

The @type of the tunnel shall be specified.

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.bridges.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

E.5.14.8 marking

colour
UID

asam.net:xodr:1.7.0:road.object.marking.colour

Description

The color of the marking shall be defined.

no_cornerreference_if_no_outline
UID

asam.net:xodr:1.7.0:road.object.marking.no_cornerreference_if_no_outline

Description

If no outline is used, the <cornerReference> element cannot be used.

no_outline_side_attr
UID

asam.net:xodr:1.7.0:road.object.marking.no_outline_side_attr

Description

If no outline is used, the @side attribute is mandatory.

outline_corner_reference_count
UID

asam.net:xodr:1.7.0:road.object.marking.outline_corner_reference_count

Description

If an outline is used, at least two <cornerReference> elements are mandatory.

E.5.14.9 material

materials_may_differ
UID

asam.net:xodr:1.7.0:road.object.material.materials_may_differ

Description

The material of objects may differ from the surrounding road.

E.5.14.10 outline

outline_followed_by_corner
UID

asam.net:xodr:1.7.0:road.object.outline.outline_followed_by_corner

Description

An <outline> element shall be followed by two or more <cornerRoad> elements or by two or more <cornerLocal> elements.

points_inside_box
UID

asam.net:xodr:1.7.0:road.object.outline.points_inside_box

Description

All points of the <outline> element must be located inside the bounding box.

E.5.14.11 reference

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.reference.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

E.5.14.12 skeleton

points_inside_box
UID

asam.net:xodr:1.8.0:road.object.skeleton.points_inside_box

Description

All points of the <polyline> element must be located inside the bounding box, including their local width and height or radius.

points_requirements
UID

asam.net:xodr:1.8.0:road.object.skeleton.points_requirements

Description

All points of the <polyline> element are connected with a straight line between the <vertexRoad> or <vertexLocal> elements and the specified @radius or @width and @height attributes of each point are perpendicular to this line.

polyline_followed_by_vertex
UID

asam.net:xodr:1.8.0:road.object.skeleton.polyline_followed_by_vertex

Description

A <polyline> element shall be followed by either two or more <vertexRoad> elements or by two or more <vertexLocal> elements.

use_radius_or_width_length
UID

asam.net:xodr:1.8.0:road.object.skeleton.use_radius_or_width_length

Description

Each <polyline> element shall either use @radius or @width and @length attributes for all of its vertex elements.

vertex_local
element_min_amount
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_local.element_min_amount

Description

There shall be at least two <vertexLocal> elements inside an <polyline> element.

liniear_interpolation
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_local.liniear_interpolation

Description

Values of @radius or @width and @length attributes will be interpolated linearly between two <vertexLocal> points.

vertex_local_elements
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_local.vertex_local_elements

Description

<vertexLocal> elements shall not use @radius together with @width and @length attributes in one <polyline> element.

vertex_road
element_min_amount
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_road.element_min_amount

Description

There shall be at least two <vertexRoad> elements inside a <polyline> element.

no_radius_with_width_length
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_road.no_radius_with_width_length

Description

<vertexRoad> elements shall not use @radius together with @width and @length attributes in one <polyline> element.

polyline_elements
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_road.polyline_elements

Description

There shall be no <vertexLocal> element next to a <vertexRoad> element inside the same <polyline> element.

E.5.14.13 surface

calculate_road_height
UID

asam.net:xodr:1.7.0:road.object.surface.calculate_road_height

Description

If crgEvaluv2z returns NaN, then the road height at that position shall be the ASAM OpenDRIVE height in addition to the road surface CRG, if it is present. The value of @hideRoadSurfaceCRG attribute shall have no influence.The value of @hideRoadSurfaceCRG attribute shall have no influence.

crg_hidden_on_object_overlap
UID

asam.net:xodr:1.7.0:road.object.surface.crg_hidden_on_object_overlap

Description

If a road surface CRG is present, that is, the CRG area overlaps the bounding box of the object and has any mode other than attached, then @hideRoadSurfaceCRG shall be false. True shall not be allowed.

identical_local_coordinates
UID

asam.net:xodr:1.7.0:road.object.surface.identical_local_coordinates

Description

The local coordinate system of the CRG shall be identical to the local coordinate system of the object to which it belongs. The reference line, inertial position, curvature, and heading of the CRG file shall be ignored.

no_bounding_box_overlap
UID

asam.net:xodr:1.7.0:road.object.surface.no_bounding_box_overlap

Description

The bounding boxes of objects with <surface> elements shall not overlap.

object_reference_on_overlap
UID

asam.net:xodr:1.7.0:road.object.surface.object_reference_on_overlap

Description

An object with a <surface> element shall be referenced on all roads it overlaps, using <object> and <objectReference> elements.

only_for_angular_boxes
UID

asam.net:xodr:1.7.0:road.object.surface.only_for_angular_boxes

Description

Only objects with angular bounding boxes may contain <surface> elements. Circular objects or objects with <outlines> elements shall not contain <surface> elements.

only_one_crg_file
UID

asam.net:xodr:1.7.0:road.object.surface.only_one_crg_file

Description

An object shall not reference more than one CRG file.

repeat_discretely_not_continously
UID

asam.net:xodr:1.7.0:road.object.surface.repeat_discretely_not_continously

Description

Objects with <surface> elements may repeat discretely, but not continuously. See [top-fc693ed2-a38b-4cfc-a346-90c8a478bfd0].

E.5.14.14 tunnels

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.tunnels.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

type_definition
UID

asam.net:xodr:1.7.0:road.object.tunnels.type_definition

Description

The @type of the tunnel shall be specified.

E.5.14.15 validity

check_parent_orientation
UID

asam.net:xodr:1.7.0:road.object.validty.check_parent_orientation

Description

The range given by all <validity> elements shall be a subset of the parent’s @orientation attribute:

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.validty.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

right_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.object.validty.right_hand_traffic_lane_ids

Description

For right-hand traffic, @orientation="+" implies that the <validity> element shall only span negative lane ids, while @orientation="-" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

left_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.object.validty.left_hand_traffic_lane_ids

Description

For left-hand-traffic, @orientation="-" implies that the <validity> element shall only span negative lane ids, while @orientation="+" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

E.5.15 railroad

E.5.15.1 one_rail_per_road

UID

asam.net:xodr:1.7.0:road.railroad.one_rail_per_road

Description

There shall only be one tram or one rail lane per road.

E.5.15.2 platforms

min_amount
UID

asam.net:xodr:1.7.0:road.railroad.platforms.min_amount

Description

There shall be at least one platform per station.

min_segments
UID

asam.net:xodr:1.7.0:road.railroad.platforms.min_segments

Description

A platform shall contain at least one segment.

E.5.15.3 rail_lane_width_validity

UID

asam.net:xodr:1.7.0:road.railroad.rail_lane_width_validity

Description

The width of the lane shall be at least the width rail-bound vehicles.

E.5.15.4 rail_refline_centered

UID

asam.net:xodr:1.7.0:road.railroad.rail_refline_centered

Description

The road reference line shall be in the center of the pair of railroad tracks.

E.5.15.5 segment

segmenta_per_platform_min_amount
UID

asam.net:xodr:1.7.0:road.railroad.segment.segmenta_per_platform_min_amount

Description

There shall be at least one segment per platform.

E.5.15.6 stations

one_platform_per_station
UID

asam.net:xodr:1.7.0:road.railroad.stations.one_platform_per_station

Description

A <station> element shall be followed by at least one <platform> element.

E.5.15.7 switch

check_switch_conn
UID

asam.net:xodr:1.7.0:road.railroad.switch.check_switch_conn

Description

Main tracks shall not be used to connect two switches.

single_switch_no_partner
UID

asam.net:xodr:1.7.0:road.railroad.switch.single_switch_no_partner

Description

Single switches do not have partner switches.

E.5.16 shape

E.5.16.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.shape.elem_asc_order

Description

<shape> elements shall be defined in ascending order, firstly according to the s-coordinate and secondly according to the t-coordinate.

E.5.16.2 create_new_type_in_parent

UID

asam.net:xodr:1.4.0:road.type.t_definition_coverage

Description

At all s-positions the t-definition has to cover the maximum road width of the entire road.

E.5.17 signal

E.5.17.1 boards

multi_board_have_sub_boards
UID

asam.net:xodr:1.8.0:road.signal.boards.multi_board_have_sub_boards

Description

A multi board shall have at least one static signal board and at least one variable message board.

multi_board_use_correct_type
UID

asam.net:xodr:1.8.0:road.signal.boards.multi_board_use_correct_type

Description

Multi boards shall be specified to be @type="multiBoard".

multi_board_use_dynamic_true
UID

asam.net:xodr:1.8.0:road.signal.boards.multi_board_use_dynamic_true

Description

Multi boards shall be specified to be @dynamic="true".

static_board_use_correct_type
UID

asam.net:xodr:1.8.0:road.signal.boards.static_board_use_correct_type

Description

Static signal boards shall be specified to be @type="staticBoard".

E.5.17.2 controller

valid_for_signals
UID

asam.net:xodr:1.7.0:road.signal.controller.valid_for_signals

Description

Controllers shall be valid for one or more signals.

E.5.17.3 dependency

multiple_dependency
UID

asam.net:xodr:1.7.0:road.signal.dependency.multiple_dependency

Description

A signal may have multiple dependencies.

E.5.17.4 priority

UID

asam.net:xodr:1.7.0:road.signal.priority

Description

If present, signals shall be used in priority to other traffic rules.

E.5.17.5 reference

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.signal.reference.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

left_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.signal.reference.left_hand_traffic_lane_ids

Description

For left-hand-traffic, @orientation="-" implies that the <validity> element shall only span negative lane ids, while @orientation="+" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

right_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.signal.reference.right_hand_traffic_lane_ids

Description

For right-hand traffic, @orientation="+" implies that the <validity> element shall only span negative lane ids, while @orientation="-" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used

specify_direction
UID

asam.net:xodr:1.7.0:road.signal.reference.specify_direction

Description

The direction on the road for which the referenced signal is valid shall be specified for every <signalReference> element using the @orientation attribute.

used_for_signals_only
UID

asam.net:xodr:1.7.0:road.signal.reference.used_for_signals_only

Description

Signal reference shall be used for signals only.

signal_type
UID

asam.net:xodr:1.7.0:road.signal.signal_type

Description

Signals shall have a specific type and subtype.

use_country_code
UID

asam.net:xodr:1.7.0:road.signal.use_country_code

Description

A country code shall be added to refer to country-specific rules using the @country attribute.

E.5.17.6 Validity

right_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.signal.validty.right_hand_traffic_lane_ids

Description

For right-hand traffic, @orientation="+" implies that the <validity> element shall only span negative lane ids, while @orientation="-" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.signal.validty.left_hand_traffic_lane_ids

Description

For left-hand-traffic, @orientation="-" implies that the <validity> element shall only span negative lane ids, while @orientation="+" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

E.5.18 superelevation

E.5.18.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.superelevation.elem_asc_order

Description

<superelevation> elements shall be defined in ascending order according to the s-coordinate.

E.5.19 type

E.5.19.1 create_new_type_in_parent

UID

asam.net:xodr:1.4.0:road.type.create_new_type_in_parent

Description

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

E.5.19.2 elem_asc_order

UID

asam.net:xodr:1.4.0:road.type.elem_asc_order

Description

<type> elements shall be defined in ascending order according to the s-coordinate.

E.5.19.3 lane_type_may_differ_from_parent

UID

asam.net:xodr:1.4.0:road.type.lane_type_may_differ_from_parent

Description

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.

E.5.19.4 only_alpha_2_country_codes

UID

asam.net:xodr:1.7.0:road.type.only_alpha_2_country_codes

Description

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