Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
* Note one or more of the movement events may be for
* a future time and that this allows conveying multiple
* predictive phase and movement timing for various uses
* for the current signal group
*
* @field `maneuverAssistList`: This information may also be placed in the @ref IntersectionState
* when common information applies to different lanes in the same way
*
* @note; Remarks: Note that the value given for the time to change will vary in many actuated signalized intersections based on
* the sensor data received during the phase. The data transmitted always reflects the then most current timemark value
* (which is the point in UTC time when the change will occur). As an example, in a phase which may vary from 15 to 25
* seconds of duration based on observed traffic flows, a time to change value of 15 seconds in the future might be
* transmitted for many consecutive seconds (and the time mark value extended for as much as 10 seconds depending on
* the extension time logic used by the controller before it either times out or gaps out), followed by a final time mark value
* reflecting the decreasing values as the time runs out, presuming the value was not again extended to a new time mark
* due to other detection events. The time to change element can therefore generally be regarded as a guaranteed minimum
* value of the time that will elapse unless a preemption event occurs.
* In use, the @ref SignalGroupID element is matched to lanes that are members of that ID. The type of lane (vehicle, crosswalk,
* etc.) is known by the lane description as well as its allowed maneuvers and any vehicle class restrictions. Every lane type
* is treated the same way (cross walks map to suitable meanings, etc.). Lane objects which are not part of the sequence of
* signalized lanes do not appear in any GroupID. The visual details of how a given signal phase is presented to a mobile
* user will vary based on lane type and with regional conventions. Not all signal states will be used in all regional
* deployments. For example, a pre-green visual indication is not generally found in US deployments. Under such operating
* conditions, the unused phase states are simply skipped.
* @category: Infrastructure information
* @revision: V1.3.1
*/
MovementState ::= SEQUENCE {
movementName DescriptiveName OPTIONAL,
signalGroup SignalGroupID,
state-time-speed MovementEventList,
maneuverAssistList ManeuverAssistList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementState}} OPTIONAL,
...
}
/**
* All the node attributes defined in this DF are valid in the direction of
* node declaration and not in driving direction (i.e. along the sequence of the declared nodes). E.g. node
* attributes of an `ingress` or an `egress` lane are defined from the conflict area (first node) to the
* outside of the intersection (last node). Node attributes with ‘left’ and ‘right’ in their name are also
* defined in the direction of the node declaration. This allows using attributes in a unambigious way also
* for lanes with biderctional driving. See the following attribuets examples for additianl explanations.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeAttributeSetXY ::= SEQUENCE {
localNode NodeAttributeXYList OPTIONAL,
disabled SegmentAttributeXYList OPTIONAL,
enabled SegmentAttributeXYList OPTIONAL,
data LaneDataAttributeList OPTIONAL,
dWidth Offset-B10 OPTIONAL,
dElevation Offset-B10 OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
...
}
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
/**
* This DE is an enumerated list of attributes which can pertain to the current node
* point. The 'scope' of these values is limited to the node itself. That is, unlike other types of attributes which can be
* switched on or off at any given node (and hence pertains to one or more segments), the DE_NodeAttribute is local to the
* node in which it is found. These attributes are all binary flags in that they do not need to convey any additional data. Other
* attributes allow sending short data values to reflect a setting which is set and persists in a similar fashion.
*
* - reserved:
* - stopLine: point where a mid-path stop line exists. See also 'do not block' for segments
* - roundedCapStyleA: Used to control final path rounded end shape with edge of curve at final point in a circle
* - roundedCapStyleB: Used to control final path rounded end shape with edge of curve extending 50% of width past final point in a circle
* - mergePoint: Japan merge with 1 or more lanes
* - divergePoint: Japan diverge with 1 or more lanes
* - downstreamStopLine: Japan style downstream intersection (a 2nd intersection) stop line
* - downstreamStartNode: Japan style downstream intersection (a 2nd intersection) start node
* - closedToTraffic: where a pedestrian may NOT go to be used during construction events
* - safeIsland: a pedestrian safe stopping point also called a traffic island
* This usage described a point feature on a path, other entries can describe a path
* - curbPresentAtStepOff: the sidewalk to street curb is NOT angled where it meets the edge of the roadway (user must step up/down)
* - hydrantPresent: Or other services access
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeAttributeXY ::= ENUMERATED {
reserved,
stopLine,
roundedCapStyleA,
roundedCapStyleB,
mergePoint,
divergePoint,
downstreamStopLine,
downstreamStartNode,
closedToTraffic,
safeIsland,
curbPresentAtStepOff,
hydrantPresent,
...
}
/**
* The NodeAttributeXYList data frame consists of a list of @ref NodeAttributeXY entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
/**
* A 64-bit node type with lat-long values expressed in one tenth of a micro degree.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node-LLmD-64b ::= SEQUENCE {
lon Longitude,
lat Latitude
}
/**
* A 20-bit node type with offset values from the last point in X and Y.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node-XY-20b ::= SEQUENCE {
x Offset-B10,
y Offset-B10
}
/**
* A 22-bit node type with offset values from the last point in X and Y.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node-XY-22b ::= SEQUENCE {
x Offset-B11,
y Offset-B11
}
/**
* A 24-bit node type with offset values from the last point in X and Y.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node-XY-24b ::= SEQUENCE {
x Offset-B12,
y Offset-B12
}
/**
* A 26-bit node type with offset values from the last point in X and Y.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node-XY-26b ::= SEQUENCE {
x Offset-B13,
y Offset-B13
}
/**
* A 28-bit node type with offset values from the last point in X and Y.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node-XY-28b ::= SEQUENCE {
x Offset-B14,
y Offset-B14
}
/**
* A 32-bit node type with offset values from the last point in X and Y.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node-XY-32b ::= SEQUENCE {
x Offset-B16,
y Offset-B16
}
/**
* This DF provides the sequence of signed offset node point values for determining the Xs and Ys
* (and possibly Width or Zs when present), using the then current Position3D object to build a path for the centerline of
* the subject lane type. Each X,Y point is referred to as a Node Point. The straight line paths between these points are
* referred to as Segments.
* All nodes may have various optional attributes the state of which can vary along the path and which are enabled and
* disabled by the sequence of objects found in the list of node structures. Refer to the explanatory text in Section 11 for a
* description of how to correctly encode and decode this type of the data element. As a simple example, a motor vehicle
* lane may have a section of the overall lane path marked "do not block", indicating that vehicles should not come to a stop
* and remain in that region. This is encoded in the Node data structures by an element in one node to indicate the start of
* the "do not block" lane attributes at a given offset, and then by a termination element when this attribute is set false. Other
* types of elements in the segment choice allow inserting attributes containing data values affecting the segment or the
* node.
*
* @field nodes: a lane made up of two or more XY node points and any attributes defined in those nodes
* @field computed: a lane path computed by translating the data defined by another lane
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeListXY ::= CHOICE {
nodes NodeSetXY,
computed ComputedLane,
...
}
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
/**
* This DF presents a structure to hold different sized data frames for a single node
* point in a lane. Nodes are described in terms of X and Y offsets in units of 1 centimeter (when zoom is 1:1). Changes in
* elevation and in the lane width can be expressed in a similar way with the optional Attributes data entry which appears
* alongside the NodeOffsetPoint in use.
*
* The choice of which node type is driven by the magnitude (size) of the offset data to be encoded. When the distance from
* the last node point is smaller, the smaller entries can (and should) be chosen
* Each single selected node is computed as an X and Y offset from the prior node point unless one of the entries reflecting
* a complete lat-long representation is selected. In this case, subsequent entries become offsets from that point. This ability
* was added for assistance with the development, storage, and back office exchange of messages where message size is
* not a concern and should not be sent over the air due to its additional message payload size.
*
* The general usage guidance is to construct the content of each lane node point with the smallest possible element to
* conserve message size. However, using an element which is larger than needed is not a violation of the ASN.1 rules.
*
* @field node-XY1: node is within 5.11m of last node
* @field node-XY2: node is within 10.23m of last node
* @field node-XY3: node is within 20.47m of last node
* @field node-XY4: node is within 40.96m of last node
* @field node-XY5: node is within 81.91m of last node
* @field node-XY6: node is within 327.67m of last node
* @field node-LatLon: node is a full 32b Lat/Lon range
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeOffsetPointXY ::= CHOICE {
node-XY1 Node-XY-20b,
node-XY2 Node-XY-22b,
node-XY3 Node-XY-24b,
node-XY4 Node-XY-26b,
node-XY5 Node-XY-28b,
node-XY6 Node-XY-32b,
node-LatLon Node-LLmD-64b,
regional RegionalExtension {{Reg-NodeOffsetPointXY}}
}
/**
* This DF presents a structure to hold data for a single node point in a path. Each selected node
* has an X and Y offset from the prior node point (or a complete lat-long representation in some cases) as well as optional
* attribute information. The node list for a lane (or other object) is made up of a sequence of these to describe the desired
* path. The X,Y points are selected to reflect the centerline of the path with sufficient accuracy for the intended applications.
* Simple lanes can be adequately described with only two node points, while lanes with curvature may require more points.
* Changes to the lane width and elevation can be expressed in the NodeAttributes entry, as well as various attributes that
* pertain to either the current node point or to one of more subsequent segments along the list of lane node points. As a
* broad concept, NodeAttributes are used to describe aspects of the lane that persist for only a portion of the overall lane
* path (either at a node or over a set of segments).
* A further description of the use of the NodeOffsetPoint and the Attributes data concepts can be found in the data
* dictionary entries for each one. Note that each allows regional variants to be supported as well.
*
* @field delta: A choice of which X,Y offset value to use this includes various delta values as well a regional choices.
* @field attributes: Any optional Attributes which are needed. This includes changes to the current lane width and elevation.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeXY ::= SEQUENCE {
delta NodeOffsetPointXY,
attributes NodeAttributeSetXY OPTIONAL,
...
}
/**
* The NodeSetXY data frame consists of a list of Node entries using XY offsets.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
/**
* This DF is a sequence of lane IDs which refers to lane objects that overlap or overlay the current lane's spatial path.
*
* Contains the unique ID numbers for any lane object which have spatial paths that overlay (run on top of, and not
* simply cross with) the current lane.
* Such as a train path that overlays a motor vehicle lane object for a roadway segment.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
/**
* This DF consists of various parameters of quality used to model the accuracy of the
* positional determination with respect to each given axis.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
PositionalAccuracy ::= SEQUENCE {
semiMajor SemiMajorAxisAccuracy,
semiMinor SemiMinorAxisAccuracy,
orientation SemiMajorAxisOrientation
}
/**
* This DF combines multiple related bit fields into a single concept.
*
* @field pos: confidence for both horizontal directions
* @field elevation: confidence for vertical direction
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
/**
* This DF provides a precise location in the WGS-84 coordinate system, from which short
* offsets may be used to create additional data using a flat earth projection centered on this location. Position3D is typically
* used in the description of maps and intersections, as well as signs and traveler data.
*
* @field elevation: The elevation information is defined by the regional extension (see G.5.1.8). Therefore, the `elevation`
* data element of `DF_Position3D` is not used.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Position3D ::= SEQUENCE {
lat Latitude,
long Longitude,
elevation Elevation OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-Position3D}} OPTIONAL,
...
}
/**
* This DF consists of a list of RegionalSignalControlZone entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
/**
* This DF is used to convey a regulatory speed about a lane, lanes, or roadway segment.
*
* @field type: The type of regulatory speed which follows
* @field speed: The speed in units of 0.02 m/s
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RegulatorySpeedLimit ::= SEQUENCE {
type SpeedLimitType,
speed Velocity
}
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
/**
* This DF is used to provide identity information about a selected vehicle or users.
* This data frame is typically used with fleet type vehicles which can (or which must) safely release such information for use
* with probe measurements or with other interactions (such as a signal request).
*
* @field id: The ID used in the CAM of the requestor. This ID is presumed not to change during the exchange.
* @field type: Information regarding all type and class data about the requesting vehicle
* @field position: The location of the requesting vehicle
* @field name: A human readable name for debugging use
* @field routeName: A string for transit operations use
* @field transitStatus: current vehicle state (loading, etc.)
* @field transitOccupancy: current vehicle occupancy
* @field transitSchedule: current vehicle schedule adherence
*
* @note: Note that the requestor description elements which are used when the request (the req) is made differ from
* those used when the status of an active or pending request is reported (the ack). Typically, when reporting the status to
* other parties, less information is required and only the temporaryID (contained in the VehicleID) and request number (a
* unique ID used in the orginal request) are used.
* @category: Infrastructure information
* @revision: V1.3.1
*/
RequestorDescription ::= SEQUENCE {
id VehicleID,
type RequestorType OPTIONAL,
position RequestorPositionVector OPTIONAL,
name DescriptiveName OPTIONAL,
routeName DescriptiveName OPTIONAL,
transitStatus TransitVehicleStatus OPTIONAL,
transitOccupancy TransitVehicleOccupancy OPTIONAL,
transitSchedule DeltaTime OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
...
}
/**
* This DF provides a report of the requestor's position, speed, and heading.
* Used by a vehicle or other type of user to request services and at other times when the larger FullPositionVector is not required.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RequestorPositionVector ::= SEQUENCE {
position Position3D,
heading Angle OPTIONAL,
speed TransmissionAndSpeed OPTIONAL,
...
}
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
/**
* This DF is used when a DSRC-equipped device is requesting service from another
* device. The most common use case is when a vehicle is requesting a signal preemption or priority service call from the
* signal controller in an intersection. This data frame provides the details of the requestor class taxonomy required to
* support the request. Depending on the precise use case and the local implementation, these details can vary
* considerably. As a result, besides the basic role of the vehicle, the other classification systems supported are optional. It
* should also be observed that often only a subset of the information in the RequestorType data frame is used to report the
* "results" of such a request to others. As an example, a police vehicle might request service based on being in a police
* vehicle role (and any further sub-type if required) and on the type of service call to which the vehicle is then responding
* (perhaps a greater degree of emergency than another type of call), placing these information elements in the
* RequestorType, which is then part of the Signal Request Message (SRM). This allows the roadway operator to define
* suitable business rules regarding how to reply. When informing the requestor and other nearby drivers of the outcome,
* using the Signal Status Message (SSM) message, only the fact that the preemption was granted or denied to some
* vehicle with a unique request ID is conveyed.
*
* @field role: Basic role of this user at this time.
* @field subrole: A local list with role based items.
* @field request: A local list with request items
* @field iso3883: Additional classification details
* @field hpmsType: HPMS classification types
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RequestorType ::= SEQUENCE {
role BasicVehicleRole,
subrole RequestSubRole OPTIONAL,
request RequestImportanceLevel OPTIONAL,
iso3883 Iso3833VehicleType OPTIONAL,
hpmsType VehicleType OPTIONAL,
regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
...
}
/**
* This DF is used to assign (or bind) a single RestrictionClassID data
* element to a list of all user classes to which it applies. A collection of these bindings is conveyed in the
* RestrictionClassList data frame in the MAP message to travelers. The established index is then used in the lane object of
* the MAP message, in the ConnectTo data frame, to qualify to whom a signal group ID applies when it is sent by the SPAT
* message about a movement.
*
* @field id: the unique value (within an intersection or local region) that is assigned to this group of users.
* @field users: The list of user types/classes to which this restriction ID applies.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RestrictionClassAssignment ::= SEQUENCE {
id RestrictionClassID,
users RestrictionUserTypeList
}
/**
* This DF is used to enumerate a list of user classes which belong to a given
* assigned index. The resulting collection is treated as a group by the signal controller when it issues movement data
* (signal phase information) with the GroupID for this group. This data frame is typically static for long periods of time
* (months) and conveyed to the user by means of the MAP message.
*
* @note: The overall restriction class assignment process allows dynamic support within the framework of the common
* message set for the various special cases that some signalized intersections must support. While the assigned value
* needs to be unique only within the scope of the intersection that uses it, the resulting assignment lists will tend to be static
* and stable for regional deployment areas such as a metropolitan area based on their operational practices and needs.
* @category: Infrastructure information
* @revision: V1.3.1
*/
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
/**
* This DF is used to provide a means to select one, and only one, user type or class
* from a number of well-known lists. The selected entry is then used in the overall Restriction Class assignment process to
* indicate that a given GroupID (a way of expressing a movement in the SPAT/MAP system) applies to (is restricted to) this
* class of user.
*
* @field basicType: a set of the most commonly used types.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RestrictionUserType ::= CHOICE {
basicType RestrictionAppliesTo,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RestrictionUserType}},
...
}
/**
* This DF consists of a list of @ref RestrictionUserType entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
/**
* This DF consists of a list of GenericLane entries used to describe a segment of roadway.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
/**
* This DF is used to convey theRoadSegmentID which is unique to a given road segment of interest,
* and also the RoadRegulatorID assigned to the region in which it is operating (when required).
*
* @field region: a globally unique regional assignment value typically assigned to a regional DOT authority the value zero shall be used for testing needs.
* @field id: a unique mapping to the road segment in question within the above region of use during its period of assignment and use
* note that unlike intersectionID values, this value can be reused by the region.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RoadSegmentReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL,
id RoadSegmentID
}
/**
* This DF is a complete description of a RoadSegment including its geometry and its
* allowed navigational paths (independent of any additional regulatory restrictions that may apply over time or from user
* classification) and any current disruptions such as a work zone or incident event.
*
* @field name: some descriptive text.
* @field id: a globally unique value for the segment.
* @field revision: .
* @field refPoint: the reference from which subsequent data points are offset until a new point is used.
* @field laneWidth: Reference width used by all subsequent lanes unless a new width is given.
* @field speedLimits: Reference regulatory speed limits used by all subsequent lanes unless a new speed is given.
* @field roadLaneSet: Data describing disruptions in the RoadSegment such as work zones etc will be added here.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RoadSegment ::= SEQUENCE {
name DescriptiveName OPTIONAL,
id RoadSegmentReferenceID,
revision MsgCount,
refPoint Position3D,
laneWidth LaneWidth OPTIONAL,
speedLimits SpeedLimitList OPTIONAL,
roadLaneSet RoadLaneSetList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
...
}
/**
* This DF consists of a list of @ref RoadSegment entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
/**
* This DF is a collection of data values used to convey RTCM information between users. It
* is not required or used when sending RTCM data from a corrections source to end users (from a base station to devices
* deployed in the field which are called rovers).
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RTCMheader ::= SEQUENCE {
status GNSSstatus,
offsetSet AntennaOffsetSet
/**
* This DF consists of a list of @ref RTCMmessage entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RTCMmessageList ::= SEQUENCE (SIZE(1..5)) OF RTCMmessage
/**
* This DF consists of a list of @ref SegmentAttributeXY entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
/**
* This DF is a dummy placeholder to contain a regional SignalControlZone DF.
* It is not used, yet here for backwards compatibility.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalControlZone ::= SEQUENCE {
zone RegionalExtension {{Reg-SignalControlZone}},
...
}
/**
* This DF is used to contain information regarding the entity that requested a given
* signal behavior. In addition to the VehicleID, the data frame also contains a request reference number used to uniquely
* refer to the request and some basic type information about the request maker which may be used by other parties.
*
* @field id: to uniquely identify the requester and the specific request to all parties.
* @field request: to uniquely identify the requester and the specific request to all parties.
* @field sequenceNumber: to uniquely identify the requester and the specific request to all parties.
* @field role: vehicle role
* @field typeData: Used when addition data besides the role is needed, at which point the role entry above is not sent.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalRequesterInfo ::= SEQUENCE {
id VehicleID,
request RequestID,
sequenceNumber MsgCount,
role BasicVehicleRole OPTIONAL,
typeData RequestorType OPTIONAL,
...
}
/**
* This DF is used (as part of a request message) to request either a priority or a preemption service
* from a signalized intersection. It relates the intersection ID as well as the specific request information. Additional
* information includes the approach and egress values or lanes to be used.
*
* @field id: the unique ID of the target intersection
* @field requestID: The unique requestID used by the requestor
* @field requestType: The type of request or cancel for priority or preempt use when a prior request is canceled, only the requestID is needed.
* @field inBoundLane: desired entry approach or lane.
* @field outBoundLane: desired exit approach or lane. the value zero is used to indicate intent to stop within the intersection.
*
* @note: In typical use either an approach or a lane number would be given, this indicates the requested
* path through the intersection to the degree it is known.
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalRequest ::= SEQUENCE {
id IntersectionReferenceID,
requestID RequestID,
requestType PriorityRequestType,
inBoundLane IntersectionAccessPoint,
outBoundLane IntersectionAccessPoint OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
...
}
/**
* This DF consists of a list of @ref SignalRequest entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
/**
* This DF contains both the service request itself (the preemption and priority
* details and the inbound-outbound path details for an intersection) and the time period (start and end time) over which this
* service is sought from one single intersection. One or more of these packages are contained in a list in the Signal
* Request Message (SREM).
*
* @field request: The specific request to the intersection contains IntersectionID, request type, requested action (approach/lane request).
* @field minute: Time period start.
* @field second: Time period start.
* @field duration: The duration value is used to provide a short interval that extends the ETA so that the requesting vehicle can arrive at
* the point of service with uncertainty or with some desired duration of service. This concept can be used to avoid needing
* to frequently update the request. The requester must update the ETA and duration values if the
* period of services extends beyond the duration time. It should be assumed that if the vehicle does not clear the
* intersection when the duration is reached, the request will be cancelled and the intersection will revert to normal operation.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalRequestPackage ::= SEQUENCE {
request SignalRequest,
minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
...
}
/**
* This DF is used to provide the status of a single intersection to others, including any active
* preemption or priority state in effect.
*
* @field sequenceNumber: changed whenever the below contents have change
* @field id: this provides a unique mapping to the intersection map in question which provides complete location
* and approach/movement/lane data as well as zones for priority/preemption.
* @field sigStatus: a list of detailed status containing all priority or preemption state data, both active and pending,
* and who requested it requests which are denied are also listed here for a short period of time.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalStatus ::= SEQUENCE {
sequenceNumber MsgCount,
id IntersectionReferenceID,
sigStatus SignalStatusPackageList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
...
}
/**
* This DF consists of a list of @ref SignalStatus entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
/**
* This DF consists of a list of @ref SignalStatusPackage entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
/**
* The DF_SignalStatusPackage data frame contains all the data needed to describe the preemption or priority state
* of the signal controller with respect to a given request and to uniquely identify the party who requested that state to occur.
* It should be noted that this data frame describes both active and anticipated states of the controller. A requested service
* may not be active when the message is created and issued. A requested service may be rejected. This structure allows
* the description of pending requests that have been granted (accepted rather than rejected) but are not yet active and
* being serviced. It also provides for the description of rejected requests so that the initial message is acknowledged
* (completing a dialog using the broadcast messages).
*
* @field requester: The party that made the initial SREM request.
* @field inboundOn: estimated lane / approach of vehicle.
* @field outboundOn: estimated lane / approach of vehicle.
* @field minute: The Estimated Time of Arrival (ETA) when the service is requested. This data echos the data of the request.
* @field second: seconds part of ETA.
* @field duration: duration part of ETA.
* @field status: Status of request, this may include rejection.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalStatusPackage ::= SEQUENCE {
requester SignalRequesterInfo OPTIONAL,
inboundOn IntersectionAccessPoint,
outboundOn IntersectionAccessPoint OPTIONAL,
minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
status PrioritizationResponseStatus,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
...
}
/**
* This DF is a single data frame combining multiple related bit fields into one concept.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
heading HeadingConfidenceDSRC,
speed SpeedConfidenceDSRC,
throttle ThrottleConfidence
/**
* This DF consists of a list of SpeedLimit entries.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
/**
* This DE relates the type of speed limit to which a given speed refers.
*
* - unknown: Speed limit type not available
* - maxSpeedInSchoolZone: Only sent when the limit is active
* - maxSpeedInSchoolZoneWhenChildrenArePresent: Sent at any time
* - maxSpeedInConstructionZone: Used for work zones, incident zones, etc. where a reduced speed is present
* - vehicleMinSpeed: Regulatory speed limit for general traffic
* - vehicleMaxSpeed: Regulatory speed limit for general traffic
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SpeedLimitType ::= ENUMERATED {
unknown,
maxSpeedInSchoolZone,
maxSpeedInSchoolZoneWhenChildrenArePresent,
maxSpeedInConstructionZone,
vehicleMinSpeed,
vehicleMaxSpeed,
vehicleNightMaxSpeed,
truckMinSpeed,
truckMaxSpeed,
truckNightMaxSpeed,
vehiclesWithTrailersMinSpeed,
vehiclesWithTrailersMaxSpeed,
vehiclesWithTrailersNightMaxSpeed,
...
}
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
/**
* This DF conveys details about the timing of a phase within a movement. The core
* data concept expressed is the time stamp (time mark) at which the related phase will change to the next state. This is
* often found in the MinEndTime element, but the other elements may be needed to convey the full concept when adaptive
* timing is employed.
*
* @field startTime: is used to relate when the phase itself started or is expected to start. This in turn allows the
* indication that a set of time change details refers to a future phase, rather than a currently active phase.
* By this method, timing information about "pre" phase events (which are the short transitional phase used to alert OBEs to
* an impending green/go or yellow/caution phase) and the longer yellow-caution phase data is supported in the same form
* as various green/go phases. In theory, the time change details could be sent for a large sequence of phases if the signal
* timing was not adaptive and the operator wished to do so. In practice, it is expected only the "next" future phase will
* commonly be sent. It should be noted that this also supports the sending of time periods regarding various red phases;
* however, this is not expected to be done commonly.
* @field minEndTime: is used to convey the earliest time possible at which the phase could change, except when
* unpredictable events relating to a preemption or priority call disrupt a currently active timing plan. In a phase where the
* time is fixed (as in a fixed yellow or clearance time), this element shall be used alone. This value can be viewed as the
* earliest possible time at which the phase could change, except when unpredictable events relating to a preemption or
* priority call come into play and disrupt a currently active timing plan.
* @field maxEndTime: is used to convey the latest time possible which the phase could change,
* except when unpredictable events relating to a preemption or priority
* call come into play and disrupt a currently active timing plan. In a phase where the time is fixed (as in a fixed yellow or
* clearance time), this element shall be used alone.
* @field likelyTime: is used to convey the most likely time the phase changes. This occurs between MinEndTime and
* MaxEndTime and is only relevant for traffic-actuated control programs. This time might be calculated out of logged
* historical values, detected events (e.g., from inductive loops), or from other sources.
* @field confidence: is used to convey basic confidence data about the likelyTime.
* @field nextTime: is used to express a general (and presumably less precise) value regarding when this phase will
* next occur. This is intended to be used to alert the OBE when the next green/go may occur so that various ECO driving
* applications can better manage the vehicle during the intervening stopped time.
*
* @note: Remarks: It should be noted that all times are expressed as absolute values and not as countdown timer values. When
* the stated time mark is reached, the state changes to the next state. Several technical reasons led to this choice; among
* these was that with a countdown embodiment, there is an inherent need to update the remaining time every time a SPAT
* message is issued. This would require re-formulating the message content as as well as cryptographically signing the
* message each time. With the use of absolute values (time marks) chosen here, the current count down time when the
* message is created is added to the then-current time to create an absolute value and can be used thereafter without
* change. The message content need only change when the signal controller makes a timing decision to be published. This
* allows a clean separation of the logical functions of message creation from the logical functions of message scheduling
* and sending, and fulfills the need to minimize further real time processing when possible. This Standard sets no limits on
* where each of these functions is performed in the overall roadside system.
* @category: Infrastructure information
* @revision: V1.3.1
*/
TimeChangeDetails ::= SEQUENCE {
startTime TimeMark OPTIONAL,
minEndTime TimeMark,
maxEndTime TimeMark OPTIONAL,
likelyTime TimeMark OPTIONAL,
confidence TimeIntervalConfidence OPTIONAL,
nextTime TimeMark OPTIONAL
}
/**
* This DE is used to relate a moment in UTC (Coordinated Universal Time)-based time when a
* signal phase is predicted to change, with a precision of 1/10 of a second. A range of 60 full minutes is supported and it
* can be presumed that the receiver shares a common sense of time with the sender which is kept aligned to within a
* fraction of a second or better.
*
* If there is a need to send a value greater than the range allowed by the data element (over one hour in the future), the
* value 36000 shall be sent and shall be interpreted to indicate an indefinite future time value. When the value to be used is
* undefined or unknown a value of 36001 shall be sent. Note that leap seconds are also supported.
*
* The value is tenths of a second in the current or next hour in units of 1/10th second from UTC time
* - A range of 0~36000 covers one hour
* - The values 35991..35999 are used when a leap second occurs
* - The value 36000 is used to indicate time >3600 seconds
* - 36001 is to be used when value undefined or unknown
*
* @note: Note that this is NOT expressed in GPS time or in local time
* @category: Infrastructure information
* @revision: V1.3.1
*/
/**
* This DF expresses the speed of the vehicle and the state of the transmission.
* The transmission state of 'reverse' can be used as a sign value for the speed element when needed.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
TransmissionAndSpeed ::= SEQUENCE {
transmisson TransmissionState,
speed Velocity
}
/**
* This DF is used to contain either a (US) TemporaryID or an (EU) StationID in a simple frame.
* These two different value domains are used to uniquely identify a vehicle or other object in these two regional DSRC
* value is unavailable but needed by another type of user (such as the roadside infrastructure sending data about an
* environments. In normal use cases, this value changes over time to prevent tracking of the subject vehicle. When this
* unequipped vehicle), the value zero shall be used. A typical restriction on the use of this value during a dialog or other
* exchange is that the value remains constant for the duration of that exchange. Refer to the performance requirements for
* a given application for details.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
VehicleID ::= CHOICE {
entityID TemporaryID,
stationID StationID
}
/**
* This DE relates the type of travel to which a given speed refers. This element is
* typically used as part of an AdvisorySpeed data frame for signal phase and timing data.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
AdvisorySpeedType ::= ENUMERATED {
none (0),
greenwave (1),
ecoDrive (2),
transit (3),
...
}
/**
* This DE relates the allowed (possible) maneuvers from a lane, typically a
* motorized vehicle lane. It should be noted that in practice these values may be further restricted by vehicle class, local
* regulatory environment and other changing conditions.
*
* @note: When used by data frames, the AllowedManeuvers data concept is used in two places: optionally in the
* generic lane structure to list all possible maneuvers (as in what that lane can do at its stop line point); and within each
* ConnectsTo structure. Each ConnectsTo structure contains a list used to provide a single valid maneuver in the context of
* one lane connecting to another in the context of a signal phase that applies to that maneuver. It should be noted that, in
* some intersections, multiple outbound lanes can be reached by the same maneuver (for example two independent left
* turns might be found in a 5-legged intersection) but that to reach any given lane from the stop line of another lane is
* always a single maneuver item (hence the use of a list). Not all intersection descriptions may contain an exhaustive set of
* ConnectsTo information (unsignalized intersections for example) and in such cases the AllowedManeuvers in the generic
* lane structure can be used. If present in both places, the data expressed in the generic lane shall not conflict with the data
* found in the collection of ConnectsTo entries.
* @category: Infrastructure information
* @revision: V1.3.1
*/
AllowedManeuvers ::= BIT STRING {
maneuverStraightAllowed (0),
maneuverLeftAllowed (1),
maneuverRightAllowed (2),
maneuverUTurnAllowed (3),
maneuverLeftTurnOnRedAllowed (4),
maneuverRightTurnOnRedAllowed (5),
maneuverLaneChangeAllowed (6),
maneuverNoStoppingAllowed (7),
yieldAllwaysRequired (8),
goWithHalt (9),
caution (10),
reserved1 (11)
} (SIZE(12))
/**
* This DE is used to describe an angular measurement in units of degrees. This data
* element is often used as a heading direction when in motion. In this use, the current heading of the sending device is
* expressed in unsigned units of 0.0125 degrees from North, such that 28799 such degrees represent 359.9875 degrees.
* North shall be defined as the axis defined by the WGS-84 coordinate system and its reference ellipsoid. Any angle "to the
* east" is defined as the positive direction. A value of 28800 shall be used when Angle is unavailable.
*
* @note: Note that other heading and angle data elements of various sizes and precisions are found in other parts of this standard and in ITS.
* @unit: 0.0125 degrees
* @category: Infrastructure information
* @revision: V1.3.1
*/
/**
* This DE is used to relate the index of an approach, either ingress or egress within the
* subject lane. In general, an approach index in the context of a timing movement is not of value in the MAP and SPAT
* process because the lane ID and signal group ID concepts handle this with more precision. This value can also be useful
* as an aid as it can be used to indicate the gross position of a moving object (vehicle) when its lane level accuracy is
* unknown. This value can also be used when a deployment represents sets of lanes as groups without further details (as is
* done in Japan).
*
* @note: zero to be used when valid value is unknown
* @category: Infrastructure information
* @revision: V1.3.1
*/
/**
* This DE provides a means to indicate the current role that a DSRC device is playing
* This is most commonly employed when a vehicle needs to take on another role in order to send certain DSRC message
* types. As an example, when a public safety vehicle such as a police car wishes to send a signal request message (SRM)
* to an intersection to request a preemption service, the vehicle takes on the role "police" from the below list in both the