11.1 Introduction to lanes

In ASAM OpenDRIVE, lanes are an essential part of all roads. Lanes are attached to the road reference line of the road and are defined from inside to outside. A minimum road definition requires a center lane and an additional lane with a defined width. The number of lanes per road is not limited.

The center lane has no width and serves as reference for lane numbering. The center lane itself has the lane id 0. The numbering of the other lanes starts at the center lane: Lane numbers descend to the right, meaning a negative t-direction, and ascend to the left, meaning a positive t-direction.

img
Figure 57. Center lane for road with lanes of different driving directions

Figure 57 shows the center lane for a road with multiple traffic lanes and different driving directions. In this case, the center lane separates the driving directions, depending on left- and right-hand traffic, specified in Road type. Because no lane offset is used, the center lane is identical to the road reference line.

img
Figure 58. Center lane for road with lanes of identical driving direction

Figure 58 shows the center lane for a road with lanes that have the same driving direction, meaning a one-way road.

Elements in UML model

<lanes> element

In ASAM OpenDRIVE, lanes are represented by the <lanes> element within the <road> element.

UML class: t_road_lanes
XML tag:   <lanes> (Multiplicity: 1)

Lanes are an essential part of all roads. Lanes are attached to the road reference line and are defined from inside to outside.

Lanes contain a series of lane section elements that define the characteristics of the road cross sections with respect to the lanes along the road reference line.

img
Figure 59. UML class diagram of the Lanes class

Figure 59 shows the UML class diagram of the ASAM OpenDRIVE Lanes class.

XML example

<lanes>
    <laneSection s="0.0">
        <left>
            <lane id="2" type="border" level="false">
                <link>
                </link>
                <width sOffset="0.0" a="1.0" b="0.0" c="0.0" d="0.0"/>
            </lane>
            <lane id="1" type="driving" level="false">
                <link>
                </link>
                <width sOffset="0.0" a="4.0" b="0.0" c="0.0" d="0.0"/>
            </lane>
        </left>
        <center>
            <lane id="0">
                ...
            </lane>
        </center>
        <right>
            <lane id="-1" type="driving" level="false">
                <link>
                </link>
                <width sOffset="0.0" a="4.0" b="0.0" c="0.0" d="0.0"/>
            </lane>
            <lane id="-2" type="border" level="false">
                <link>
                </link>
                <width sOffset="0.0" a="1.0" b="0.0" c="0.0" d="0.0"/>
            </lane>
        </right>
    </laneSection>
</lanes>

Rules

The following rules apply to the use of lanes:

  • Each road shall have a center lane.

  • Roads may have as many lanes as needed.

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

  • The center lane shall have the lane id 0.

  • 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.

  • Lane numbering shall be consecutive without any gaps.

  • Lane numbering shall be unique per lane section.

  • There may be bidirectional lanes. This is specified using the @direction attribute of the <lane> element.

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

  • All <laneSection> elements shall contain the @s attribute. The first lane section shall be defined with a value of 0.0 for the @s attribute.

In older ASAM OpenDRIVE versions a road required at least one lane with a width greater zero. As roads can now be used for junction boundaries and do not need an extra lane, this rule has been removed.

Related topics