Closed sknick-iastate closed 2 years ago
As a manufacturer of TrafficSignal I agree with the proposal and I would suggest Option #2 above due to the various elements related to such piece of equipment.
I'm proposing some change to the Mode
above:
On the same wave. AFAD Automated Flagger Assisted Device are a sort of subset of this. They are reporting location of flagging operation. They cannot be actuated but could report the others elements (off, standby or startup, error). So this object may be used for such devices as well.. or creating one for such equiment
@sknick-iastate I agree with Option 2, creating a new type of field device: a TrafficSignal (or TemporaryTrafficSignal, to be discussed). We would also remove the temporary-traffic-signal
value from the MarkedLocationType enumerated type.
The TrafficSignal object describes a temporary traffic signal deployed on a roadway.
Name | Type | Description | Conformance | Notes |
---|---|---|---|---|
core_details |
FieldDeviceCoreDetails | The core details of the traffic signal device. | Required | This property occurs on all field devices |
mode |
TrafficSignalMode (see below) | The current operating mode of the traffic signal. | Required |
Optional allows representing a traffic signal when the mode is not known, which is consistent with what the current implementation (traffic signal as a MarkedLocation) allows.
To be discussed See below
Do we want to put AFADs and portable signals in the same group?
Hello. I'm the author of the related Iowa standard protocols for portable traffic signals and arrow boards, I've been asked to provide input on this.
I believe that Skylar's option 2 is the best choice. It keeps the traffic signal devices in their own definition/domain without blurring the MarkedLocations Object by adding optional elements that only relate to one type of device.
@sergebeaudry has some good points about keeping an eye on maintaining compatibility with TS5 standards.
I will note that the "powered on, but not displaying" is a status, not a description of a startup event. So it should not be modified to blend with the TS5 "startup flash" status.
Regarding @rdsheckler question on AFAD.
We already have the value flagger
in MarkedLocationType
with the description A human who is directing traffic_
An AFAD is an extension of a flagger. A human is still directing the traffic. An AFAD can't be automated as per MUTCD.
The current way could work for a human with a traditional Flip stick, a GPs enabled stick or an AFAD.
Do we have others elements pertinent of having a separate objects?. Aside reporting error I do not see.. An even error, if this occurs the Flagger will have to put a B-plan in place.. Traffic will not stop.
After discussing further with a smaller group, the consensus was that Option 2 for a new device object would be preferred. The only attribute beyond the core_details
recommended at this point was the mode
. Below is a list of the recommended modes (descriptions may need further details).
Right now the plan would be to make this a required field but would appreciate further discussion.
There were also additional discussions about Fault and whether that information should be in the mode but it was deemed this info should be located in the status_messages
in the core_details
The list for TrafficSignalMode looks good to me; I've drafted enumerated type documentation based on it below (I used pre-timed
and manual
as this was the wording in the NEMA TS 5 standard document).
As for required or optional, it has been a consideration for past specification design choices that instead of adding "unknown" as an option that the property is optional. That is, in this case, if the mode is not known, then the property is not provided. If "Unknown" is an option or that is more explicit, I agree with the property being required. I would just advocate for being consistent across the spec with using optional properties vs an enumerated type value to represent unknown. Edit: FieldDeviceStatus includes unknown
, so I think we are fine to have TrafficSignalMode include it as well.
The TrafficSignalMode enumerated type describes the current operating mode of a TrafficSignal (see definition above).
Value | Description |
---|---|
blank |
The signal is not displaying anything. |
flashing-red |
The signal is in a flashing red state that could be part of startup or fault. |
flashing-yellow |
The signal is in a flashing yellow state that could be part of startup or fault. |
fully-actuated |
The signal is using an external trigger for all movements. |
manual |
The signal is using a manual trigger. |
pre-timed |
The signal is using a timed cycle. |
semi-actuated |
The signal is using an external trigger only for the minor movements. |
unknown |
The current operating mode is not known. |
Property | Object |
---|---|
mode |
TrafficSignal (see above) |
Another decision to make: the name of the traffic signal object:
I don't have the ideal knowledge set to make this choice so am curious what others think.
For what it's worth, the current enumerated type value in WZDx v4.0 for representing a traffic signal using the LocationMarker MarkedLocationType is named temporary-traffic-signal
.
The simpler name TrafficSignal
was chosen during SWZ Subgroup meeting discussion on 2022-04-25. The description will clarify it is for a temporary traffic signal deployed on a roadway.
Implemented in #313.
Issue name: “Expand connected temporary traffic signals in SwzDevice”
Summary
Currently the SwzDevice feed allows for temporary traffic signals under the field device type of location marker. The location marker device type is currently designed to only describe the location marker type/location but doesn't allow any additional attributes associated with the device. In Iowa, there is a desire for an additional attribute on the
mode
of the connected temporary traffic signals that we would like to incorporate into the SwzDevice feed. Providing the mode allows for a better understanding of the impacts the signal has on traffic as well as ensuring the device is operating as desired.Proposed changes
Iowa was working on creating a protocol for connected temporary traffic signal and originally put together the following enumerations for the
mode
:I feel there are multiple options for adding a
mode
for the temporary traffic signals but looking for feedback from others on the best implementation that aligns with the SwzDevice feed. Below is a list of some potential optionsmode
in the MarkedLocations Object that is optional and only used when theMarkedLocationType
istemporary-traffic-signal
. The problem with this approach is that the mode is not relevant to most of the marked locations.core_details
andmode
. I would propose making this a required field as well. This approach would allow additional attributes to be added specific to traffic signals if needed in the future.