ITS-Container.asn 251 KB
Newer Older
tijinkj's avatar
tijinkj committed
 *
 * @category: Communication information
 * @revision: Created in V2.1.1
 */
MitigationPerTechnologyClass ::= SEQUENCE {
   accessTechnologyClass    AccessTechnologyClass, 
   lowDutyCycle             INTEGER (0 .. 10000) OPTIONAL, 
   powerReduction           INTEGER (0 .. 30) OPTIONAL,
   dmcToffLimit             INTEGER (0 .. 1200) OPTIONAL,   
   dmcTonLimit              INTEGER (0 .. 20) OPTIONAL,   
   ...
}

/** 
 * This DF indicates both the class and associated subclass that best describes an object.
 *
 * The following options are available:
 *
 * @field vehicleSubClass: the object is a road vehicle.
 *
 * @field vruSubClass: the object is a VRU.
 *
 * @field groupSubClass: the object is a VRU group or cluster.
 *
 * @field otherSubClass: the object is of a different types as the above.
 *
 * @category: Sensing information
 * @revision: Created in V2.1.1
 */
ObjectClass ::= CHOICE {
    vehicleSubClass    VehicleSubClass,
    vruSubClass        VruProfileAndSubprofile,
    groupSubClass      VruClusterInformation (WITH COMPONENTS{..., clusterBoundingBoxShape ABSENT}),
    otherSubClass      OtherSubClass,
    ...
}

/** 
 * This DF consist of a list of object classes.
 *
 * @category: Sensing information
 * @revision: Created in V2.1.1
*/
ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence

/** 
 * This DF represents the classification of a detected object together with a confidence indication.
 *
 * It includes the following components: 
 *
 * @field objectClass: the class of the object.
 *
 * @field ObjectClassConfidence: the associated confidence information.
 *
 * @category: Sensing information
 * @revision: Created in V2.1.1
*/
ObjectClassWithConfidence ::= SEQUENCE {
    objectClass    ObjectClass,
    confidence     ConfidenceLevel
}
/** 
 * This DF represents a dimension of an object together with a confidence indication.
 *
 * It includes the following components: 
 * 
 * @field ObjectDimensionValue: the object dimension value which can be estimated as the mean of the current distribution.
 *
 * @field ObjectDimensionValue: the associated confidence information.
 *
 * @category: Sensing information
 * @revision: Created in V2.1.1
*/
ObjectDimension ::= SEQUENCE {
    value         ObjectDimensionValue,
tijinkj's avatar
tijinkj committed
    confidence    ObjectDimensionConfidence
tijinkj's avatar
tijinkj committed
}

/**
 * This DF that represents a path with a set of path points.
 * It may contain up to `40` @ref PathPoint. 
 * 
 * The first PathPoint presents an offset delta position with regards to an external reference position.
 * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. 
 *
 * @category: GeoReference information, Vehicle information
 * @revision: created in V2.1.1 based on PathHistory
 */
Path::= SEQUENCE (SIZE(0..40)) OF PathPoint

/**
 * This DF that represents a path history with a set of path points.
 * It may contain up to `40` @ref PathPoint. 
 * 
 * The first PathPoint presents an offset delta position with regards to an external reference position.
 * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. 
 *
 * @category: GeoReference information, Vehicle information
 * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref Path instead
 * @revision: semantics updated in V2.1.1
 */
PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint

/**
 * This DF that represents a predicted path with a set of path points.
 * It may contain up to `15` @ref PathPoint. 
 * 
 * The first PathPoint presents an offset delta position with regards to an external reference position.
 * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. 
 *
 * @category: GeoReference information
 * @revision: created in V2.1.1 based on PathHistory
 */
PathPredicted::= SEQUENCE (SIZE(0..15,...)) OF PathPointPredicted

/**
 * This DF  defines an offset waypoint position within a path.
 *
 * It includes the following components: 
 *
 * @field pathPosition: The waypoint position defined as an offset position with regards to a pre-defined reference position. 
 *
 * @field pathDeltaTime: The optional travel time separated from a waypoint to the predefined reference position.
 *
 * @category GeoReference information
 * @revision: semantics updated in V2.1.1
 */
PathPoint ::= SEQUENCE {
    pathPosition     DeltaReferencePosition,
    pathDeltaTime    PathDeltaTime OPTIONAL
}

/**
 * This DF  defines a predicted offset waypoint position within a path.
 *
 * It includes the following components: 
 *
 * @field deltaLatitude: an offset latitude with regards to a pre-defined reference position. 
 *
 * @field deltaLongitude: an offset longitude with regards to a pre-defined reference position. 
 * 
 * @field horizontalPositionConfidence: the accuracy of the horizontal geographical position.
 *
 * @field deltaAltitude: an offset altitude with regards to a pre-defined reference position. 
 *
 * @field altitudeConfidence: the accuracy of the altitude value of the geographical position.
 * 
 * @field pathDeltaTime: The  travel time separated from the waypoint to the predefined reference position.
 *
 * @category GeoReference information
 * @revision: semantics updated in V2.1.1
 */

PathPointPredicted::= SEQUENCE {
tijinkj's avatar
tijinkj committed
  deltaLatitude                 DeltaLatitude,      
  deltaLongitude                DeltaLongitude, 
tijinkj's avatar
tijinkj committed
5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686
  horizontalPositionConfidence  PosConfidenceEllipse OPTIONAL,   
  deltaAltitude                 DeltaAltitude DEFAULT unavailable, 
  altitudeConfidence            AltitudeConfidence DEFAULT unavailable,
  pathDeltaTime                 DeltaTimeTenthOfSecond,
  ... 
}

/** 
 * This DF contains information about a perceived object including its kinematic and attitude vector in a pre-defined coordinate system.
 * 
 * It includes the following components: 
 *
 * @field objectID: optional identifier assigned to a detected object.
 *
 * @field timeOfMeasurement: the time difference from a reference time to the time of the  measurement of the object using the DE DeltaTime. 
 * Negative values indicate that the provided object state refers to a point in time after the reference time.
 *
 * @field xCoordinate: X Coordinate, i.e. distance to detected object from the origin of the coordinate system to the object reference point in x-direction at the time
 * of measurement, with the associated variance.
 * 
 * @field yCoordinate: Y Coordinate, i.e. distance to detected object from the origin of the coordinate system to the object reference point in y-direction at the time
 * of measurement, with the associated variance.
 * 
 * @field zCoordinate: optional Z Coordinate, i.e. distance to detected object from the origin of the coordinate system to the object reference point in z-direction 
 * at the time of measurement, with the associated variance.
 * 
 * @field velocityMagnitude: magnitude of the velocity vector of the detected object in the X-Y plane at the time of measurement, with the associated variance. 
 * Negative magnitude values indicate movement backwards
 *
 * @field velocityDirection: polar angle of the velocity vector of the detected object in the X-Y plane at the time of measurement, with the associated variance.
 *
 * @field xVelocity: velocity component of the detected object in x-direction at the time of measurement, with the associated variance.
 *
 * @field yVelocity: velocity component of the detected object in y-direction at the time of measurement, with the associated variance.
 *  
 * @field zVelocity: optional velocity component of the detected object in z-direction at the time of measurement, with the associated variance.
 *
 * @field accelerationMagnitude: magnitude of the acceleration vector of the detected object in the X-Y plane at the time of measurement, with the associated variance. 
 * Negative magnitude values indicate accelerating backwards.
 *
 * @field accelerationDirection: polar angle of the acceleration vector of the detected object in the X-Y plane at the time of measurement, with the associated variance.
 *
 * @field xAcceleration: optional Acceleration of the detected object in x-direction at the time of measurement, with the associated variance.
 * 
 * @field yAcceleration: optional Acceleration of the detected object in y-direction at the time of measurement, with the associated variance.
 *
 * @field zAcceleration: optional Acceleration of the detected object in z-direction at the time of measurement, with the associated variance.
 *
 * @field rollAngle: optional Roll angle of object at the time of measurement with the associated variance.
 * The angle is measured with positive values considering the object orientation turning counter-clockwise around the x-axis.
 *  
 * @field pitchAngle: optional Pitch angle of object at the time of measurement with the associated variance.    
 * The angle is measured with positive values considering the object orientation turning counter-clockwise around the y-axis.
 *  
 * @field yawAngle: optional Yaw angle of object at the time of measurement, with the associated variance.
 * The angle is measured with positive values considering the object orientation turning counter-clockwise around the z-axis.
 *  
 * @field rollSpeed: optional Roll speed of the object at the time of measurement, with the associated variance.
 * The angular rate is measured with positive values considering the object orientation turning counter-clockwise around the x-axis.
 * 
 * @field pitchSpeed: optional Pitch speed of the object at the time of measurement, with the associated variance.
 * The angular rate is measured with positive values considering the object orientation turning counter-clockwise around the y-axis.
 *
 * @field yawSpeed: optional Yaw speed of the object at the time of measurement, with the associated variance.
 * The angular rate is measured with positive values considering the object orientation turning counter-clockwise around the z-axis.
 *
 * @field rollAcceleration: optional Roll acceleration of the object at the time of measurement, with the associated variance.
 * The angular acceleration is measured with positive values considering the object orientation turning counter-clockwise around the x-axis.
 *
 * @field pitchAcceleration: optional Pitch acceleration of the object at the time of measurement, with the associated variance. 
 * The angular acceleration is measured with positive values considering the object orientation turning counter-clockwise around the y-axis.
 *
 * @field yawAcceleration: optional Yaw acceleration of the object at the time of measurement, with the associated variance.
 * The angular acceleration is measured with positive values considering the object orientation turning counter-clockwise around the z-axis.
 *
 * @field lowerTriangularCorrelationMatrixColumns: optional set of columns of a lower triangular correlation matrix for the provided kinematic state and attitude vector.
 * The kinematic and attitude vector is composed of the xCoordinate, yCoordinate and zero or more of the other components listed immediately before this component from zCoordinate to yawAcceleration.
 * The columns and rows of the correlation matrix indicate the value components of the vector (i.e. without variance) to which the covariance entries apply and are ordered as follows:
 *       - xCoordinate 
 *       - yCoordinate 
 *       - zCoordinate
 *       - velocityMagnitude
 *       - velocityDirection
 *       - xVelocity
 *       - yVelocity
 *       - zVelocityComponent
 *       - accelerationMagnitude
 *       - accelerationDirection
 *       - xAcceleration
 *       - yAcceleration
 *       - zAcceleration
 *       - rollAngle
 *       - pitchAngle
 *       - yawAngle
 *       - rollSpeed
 *       - pitchSpeed
 *       - yawSpeed
 *       - rollAcceleration
 *       - pitchAcceleration
 *       - yawAcceleration
 *   The number of lowerTriangularCorrelationMatrixColumns to be included "k" is thereby the number of provided
 *   components "n" of the kinematic state and attitude vector minus 1: k = n-1.
 *   Each column "i" of the lowerTriangularCorrelationMatrixColumns contains k-(i-1) values.
 *   In case certain values of the kinematic state and attitude vector are not provided, they are omitted from
 *   the lowerTriangularCorrelationMatrixColumns.
 *
 * @field planarObjectDimension1: optional first dimension of object as provided by the sensor or environment model. 
 * This dimension is always contained in the plane which is oriented perpendicular to the direction of the angle
 * indicated by the yawAngle and which contains the object's reference point.
 *   
 * @field planarObjectDimension2: optional second dimension of the object as provided by the sensor environment model. 
 * This dimension is contained in the plane oriented in the direction of the angle indicated by the yawAngle and the object's reference point.
 *  
 * @field verticalObjectDimension: optional vertical dimension of object as provided by the sensor or object model.
 * 
 * @field objectRefPoint: the reference point on the perceived object. The kinematic attitude and state data provided
 * for this object are valid for this reference point of the object. In case no object reference
 * point can be determined, it is assumed to be the center point of the detected object.
 *  
 * @field objectAge: optional age of the detected and described object, i.e. the difference in time between the moment 
 * it has been first detected and the reference time of the message. Value `1500` indicates that the object has been observed for more than 1.5s.
 *
 * @field objectConfidence: optional confidence associated to the object. The computation of the object confidence is based on a sensor's or
 * fusion system's specific detection confidence, the binary detection success that is, if an object
 * has been successfully detected by the last measurement and the object age.
 *
 * @field sensorIdList: optional list of sensor-IDs which provided the measurement data. 
 *
 * @field dynamicStatus: optional dynamic capabilities of a detected object.
 *  
 * @field classification: optional classification of the described object
 *
 * @field matchedPosition: optional map-matched position of an object.
 *
 * @category Sensing information
 * @revision: created in V2.1.1
 */

PerceivedObject ::= SEQUENCE {
    objectID                                          Identifier2B OPTIONAL,
    timeOfMeasurement                                 DeltaTimeMilliSecondPosNeg,
    xCoordinate                                       CartesianCoordinateWithConfidence, 
    yCoordinate                                       CartesianCoordinateWithConfidence,
    zCoordinate                                       CartesianCoordinateWithConfidence OPTIONAL,
    velocityMagnitude                                 SpeedExtended OPTIONAL, 
	velocityDirection                                 CartesianAngle OPTIONAL, 
    xVelocity                                         SpeedExtended OPTIONAL,
    yVelocity                                         SpeedExtended OPTIONAL,
    zVelocity                                         SpeedExtended OPTIONAL,
    accelerationMagnitude                             Acceleration1d OPTIONAL,
    accelerationDirection                             CartesianAngle OPTIONAL,
    xAcceleration                                     Acceleration1d OPTIONAL,
    yAcceleration                                     Acceleration1d OPTIONAL,
    zAcceleration                                     Acceleration1d OPTIONAL,
    rollAngle                                         CartesianAngle OPTIONAL,
    pitchAngle                                        CartesianAngle OPTIONAL,
    yawAngle                                          CartesianAngle OPTIONAL,
    rollSpeed                                         CartesianAngularSpeed OPTIONAL,
    pitchSpeed                                        CartesianAngularSpeed OPTIONAL,
    yawSpeed                                          CartesianAngularSpeed OPTIONAL,
    rollAcceleration                                  CartesianAngularAcceleration OPTIONAL,
    pitchAcceleration                                 CartesianAngularAcceleration OPTIONAL,
    yawAcceleration                                   CartesianAngularAcceleration OPTIONAL,
    lowerTriangularCorrelationMatrixColumns           LowerTriangularPositiveSemidefiniteMatrix OPTIONAL,
    planarObjectDimension1                            ObjectDimension OPTIONAL,
    planarObjectDimension2                            ObjectDimension OPTIONAL,
    verticalObjectDimension                           ObjectDimension OPTIONAL,
    objectRefPoint                                    ObjectRefPoint DEFAULT 0,
    objectAge                                         DeltaTimeMilliSecondPosNeg (0..1500) OPTIONAL,
    objectConfidence                                  ObjectConfidence OPTIONAL,
    sensorIdList                                      SequenceOfIdentifier1B OPTIONAL,
    dynamicStatus                                     ObjectDynamicStatus OPTIONAL,
    classification                                    ObjectClassDescription OPTIONAL,
    mapPosition                                       MapPosition OPTIONAL,
    ...
}

/** 
 * This DF represents the shape of a polygonal area or of a right prism.
 *
 * It includes the following components: 
 *
 * @field polygon: the polygonal area and consist of a list of minimum `3` to maximum `16` @ref CartesianPosition3d.
 *
 * @field height: the optional height, present if the shape is a right prism extending in the positive z-axis.
 * 
 * @category GeoReference information
 * @revision: created in V2.1.1
 *
 */
PolygonalShape ::= SEQUENCE {
   polygon    SequenceOfCartesianPosition3d (SIZE(3..16,...)),
   height	  StandardLength12b OPTIONAL,
   ...
}

/**
 * This DF provides the horizontal position accuracy in a shape of ellipse with a 
 * confidence level of 95 %. The centre of the ellipse shape corresponds to the reference
 * position point for which the position accuracy is evaluated.
 *
 * It includes the following components: 
 *
 * @field semiMajorConfidence: half of length of the major axis, i.e. distance between the centre point
 * and major axis point of the position accuracy ellipse. 
 *
 * @field semiMinorConfidence: half of length of the minor axis, i.e. distance between the centre point
 * and minor axis point of the position accuracy ellipse. 
 *
 * @field semiMajorOrientation: orientation direction of the ellipse major axis of the position accuracy
 * ellipse with regards to the WGS84 north. 
 *
 *
 * @category GeoReference information
 * @revision: V1.3.1
 */
PosConfidenceEllipse ::= SEQUENCE {
    semiMajorConfidence     SemiAxisLength,
    semiMinorConfidence     SemiAxisLength,
    semiMajorOrientation    Wgs84AngleValue
}

/**
 * This DF contains a list of distances @ref PosPillar that refer to the perpendicular distance between centre of vehicle front bumper
 * and vehicle pillar A, between neighbour pillars until the last pillar of the vehicle.
 *
 * Vehicle pillars refer to the vertical or near vertical support of vehicle,
 * designated respectively as the A, B, C or D and other pillars moving in side profile view from the front to rear.
 * 
 * The first value of the DF refers to the perpendicular distance from the centre of vehicle front bumper to 
 * vehicle A pillar. The second value refers to the perpendicular distance from the centre position of A pillar
 * to the B pillar of vehicle and so on until the last pillar.
 *
 * @category: Vehicle information
 * @revision: V1.3.1
 */
PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar

/**
 * This DF describes a zone of protection inside which the ITSG5 communication should be restricted.
 *
 * It includes the following components: 
 * 
 * @field protectedZoneType: type of the protected zone. 
 * 
 * @field expiryTime: optional time at which the validity of the protected communication zone will expire.
 * 
 * @field protectedZoneLatitude: latitude of the centre point of the protected communication zone.
 * 
 * @field protectedZoneLongitude: longitude of the centre point of the protected communication zone.
 * 
 * @field protectedZoneRadius: optional radius of the protected communication zone in metres.
 * 
 * @field protectedZoneID: the optional ID of the protected communication zone.
 * 
 * @note: A protected communication zone may be defined around a CEN DSRC road side equipment.
 * 
 * @category: Infrastructure information, Communication information
 * @revision: V1.3.1
 */
ProtectedCommunicationZone ::= SEQUENCE {
    protectedZoneType         ProtectedZoneType,
    expiryTime                TimestampIts OPTIONAL,
    protectedZoneLatitude     Latitude,
    protectedZoneLongitude    Longitude,
    protectedZoneRadius       ProtectedZoneRadius OPTIONAL,
    protectedZoneID           ProtectedZoneID OPTIONAL,
    ...
}

/**
 * This DF consist of a list of @ref ProtectedCommunicationZone provided by a road side ITS-S (Road Side Unit RSU).
 *
 * It may provide up to 16 protected communication zones information.
 *
 * @category: Infrastructure information, Communication information
 * @revision: V1.3.1
 */
ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone 

/**
 * This DF represents activation data for real-time systems designed for operations control, traffic light priorities, track switches, barriers, etc.
 * using a range of activation devices equipped in public transport vehicles.
 *
 * The activation of the corresponding equipment is triggered by the approach or passage of a public transport
 * vehicle at a certain point (e.g. a beacon).
 *
 * @field ptActivationType: type of activation. 
 *
 * @field ptActicationData: data of activation. 
 *
 * Today there are different payload variants defined for public transport activation-data. The R09.x is one of
 * the industry standard used by public transport vehicles (e.g. buses, trams) in Europe (e.g. Germany Austria)
 * for controlling traffic lights, barriers, bollards, etc. This DF includes information like route, course,
 * destination, priority, etc.
 * 
 * The R09.x content is defined in VDV recommendation 420 [i.8]. It includes following information:
 * - Priority Request Information (pre-request, request, ready to start)
 * - End of Prioritization procedure
 * - Priority request direction
 * - Public Transport line number
 * - Priority of public transport
 * - Route line identifier of the public transport
 * - Route number identification
 * - Destination of public transport vehicle
 *
 * Other countries may use different message sets defined by the local administration.
 * @category: Vehicle information
 * @revision: V1.3.1
 */
PtActivation ::= SEQUENCE {
    ptActivationType    PtActivationType,
    ptActivationData    PtActivationData
}

/**
 * This DF describes a radial shape. The triangular or cone-shaped volume is
 * constructed by sweeping the provided range about the reference point  or about the offset
 * point (if provided) between a horizontal start and a horizontal end angle in positive angular direction of the WGS84
 * coordinate system. A vertical opening angle may be provided in a Cartesian coordinate system with
 * the x-axis located in the North-East plane of the WGS84 coordinate system. The sensor height may
 * be provided to reflect characteristics of sensors mounted at an altitude (e.g. sensors mounted
 * above intersections).
 *
 * It includes the following components:
 * 
 * @field sensorPositionOffset: the optional offset opoint.
 *
 * @field range: the radial range of the sensor from the reference point or sensor point offset. 
 *
 * @field stationaryHorizontalOpeningAngleStart:  the orientation indicating the beginning of the 
 * stationary sensor's horizontal opening angle in positive angular direction with respect to the 
 * WGS84 coordinate system.
 *
 * @field stationaryHorizontalOpeningAngleEnd: The orientation indicating the end of the stationary 
 * sensor's horizontal opening angle in positive angular direction with respect to the WGS84 coordinate 
 * system.
 *
 * @field verticalOpeningAngleStart: optional orientation indicating the beginning of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
   located in the north-east plane of the WGS84 coordinate system.
 *
 * @field verticalOpeningAngleEnd: optional orientation indicating the end of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
 * located in the north-east plane of the WGS84 coordinate system using the DE CartesianAngleValue. 
 *
 * @category Sensing information
 * @revision: created in V2.1.1
*/
RadialShape ::= SEQUENCE { 
    offsetPoint                              CartesianPosition3d OPTIONAL,
    range                                    StandardLength12b,
    stationaryHorizontalOpeningAngleStart    Wgs84AngleValue, 
    stationaryHorizontalOpeningAngleEnd      Wgs84AngleValue, 
    verticalOpeningAngleStart                CartesianAngleValue OPTIONAL,
    verticalOpeningAngleEnd                  CartesianAngleValue OPTIONAL,
    ...
}


/**
 * This DF describes a list of radial shapes. 
 *
 * It includes the following components:

 * @field refPointId: the identification of the reference point in case of a sensor mounted to trailer. Defaults to ITS ReferencePoint (0).
 * 
 * @field xCoordinate: the x-coordinate of the offset point.
 *
 * @field yCoordinate: the y-coordinate of the offset point.
 *
 * @field zCoordinate: the optional z-coordinate of the offset point.
 *
 * @field radialShapesList: the list of radial shape details.
 *
 * @category: Georeference information
 * @revision: created in V2.1.1
 */ 
RadialShapes ::= SEQUENCE {
    refPointId          Identifier1B,
    xCoordinate         CartesianCoordinateSmall, -- tbd: is this along the positive or the negative x axis?
    yCoordinate         CartesianCoordinateSmall,
    zCoordinate         CartesianCoordinateSmall OPTIONAL,
    radialShapesList    RadialShapesList,
    ...
}

/** 
 * The DF contains a list of @ref RadialShapeDetails.
 *
 * @category: Georeference information
 * @revision: created in V2.1.1
 */

RadialShapesList ::= SEQUENCE SIZE(1..16,...) OF RadialShapeDetails

/**
 * This DF describes a radial shape details. The triangular or cone-shaped volume is
 * constructed by sweeping the provided range about the reference point  or about the offset
 * point (if provided) between a horizontal start and a horizontal end angle in positive angular direction of the WGS84
 * coordinate system. A vertical opening angle may be provided in a Cartesian coordinate system with
 * the x-axis located in the North-East plane of the WGS84 coordinate system. The sensor height may
 * be provided to reflect characteristics of sensors mounted at an altitude (e.g. sensors mounted
 * above intersections).
 *
 * It includes the following components:
 * 
 * @field range: the radial range of the sensor from the reference point or sensor point offset. 
 *
 * @field stationaryHorizontalOpeningAngleStart:  the orientation indicating the beginning of the 
 * stationary sensor's horizontal opening angle in positive angular direction.
 *
 * @field stationaryHorizontalOpeningAngleEnd: The orientation indicating the end of the stationary 
 * sensor's horizontal opening angle in positive angular direction.
 *
 * @field verticalOpeningAngleStart: optional orientation indicating the beginning of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
   located in the north-east plane of the WGS84 coordinate system.
 *
 * @field verticalOpeningAngleEnd: optional orientation indicating the end of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
 * located in the north-east plane of the WGS84 coordinate system. 
 *
 * @category: Georeference information
 * @revision: created in V2.1.1
 */
RadialShapeDetails ::= SEQUENCE {
    range                          StandardLength12b,
    horizontalOpeningAngleStart    CartesianAngleValue,
    horizontalOpeningAngleEnd      CartesianAngleValue,
    verticalOpeningAngleStart      CartesianAngleValue OPTIONAL,
    verticalOpeningAngleEnd        CartesianAngleValue OPTIONAL,
    ...
}

/** 
 * This DF represents the shape of a rectangular area or a right rectangular prism that is centred on a reference position defined outside of the context of this DF. 
 *
 * It includes the following components: 
 * 
 * @field centerPoint: represents an optional offset point which the rectangle is centred on with respect to the reference position.
 *
 * @field semiLength: represents half the length of the rectangle.
 * 
 * @field semiBreadth: represents half the breadth of the rectangle.
 *
 * @field orientation: represents the optional orientation of the lenght of the rectangle in the WGS84 coordinate system.
 *
 * @field height: represents the optional height, present if the shape is a right rectangular prism with height extending in the positive z-axis.
 *
 * @category GeoReference information
 * @revision: created in V2.1.1
 */
RectangularShape ::= SEQUENCE { 
    centerPoint    CartesianPosition3d OPTIONAL,
    semiLength     StandardLength12b,
    semiBreadth    StandardLength12b,
    orientation    Wgs84AngleValue OPTIONAL,
    height         StandardLength12b OPTIONAL 
}

/**
 * A position within a geographic coordinate system together with a confidence indication. 
 *
 * It includes the following components: 
 *
 * @field latitude: the latitude of the geographical point.
 *
 * @field longitude: the longitude of the geographical point.
 *
 * @field positionConfidenceEllipse: the accuracy of the geographical position.
 *
 * @field altitude: the altitude and an altitude accuracy of the geographical point.
 *
 * @category: GeoReference information
 * @revision: description updated in V2.1.1
 */
ReferencePosition ::= SEQUENCE {
    latitude                     Latitude,
    longitude                    Longitude,
    positionConfidenceEllipse    PosConfidenceEllipse,
    altitude                     Altitude
}

/**
 * This DF consist of a list of @ref StationType. to which a certain traffic restriction, e.g. the speed limit, applies.
 * 
 * @category: Infrastructure information, Traffic information
 * @revision: V1.3.1
 */
RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType

/**
 * This DF represents a unique id for a road segment
 *
 * It includes the following components: 
 *
 * @field region: the optional identifier of the entity that is responsible for the region in which the road segment is placed.
 * It is the duty of that entity to guarantee that the @ref Id is unique within the region.
 *
 * @field id: the identifier of the road segment
 *
 * @note: when the RoadRegulatorID is present, the RoadSegmentReferenceID is guaranteed to be globally unique.
 * @category: GeoReference information
 * @revision: created in V2.1.1
 */
RoadSegmentReferenceId ::= SEQUENCE {
    region    Identifier2B OPTIONAL,
    id        Identifier2B
}

/**
 * This DF provides the safe distance indication of a traffic participant with other traffic participant(s).
 *
 * It includes the following components: 
 * 
 * @field subjectStation: optionally indicates one "other" traffic participant identified by its ITS-S.
 *  
 * @field safeDistanceIndicator: indicates whether the distance between the ego ITS-S and the traffic participant(s) is safe.
 * If subjectStation is present than it indicates whether the distance between the ego ITS-S and the traffic participant inidcated in the component subjectStation is safe. 
 *
 * @field timeToCollision: optionally indicated the time-to-collision calculated as sqrt(LaDi<sup>2</sup> + LoDi<sup>2</sup> + VDi<sup>2</sup>)/relative speed 
 * and represented in  the  nearest 100  ms. This component may be present only if subjectStation is present. 
 *
 * @category: Traffic information, Kinematics information
 * @revision: created in V2.1.1
 */
SafeDistanceIndication ::= SEQUENCE {
    subjectStation           StationID OPTIONAL,
    safeDistanceIndicator    SafeDistanceIndicator,
tijinkj's avatar
tijinkj committed
    timeToCollision          DeltaTimeTenthOfSecond OPTIONAL,
tijinkj's avatar
tijinkj committed
5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996
    ...
}

/** 
 * This DF represents a list of  maximum `16` @ref CartesianPosition3d.
 * 
 * @category: GeoReference information
 * @revision: created in V2.1.1
 */
SequenceOfCartesianPosition3d ::= SEQUENCE (SIZE(1..16, ...)) OF CartesianPosition3d

/** 
 * The DF contains a list of identifiers.
 *
 * @category: Basic information
 * @revision: created in V2.1.1
*/
SequenceOfIdentifier1B ::= SEQUENCE SIZE(1..128, ...) OF Identifier1B

/**
 * The DF contains a list of DF  SafeDistanceIndication.
 *
 * @category: Traffic information, Kinematics information
 * @revision: created in V2.1.1
*/
SequenceOfSafeDistanceIndication ::= SEQUENCE(SIZE(1..9,...)) OF SafeDistanceIndication

/**
 * The DF contains a list of DF  TrajectoryInterceptionIndication.
 *
 * @category: Traffic information, Kinematics information
 * @revision: created in V2.1.1
*/
SequenceOfTrajectoryInterceptionIndication ::=  SEQUENCE (SIZE(1..9,...)) OF TrajectoryInterceptionIndication

/**
 * This DF provides the definition of a geographical area or volume, based on different options.
 *
 * It includes the following components: 
 *
 * @field rectangle: definition of an rectangular area or a right rectangular prism (with a rectangular base) also called a cuboid, or informally a rectangular box.
 *
 * @field circle: definition of an area of circular shape or a right circular cylinder.
 *
 * @field polygon: definition of an area of polygonal shape or a right prism.
 *
 * @field ellipse: definition of an area of elliptical shape or a right elliptical cylinder.
 *
 * @field radial: definition of a radial shape.
 *
 * @field radialShapes: definition of list of radial shapes.
 *
 * @category: GeoReference information
 * @revision: Created in V2.1.1
 */

Shape::= CHOICE {
   rectangle       RectangularShape,
   circle          CircularShape, 
   polygon         PolygonalShape,
   ellipse         EllipticalShape,
   radial          RadialShape,
   radialShapes    RadialShapes,
   ...
}

/**
 * This DF describes the speed and corresponding accuracy of the speed information for a moving object (e.g. vehicle).
 *
 * It includes the following components: 
 * 
 * @field speedValue: the speed value.
 * 
 * @field speedConfidence: the accuracy of the reported speed value.
 *
 * @category: Kinematics information
 * @revision: V1.3.1
 */
Speed ::= SEQUENCE {
    speedValue         SpeedValue,
    speedConfidence    SpeedConfidence
}

/**
 * This DF describes the extended speed and corresponding accuracy of the speed information for a moving object (e.g. vehicle).
 *
 * It includes the following components: 
 * 
 * @field speedValue: the extended speed value.
 * 
 * @field speedConfidence: the accuracy of the reported speed value.
 *
 * @category: Kinematics information
 * @revision: V2.1.1
 */
SpeedExtended ::= SEQUENCE {
    speedValue         SpeedValueExtended,
    speedConfidence    SpeedConfidence
}

/**
 * This DF  provides the  indication of  change in stability.
 *
 * It includes the following components: 
 * 
 * @field lossProbability: the probability of stability loss. 
 * 
 * @field actionDeltaTime: accuracy of the reported speed value.
 *
 * @category: Kinematics information
 * @revision: V2.1.1
 */
StabilityChangeIndication ::= SEQUENCE {
    lossProbability     StabilityLossProbability,
    actionDeltaTime     DeltaTimeTenthOfSecond,
    ...
}

/**
 * This DF represents the steering wheel angle of the vehicle at certain point in time.
 *
 * It includes the following components: 
 * 
 * @field steeringWheelAngleValue: steering wheel angle value.
 * 
 * @field steeringWheelAngleConfidence: accuracy of the reported steering wheel angle value.
 * 
 * @category: Vehicle information
 * @revision: Created in V2.1.1
 */
SteeringWheelAngle ::= SEQUENCE {
    steeringWheelAngleValue         SteeringWheelAngleValue,
    steeringWheelAngleConfidence    SteeringWheelAngleConfidence
}

/**
 * This DF represents one or more paths using @ref PathHistory.
 * 
 * @category: GeoReference information
 * @revision: Description revised in V2.1.1. Is is now based on Path and not on PathHistory
 */
Traces ::= SEQUENCE SIZE(1..7) OF Path

/**
 * Ths DF represents the a position on a traffic island between two lanes. 
 *
 * It includes the following components: 
 *
 * @field oneSide: represents one lane.
 * 
 * @field otherSide: represents the other lane.
 * 
 * @category: Road Topology information
 * @revision: Created in V2.1.1
 */
TrafficIslandPosition ::= SEQUENCE {
    oneSide      LanePositionAndType,
    otherSide    LanePositionAndType,
    ...
}

/** 
 * This DF provides detailed information about an attached trailer.
 *
 * It includes the following components: 
 *
 * @field refPointId: identifier of the reference point of the trailer.
 *
 * @field hitchPointOffset: optional position of the hitch point in negative x-direction (according to ISO 8855) from the
 * vehicle Reference Point.
 *
 * @field frontOverhang: Length of the trailer overhang in the positive x direction (according to ISO 8855) from the
 * trailer Reference Point indicated by the refPointID. The value defaults to 0 in case the trailer
 * is not overhanging to the front with respect to the trailer reference point.
 *
 * @field rearOverhang: Length of the trailer overhang in the negative x direction (according to ISO 8855) from the
 * trailer Reference Point indicated by the refPointID.
 *
 * @field trailerWidth: optional width of the trailer.
 *
 * @field hitchAngle: optional Value and confidence of the angle between the trailer orientation (corresponding to the x
 * direction of the ISO 8855 [i.2] coordinate system centered on the trailer) and the direction of
 * the segment having as end points the reference point of the trailer and the reference point of
 * the pulling vehicle, which can be another trailer or a vehicle looking on the horizontal plane
 * xy, described in the local Cartesian coordinate system of the preceding reference point. The
 * angle is measured with negative values considering the trailer orientation turning clockwise
 * starting from the segment direction. The angle value accuracy is provided with the
 * confidence level of 95 %.
 *
 * @category: Vehicle information
 * @revision: Created in V2.1.1
*/
TrailerData ::= SEQUENCE { --tbd check descriptions above
    refPointId          Identifier1B,
    hitchPointOffset    StandardLength1B, -- tbd is the value unavailable needed?
    frontOverhang       StandardLength1B, 
    rearOverhang        StandardLength1B, 
    trailerWidth        VehicleWidth,
    hitchAngle          CartesianAngle,
    ...
}

/**
 * This DF  provides the trajectory  interception  indication  of  ego-VRU  ITS-S  with another ITS-Ss. 
 *
 * It includes the following components: 
 * 
 * @field subjectStation: indicates the subject station.
 * 
 * @field trajectoryInterceptionProbability: indicates the propbability of the interception of the subject station trajectory 
 * with the trajectory of the station indicated in the component subjectStation.
 *
 * @field trajectoryInterceptionConfidence: indicates the confidence of interception of the subject station trajectory 
 * with the trajectory of the station indicated in the component subjectStation.
 * 
 * @category: Vehicle information
 * @revision: Created in V2.1.1
 */
TrajectoryInterceptionIndication  ::= SEQUENCE {
        subjectStation                       StationID OPTIONAL, 
        trajectoryInterceptionProbability    TrajectoryInterceptionProbability,
        trajectoryInterceptionConfidence     TrajectoryInterceptionConfidence OPTIONAL,
        ... 
    }

/**
 * This DF together with its sub DFs Ext1, Ext2 and the DE Ext3 provides the custom (i.e. not ASN.1 standard) definition of an integer with variable lenght, that can be used for example to encode the ITS-AID. 
 *
 * @category: Vehicle information
 * @revision: Created in V2.1.1
 */
VarLengthNumber::=CHOICE{
	content	    [0] INTEGER(0..127), -- one octet length
	extension	[1]	Ext1
	}
Ext1::=CHOICE{
	content	    [0]	INTEGER(128..16511), -- two octets length
	extension	[1]	Ext2
}
Ext2::=CHOICE{
	content	    [0]	INTEGER(16512..2113663), -- three octets length
	extension	[1]	Ext3
	}
Ext3::= INTEGER(2113664..270549119,...) -- four and more octets length

/**
 * This DF indicates the vehicle acceleration at vertical direction and the accuracy of the vertical acceleration.
 *
 * It includes the following components: 
 * 
 * @field verticalAccelerationValue: vertical acceleration value at a point in time.
 * 
 * @field verticalAccelerationConfidence: accuracy of the reported vertical acceleration value with a predefined confidence level.
 * 
 * @note: this DF is kept forbackwards compatibility reasons only. It is recommended to use @ref Acceleration1d instead
 * @category Vehicle information
 * @revision: V1.3.1
 */
VerticalAcceleration ::= SEQUENCE {
    verticalAccelerationValue         VerticalAccelerationValue,
    verticalAccelerationConfidence    AccelerationConfidence
}

/**
 * This DF provides information related to the identification of a vehicle.
 *
 * It includes the following components: 
 * 
 * @field wMInumber: World Manufacturer Identifier (WMI) code.
 * 
 * @field vDS: Vehicle Descriptor Section (VDS). 
 * 
 * @category: Vehicle information
 * @revision: V1.3.1
 */
VehicleIdentification ::= SEQUENCE {
    wMInumber    WMInumber OPTIONAL,
    vDS          VDS OPTIONAL,
    ...
}

/**
 * This DF represents the length of vehicle and accuracy indication information.
 *
 * It includes the following components: 
 * 
 * @field vehicleLengthValue: length of vehicle. 
 * 
 * @field vehicleLengthConfidenceIndication: indication of reported length value confidence.
 * 
 * @category: Vehicle information
 * @revision: V1.3.1
 */
VehicleLength ::= SEQUENCE {
    vehicleLengthValue                   VehicleLengthValue,
    vehicleLengthConfidenceIndication    VehicleLengthConfidenceIndication
}

/** 
 * This DF provides information about a VRU cluster.
 *
 * It includes the following components: 
 *
 * @field clusterId: optional identifier of a VRU cluster .
 *
 * @field clusterBoundingBoxShape: optionally indicates the shape of the cluster bounding box.
 *
 * @field clusterCardinalitySize: indicates an estimation of the number of VRUs in the group.
 *
tijinkj's avatar
tijinkj committed
 * @field clusterProfiles: optionally identifies all the VRU profile types that are believed to be within the cluster.
 * if this component is absent it means that the information is unavailable. 
tijinkj's avatar
tijinkj committed
 *
 * @category: VRU information