Annex F: 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 |
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. |
F.2 header
F.2.1 offset
F.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.
F.3 ids
F.4 junctions
F.4.1 no_overlap
- UID
-
asam.net:xodr:1.4.0:junctions.no_overlap
- Description
-
No junctions of any type shall overlap each other.
F.4.2 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.
F.4.3 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.
F.4.4 boundary
F.4.4.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.
F.4.4.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.
F.4.4.3 segments_close_boundry
- UID
-
asam.net:xodr:1.8.0:junctions.boundary.segments_close_boundry
- Description
-
Segments shall close the entire junction boundary.
F.4.5 common
F.4.5.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.
F.4.5.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.
F.4.5.3 not_only_two
- UID
-
asam.net:xodr:1.9.0:junctions.common.not_only_two
- Description
-
Junctions should not be used when only two roads meet.
F.4.6 connection
F.4.6.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.
F.4.6.2 end_opposite_linkage
- UID
-
asam.net:xodr:1.7.0:junctions.connection.end_opposite_linkage
- Description
-
The value
endshall be used to indicate that the connecting road runs along the opposite direction of the linkage indicated in the<laneLink>element
F.4.6.3 lane_change_one_con_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.
F.4.6.4 connect_road_no_incoming_road
- UID
-
asam.net:xodr:1.9.0:junctions.connection.no_connecting_road_direct
- Description
-
The @connectingRoad attribute shall not be used for junctions with @type="direct".
F.4.6.5 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.
F.4.6.6 one_link_to_incoming
- UID
-
asam.net:xodr:1.8.0:junctions.connection.one_link_to_incoming
- Description
-
There shall only be one
<connection>for a specific combination of @incomingRoad and @connectingRoad. For each<connection>, its<laneLink>elements shall only be specified for the lanes that lead into the junction.
F.4.6.7 connect_road_no_incoming_road
- UID
-
asam.net:xodr:1.9.0:junctions.connection.smooth_fit
- Description
-
The linked lanes shall fit smoothly as described for roads (see Section 10.3, "Road linkage").
F.4.7 crossing
F.4.7.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 havehighpriority.
F.4.8 cross_path
F.4.8.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.
F.4.8.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.
F.4.8.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.
F.4.8.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".
F.4.9 direct
F.4.9.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".
F.4.9.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".
F.4.9.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.
F.4.9.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 Section 10.3, "Road linkage").
F.4.9.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.
F.4.9.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.
F.4.9.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.
F.4.10 elevation_grid
F.4.10.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.
F.4.10.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.
F.4.10.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.
F.4.11 geometry
F.4.11.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.
F.4.12 priority
F.4.13 virtual
F.4.13.1 connecting_roads_start_end
- UID
-
asam.net:xodr:1.9.0:junctions.virtual.connecting_roads_start_end
- Description
-
All connecting roads within the virtual junction shall either start or end at @sStart or at @sEnd.
F.4.13.2 heading_equal_mainroad
- UID
-
asam.net:xodr:1.9.0:junctions.virtual.heading_equal_mainroad
- Description
-
The heading of the connecting roads and the @mainRoad shall be equal at @sStart and at @sEnd.
F.4.13.3 linked_lanes_smooth_fit
- UID
-
asam.net:xodr:1.9.0:junctions.virtual.linked_lanes_smooth_fit
- Description
-
The linked lanes shall fit smoothly (see Section 10.3, "Road linkage").
F.4.13.4 main_road_only
- UID
-
asam.net:xodr:1.9.0:junctions.virtual.main_road_only
- Description
-
Virtual junctions shall be used for branches off the main road only. The main road has priority if not specified otherwise.
F.4.13.5 no_controllers
- UID
-
asam.net:xodr:1.9.0:junctions.virtual.no_controllers
- Description
-
Virtual junctions shall not have controllers and therefore no traffic lights.
F.4.13.6 only_one_start_end
- UID
-
asam.net:xodr:1.9.0:junctions.virtual.only_one_start_end
- Description
-
There shall only be one @sStart and one @sEnd attribute for the virtual junction.
F.6 road
F.6.1 length_sum_geometries
- UID
-
asam.net:xodr:1.9.0:road.length_sum_geometries
- Description
-
The road length should be the sum of the lengths of all
<geometry>elements
F.6.2 no_overlap_outside_junction
- UID
-
asam.net:xodr:1.4.0:road.no_overlap_outside_junction
- Description
-
Roads outside a junction shall not overlap.
F.6.3 no_overlap_self
- UID
-
asam.net:xodr:1.4.0:road.no_overlap_self
- Description
-
A road shall not overlap with itself.
F.6.4 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.
F.6.5 corner_local
F.6.5.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.
F.6.5.2 first_id_zero
- UID
-
asam.net:xodr:1.9.0:road.corner_local.first_id_zero
- Description
-
The @id attribute of the first
<cornerLocal>element of an object should be 0.
F.6.5.3 mandatory_id_with_markings
- UID
-
asam.net:xodr:1.9.0:road.corner_local.mandatory_id_with_markings
- Description
-
The @id attribute of a
<cornerLocal>element shall be mandatory when the parent also has a<markings>element.
F.6.6 corner_road
F.6.6.1 corner_road_local_exclusivity
- UID
-
asam.net:xodr:1.9.0:road.corner_road.corner_road_local_exclusivity
- Description
-
There shall be no mixture of
<cornerRoad>,<cornerLocal>, and<curveLocal>elements inside the same<outline>element.
F.6.6.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.
F.6.6.3 first_id_zero
- UID
-
asam.net:xodr:1.9.0:road.corner_road.first_id_zero
- Description
-
The @id attribute of the first
<cornerRoad>element of an object should be 0.
F.6.7 crg
F.6.7.1 attach_vs_friction
- UID
-
asam.net:xodr:1.7.0:road.crg.attach_vs_friction
- Description
-
@mode=attachedshall not be used together with@purpose=friction.
F.6.7.2 friction_no_z_offset_scale
- UID
-
asam.net:xodr:1.7.0:road.crg.friction_no_z_offset_scale
- Description
-
@zOffsetand@zScaleshall not be set for friction values.
F.6.7.3 h_offset_only_genuine
- UID
-
asam.net:xodr:1.9.0:road.crg.h_offset_only_genuine_global
- Description
-
@hOffset shall not be used for modes other than @mode=genuine and @mode=global.
F.6.7.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.
F.6.7.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.
F.6.7.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.
F.6.7.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.
F.6.7.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).
F.6.8 cross_section_surface
F.6.8.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.
F.6.8.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.
F.6.8.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.
F.6.8.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.
F.6.9 curve_local
F.6.9.1 continuous_curve_local
- UID
-
asam.net:xodr:1.9.0:road.curve_local.continuous_curve_local
- Description
-
Outlines defined by
<curveLocal>elements shall be continuous.
F.6.9.2 element_min_amount
- UID
-
asam.net:xodr:1.9.0:road.curve_local.element_min_amount
- Description
-
There shall be at least one
<curveLocal>element inside an<outline>element.
F.6.9.3 length_match
- UID
-
asam.net:xodr:1.9.0:road.curve_local.length_match
- Description
-
The actual curve length, as determined by numerical integration over the parameter range, should match @length.
F.6.10 elevation
F.6.11 geometry
F.6.11.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.
F.6.11.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.
F.6.11.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.
F.6.11.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.
F.6.11.5 refline_exists
- UID
-
asam.net:xodr:1.4.0:road.geometry.refline_exists
- Description
-
Each road shall have a road reference line.
F.6.11.6 refline_no_gaps
- UID
-
asam.net:xodr:1.4.0:road.geometry.refline_no_gaps
- Description
-
A road reference line shall have no gaps.
F.6.11.7 refline_no_kinks
- UID
-
asam.net:xodr:1.4.0:road.geometry.refline_no_kinks
- Description
-
A road reference line should have no kinks.
F.6.11.8 s-value_sum
- UID
-
asam.net:xodr:1.9.0:road.geometry.s-value_sum
- Description
-
The s-value of each
<geometry>shall be the sum of all<geometry>lengths prior
F.6.11.10 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.
F.6.12 lane
F.6.12.1 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.
F.6.12.2 center_lane
- UID
-
asam.net:xodr:1.9.0:road.lane.center_lane
- Description
-
Each road shall have at least one lane layer with a center lane.
F.6.12.3 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.
F.6.12.4 center_lane_no_width
- 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.
F.6.12.5 center_lane
- UID
-
asam.net:xodr:1.9.0:road.lane.center_lane_singular
- Description
-
There shall always be exactly one center lane at each s-position.
F.6.12.6 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.
F.6.12.7 lane_id_unique
- UID
-
asam.net:xodr:1.9.0:road.lane.lane_id_unique
- Description
-
Lane numbering shall be unique per lane section and layer.
F.6.12.8 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.
F.6.12.9 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.
F.6.12.10 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.
F.6.12.11 lane_listing
- UID
-
asam.net:xodr:1.4.0:road.lane.lane_reverse_left_right
- Description
-
@direction="reverse" shall not be used to change from right-hand traffic to left-hand traffic and vice versa.
F.6.12.12 lane_listing
- UID
-
asam.net:xodr:1.9.0:road.lane.lane_section_drivable
- Description
-
In order to be drivable, each lane section should contain at least one
<right>or<left>element that is valid for the whole length of that section.
F.6.12.13 lane_sect_min_amount
- UID
-
asam.net:xodr:1.9.0:road.lane.lane_sect_first
- Description
-
The first lane section shall be defined with a value of 0.0 for the @s attribute.
F.6.12.14 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.
F.6.12.15 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.
F.6.12.16 s_attr_value
- UID
-
asam.net:xodr:1.4.0:road.lane.s_attr_value
- Description
-
All
<laneSection>elements shall contain the @s attribute.
F.6.12.17 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.
F.6.12.18 border
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>.
F.6.12.19 height
F.6.12.21 layer
center_lane_permanent
- UID
-
asam.net:xodr:1.9.0:road.lane.layer.center_lane_permanent
- Description
-
Each lane section in the permanent layer shall have a center lane.
lane_group_width_temporary
- UID
-
asam.net:xodr:1.9.0:road.lane.layer.lane_group_width_temporary
- Description
-
For each lane group, the sum of all lane widths and lane offsets on the temporary lane layer shall not be greater than the sum of lane widths and lane offsets on the permanent lane layer.
lane_phys_attr_temporary
- UID
-
asam.net:xodr:1.9.0:road.lane.layer.lane_phys_attr_temporary
- Description
-
Lanes in the "temporary" layer shall not contain
<height>or<material>elements. The height and material is instead determined by the permanent layer.
layer_limits
- UID
-
asam.net:xodr:1.9.0:road.lane.layer.layer_limits
- Description
-
Each road shall have exactly one "permanent" and up to one "temporary" lane layer.
F.6.12.22 link
lanes_across_laneSections
- 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.
multiple_connections
- 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.
new_lane_appear
- 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.
no_link
- 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.
temporary_layer_section_link_permanent
- UID
-
asam.net:xodr:1.9.0:road.lane.link.temporary_layer_section_link_permanent
- Description
-
At the start and at the end of a temporary lane layer section, all drivable lanes with non-zero width on the temporary lane layer shall be linked to lanes on the permanent lane layer.
use_junctions
- 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.
F.6.12.23 material
F.6.12.24 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.
F.6.12.26 speed
F.6.12.27 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.
F.6.13 lanes
F.6.14 lane_section
F.6.14.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.
F.6.14.2 lanesec_length_limit_road
- UID
-
asam.net:xodr:1.9.0:road.lane_section.lanesec_length_limit_road
- Description
-
A lane section with @length shall not extend beyond the end of the road.
F.6.14.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.
F.6.14.4 lane_sect_req
- UID
-
asam.net:xodr:1.9.0:road.lane_section.lane_long_zero_width
- Description
-
Using lanes with a width of 0 for long distances should be avoided.
F.6.14.5 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.
F.6.15 linkage
F.6.15.1 both_sides_consistency
- UID
-
asam.net:xodr:1.9.0:road.linkage.both_sides_consistency
- Description
-
<predecessor>and/or<successor>shall be defined at both sides of the road linkage and shall be consistent.
F.6.15.2 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.
F.6.15.3 junc_link_attribute_usage
- 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.
F.6.16 object
F.6.16.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.
F.6.16.2 orientation
- UID
-
asam.net:xodr:1.7.0:road.object.orientation
- Description
-
The direction for which objects are valid shall be specified.
F.6.16.3 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.
F.6.16.4 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.
F.6.16.5 borders
F.6.16.6 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.
F.6.16.7 marking
colour
- UID
-
asam.net:xodr:1.7.0:road.object.marking.colour
- Description
-
The color of the marking shall be defined.
complete_or_partial_on_outline
- UID
-
asam.net:xodr:1.9.0:road.object.marking.complete_or_partial_on_outline
- Description
-
The marking of an object with an
<outlines>element shall either completely or partially be defined on one of its outlines.
markings_with_outline
- UID
-
asam.net:xodr:1.9.0:road.object.marking.markings_with_outline
- Description
-
If an outline is used, any
<markings>element shall be inside an<outline>element.
markings_without_outline
- UID
-
asam.net:xodr:1.9.0:road.object.marking.markings_without_outline
- Description
-
If no outline is used, the
<markings>element shall be inside the<object>element.
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.
F.6.16.9 object_marking
colour
- UID
-
asam.net:xodr:1.9.0:road.object.object_marking.colour
- Description
-
The color of the marking shall be defined.
enclosed_outline_marking
- UID
-
asam.net:xodr:1.9.0:road.object.object_marking.enclosed_outline_marking
- Description
-
To specify a marking that fully encloses an object on a closed outline, the
<marking>shall have two<cornerReference>elements with the same @id.
include_points_between_cornerReferences
- UID
-
asam.net:xodr:1.9.0:road.object.object_marking.include_points_between_cornerReferences
- Description
-
For
<marking>elements with<cornerReference>elements that are not directly subsequent on the outline, all points in between shall be included as well.
keep_id_ordered
- UID
-
asam.net:xodr:1.9.0:road.object.object_marking.keep_id_ordered
- Description
-
<cornerReference>elements shall use the same order of @id attributes as the points of the outline they belong to.
outline_corner_reference_count
- UID
-
asam.net:xodr:1.9.0:road.object.object_marking.outline_corner_reference_count
- Description
-
If an outline is used, at least two
<cornerRoad>elements or at least two<cornerLocal>elements or at least one<curveLocal>element shall be referenced via<cornerReference>elements.
F.6.16.10 outline
exactly_one_outer
- UID
-
asam.net:xodr:1.9.0:road.object.outline.exactly_one_outer
- Description
-
<outlines>elements shall have exactly one<outline>element with @outer=true.
inner_outline_touches_outer
- UID
-
asam.net:xodr:1.9.0:road.object.outline.inner_outline_touches_outer
- Description
-
If an inner outline touches the outer outline, the reference point shall be identical in both outlines.
F.6.16.12 repeating
attributes_with_outline_skeleton
- UID
-
asam.net:xodr:1.9.0:road.object.repeating.attributes_with_outline_skeleton
- Description
-
@lengthStart, @lengthEnd, @widthStart, @widthEnd, @heightStart, and @heightEnd shall not be applicable for objects with an
<outlines>, an<outline>, or a<skeleton>element.
no_widthstart_end_with_radius
- UID
-
asam.net:xodr:1.9.0:road.object.repeating.no_widthstart_end_with_radius
- Description
-
@widthStart and @widthEnd shall not be applicable for objects where @radius is set.
F.6.16.13 skeleton
points_boundary_inside_box
- UID
-
asam.net:xodr:1.9.0:road.object.skeleton.points_boundary_inside_box
- Description
-
The boundary, defined by either width and height or radius, of each point of an object’s skeleton shall at least partially be located inside the bounding volume.
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 volume.
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.
linear_interpolation
- UID
-
asam.net:xodr:1.8.0:road.object.skeleton.vertex_local.linear_interpolation
- Description
-
Values of @radius or @width and @length attributes will be interpolated linearly between two
<vertexLocal>points.
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.
linear_interpolation
- UID
-
asam.net:xodr:1.9.0:road.object.skeleton.vertex_road.linear_interpolation
- Description
-
Values of @radius or @width and @length attributes shall be interpolated linearly between two
<vertexRoad>points.
F.6.16.14 surface
avoid_skewed_crg_surfacees
- UID
-
asam.net:xodr:1.9.0:road.object.surface.avoid_skewed_crg_surfacees
- Description
-
To avoid skewed CRG surfaces, the @perpToRoad attribute should only be used for objects that are smaller than the local radius of the curvature of the road elevation.
calculate_road_height
- UID
-
asam.net:xodr:1.7.0:road.object.surface.calculate_road_height
- Description
-
If
crgEvaluv2zreturns 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 volume of the object and has any mode other than attached, then @hideRoadSurfaceCRG shall be false.
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 volumes 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 volumes 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 Section 13.4, "Repeating objects".
F.6.16.15 tunnels
F.6.16.16 validty
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.
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.
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.
F.6.17 railroad
F.6.17.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.
F.6.17.2 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.
F.6.17.3 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.
F.6.17.4 platforms
F.6.18 shape
F.6.19 signal
F.6.19.1 priority
- UID
-
asam.net:xodr:1.7.0:road.signal.priority
- Description
-
If present, signals shall be used in priority to other traffic rules.
F.6.19.2 signal_type
- UID
-
asam.net:xodr:1.7.0:road.signal.signal_type
- Description
-
Signals shall have a specific type and subtype.
F.6.19.3 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.
F.6.19.4 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".
F.6.19.7 gantry
F.6.19.8 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
F.6.19.10 validity
left_hand_traffic_lane_ids
- UID
-
asam.net:xodr:1.7.0:road.signal.validity.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.validity.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.
F.6.21 type
F.6.21.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.
F.6.21.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.