13.1 Introduction to objects
Objects are items that influence a road by expanding, delimiting, or supplementing its course.
They are not mandatory to guide driver and traffic models, unlike signals.
However, signals may be linked to objects when the object directly relates to that signal.
An example would be the stop line (object) for a traffic light (signal).
For more on signal references, see Section 14.4, "Signal reference".
The most common examples are parking spaces, crosswalks, and traffic barriers.
Specific road markings for the control and regulation of road traffic are instead represented as signals.
For more on signals, see Section 14.1, "Introduction to signals".
Every object is defined by a unique object id, the position of its origin point (in road reference line system coordinates), and a bounding volume. The bounding volume of an object defines the object’s dimensions using simple geometric shapes. In ASAM OpenDRIVE, this can either be a right rectangular prism (a box) or a cylinder. In either case, no point of an object should be outside of that volume. Conversely, each surface of the bounding volume should intersect with at least one point of the object.
Objects can be marked as "temporary". Examples are temporary speed limit signs or traffic beacons for road works. See also Figure 60 in Section 11.2, "Lane layers".
Figure 111 shows the bounding volume of an angular object using width, length, and height (bounding box) and the bounding volume of an circular object using radius and height (bounding cylinder).
Complex objects may be further described using <outline> or <skeleton> elements.
If an <outline> or <skeleton> element is defined, it supersedes the bounding volume.
However, every point of an <outline> or <skeleton> element of an object must be contained in its bounding volume.
Objects in ASAM OpenDRIVE do not change their position or orientation (heading, pitch, roll).
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.
Figure 112 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.
Figure 113 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 are not mandatory to guide driver and traffic models, unlike signals.
There are two ways to describe the bounding volume of objects.
-
For an angular object: definition of the width, length and height.
-
For a circular object: definition of the radius and height.
| Name | Type | Use | Unit | Introduced | Description |
|---|---|---|---|---|---|
|
optional |
Indicates whether the object is dynamic or static, default value is “no” (static). Dynamic object cannot change its position. |
|||
|
double |
optional |
rad |
Heading angle of the object relative to road direction |
|
|
optional |
m |
Height of the object’s bounding box. |
||
|
string |
required |
Unique ID within database |
||
|
boolean |
optional |
1.9.0 |
Indicates whether the object is currently invalidated. Example: crossed out traffic sign. |
|
|
optional |
m |
Length of the object’s bounding box, alternative to @radius. |
||
|
string |
optional |
Name of the object. May be chosen freely. |
||
|
optional |
"+" = valid in positive s-direction |
|||
|
optional |
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. |
||
|
double |
optional |
rad |
Pitch angle relative to the x/y-plane |
|
|
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 |
||
|
double |
optional |
rad |
Roll angle relative to the x/y-plane |
|
|
required |
m |
s-coordinate of object’s origin |
||
|
string |
optional |
Variant of a type |
||
|
double |
required |
m |
t-coordinate of object’s origin |
|
|
boolean |
optional |
1.9.0 |
Indicates whether the object is temporary or permanent. Example: temporary speed limit sign in road works situation. |
|
|
optional |
Type of object. For a parking space, the |
|||
|
optional |
m |
Validity of object along s-axis (0.0 for point object) |
||
|
double |
optional |
m |
Width of the object’s bounding box, alternative to @radius. |
|
|
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:
-
asam.net:xodr:1.7.0:road.object.type_attr: 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 or its heading, pitch, or roll.
-
Objects derived from ASAM OpenSCENARIO shall not be mixed with objects described in ASAM OpenDRIVE.
-
asam.net:xodr:1.7.0:road.object.orientation: The direction for which objects are valid shall be specified.
-
asam.net:xodr:1.7.0:road.object.s_t_coords: The origin position of the object shall be described with s- and t-coordinates along the road surface.
-
asam.net:xodr:1.7.0:road.object.circular_vs_angular: Objects may be of circular or angular shape. The possibilities are mutually exclusive. The shape is defined by the used attributes.
-
An object’s placement may either be temporary or permanent, as indicated by @temporary.
-
Omitting @temporary shall default to @temporary="false".
-
Traffic actors should ignore objects with @invalidated="true".
-
Omitting @invalidated shall default to @invalidated="false".
Related topics