Skip to content

Test Signal State Conflict Events

Ivan Yourshaw edited this page Jan 31, 2025 · 9 revisions

Tests for CmSignalStateConflictEvents

Note: Signal State Conflict Events can be configured to enable aggregation using the map.spat.message.assessment.aggregateSignalStateConflictEvents configuration setting, or the ENABLE_AGGREGATE_SIGNAL_STATE_CONFLICT_EVENTS environment variable. If aggregation is enabled, events will be delayed by up to the configured aggregation.interval, which is 60 seconds by default.

1. Protected Conflict

Inputs

  • A SPAT with protected conflict sent every 100 ms.
    • ProtectedMovementAllowed [2,6]
    • StopAndRemain [4]
  • A MAP at the same intersection sent every 1000 ms.

Test Script

Script-SignalStateConflict-Protected.csv

Output Topics

If aggregation is enabled, events are output to:

  • topic.CmSignalStateConflictEventAggregation

If aggregation is disabled, events are output to:

  • topic.CmSignalStateConflictEvents

Without Aggregation

Expected Output

Several State Conflict Events

Actual Output

Several events like

Topic: topic.CmSignalStateConflictEvents
Key: {"rsuId":"10.11.81.12","intersectionId":12109,"region":-1}
Offset: 310
Timestamp: 1711512500907
Value: 
{
	"eventGeneratedAt":1711512501016,
	"eventType":"SignalStateConflict",
	"intersectionID":12109,
	"roadRegulatorID":-1,
	"timestamp":1711512500892,
	"conflictType":"PROTECTED_MOVEMENT_ALLOWED",
	"firstConflictingSignalGroup":2,
	"firstConflictingSignalState":"PROTECTED_MOVEMENT_ALLOWED",
	"secondConflictingSignalGroup":6,
	"secondConflictingSignalState":"PROTECTED_MOVEMENT_ALLOWED",
	"source":"{\"rsuId\":\"10.11.81.12\",\"intersectionId\":12109,\"region\":-1}"
}

Comments

With Aggregation

2. Permissive Conflict

Inputs

  • MAP
  • A SPAT with conflicting permissive movements.
    • PermissiveMovementAllowed [2,4,6]

Test Script

Script-SignalStateConflict-Permissive.csv

Expected Output

Signal State Conflict Events for each SPAT sent

Actual Output

No Events

Comments

Negative result

Clone this wiki locally