14.8 Signal semantics
Signals are uniquely defined by the @country, @year, @type, and @subtype attributes. These attributes specify the visualization of the signals because the visualization is different for each country. However, the behavior of the traffic participant is often identical independent of the country, for example, for a stop sign. A simulation engine requires rules specified for all signs for all countries.
14.8.1 Possible semantics
The introduction of signal semantics reduces the effort to specify the rules for all signs for all countries. For signal semantics, the focus is on the behavior of traffic. Functionality for signal semantics cannot be used for visualization. This means, the signal semantics and its visual representation need not be identical. As an example, a street sign may depict a car on white background within a red circle but apply to all motorized vehicles, not just cars.
As traffic behavior is very complex and also depending on other ASAM OpenDRIVE definitions, for example, the lane width, junctions, and road marking, signal semantics are reduced to a very limited scope.
The scope of signal semantics in ASAM OpenDRIVE is limited to traffic behavior that is specified just by signals in ASAM OpenDRIVE.
Each traffic behavior is specified by a specific element, for example, by the <priority> element that specifies priority regulations.
| Traffic behavior | Description | Example | Link to attribute | Usage in/for <defaultRegulations> in <header> |
Usage in/for <signal> or <sign> |
|---|---|---|---|---|---|
<lane> |
Specifies lane regulations. |
Sign that defines cars are not allowed to overtake. |
not recommended |
recommended |
|
<parking> |
Specifies parking regulations. |
Sign that defines that parking is forbidden. |
no attributes |
not allowed |
recommended |
<priority> |
Specifies priority regulations. |
Stop sign |
recommend for default junction priority |
recommended |
|
<prohibited> |
Specifies that certain types of traffic participants are not allowed to enter. Traffic participants are defined in Section 14.8.2, “Traffic participants”. |
No pedestrians sign |
no attributes |
recommend for default junction priority |
recommended |
<routing> |
Specifies routing information. |
London |
no attributes |
not allowed |
recommended |
<speed> |
Specifies speed regulations. |
Speed limit sign |
recommended |
recommended |
|
<streetname> |
Specifies the name of a street. |
High street |
no attributes |
not allowed |
recommended |
<tourist> |
Specifies tourist information. |
Science museum |
no attributes |
not allowed |
recommended |
<warning> |
Specifies warnings for a type of traffic participant. |
Deer might cross the road |
no attributes |
not allowed |
recommended |
<supplementaryAllows> |
This signal semantic has no meaning on its own. It specifies the type of the traffic participant an exception is made for. Traffic participants are defined in Section 14.8.2, “Traffic participants”. |
Except bicycles sign |
no attributes |
not allowed |
recommended |
<supplementaryDistance> |
This signal semantic has no meaning on its own. It specifies the distance after a sign becomes valid or the range in which the sign is valid. |
200m sign |
not allowed |
recommended |
|
<supplementaryEnvironment> |
This signal semantic has no meaning on its own. It specifies under which environmental conditions a sign is valid. |
Rain sign |
not allowed |
recommended |
|
<supplementaryExplanatory> |
This signal semantic has no meaning on its own. It specifies explanations for a sign. |
Emission reduction |
no attributes |
not allowed |
recommended |
<supplementaryProhibits> |
This signal semantic has no meaning on its own. It specifies the type of the traffic participant a restriction is made for. Traffic participants are defined in Section 14.8.2, “Traffic participants”. |
Truck Symbol |
no attributes |
not allowed |
recommended |
<supplementaryTime> |
This signal semantic has no meaning on its own. It specifies the time or date a sign is valid. |
9:00 - 18:00 |
not allowed |
recommended |
Elements in UML model
<semantics> element
UML class: t_signals_semantics XML tag: <semantics> (Multiplicity: 0..1) Introduced: 1.8.0
Semantics are limited to traffic behavior that is specified just by signals in ASAM OpenDRIVE. Each traffic behavior is specified by a specific element.
Figure 140 shows the UML class diagram of the ASAM OpenDRIVE Semantics class.
<lane> element
UML class: t_signals_semantics_lane XML tag: <lane> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies lane regulations.
| Name | Type | Use | Introduced |
|---|---|---|---|
|
required |
1.8.0 |
<parking> element
UML class: t_signals_semantics_parking XML tag: <parking> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies parking regulations.
<priority> element
UML class: t_signals_semantics_priority XML tag: <priority> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies priority regulations.
| Name | Type | Use | Introduced |
|---|---|---|---|
|
required |
1.8.0 |
<prohibited> element
UML class: t_signals_semantics_prohibited XML tag: <prohibited> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies that certain types of traffic participants are not allowed to enter. See Section 14.8.2, “Traffic participants” for details.
<routing> element
UML class: t_signals_semantics_routing XML tag: <routing> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies routing information.
<speed> element
UML class: t_signals_semantics_speed XML tag: <speed> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies speed regulations.
| Name | Type | Use | Introduced |
|---|---|---|---|
|
required |
1.8.0 |
|
|
required |
||
|
double |
required |
<streetname> element
UML class: t_signals_semantics_streetname XML tag: <streetname> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies the name of a street.
<tourist> element
UML class: t_signals_semantics_tourist XML tag: <tourist> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies tourist information.
<warning> element
UML class: t_signals_semantics_warning XML tag: <warning> (Multiplicity: 0..*) Introduced: 1.8.0
Specifies warnings for traffic participant.
<supplementaryAllows> element
UML class: t_signals_semantics_supplementaryAllows XML tag: <supplementaryAllows> (Multiplicity: 0..*) Introduced: 1.8.0
This signal semantic has no meaning on its own. It specifies the type of the traffic participant an exception is made for. See Section 14.8.2, “Traffic participants” for details.
<supplementaryDistance> element
UML class: t_signals_semantics_supplementaryDistance XML tag: <supplementaryDistance> (Multiplicity: 0..*) Introduced: 1.8.0
This signal semantic has no meaning on its own. It specifies the distance after a sign becomes valid or the range in which the sign is valid.
| Name | Type | Use | Introduced |
|---|---|---|---|
|
required |
1.8.0 |
|
|
required |
1.8.0 |
|
|
double |
required |
1.8.0 |
<supplementaryEnvironment> element
UML class: t_signals_semantics_supplementaryEnvironment XML tag: <supplementaryEnvironment> (Multiplicity: 0..*) Introduced: 1.8.0
This signal semantic has no meaning on its own. It specifies under which environmental conditions a sign is valid.
| Name | Type | Use | Introduced |
|---|---|---|---|
|
required |
1.8.0 |
<supplementaryExplanatory> element
UML class: t_signals_semantics_supplementaryExplanatory XML tag: <supplementaryExplanatory> (Multiplicity: 0..*) Introduced: 1.8.0
This signal semantic has no meaning on its own. It specifies explanations for a sign.
<supplementaryProhibits> element
UML class: t_signals_semantics_supplementaryProhibits XML tag: <supplementaryProhibits> (Multiplicity: 0..*) Introduced: 1.8.0
This signal semantic has no meaning on its own. It specifies the type of the traffic participant a restriction is made for. See Section 14.8.2, “Traffic participants” for details.
<supplementaryTime> element
UML class: t_signals_semantics_supplementaryTime XML tag: <supplementaryTime> (Multiplicity: 0..*) Introduced: 1.8.0
This signal semantic has no meaning on its own. It specifies the time or date a sign is valid.
| Name | Type | Use | Introduced |
|---|---|---|---|
|
required |
1.8.0 |
|
|
double |
required |
1.8.0 |
XML example
<signal s="4.0"
t="1.0"
id="1"
name="SpeedLimit60"
dynamic="no"
orientation="+"
zOffset="2.00"
country="DE"
countryRevision="2013"
type="274"
subtype="56"
value="60"
unit="km/h"
hOffset="0"
pitch="0"
roll="0"
height="0.76"
width="0.76">
<semantics>
<speed type="maximum" value="60" unit="km/h"/>
</semantics>
</signal>
Rules
-
Each
<signal>element may have one or more semantic elements.
-
asam.net:xodr:1.9.0:road.signal.semantics.no_semantics_without_category: Signal semantics shall not be specified for signs if no category for the desired traffic behavior exists.
Related topics
14.8.2 Traffic participants
Signals semantics using <prohibited>, <supplementaryAllows>, or <supplementaryProhibits> can specify traffic participants.
These define particular types of traffic participants the signal either explicitly applies to (using <prohibited> or <supplementaryProhibits>) or which are exempt from it (using <supplementaryAllows>).
A traffic participant is either a <vehicle>, <person>, or <animal> element.
A sign may apply to more than one traffic participant.
| The enum literals have been harmonized between ASAM OpenX standards. The latest details about the harmonization can be found in the ASAM TrafficParticipants Specification. |
| Traffic participant | Description | Example | Link to attribute | Usage in/for <defaultRegulations> in <header> |
Usage in/for <signal> or <sign> |
|---|---|---|---|---|---|
<vehicle> |
Specifies a vehicular traffic participant.
Vehicles are machines for transportation of humans, animals, or goods.
They include motorized vehicles such as 'car', but also non-motorized vehicles like 'bicycle' or a wheelchair.
To specify custom groups of vehicular traffic participants, use |
No motorcycles |
not allowed |
recommended |
|
<person> |
Specifies a human traffic participant. In OpenDRIVE 1.9.0, this is restricted to pedestrians. |
A pedestrian crossing the road. |
not allowed |
recommended |
|
<animal> |
Specifies an animal traffic participant. In OpenDRIVE 1.9.0, the type of animal cannot be specified. |
Migratory toad crossing |
no attributes |
not allowed |
recommended |
<vehicle> element
UML class: t_signals_semantics_vehicle XML tag: <vehicle> (Multiplicity: 0..*) Introduced: 1.9.0
Specifies a vehicular traffic participant.
| Name | Type | Use |
|---|---|---|
|
required |
<person> element
UML class: t_signals_semantics_person XML tag: <person> (Multiplicity: 0..*) Introduced: 1.9.0
Specifies a human traffic participant.
| Name | Type | Use |
|---|---|---|
|
required |
<animal> element
UML class: t_signals_semantics_animal XML tag: <animal> (Multiplicity: 0..*) Introduced: 1.9.0
Specifies an animal traffic participant.
Rules
-
The enum literal "other" shall only be used if no other option fits.
Related topics