Annex C: Terms for dynamic signals (normative)

Signal controller

A signal controller applies a signal cycle (see signal cycle) to a signal or a signal group (see signal group).

Signal cycle

A signal cycle is an ordered list of phases (see signal phase) for one dynamic signal.

A signal cycle starts with the first phase, which is active for the specified duration and switches then to the next phase. The signal cycle is looped, so when the end of the last phase is reached, it continues with the start of the first phase again. The duration of a cycle is the sum of the durations of its phases.

As the signal cycle is part of the dynamic content this should be specified in ASAM OpenSCENARIO. The cycle is set in TrafficSignalController.

Signal group

Each dynamic signal needs to be in exactly one signal group.

Dynamic signals with exactly the same signal cycle (see signal cycle) can, but are not required to be grouped into a signal group. Two signal cycles are considered the same if they have the same phases (see signal phase) in the same order and therefore also have the same duration. This means a signal group can, but is not required to have more than one element. This allows a signal cycle to be specified only once for the whole signal group. For most use cases this grouping will be done within one intersection.

As the grouping is part of the static content the signal group should be specified in ASAM OpenDRIVE. The grouping of signals into a signal group is set in <controller>.

Signal phase

A phase of a dynamic signal is the semantic state (see signal state) in combination with a (possibly infinite) duration, which specifies how long this semantic state is active. This term is not to be confused with the English civil engineering term stage or the German term phase.

As the signal phase is part of the dynamic content this should be specified in ASAM OpenSCENARIO. The phase is set in Phase.

Possible phases could be: go for 5 seconds, caution for infinite seconds, stop for 20 seconds etc.

Signal state

A state of a dynamic signal is the combination of the semantic and the observable state of a signal.

The semantic state of a signal refers to the rules imposed on traffic obeying the signal at a given point in time. For example, a signal may be in a semantic stop state meaning that obeying traffic must not pass a certain stop line associated with the signal, or it may be in a semantic caution state meaning that obeying traffic may pass the signal but must yield to other traffic and pedestrians as it does so.

The observable state is the physically observable aspects of the state of the signal such as the light bulb state for a traffic light, sound being produced, or messages being broadcast over a vehicle-to-infrastructure communication network. The observable state of a dynamic signal is usually determined by its semantic state, but can be changed independently of it as well. For example, in British Columbia the semantic state go can either result in a flashing green light bulb if the traffic light is pedestrian controlled or otherwise in a solid green light bulb or to model broken or old traffic light bulbs showing different colors than expected like instead of red for semantic state stop it shows orange.

The set of possible observable states for a given signal must be inferred from the type and subtype of the signal. Possible observable states may include but are not limited to on, off, flashing for single-bulb traffic lights and red, amber, green for typical traffic lights having three light bulbs

As the signal state is part of the dynamic content, it should be specified in ASAM OpenSCENARIO. The semantic state is set together with its duration in Phase and the observable state either in TrafficSignalState or in TrafficSignalGroupState.

Signal synchronization group

Multiple signal groups (see signal group) which should be kept synchronized and whose signal cycles (see signal cycle) have the same finite duration can, but are not required to be mapped to a synchronization group. This mapping can be used to indicate that whenever the phase of one signal group is set, by an ASAM OpenSCENARIO TrafficSignalControllerAction or otherwise, the other signal groups in that synchronization group should be set to the corresponding position in their signal cycles.

As the grouping is part of the static content this should be specified in ASAM OpenDRIVE. Currently there is the t_junction_controller in ASAM OpenDRIVE to set the grouping of signal groups.