13.1 Introduction to objects

Objects are items that influence a road by expanding, delimiting, or supplementing its course. The most common examples are parking spaces, crosswalks, and traffic barriers.

img
Figure 108. Circular and angular object

Figure 108 shows the bounding box of an angular object using width, length, and height and the bounding box of an circular object using radius and height.

Complex objects may be further described using <outline> elements. If an <outline> element is defined, it supersedes the bounding box.

Objects in ASAM OpenDRIVE do not change their position.

They may be declared dynamic or static:

  • Dynamic objects are static but have one or more movable parts. Examples are fans in tunnels or windmills.

  • Stationary objects are completely static without any movable parts. Examples are buildings or trees.

Objects are defined per <road> element.

img
Figure 109. Placing objects on roads

Figure 109 shows an object that is not properly placed on a road. Objects that are placed on roads using the <elevationProfile> element or the <lateralProfile> element should be so small that these objects do not cut or float above the road surface significantly, nor cause skewed ASAM OpenCRG surfaces.

Elements in UML model

<objects> element

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

UML class: t_road_objects
XML tag:   <objects> (Multiplicity: 0..1)

Container for all objects along a road.

img
Figure 110. UML class diagram of the Objects class

Figure 110 shows the UML class diagram of the ASAM OpenDRIVE Objects class.

<object> element

In ASAM OpenDRIVE, a single object is represented by the <object> element within the <objects> element.

UML class: t_road_objects_object
XML tag:   <object> (Multiplicity: 0..*)

Objects influence a road by expanding, delimiting, or supplementing its course. Objects are elements that form the environment, for example, buildings, guard rails, poles, and trees. Objects do not influence the behavior of traffic directly, unlike signals.

There are two ways to describe the bounding box of objects.

  • For an angular object: definition of the width, length and height.

  • For a circular object: definition of the radius and height.

Table 86. Attributes of the <object> element
Name Type Use Unit Introduced Description

dynamic

t_yesNo

optional

Indicates whether the object is dynamic or static, default value is “no” (static). Dynamic object cannot change its position.

hdg

double

optional

rad

Heading angle of the object relative to road direction

height

t_grEqZero

optional

m

Height of the object’s bounding box.
@height is defined in the local coordinate system u/v along the z-axis

id

string

required

Unique ID within database

length

t_grZero

optional

m

Length of the object’s bounding box, alternative to @radius.
@length is defined in the local coordinate system u/v along the u-axis

name

string

optional

Name of the object. May be chosen freely.

orientation

e_orientation

optional

"+" = valid in positive s-direction
"-" = valid in negative s-direction
"none" = valid in both directions
(does not affect the heading)

perpToRoad

t_bool

required

1.7.0

Alternative to @pitch and @roll. If true, the object is vertically perpendicular to the road surface at all points and @pitch and @roll are ignored. Default is false.

pitch

double

optional

rad

Pitch angle relative to the x/y-plane

radius

t_grZero

optional

m

radius of the circular object’s bounding box, alternative to @length and @width. @radius is defined in the local coordinate system u/v

roll

double

optional

rad

Roll angle relative to the x/y-plane

s

t_grEqZero

required

m

s-coordinate of object’s origin

subtype

string

optional

Variant of a type

t

double

required

m

t-coordinate of object’s origin

type

e_objectType

optional

Type of object. For a parking space, the <parkingSpace> element may be used additionally.

validLength

t_grEqZero

optional

m

Validity of object along s-axis (0.0 for point object)

width

double

optional

m

Width of the object’s bounding box, alternative to @radius.
@width is defined in the local coordinate system u/v along the v-axis

zOffset

double

required

m

z-offset of object’s origin relative to the elevation of the road reference line

For the different object types refer to Combinations of elements and attributes for object types.

XML example

<objects>
    <object type="building"
            name="ExampleBuilding"
            id="1"
            s="80.0"
            t="17.0"
            zOffset="0.0"
            orientation="none"
            length="12.15"
            width="22.415"
            height="11.84"
            hdg="1.44"
            pitch="0.0"
            roll="0.00">
    </object>
</objects>

Rules

The following rules apply to objects:

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

  • An object may either be dynamic or static, but an object cannot change its position.

  • Objects derived from ASAM OpenSCENARIO shall not be mixed with objects described in ASAM OpenDRIVE.

  • The direction for which objects are valid shall be specified.

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

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

Related topics