14.7 Signal boards
Signals are not always separate signs on a single sheet of metal. Several signs can be coupled on one board. They can be of the following types:
-
static board of @type="staticBoard"
-
variable message board of @type="vmsBoard"
-
multi board with static and dynamic parts of @type="multiBoard"
14.7.1 Static boards
Elements in UML model
<staticBoard>
element
UML class: t_road_signals_staticBoard XML tag: <staticBoard> (Multiplicity: 0..*) Introduced: 1.8.0
A <signal>
element that contains a <staticBoard>
element.
The signs that are displayed on a static board are defined as separate <sign>
elements.
<sign>
element
UML class: t_road_signals_board_sign XML tag: <sign> (Multiplicity: 0..*) Introduced: 1.8.0
A <sign>
element on a static board defined in the local coordinate system of the <signal>
element.
A <sign>
element may have all attributes and child elements of a signal.
Name | Type | Use | Unit | Introduced | Description |
---|---|---|---|---|---|
|
string |
optional |
Defines the year of the applied traffic rules |
||
|
optional |
Country code of the road, see ISO 3166-1, alpha-2 codes. |
|||
|
required |
Indicates whether the signal is dynamic or static. Example: traffic light is dynamic |
|||
|
double |
optional |
rad |
Heading offset of the signal (relative to @orientation, if orientation is equal to “+” or “-“) |
|
|
optional |
m |
Height of the signal, measured from bottom edge of the signal. |
||
|
string |
required |
Unique ID of the signal within the OpenDRIVE file |
||
|
optional |
m |
1.8.0 |
Length of the signal’s bounding box. |
|
|
string |
optional |
Name of the signal. May be chosen freely. |
||
|
required |
"+" = valid in positive s- direction |
|||
|
double |
optional |
rad |
Pitch angle of the signal, relative to the inertial system (xy-plane) |
|
|
double |
optional |
rad |
Roll angle of the signal after applying pitch, relative to the inertial system (x’’y’’-plane) |
|
|
string |
required |
Subtype identifier according to country code or "-1" / "none" |
||
|
string |
optional |
Additional text associated with the signal, for example, text on city limit "City\nBadAibling" |
||
|
string |
required |
Type identifier according to country code |
||
|
optional |
Unit of @value |
|||
|
double |
required |
m |
1.8.0 |
Local v-coordinate of the sign on the board |
|
double |
optional |
Value of the signal, if value is given, unit is mandatory |
||
|
optional |
m |
Width of the signal’s bounding box. |
||
|
double |
required |
m |
1.8.0 |
Local z-coordinate of the sign on the board |
XML example
<signal s="4.0"
t="1.0"
id="534"
name="board"
dynamic="no"
orientation="+"
zOffset="5.00"
country="OpenDRIVE"
type="staticBoard"
subtype="-1"
hOffset="0"
pitch="0"
roll="0"
height="2.0"
width="1.5">
<validity from="-2" to="-2"/>
<staticBoard>
<sign id="535" Country="DE" type="274" subtype="60" countryRevision="2017" v="-0.5" z="1.5" width="0.5" height="0.5" value="60" unit="km/h">
<validity from="-2" to="-2"/>
<signalDependency id ="536"/>
<signalDependency id ="537"/>
</sign>
<sign id="536" Country="DE" type="1010" subtype="51" countryRevision="2017" v="-0.75" z="0.9" width="0.420" height="0.231"/>
<sign id="537" Country="DE" type="1040" subtype="30" countryRevision="2017" v="-0.75" z="0.6" width="0.420" height="0.231" value="22000600"/>
<sign id="538" Country="DE" type="1012" subtype="36" countryRevision="2017" v="-0.75" z="0.3" width="0.420" height="0.231"/>
<sign id="539" Country="DE" type="274" subtype="80" countryRevision="2017" v="0.75" z="1.5" width="0.420" height="0.231" value="100" unit="km/h">
<signalDependency id ="540" />
</sign>
<sign id="540" Country="DE" type="1040" subtype="30" countryRevision="2017" v="-0.75" z="0.6" width="0.420" height="0.231" value="22000600"/>
<sign id="541" Country="DE" type="1012" subtype="36" countryRevision="2017" v="-0.75" z="0.3" width="0.420" height="0.231"/>
</staticBoard>
</signal>

Rules
-
asam.net:xodr:1.8.0:road.signal.boards.static_board_use_correct_type: Static signal boards shall be specified to be @type="staticBoard".
-
Static signal boards shall be specified to be @dynamic="false".
-
The
<validity>
element of a<sign>
element shall override the<validity>
element of the parent<signal>
element. -
The
<signalDependency>
element of a<sign>
element shall override the<signalDependency>
element of the parent<signal>
element. -
Static boards shall not be used for single signals, for example, a stop sign on a single sheet of metal.
Related topics
14.7.2 Variable message boards (VMS)
Elements in UML model
<vmsBoard>
element
UML class: t_road_signals_vmsBoard XML tag: <vmsBoard> (Multiplicity: 0..*) Introduced: 1.8.0
Variable message boards can change their values during the simulation in ASAM OpenSCENARIO.
Variable message boards are switched off if they are not specified in ASAM OpenSCENARIO.
Name | Type | Use | Unit | Introduced | Description |
---|---|---|---|---|---|
|
double |
optional |
m |
1.8.0 |
Height of the display |
|
required |
1.8.0 |
Functional type of the display |
||
|
double |
optional |
m |
1.8.0 |
Width of the display |
|
double |
required |
m |
1.8.0 |
Local v-coordinate of the board |
|
double |
required |
m |
1.8.0 |
Local z-coordinate of the board |
<displayArea>
element
UML class: t_road_signals_displayArea XML tag: <displayArea> (Multiplicity: 0..*) Introduced: 1.8.0
A display area is the recommended position of the signal to be visualized in the simulation.
A display area is specified in the <displayArea>
element.
A <displayArea>
element is defined in the local coordinate system of the <signal>
element.
The @index attribute can be used in ASAM OpenSCENARIO to reference the display area.
In ASAM OpenSCENARIO a different local display area position may be specified.
Name | Type | Use | Unit | Introduced | Description |
---|---|---|---|---|---|
|
required |
m |
1.8.0 |
Height of the |
|
|
int |
required |
1.8.0 |
Index of the |
|
|
double |
required |
m |
1.8.0 |
Local v-coordinate of the |
|
required |
m |
1.8.0 |
Width of the |
|
|
double |
required |
m |
1.8.0 |
Local z-coordinate of the |
XML example
<signal s="4.0"
t="1.0"
id="534"
name="board"
dynamic="yes"
orientation="+"
zOffset="5.00"
country="OpenDRIVE"
type="vmsBoard"
subtype="-1"
hOffset="0"
pitch="0"
roll="0"
height="1.5"
width="1.5">
<vmsBoard displayHeight="1.5" displayWidth="1.5" material="colorGraphics">
<displayArea index="1" v="7" z="3" width="1.4" height="1.4">
<validity from="-2" to="-2" />
</displayArea>
<displayArea index="2" v="5.5" z="3" width="1.4" height="1.4">
<validity from="-2" to="-3" />
</displayArea>
<displayArea index="3" v="5.5" z="0.5" width="1.4" height="0.4" >
<validity from="-3" to="-3" />
</displayArea>
</vmsBoard>
</signal>
Rules
-
Variable message boards shall be specified to be @type="vmsBoard".
-
Variable message boards shall be specified to be @dynamic="true".
-
The
<validity>
element of a<displayArea>
element shall override the<validity>
element of the parent<signal>
element. -
The
<signalDependency>
of a<displayArea>
element shall override the<signalDependency>
element of the parent<signal>
element.
Related topics
14.7.3 Multi boards
A multi board is a board that consists of static boards and variable message boards.
The size of the parent <signal>
element covers all static and variable message boards.
XML example
<signal s="4.0"
t="1.0"
id="534"
name="board"
dynamic="yes"
orientation="+"
zOffset="5.00"
country="OpenDRIVE"
type="multiBoard"
subtype="-1"
hOffset="0"
pitch="0"
roll="0"
height="3.0"
width="7.5">
<vmsBoard displayHeight="2.5" displayWidth="7.0" material="colorGraphics" v="0" z="0.5">
<displayArea index="1" v="7" z="3" width="1.4" height="1.4">
<validity from="-2" to="-2" />
</displayArea>
<displayArea index="2" v="5.5" z="3" width="1.5" height="1.5">
<validity from="-2" to="-3" />
</displayArea>
<displayArea index="3" v="5.5" z="0.5" width="1.5" height="0.5">
<validity from="-3" to="-3" />
</displayArea>
</vmsBoard>
<staticBoard>
<sign id="535" country="DE" type="386" subtype="32" countryRevision="2017" v="-7" z="0.2" width="0.5" height="0.2">
<validity from="-2" to="-2" />
</sign>
<sign id="535" country="DE" type="405" subtype="-1" countryRevision="2017" v="-5" z="0.2" width="0.5" height="0.2" text="66">
<validity from="-2" to="-3" />
</sign>
<sign id="535" country="DE" type="386" subtype="32" countryRevision="2017" v="-3.5" z="0.2" width="0.5" height="0.2">
<validity from="-3" to="-3" />
</sign>
</staticBoard>
</signal>
Rules
-
asam.net:xodr:1.8.0:road.signal.boards.multi_board_have_sub_boards: A multi board shall have at least one static signal board and at least one variable message board.
-
asam.net:xodr:1.8.0:road.signal.boards.multi_board_use_correct_type: Multi boards shall be specified to be @type="multiBoard".
-
asam.net:xodr:1.8.0:road.signal.boards.multi_board_use_dynamic_true: Multi boards shall be specified to be @dynamic="true".
Related topics
14.7.4 Gantry
Elements in UML model
<vmsGroup>
element
UML class: t_signalGroup_vmsGroup XML tag: <vmsGroup> (Multiplicity: 0..*) Introduced: 1.8.0
On a gantry there can be one large variable message board or several smaller variable message boards. ASAM OpenSCENARIO requires to treat a gantry that has one large variable message board or several smaller variable message boards the same way. Therefore variable message boards that are on the same gantry shall be grouped and their indexes shall be redefined if not unique.
Name | Type | Use | Introduced | Description |
---|---|---|---|---|
|
string |
required |
1.8.0 |
Unique id of the |

Figure 135 shows the UML class diagram of the ASAM OpenDRIVE SignalGroup class.
<vmsBoardReference>
element
UML class: t_signalGroup_vmsBoardReference XML tag: <vmsBoardReference> (Multiplicity: 1..*) Introduced: 1.8.0
Variable message board references list all variable message boards that belong to the same gantry.
Name | Type | Use | Introduced | Description |
---|---|---|---|---|
|
int |
required |
1.8.0 |
groupIndex the index of the grouped boards shall be unique within the |
|
string |
required |
1.8.0 |
Id of the signal that has a |
|
int |
required |
1.8.0 |
vmsIndex, the index of the |
XML example
<vmsGroup id="27" >
<vmsBoardReference signalId="501" vmsIndex="1" groupIndex="1" />
<vmsBoardReference signalId="502" vmsIndex="1" groupIndex="2" />
<vmsBoardReference signalId="503" vmsIndex="1" groupIndex="3" />
</vmsGroup>
Rules
-
Each gantry shall have one
<vmsGroup>
element with at least one<vmsBoardReference>
element. -
All variable message boards within a
<vmsGroup>
element shall belong to the same gantry.
Related topics