From c48e54febe7a3330b650466473c206d116202c89 Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Tue, 18 May 2021 19:17:35 +0200 Subject: [PATCH 1/8] Add .gitlab-ci.yaml --- .gitlab-ci.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..da81464 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,27 @@ +variables: + GIT_SUBMODULE_STRATEGY: normal + +image: danya25/asn1c:0.0.5 + +validate: + stage: test + script: make validate + cache: + paths: + - iso/* + only: + changes: + - "asn/*.asn" + +documentation: + stage: deploy + script: + - curl --header "PRIVATE-TOKEN:$CI_DOC_TOKEN" https://forge.etsi.org/rep/api/v4/projects/592/repository/files/asn2md.py?ref=master | python3 -c "import sys, json, base64; open('asn2md.py', 'wb').write(base64.b64decode(json.load(sys.stdin)['content']))" + - make doc + - git add docs/*.md + - git commit -m "Documentation update" + - git remote rm origin && git remote add origin https://oauth2:$CI_DOC_TOKEN@forge.etsi.org/rep/$CI_PROJECT_PATH.git + - git push origin HEAD:$CI_COMMIT_REF_NAME # Pushes to the same branch as the trigger + only: + changes: + - "asn/*.asn" -- GitLab From b4fc578c8cd517674cf29c2ce9f9a4351ef3e9ec Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Tue, 18 May 2021 19:21:31 +0200 Subject: [PATCH 2/8] Add Makefile --- Makefile | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ab71c5d --- /dev/null +++ b/Makefile @@ -0,0 +1,42 @@ +ASN1_SRC := $(wildcard asn/*.asn asn/cam/*.asn asn/cdd/*.asn) + +ASN1_SRC_VALIDATE := \ + iso/iso19091_2018.asn \ + iso/iso24534-3_1_2015.asn \ + iso/iso24534-3_2_2015.asn \ + iso/ISO14816_AVIAEINumberingAndDataStructures.asn + +ASN1_PDU := CPM +ASN1_KNOWN := DATE + +#ASN1CDIR ?= $(USERPROFILE)/Work/asn1c-fillabs +ifneq (,$(ASN1CDIR)) + ASN1C := $(ASN1CDIR)/asn1c/.libs/asn1c -S $(ASN1CDIR)/skeletons +else + ASN1C := asn1c +endif + +.PHONY: validate doc build + +validate: iso build + +doc: docs + python3 asn2md.py docs $(ASN1_SRC) + +iso docs: + mkdir -p $@ + +build: $(ASN1_SRC) $(ASN1_SRC_VALIDATE) + $(ASN1C) -E -F -fcompound-names $(addprefix -fknown-extern-type=,$(ASN1_KNOWN)) $(addprefix -pdu=,$(ASN1_PDU)) $^ >/dev/null + +iso/iso19091_2018.asn: + curl -o $@ 'https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn' + +iso/iso24534-3_1_2015.asn: + curl -o $@ 'https://standards.iso.org/iso/24534/-3/ISO%2024534-3%20ASN.1%20repository/ISO24534-3_ElectronicRegistrationIdentificationVehicleDataModule_ForBallot.asn' + +iso/iso24534-3_2_2015.asn: + curl -o $@ 'https://standards.iso.org/iso/24534/-3/ISO%2024534-3%20ASN.1%20repository/ISO24534-3_ElectronicRegistrationIdentificationEfcVehicleDataModule_ForBallot.asn' + +iso/ISO14816_AVIAEINumberingAndDataStructures.asn: + curl -o $@ 'https://standards.iso.org/iso/14816/ISO14816%20ASN.1%20repository/ISO14816_AVIAEINumberingAndDataStructures.asn' \ No newline at end of file -- GitLab From 1f14cfa3a918b1910f48572c87f73f9789daaf22 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Tue, 18 May 2021 17:25:53 +0000 Subject: [PATCH 3/8] Documentation update --- docs/CAM-PDU-Descriptions.md | 306 ++++ docs/CPM-CommonDataTypes-Descriptions.md | 1372 +++++++++++++++ docs/CPM-FreeSpaceAddendum-Descriptions.md | 93 + ...CPM-OriginatingStationData-Descriptions.md | 119 ++ docs/CPM-PDU-Descriptions.md | 200 +++ docs/CPM-PerceivedObject-Descriptions.md | 326 ++++ docs/CPM-SensorInformation-Descriptions.md | 170 ++ docs/ITS-Container.md | 1494 +++++++++++++++++ 8 files changed, 4080 insertions(+) create mode 100644 docs/CAM-PDU-Descriptions.md create mode 100644 docs/CPM-CommonDataTypes-Descriptions.md create mode 100644 docs/CPM-FreeSpaceAddendum-Descriptions.md create mode 100644 docs/CPM-OriginatingStationData-Descriptions.md create mode 100644 docs/CPM-PDU-Descriptions.md create mode 100644 docs/CPM-PerceivedObject-Descriptions.md create mode 100644 docs/CPM-SensorInformation-Descriptions.md create mode 100644 docs/ITS-Container.md diff --git a/docs/CAM-PDU-Descriptions.md b/docs/CAM-PDU-Descriptions.md new file mode 100644 index 0000000..1f10c90 --- /dev/null +++ b/docs/CAM-PDU-Descriptions.md @@ -0,0 +1,306 @@ +# ASN.1 module CAM-PDU-Descriptions + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (2) }_ + +## Imports: + * **ITS-Container** *{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
+ +## Data Elements: +### CAM + + + +Fields: +* header [**ItsPduHeader**](ITS-Container.md#ItsPduHeader)
+* cam [**CoopAwareness**](#CoopAwareness)
+```asn1 +CAM ::= SEQUENCE { + header ItsPduHeader, + cam CoopAwareness +} +``` + +### CoopAwareness + + + +Fields: +* generationDeltaTime [**GenerationDeltaTime**](CAM-PDU-Descriptions.md#GenerationDeltaTime)
+* camParameters [**CamParameters**](#CamParameters)
+```asn1 +CoopAwareness ::= SEQUENCE { + generationDeltaTime GenerationDeltaTime, + camParameters CamParameters +} +``` + +### CamParameters + + + +Fields: +* basicContainer [**BasicContainer**](#BasicContainer)
+* highFrequencyContainer [**HighFrequencyContainer**](#HighFrequencyContainer)
+* lowFrequencyContainer [**LowFrequencyContainer**](#LowFrequencyContainer) OPTIONAL
+* specialVehicleContainer [**SpecialVehicleContainer**](#SpecialVehicleContainer) OPTIONAL
+```asn1 +CamParameters ::= SEQUENCE { + basicContainer BasicContainer, + highFrequencyContainer HighFrequencyContainer, + lowFrequencyContainer LowFrequencyContainer OPTIONAL, + specialVehicleContainer SpecialVehicleContainer OPTIONAL, + ... +} +``` + +### HighFrequencyContainer + + + +Fields: +* basicVehicleContainerHighFrequency [**BasicVehicleContainerHighFrequency**](#BasicVehicleContainerHighFrequency)
+* rsuContainerHighFrequency [**RSUContainerHighFrequency**](#RSUContainerHighFrequency)
+```asn1 +HighFrequencyContainer ::= CHOICE { + basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency, + rsuContainerHighFrequency RSUContainerHighFrequency, + ... +} +``` + +### LowFrequencyContainer + + + +Fields: +* basicVehicleContainerLowFrequency [**BasicVehicleContainerLowFrequency**](#BasicVehicleContainerLowFrequency)
+```asn1 +LowFrequencyContainer ::= CHOICE { + basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency, + ... +} +``` + +### SpecialVehicleContainer + + + +Fields: +* publicTransportContainer [**PublicTransportContainer**](#PublicTransportContainer)
+* specialTransportContainer [**SpecialTransportContainer**](#SpecialTransportContainer)
+* dangerousGoodsContainer [**DangerousGoodsContainer**](#DangerousGoodsContainer)
+* roadWorksContainerBasic [**RoadWorksContainerBasic**](#RoadWorksContainerBasic)
+* rescueContainer [**RescueContainer**](#RescueContainer)
+* emergencyContainer [**EmergencyContainer**](#EmergencyContainer)
+* safetyCarContainer [**SafetyCarContainer**](#SafetyCarContainer)
+```asn1 +SpecialVehicleContainer ::= CHOICE { + publicTransportContainer PublicTransportContainer, + specialTransportContainer SpecialTransportContainer, + dangerousGoodsContainer DangerousGoodsContainer, + roadWorksContainerBasic RoadWorksContainerBasic, + rescueContainer RescueContainer, + emergencyContainer EmergencyContainer, + safetyCarContainer SafetyCarContainer, + ... +} +``` + +### BasicContainer + + + +Fields: +* stationType [**StationType**](ITS-Container.md#StationType)
+* referencePosition [**ReferencePosition**](ITS-Container.md#ReferencePosition)
+```asn1 +BasicContainer ::= SEQUENCE { + stationType StationType, + referencePosition ReferencePosition, + ... +} +``` + +### BasicVehicleContainerHighFrequency + + + +Fields: +* heading [**Heading**](ITS-Container.md#Heading)
+* speed [**Speed**](ITS-Container.md#Speed)
+* driveDirection [**DriveDirection**](ITS-Container.md#DriveDirection)
+* vehicleLength [**VehicleLength**](ITS-Container.md#VehicleLength)
+* vehicleWidth [**VehicleWidth**](ITS-Container.md#VehicleWidth)
+* longitudinalAcceleration [**LongitudinalAcceleration**](ITS-Container.md#LongitudinalAcceleration)
+* curvature [**Curvature**](ITS-Container.md#Curvature)
+* curvatureCalculationMode [**CurvatureCalculationMode**](ITS-Container.md#CurvatureCalculationMode)
+* yawRate [**YawRate**](ITS-Container.md#YawRate)
+* accelerationControl [**AccelerationControl**](ITS-Container.md#AccelerationControl) OPTIONAL
+* lanePosition [**LanePosition**](ITS-Container.md#LanePosition) OPTIONAL
+* steeringWheelAngle [**SteeringWheelAngle**](ITS-Container.md#SteeringWheelAngle) OPTIONAL
+* lateralAcceleration [**LateralAcceleration**](ITS-Container.md#LateralAcceleration) OPTIONAL
+* verticalAcceleration [**VerticalAcceleration**](ITS-Container.md#VerticalAcceleration) OPTIONAL
+* performanceClass [**PerformanceClass**](ITS-Container.md#PerformanceClass) OPTIONAL
+* cenDsrcTollingZone [**CenDsrcTollingZone**](ITS-Container.md#CenDsrcTollingZone) OPTIONAL
+```asn1 +BasicVehicleContainerHighFrequency ::= SEQUENCE { + heading Heading, + speed Speed, + driveDirection DriveDirection, + vehicleLength VehicleLength, + vehicleWidth VehicleWidth, + longitudinalAcceleration LongitudinalAcceleration, + curvature Curvature, + curvatureCalculationMode CurvatureCalculationMode, + yawRate YawRate, + accelerationControl AccelerationControl OPTIONAL, + lanePosition LanePosition OPTIONAL, + steeringWheelAngle SteeringWheelAngle OPTIONAL, + lateralAcceleration LateralAcceleration OPTIONAL, + verticalAcceleration VerticalAcceleration OPTIONAL, + performanceClass PerformanceClass OPTIONAL, + cenDsrcTollingZone CenDsrcTollingZone OPTIONAL +} +``` + +### BasicVehicleContainerLowFrequency + + + +Fields: +* vehicleRole [**VehicleRole**](ITS-Container.md#VehicleRole)
+* exteriorLights [**ExteriorLights**](ITS-Container.md#ExteriorLights)
+* pathHistory [**PathHistory**](ITS-Container.md#PathHistory)
+```asn1 +BasicVehicleContainerLowFrequency ::= SEQUENCE { + vehicleRole VehicleRole, + exteriorLights ExteriorLights, + pathHistory PathHistory +} +``` + +### PublicTransportContainer + + + +Fields: +* embarkationStatus [**EmbarkationStatus**](ITS-Container.md#EmbarkationStatus)
+* ptActivation [**PtActivation**](ITS-Container.md#PtActivation) OPTIONAL
+```asn1 +PublicTransportContainer ::= SEQUENCE { + embarkationStatus EmbarkationStatus, + ptActivation PtActivation OPTIONAL +} +``` + +### SpecialTransportContainer + + + +Fields: +* specialTransportType [**SpecialTransportType**](ITS-Container.md#SpecialTransportType)
+* lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
+```asn1 +SpecialTransportContainer ::= SEQUENCE { + specialTransportType SpecialTransportType, + lightBarSirenInUse LightBarSirenInUse +} +``` + +### DangerousGoodsContainer + + + +Fields: +* dangerousGoodsBasic [**DangerousGoodsBasic**](ITS-Container.md#DangerousGoodsBasic)
+```asn1 +DangerousGoodsContainer ::= SEQUENCE { + dangerousGoodsBasic DangerousGoodsBasic + } +``` + +### RoadWorksContainerBasic + + + +Fields: +* roadworksSubCauseCode [**RoadworksSubCauseCode**](ITS-Container.md#RoadworksSubCauseCode) OPTIONAL
+* lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
+* closedLanes [**ClosedLanes**](ITS-Container.md#ClosedLanes) OPTIONAL
+```asn1 +RoadWorksContainerBasic ::= SEQUENCE { + roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL, + lightBarSirenInUse LightBarSirenInUse, + closedLanes ClosedLanes OPTIONAL + } +``` + +### RescueContainer + + + +Fields: +* lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
+```asn1 +RescueContainer ::= SEQUENCE { + lightBarSirenInUse LightBarSirenInUse +} +``` + +### EmergencyContainer + + + +Fields: +* lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
+* incidentIndication [**CauseCode**](ITS-Container.md#CauseCode) OPTIONAL
+* emergencyPriority [**EmergencyPriority**](ITS-Container.md#EmergencyPriority) OPTIONAL
+```asn1 +EmergencyContainer ::= SEQUENCE { + lightBarSirenInUse LightBarSirenInUse, + incidentIndication CauseCode OPTIONAL, + emergencyPriority EmergencyPriority OPTIONAL +} +``` + +### SafetyCarContainer + + + +Fields: +* lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
+* incidentIndication [**CauseCode**](ITS-Container.md#CauseCode) OPTIONAL
+* trafficRule [**TrafficRule**](ITS-Container.md#TrafficRule) OPTIONAL
+* speedLimit [**SpeedLimit**](ITS-Container.md#SpeedLimit) OPTIONAL
+```asn1 +SafetyCarContainer ::= SEQUENCE { + lightBarSirenInUse LightBarSirenInUse, + incidentIndication CauseCode OPTIONAL, + trafficRule TrafficRule OPTIONAL, + speedLimit SpeedLimit OPTIONAL +} +``` + +### RSUContainerHighFrequency + + + +Fields: +* protectedCommunicationZonesRSU [**ProtectedCommunicationZonesRSU**](ITS-Container.md#ProtectedCommunicationZonesRSU) OPTIONAL
+```asn1 +RSUContainerHighFrequency ::= SEQUENCE { + protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL, + ... +} +``` + +### GenerationDeltaTime + + + +Fields: +```asn1 +GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535) +``` + + + diff --git a/docs/CPM-CommonDataTypes-Descriptions.md b/docs/CPM-CommonDataTypes-Descriptions.md new file mode 100644 index 0000000..c4a359e --- /dev/null +++ b/docs/CPM-CommonDataTypes-Descriptions.md @@ -0,0 +1,1372 @@ +# ASN.1 module CPM-CommonDataTypes-Descriptions + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1) }_ + +## Imports: + * **ITS-Container** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
+ Include ETSI TS 102 894-2 v1.3.1 + Include references from @url https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn + + * **DSRC** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
+ Include ISO 19091 + Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn + +## Data Elements: +### AreaCircular + +Area Circular +Describes a circular area. The circle is centred about the reference point of the ITS-S or about +the nodeCenterPoint (if provided). The DF shall include the following information: + + +Fields: +* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* radius [**Radius**](#Radius)
+```asn1 +AreaCircular ::= SEQUENCE { + /** @details nodeCenterPoint + Optional offset point about which the circle is centred with respect to the reference + position of the ITS-S. + */ + nodeCenterPoint OffsetPoint OPTIONAL, + /** @details radius + The radius of the circular area + */ + radius Radius +} +``` + +### AreaEllipse + +Area Ellipse +Describes an elliptical area. The ellipse is centred about the reference point of the ITS-S or +about the nodeCenterPoint (if provided). + + +Fields: +* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue)
+* semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL
+```asn1 +AreaEllipse ::= SEQUENCE { + /** @details nodeCenterPoint + Optional offset point about which the ellipse is centred with respect to the reference + position of the ITS-S. + */ + nodeCenterPoint OffsetPoint OPTIONAL, + /** @details semiMinorRangeLength + Major radius of the ellipse. + */ + semiMinorRangeLength SemiRangeLength, + /** @details semiMajorRangeLength + Minor radius of the ellipse. + */ + semiMajorRangeLength SemiRangeLength, + /** @details semiMajorRangeOrientation + Orientation of the semiMajorRangeLength of the ellipse in the WGS84 coordinate system. + */ + semiMajorRangeOrientation WGS84AngleValue, + semiHeight SemiRangeLength OPTIONAL +} +``` + +### AreaRectangle + +Area Rectangle +Describes a rectangular area. The rectangle is centred about the reference point of the ITS-S or +about the nodeCenterPoint (if provided). + + +Fields: +* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue)
+* semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL
+```asn1 +AreaRectangle ::= SEQUENCE { + /** @details nodeCenterPoint + Optional offset point about which the rectangle is centred with respect to the reference + position of the ITS-S. + */ + nodeCenterPoint OffsetPoint OPTIONAL, + /** @details semiMajorRangeLength + Half length of the rectangle. + */ + semiMajorRangeLength SemiRangeLength, + /** @details semiMinorRangeLength + Half width of the rectangle. + */ + semiMinorRangeLength SemiRangeLength, + /** @details semiMajorRangeOrientation + Orientation of the semiMajorRangeLength of the rectangle in the WGS84 coordinate system. + */ + semiMajorRangeOrientation WGS84AngleValue, + semiHeight SemiRangeLength OPTIONAL +} +``` + +### AreaPolygon + +Area Polygon +Describes a polygonal area constructed by connecting the offset points in the sequence +provided. The last point shall be connected with the first point to close the polygon. + + +Fields: +* polyPointList [**PolyPointList**](#PolyPointList)
+```asn1 +AreaPolygon ::= SEQUENCE { + polyPointList PolyPointList +} +``` + +### PolyPointList + +Poly Point List +Describes a list of points representing a polygon. The last point shall be connected with the +first point to close the polygon. + + +```asn1 +PolyPointList ::= SEQUENCE (SIZE(3..16, ...)) OF OffsetPoint +``` + +### AreaRadial + +Area Radial +Describes a radial area scanned by a stationary sensor. The triangular or cone-shaped area is +constructed by sweeping the provided range about the reference point of the ITS-S or about the +point described by the sensor offset point (if provided) with respect to the reference point +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). + + +Fields: +* range [**Range**](#Range)
+* stationaryHorizontalOpeningAngleStart [**WGS84AngleValue**](#WGS84AngleValue)
+* stationaryHorizontalOpeningAngleEnd [**WGS84AngleValue**](#WGS84AngleValue)
+* verticalOpeningAngleStart [**CartesianAngleValue**](#CartesianAngleValue) OPTIONAL
+* verticalOpeningAngleEnd [**CartesianAngleValue**](#CartesianAngleValue) OPTIONAL
+* sensorPositionOffset [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* sensorHeight [**SensorHeight**](#SensorHeight) OPTIONAL
+```asn1 +AreaRadial ::= SEQUENCE { + /** @details range + The radial range of the sensor from the reference point or sensor point offset. + */ + range Range, + /** @details 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. + */ + stationaryHorizontalOpeningAngleStart WGS84AngleValue, + /** @details 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. + */ + stationaryHorizontalOpeningAngleEnd WGS84AngleValue, + /** @details verticalOpeningAngleStart + The 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. + */ + verticalOpeningAngleStart CartesianAngleValue OPTIONAL, + /** @details verticalOpeningAngleEnd + The 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. + */ + verticalOpeningAngleEnd CartesianAngleValue OPTIONAL, + /** @details sensorPositionOffset + The offset of the mounting poinf of this sensor from the station's @see ReferencePosition. + */ + sensorPositionOffset OffsetPoint OPTIONAL, + /** @details sensorHeight + The height of the sensor mounting point. + */ + sensorHeight SensorHeight OPTIONAL, + ... +} +``` + +### ObjectDistance + +Object Distance With Confidence +A general Data Frame to describe a distance component along with a confidence with a +predefined confidence level of 95% for the component. + + +Fields: +* value [**DistanceValue**](#DistanceValue)
+* confidence [**DistanceConfidence**](#DistanceConfidence)
+```asn1 +ObjectDistance ::= SEQUENCE { + /** @details value + The distance value which can be estimated as the mean of the current distribution. + */ + value DistanceValue, + /** @details confidence + The distance accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence DistanceConfidence +} +``` + +### ObjectDimension + +Object Dimension +A general Data Frame to describe a dimension of an object along with a confidence with a +predefined confidence level of 95% for the component. + + +Fields: +* value [**ObjectDimensionValue**](#ObjectDimensionValue)
+* confidence [**ObjectDimensionConfidence**](#ObjectDimensionConfidence)
+```asn1 +ObjectDimension ::= SEQUENCE { + /** @details value + The object dimension value which can be estimated as the mean of the current distribution. + */ + value ObjectDimensionValue, + /** @details confidence + The dimension accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence ObjectDimensionConfidence +} +``` + +### CartesianAngle + +Cartesian Angle +A general Data Frame to describe an angle component along with a confidence with a predefined +confidence level of 95% for the component in a Cartesian coordinate system. + + +Fields: +* value [**CartesianAngleValue**](#CartesianAngleValue)
+* confidence [**AngleConfidence**](#AngleConfidence)
+```asn1 +CartesianAngle ::= SEQUENCE { + /** @details value + The angle value which can be estimated as the mean of the current distribution. + */ + value CartesianAngleValue, + /** @details confidence + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence AngleConfidence +} +``` + +### CartesianAngularSpeed + +CartesianAngularSpeed +A general Data Frame to describe an angular speed component along with a confidence with a predefined +confidence level of 95% for the component in a Cartesian coordinate system. + + +Fields: +* value [**CartesianAngularSpeedValue**](#CartesianAngularSpeedValue)
+* confidence [**AngularSpeedConfidence**](#AngularSpeedConfidence)
+```asn1 +CartesianAngularSpeed ::= SEQUENCE { + /** @details value + The angular speed (rate) value which can be estimated as the mean of the current distribution. + */ + value CartesianAngularSpeedValue, + /** @details confidence + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence AngularSpeedConfidence +} +``` + +### CartesianAngularAcceleration + +CartesianAngularAcceleration +A general Data Frame to describe an angular acceleration component along with a confidence with a predefined +confidence level of 95% for the component in a Cartesian coordinate system. + + +Fields: +* value [**CartesianAngularAccelerationValue**](#CartesianAngularAccelerationValue)
+* confidence [**AngularAccelerationConfidence**](#AngularAccelerationConfidence)
+```asn1 +CartesianAngularAcceleration ::= SEQUENCE { + /** @details value + The angular acceleration value which can be estimated as the mean of the current distribution. + */ + value CartesianAngularAccelerationValue, + /** @details confidence + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence AngularAccelerationConfidence +} +``` + +### WGS84Angle + +WGS 84 Angle +A general Data Frame to describe an angular component along with a confidence with a predefined +confidence level of 95% for the component in the WGS84 coordinate system. + + +Fields: +* value [**WGS84AngleValue**](#WGS84AngleValue)
+* confidence [**AngleConfidence**](#AngleConfidence)
+```asn1 +WGS84Angle ::= SEQUENCE { + /** @details value + The angle value which can be estimated as the mean of the current distribution. + */ + value WGS84AngleValue, + /** @details confidence + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence AngleConfidence +} +``` + +### SpeedExtended + +Speed Extended +A general Data Frame to describe a speed component along with a confidence with a predefined +confidence level of 95% for the component. + + +Fields: +* value [**SpeedValueExtended**](#SpeedValueExtended)
+* confidence [**SpeedConfidence**](ITS-Container.md#SpeedConfidence)
+```asn1 +SpeedExtended ::= SEQUENCE { + /** @details value + The speed value which can be estimated as the mean of the current distribution. + */ + value SpeedValueExtended, + /** @details confidence + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence SpeedConfidence +} +``` + +### Acceleration + +Acceleration +A general Data Frame to describe an acceleration component along with a confidence with a predefined +confidence level of 95% for the component. + + +Fields: +* value [**AccelerationValue**](#AccelerationValue)
+* confidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
+```asn1 +Acceleration ::= SEQUENCE { + /** @details value + The acceleration value which can be estimated as the mean of the current distribution. + */ + value AccelerationValue, + /** @details confidence + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + */ + confidence AccelerationConfidence +} +``` + +### SensorIdList + +Sensor ID List +List of sensor IDs. + + +```asn1 +SensorIdList ::= SEQUENCE SIZE(1..128, ...) OF Identifier +``` + +### TrailerDataContainer + +Trailer Data Container +List of information about attached trailers. + + +```asn1 +TrailerDataContainer ::= SEQUENCE SIZE(1..2) OF TrailerData +``` + +### TrailerData + +Trailer Data +Provides detailed information about the dimensions and orientation of an attached trailer. + + +Fields: +* refPointId [**RefPointId**](#RefPointId)
+* hitchPointOffset [**HitchPointOffset**](#HitchPointOffset)
+* frontOverhang [**FrontOverhang**](#FrontOverhang)
+* rearOverhang [**RearOverhang**](#RearOverhang)
+* trailerWidth [**VehicleWidth**](ITS-Container.md#VehicleWidth) OPTIONAL
+* hitchAngle [**CartesianAngle**](#CartesianAngle) OPTIONAL
+```asn1 +TrailerData ::= SEQUENCE { + refPointId RefPointId, + hitchPointOffset HitchPointOffset, + frontOverhang FrontOverhang, + rearOverhang RearOverhang, + trailerWidth VehicleWidth OPTIONAL, + hitchAngle CartesianAngle OPTIONAL, + ... +} +``` + +### MatchedPosition + +Matched Position +Indicates the position of the object mapped on the intersection topology description transmitted +in MAP messages. + + +Fields: +* laneID [**LaneID**](DSRC.md#LaneID) OPTIONAL
+* longitudinalLanePosition [**LongitudinalLanePosition**](#LongitudinalLanePosition) OPTIONAL
+```asn1 +MatchedPosition ::= SEQUENCE { + /** @details laneID + Conveys an assigned index that is unique within the intersection with InterSectionReferenceId + of the OriginatingRSUContainer. It shall be presented as specified in + Clause 7.88 of SAE J2735. + */ + laneID LaneID OPTIONAL, + /** @details longitudinalLanePosition + Indicates the longitudinal offset of the map-matched position of the object along the lane. + */ + longitudinalLanePosition LongitudinalLanePosition OPTIONAL, + ... +} +``` + +### LongitudinalLanePosition + +Longitudinal Lane Position +Estimated position along the longitudinal length of a particular lane. A lane is provided by +a corresponding MAP message. + + +Fields: +* longitudinalLanePositionValue [**LongitudinalLanePositionValue**](#LongitudinalLanePositionValue)
+* longitudinalLanePositionConfidence [**LongitudinalLanePositionConfidence**](#LongitudinalLanePositionConfidence)
+```asn1 +LongitudinalLanePosition ::= SEQUENCE { + /** @details longitudinalLanePositionValue + The mean value of the longitudinal position within a particular length. + */ + longitudinalLanePositionValue LongitudinalLanePositionValue, + /** @details longitudinalLanePositionConfidence + The confidence associated to the provided value. + */ + longitudinalLanePositionConfidence LongitudinalLanePositionConfidence +} +``` + +### MessageSegmentInfo + +Message Segment Information +Information about segmented CPM and the number of generated segments. + + +Fields: +* totalMsgSegments [**SegmentCount**](#SegmentCount)
+* thisSegmentNum [**SegmentCount**](#SegmentCount)
+```asn1 +MessageSegmentInfo ::= SEQUENCE { + /** @details totalMsgSegments + The total number of messages required on the transmitter side to distribute the information + to several messages. + */ + totalMsgSegments SegmentCount, + /** @details thisSegmentNum + Indicates the number of the received message out of the total number of messages + used to realize segmentation. + */ + thisSegmentNum SegmentCount +} +``` + +### LowerTriangularPositiveSemidefiniteMatrix + +Lower Triangular Positive Semi-Definite Matrix +A general data frame to express the elements of a lower triangular positive semi-definite matrix, not +including the main diagonal elements of the matrix. +Given a matrix "A" of size n x n, the number of columns to be included in the lower triangular matrix is k=n-1. + + +```asn1 +LowerTriangularPositiveSemidefiniteMatrix ::= SEQUENCE SIZE (1..17) OF CorrelationColumn +``` + +### CorrelationColumn + +Correlation Column +The column of the lower triangular positive semi-definite matrix consists of correlation row values. +Given a matrix "A" of size n x n, the number of columns to be included in the lower triangular matrix is k=n-1. +Each column "i" of the lower triangular then contains k-(i-1) values, where "i" refers to the column number count +starting at 1 from the left. + + +```asn1 +CorrelationColumn ::= SEQUENCE SIZE (1..17) OF CorrelationRowValue +``` + +### CorrelationRowValue + +Correlation Row Value +The Bravais-Pearson correlation value for each cell of the lower triangular correlation matrix. +Scaled by 100. +@unit: None + + +Fields: +```asn1 +CorrelationRowValue ::= INTEGER { + full-negative-correlation (-100), -- Full negative correlation + no-correlation (0), -- If not correlated or unavailable + point-one (10), + full-positive-correlation (100) -- Full positive correlation +} (-100..100) +``` + +### ObjectClassDescription + +Object Class Description +A list of object classes. + + +```asn1 +ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence +``` + +### ObjectClassWithConfidence + +Object Class with Confidence +Describes the classification of a detected object. The object can be classified into one of four +categories: vehicle, person, animal and other. The classification is provided with a +confidence indication. + + +Fields: +* objectClass [**ObjectClass**](#ObjectClass)
+* confidence [**ClassConfidence**](#ClassConfidence)
+```asn1 +ObjectClassWithConfidence ::= SEQUENCE { + objectClass ObjectClass, + confidence ClassConfidence +} +``` + +### ObjectClass + +Object Class +The class that best describes the detected object. Each class provides optional subclasses. + + +Fields: +* vehicleSubclass [**VehicleSubclassType**](#VehicleSubclassType)
+* personSubclass [**PersonSubclassType**](#PersonSubclassType)
+* animalSubclass [**AnimalSubclassType**](#AnimalSubclassType)
+* otherSubclass [**OtherSubclassType**](#OtherSubclassType)
+```asn1 +ObjectClass ::= CHOICE { + + vehicleSubclass VehicleSubclassType, + personSubclass PersonSubclassType, + animalSubclass AnimalSubclassType, + otherSubclass OtherSubclassType, + ... +} +``` + +### OffsetPoint + +Offset Point +Describes an offset position in a two- or three-dimensional plane as imported from +CEN ISO/TS 19091. Excludes the node-LatLon DF and regional DF defined therein. + + +Fields: +* nodeOffsetPointxy [**NodeOffsetPointXY**](DSRC.md#NodeOffsetPointXY) (WITH COMPONENTS {...
+```asn1 +OffsetPoint ::= SEQUENCE{ + nodeOffsetPointxy NodeOffsetPointXY (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT}), + nodeOffsetPointZ NodeOffsetPointZ OPTIONAL +} +``` + +### NodeOffsetPointZ + +Node Offset Point in Z-direction +Describes the vertical offset from another point. This is specified in close resemblance +to SAE J2735 _NodeOffsetPointXY_. + + +Fields: +* node-Z1 [**Offset-B10**](DSRC.md#Offset-B10)
+* node-Z2 [**Offset-B11**](DSRC.md#Offset-B11)
+* node-Z3 [**Offset-B12**](DSRC.md#Offset-B12)
+* node-Z4 [**Offset-B13**](DSRC.md#Offset-B13)
+* node-Z5 [**Offset-B14**](DSRC.md#Offset-B14)
+* node-Z6 [**Offset-B16**](DSRC.md#Offset-B16) -- node is within 327.67m of last node
+```asn1 +NodeOffsetPointZ ::= CHOICE { + node-Z1 Offset-B10, -- node is within 5.11m of last node + node-Z2 Offset-B11, -- node is within 10.23m of last node + node-Z3 Offset-B12, -- node is within 20.47m of last node + node-Z4 Offset-B13, -- node is within 40.96m of last node + node-Z5 Offset-B14, -- node is within 81.91m of last node + node-Z6 Offset-B16 -- node is within 327.67m of last node +} +``` + +### AnimalSubclassType + +Animal Subclass Type +Describes the subclass of a detected object for class animal. +@unit n/a + + +Fields: +```asn1 +AnimalSubclassType ::= INTEGER { + unknown (0) -- the kind of animal is not known +} (0..255) +``` + +### PersonSubclassType + +Person Subclass Type +Describes the subclass of a detected object for class persons. Persons are a subset of the +vulnerable road users as defined in Section 4.2 of ETSI TR 103 300-2 as well as in the +classification provided in Annex 1 of Regulation EU 168/2013. +@unit n/a + + +Fields: +```asn1 +PersonSubclassType ::= INTEGER { + unknown (0), -- the vru type for the detected object is unknown + pedestrian (1), -- the detected object is a pedestrian travelling on foot + personInWheelchair (2), -- the detected object is a person travelling in a wheelchair + cyclist (3), -- the detected object is one or multiple persons travelling on + personWithStroller (4), -- the detected object is a person travelling on foot pushing or + personOnSkates (5), -- the detected object is a person travelling on skates, skateboards + personGroup (6) -- the detected object is a group of persons with similar +} (0..255) +``` + +### VehicleSubclassType + +Vehicle Subclass Type +Describes the subclass of a detected object for class vehicle. +@unit n/a + + +Fields: +* -- [**UNECE**](#UNECE) /TRANS/WP.29/78/Rev.4 class M1
+* -- [**UNECE**](#UNECE) /TRANS/WP.29/78/Rev.4 class O
+```asn1 +VehicleSubclassType ::= INTEGER { + unknown (0), -- the type of vehicle is unknown + moped (1), -- the detected object is a light motor vehicle with less than four + motorcycle (2), -- the detected object is a light motor vehicle with less than four + passengerCar (3), -- the detected object is a small passenger car as defined in + bus (4), -- the detected object is a large passenger vehicle as defined + lightTruck (5), -- the detected object is a light goods vehicle as defined + heavyTruck (6), -- the detected object is a heavy goods vehicle as defined + trailer (7), -- the detected object is an unpowered vehicle that is intended + specialVehicles (8), -- the detected object is a vehicle which has a special purpose + tram (9), -- the detected object is a vehicle running on tracks along + emergencyVehicle (10), -- the detected object is a vehicle used in an emergency situation + agricultural (11) -- the detected object is a vehicle used for agricultural purposes +} (0..255) +``` + +### OtherSubclassType + +Other Subclass Type +Describes the subclass of a detected object for class other. +@unit n/a + + +Fields: +```asn1 +OtherSubclassType ::= INTEGER { + unknown (0), + roadSideUnit (1) +} (0..255) +``` + +### ClassConfidence + +Class Confidence +Describes the confidence value for the type of a detected object. +@unit Percent + + +Fields: +```asn1 +ClassConfidence ::= INTEGER { + unknown (0), -- in case the confidence value is unknown but the reported + onePercent (1), + oneHundredPercent (100), + unavailable (101) -- In case the class confidence value computation is not available +} (0..101) +``` + +### WGS84AngleValue + +WGS 84 Angle Value +An angle value in degrees described in the WGS84 reference system with respect to the WGS84 north. +@unit 0,1 degrees + + +Fields: +```asn1 +WGS84AngleValue ::= INTEGER { + wgs84North (0), + wgs84East (900), + wgs84South (1800), + wgs84West (2700), + unavailable (3601) +} (0..3601) +``` + +### CartesianAngleValue + +Cartesian Angle Value +An angle value described in a local Cartesian coordinate system, counted positive in +a right-hand local coordinate system from the abscissa. +@unit 0,1 degrees + + +Fields: +```asn1 +CartesianAngleValue ::= INTEGER { + zeroPointOneDegree (1), + oneDegree (10), + unavailable (3601) +} (0..3601) +``` + +### CartesianAngularSpeedValue + +Cartesian Angular Speed Value +An angular speed value described in a local Cartesian coordinate system, counted positive in +a right-hand local coordinate system from the abscissa. +@unit 0,01 degrees/s + + +Fields: +```asn1 +CartesianAngularSpeedValue ::= INTEGER { + noSpeed (0), + oneDegreePerSecondAntiClockwise (100), + oneDegreePerSecondClockwise (-100) +} (-32766..32767) +``` + +### CartesianAngularAccelerationValue + +Cartesian Angular Acceleration Value +An angular acceleration value described in a local Cartesian coordinate system, counted positive in +a right-hand local coordinate system from the abscissa. +@unit 0,01 degrees/s^2 (degrees per second squared) + + +Fields: +```asn1 +CartesianAngularAccelerationValue ::= INTEGER { + noAcceleration (0), + oneDegreePerSecondSquaredAntiClockwise (100), + oneDegreePerSecondSquaredClockwise (-100) +} (-32766..32767) +``` + +### AngleConfidence + +Angle Confidence +The absolute accuracy of a reported angle value for a predefined confidence level (e.g. 95 %). +The required confidence level is defined by the corresponding standards applying this DE. +@unit 0,1 degrees + + +Fields: +```asn1 +AngleConfidence ::= INTEGER { + zeroPointOneDegree (1), + oneDegree (10), + outOfRange (126), -- if the accuracy is out of range, i.e. greater than + unavailable (127) -- if the accuracy information is not available +} (1..127) +``` + +### AngularSpeedConfidence + +Angular Speed Confidence +The absolute accuracy of a reported angular speed value for a predefined confidence level (e.g. 95 %). +The required confidence level is defined by the corresponding standards applying this DE. +For correlation computation, maximum interval levels shall be assumed. +@ n/a + + +Fields: +```asn1 +AngularSpeedConfidence ::= ENUMERATED { + degSec-000-01 (0), -- if the accuracy is equal to or less than 0,01 degree/second + degSec-000-05 (1), -- 1 if the accuracy is equal to or less than 0,05 degrees/second + degSec-000-10 (2), -- if the accuracy is equal to or less than 0,1 degree/second + degSec-001-00 (3), -- 3 if the accuracy is equal to or less than 1 degree/second + degSec-005-00 (4), -- if the accuracy is equal to or less than 5 degrees/second + degSec-010-00 (5), -- if the accuracy is equal to or less than 10 degrees/second + degSec-100-00 (6), -- if the accuracy is equal to or less than 100 degrees/second + outOfRange (7), -- if the accuracy is out of range, i.e. greater than 100 degrees/second + unavailable (8) -- if the accuracy information is unavailable +} +``` + +### AngularAccelerationConfidence + +Angular Acceleration Confidence +The absolute accuracy of a reported angular acceleration value for a predefined confidence level (e.g. 95 %). +The required confidence level is defined by the corresponding standards applying this DE. +For correlation computation, maximum interval levels shall be assumed. +@ n/a + + +Fields: +```asn1 +AngularAccelerationConfidence ::= ENUMERATED { + degSecSquared-000-01 (0), -- if the accuracy is equal to or less than 0,01 degree/second^2 + degSecSquared-000-05 (1), -- 1 if the accuracy is equal to or less than 0,05 degrees/second^2 + degSecSquared-000-10 (2), -- if the accuracy is equal to or less than 0,1 degree/second^2 + degSecSquared-001-00 (3), -- 3 if the accuracy is equal to or less than 1 degree/second^2 + degSecSquared-005-00 (4), -- if the accuracy is equal to or less than 5 degrees/second^2 + degSecSquared-010-00 (5), -- if the accuracy is equal to or less than 10 degrees/second^2 + degSecSquared-100-00 (6), -- if the accuracy is equal to or less than 100 degrees/second^2 + outOfRange (7), -- if the accuracy is out of range, i.e. greater than 100 degrees/second^2 + unavailable (8) -- if the accuracy information is unavailable +} +``` + +### SemiRangeLength + +Semi Range Length +The length of an axis of an ellipsoid or rectangle, used to describe the extension in a +particular direction. +@unit 0,1 m + + +Fields: +```asn1 +SemiRangeLength ::= INTEGER { + zeroPointOneMeter (1), + oneMeter (10) +} (0..10000) +``` + +### DistanceValue + +Distance Value +Distance from one point to another. +@unit 0,01 m + + +Fields: +```asn1 +DistanceValue ::= INTEGER { + zeroPointZeroOneMeter (1), + oneMeter (100) +} (-132768..132767) +``` + +### DistanceConfidence + +Distance Confidence +Absolute accuracy of measurement to a confidence level of 95%. +@unit 0,01 m + + +Fields: +```asn1 +DistanceConfidence ::= INTEGER { + zeroPointZeroOneMeter (1), + oneMeter (100), + outOfRange (4094), -- shall be set if the accuracy is out of range + unavailable (4095) -- shall be set if the accuracy data is unavailable +} (0..4095) +``` + +### DynamicStatus + +Dynamic Status +Indication whether the detected object is classified as a dynamic (i.e. moving) object. +This value indicates whether an object has the general capability to move, i.e. change its +position. +@unit n/a + + +Fields: +```asn1 +DynamicStatus ::= INTEGER { + dynamic (0), -- the object is moving + hasBeenDynamic (1), -- indicates whether an object has been dynamic before, e.g., a car + static (2) -- shall be used in case an object is identified to be not moving +} (0..2) +``` + +### HitchPointOffset + +Hitch Point Offset +Position of the hitch point in negative x-direction (according to ISO 8855) from the +vehicle Reference Point. +@unit 0,1 m + + +Fields: +```asn1 +HitchPointOffset ::= INTEGER { + zeroPointOneMeter (1), + oneMeter (10), + outOfRange (254), + unavailable (255) +} (0..255) +``` + +### FrontOverhang + +Front Overhang +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. +@unit 0,1 m + + +Fields: +```asn1 +FrontOverhang ::= INTEGER { + noOverhang (0), -- trailer is not overhanging to the front with respect to the + zeroPointOneMeter (1), + oneMeter (10) +} (0..50) +``` + +### FreeSpaceConfidence + +Free Space Confidence +Confidence indicating that an area is not occupied by a traffic participant or obstacle. +@unit n/a + + +Fields: +```asn1 +FreeSpaceConfidence ::= INTEGER { + unknown (0), -- if the free space confidence is unknown for the described area + onePercent (1), + oneHundredPercent (100), + unavailable (101) -- if the confidence could not be computed and does not apply. +} (0..101) +``` + +### LongitudinalLanePositionValue + +Longitudinal Lane Position Value +Indicates the longitudinal offset of the map-matched position of a particular object along the +matched lane, beginning from the lane’s starting point as defined in CEN ISO/TS 19091 +@unit 0,1 m + + +Fields: +```asn1 +LongitudinalLanePositionValue ::= INTEGER { + zeroPointOneMeter (1) +} (0..32767) +``` + +### LongitudinalLanePositionConfidence + +Longitudinal Lane Position Confidence +Absolute accuracy of longitudinal lane position measurement to a confidence level of 95%. +@unit 0,01 m + + +Fields: +```asn1 +LongitudinalLanePositionConfidence ::= INTEGER { + zeroPointZeroOneMeter (1), + oneMeter (100), + outOfRange (101), -- shall be set if the accuracy is out of range + unavailable (102) -- shall be set if the accuracy data is unavailable +} (0..102) +``` + +### ObjectAge + +Object Age +Age of object in milliseconds, i.e. for how long the object has been observed by the +disseminating station. +@unit 1 ms + + +Fields: +```asn1 +ObjectAge ::= INTEGER { + oneMiliSec (1), + moreThan1Point5Second (1500) -- indicates that the object has been observed for more than 1.5s. +} (0..1500) +``` + +### ObjectConfidence + +Object Confidence +A single-value indication about the overall information quality of a perceived object. Its computation +is based on several scaling factors and moving averages. See Clause 7.6.4 of ETSI TS 103 324 for details +on the computation. +@unit n/a + + +Fields: +```asn1 +ObjectConfidence ::= INTEGER { + noConfidence (0), -- No confidence in detected object, e.g. for "ghost"-objects or + fullConfidence (15) -- Full confidence in detected object +} (0..15) +``` + +### ObjectDimensionValue + +Object Dimension Value +A dimension for an object. +@unit 0,1 m + + +Fields: +```asn1 +ObjectDimensionValue ::= INTEGER { + zeroPointOneMeter (1), + oneMeter (10) +} (0..1023) +``` + +### ObjectDimensionConfidence + +Object Dimension Confidence +Accuracy of provided dimension value with a predefined confidence level (e.g. 95%) +@unit 0,01 m + + +Fields: +```asn1 +ObjectDimensionConfidence ::= INTEGER { + zeroPointZeroOneMeter (1), + oneMeter (100), + outOfRange (101), + unavailable (102) +} (0..102) +``` + +### ObjectRefPoint + +Object Reference Point +Reference point of measurement for the object dimensions. All provided state variables of this +object are given relative to the reference point. The point is included in the plane +perpendicular to the direction of the @see yawAngleValue. + + +Fields: +```asn1 +ObjectRefPoint ::= INTEGER { + mid (0), + bottomLeft (1), + midLeft (2), + topLeft (3), + bottomMid (4), + topMid (5), + bottomRight (6), + midRight (7), + topRight (8) +} (0..8) +``` + +### Radius + +Radius +The dimension of a sensor area in the shape of a circle or a rectangle. +@unit 0,1 m + + +Fields: +```asn1 +Radius ::= INTEGER { + zeroPointOneMeter (1), + oneMeter (10) +} (0..10000) +``` + +### Range + +Range +Range of sensor within the indicated azimuth Angle defined by the start and end opening angle. +@unit 0,1 m + + +Fields: +```asn1 +Range ::= INTEGER { + zeroPointOneMeter (1), + oneMeter (10) +} (0..10000) +``` + +### RearOverhang + +Rear Overhang +Length of the trailer overhang in the negative x direction (according to ISO 8855) from the +trailer Reference Point indicated by the @see refPointID +@unit 0,1 m + + +Fields: +```asn1 +RearOverhang ::= INTEGER { + zeroPointOneMeter (1), + oneMeter (10) + } (0..150) +``` + +### RefPointId + +Reference Point ID +Reference point counter for a trailer. +@unit n/a + + +```asn1 +RefPointId ::= INTEGER (0..255) +``` + +### SensorHeight + +Sensor Height + Height of sensor position relative to altitude provided by the reference position. +@unit 0,01 m + + +Fields: +```asn1 +SensorHeight ::= INTEGER { + zeroPointZeroOneMeter (1) +} (-5000..5000) +``` + +### VehicleHeight + +Vehicle Height +The height if the vehicle, measured from the ground to the highest point, excluding any antennas. +In case vehicles are equipped with adjustable ride heights, camper shells, and any other +equipment which may result in varying height, the largest possible height shall be used. +@unit 5 cm (DE ranges to 6.35 m) + + +```asn1 +VehicleHeight ::= INTEGER (0..127) +``` + +### ShadowingApplies + +Shadowing Applies Indication +Boolean indication if tracing approach shall be used to compute a shadowed area behind an object. +If set to TRUE, the simple tracing approach shall be applied for each object intersecting or +located within the area or volume described by the freeSpaceAddendum container. If set to FALSE, +the simple tracing approach shall not be applied for each object intersecting or located within +the area or volume described by the freeSpaceAddenum container. +@unit n/a + + +```asn1 +ShadowingApplies ::= BOOLEAN +``` + +### Identifier + +Identifier +General identifier data element. +@unit n/a + + +```asn1 +Identifier ::= INTEGER (0..255) +``` + +### NumberOfPerceivedObjects + +Number of Perceived Objects +A data element for representing the total number of detected and shared objects of an ITS-S +transmitting a CPM. +@unit n/a + + +```asn1 +NumberOfPerceivedObjects ::= INTEGER (0..255) +``` + +### SensorType + +Sensor Type +Describes the type of attached sensor +@unit n/a + + +Fields: +```asn1 +SensorType ::= INTEGER { + undefined (0), + radar (1), + lidar (2), + monovideo (3), + stereovision (4), + nightvision (5), + ultrasonic (6), + pmd (7), + fusion (8), -- object information provided from sensor data fusion system + inductionloop (9), + sphericalCamera (10), + itssaggregation (11) -- object information gathered from other received ITS messages +} (0..15) +``` + +### SegmentCount + +Segment Count +A data element for representing either the total number of generated segments by the transmitter +or the identification of the received message segment. +@unit n/a + + +```asn1 +SegmentCount ::= INTEGER( 1..127) +``` + +### SpeedValueExtended + +Speed Value Extended +Value of a speed component. +@unit 0,01 m/s + + +Fields: +```asn1 +SpeedValueExtended ::= INTEGER { + negativeSpeedMaximum (-16383), -- shall be set for values equal to or smaller than -163,83 m/s + standstill (0), + oneCentimeterPerSec (1), + speedMaximum (16382), -- shall be set for values equal to or greater than 163,82 m/s + unavailable (16383) -- shall be set if information is not available +} (-16383..16383) +``` + +### AccelerationValue + +Acceleration Value +Value of an acceleration component. +@unit 0,1 m/s2 + + +Fields: +```asn1 +AccelerationValue ::= INTEGER { + pointOneMeterPerSecSquared (1), + minusPointOneMeterPerSecSquared (-1), + unavailable (161) -- shall be set if information is not available +} (-160 .. 161) +``` + +### TimeOfMeasurement + +Time of Measurement +Time difference with respect to the @see generationDeltaTime for the provided measurement for the +object. Negative values indicate that the provided object state refers to a point in time after +the @see generationDeltaTime has been computed, i.e. after the latest disseminating ITS-S +position update which is used to calculate the generationDeltaTime. +@unit 1 ms + + +Fields: +```asn1 +TimeOfMeasurement ::= INTEGER { + oneMilliSecond (1) +} (-1500..1500) +``` + +### XSensorOffset + +X Sensor Offset +Describes the mounting position of a sensor along the negative x-direction from Reference Point +indicated by the @see refPointID +@unit 0,01 m + + +Fields: +```asn1 +XSensorOffset ::= INTEGER { + negativeZeroPointZeroOneMeter (-1), + negativeOneMeter (-100), + negativeOutOfRange (-3094), + positiveOneMeter (100), + positiveOutOfRange (1001) +} (-3094..1001) +``` + +### YSensorOffset + +Y Sensor Offset +Described the mounting position of a sensor in y-direction from Reference Point +indicated by the @see refPointID +@unit 0,01 m + + +Fields: +```asn1 +YSensorOffset ::= INTEGER { + zeroPointZeroOneMeter (1), + oneMeter (100) +} (-1000..1000) +``` + +### ZSensorOffset + +Z Sensor Offset +Described the mounting position of a sensor in y-direction from Reference Point +indicated by the @see refPointID +@unit 0,01 m + + +Fields: +```asn1 +ZSensorOffset ::= INTEGER { + zeroPointZeroOneMeter (1), + oneMeter (100) +} (0..1000) +``` + + + diff --git a/docs/CPM-FreeSpaceAddendum-Descriptions.md b/docs/CPM-FreeSpaceAddendum-Descriptions.md new file mode 100644 index 0000000..a218574 --- /dev/null +++ b/docs/CPM-FreeSpaceAddendum-Descriptions.md @@ -0,0 +1,93 @@ +# ASN.1 module CPM-FreeSpaceAddendum-Descriptions + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) freeSpaceAddendum (6) version1 (1) }_ + +## Imports: + * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ +## Data Elements: +### FreeSpaceAddendumContainer + +Free Space Addendum Container +A list of provided free space addendums. Each addendum shall be described asa provided by +@see FreeSpaceAddendum. + + +```asn1 +FreeSpaceAddendumContainer ::= SEQUENCE SIZE(1..128, ...) OF FreeSpaceAddendum +``` + +### FreeSpaceAddendum + +Free Space Addendum +This container shall only be added if the confidence indication needs to be altered with respect +to the isotropic @see FreeSpaceConfidence confidence level indication provided in the +@see SensorInformation. + + +Fields: +* freeSpaceConfidence [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence)
+* freeSpaceArea [**FreeSpaceArea**](#FreeSpaceArea)
+* sensorIDList [**SensorIdList**](CPM-CommonDataTypes-Descriptions.md#SensorIdList) OPTIONAL
+* shadowingApplies [**ShadowingApplies**](CPM-CommonDataTypes-Descriptions.md#ShadowingApplies) DEFAULT TRUE
+```asn1 +FreeSpaceAddendum ::= SEQUENCE { + /** @detailsfreeSpaceConfidence + Describes an isotropic free space confidence that applies to the entire area as defined in + the @see freeSpaceArea of a particular free space addendum container. + */ + freeSpaceConfidence FreeSpaceConfidence, + /** @details freeSpaceArea + Describes the free space area for which the free space confidence of this addendum + container is valid. + */ + freeSpaceArea FreeSpaceArea, + /** @details sensorIDList + Provides a list of pseudonym sensor IDs which performed the measurement to indicate the + free space. + */ + sensorIDList SensorIdList OPTIONAL, + /**@details shadowingApplies + Indicates if the simple shadowing mechanism applies within the area described + by @see freeSpaceArea. + */ + shadowingApplies ShadowingApplies DEFAULT TRUE, + ... +} +``` + +### FreeSpaceArea + +Free Space Area +The described area that is considered as not occupied by any traffic participant or obstacle by +the disseminating ITS-S. + + +Fields: +* freeSpacePolygon [**AreaPolygon**](CPM-CommonDataTypes-Descriptions.md#AreaPolygon)
+* freeSpaceCircular [**AreaCircular**](CPM-CommonDataTypes-Descriptions.md#AreaCircular)
+* freeSpaceEllipse [**AreaEllipse**](CPM-CommonDataTypes-Descriptions.md#AreaEllipse)
+* freeSpaceRectangle [**AreaRectangle**](CPM-CommonDataTypes-Descriptions.md#AreaRectangle)
+```asn1 +FreeSpaceArea ::= CHOICE { + /** @details freeSpacePolygon + A sequence of node points from a given offset point to describe an arbitrary area shape. + */ + freeSpacePolygon AreaPolygon, + /**@details freeSpaceCircular + A description of a circular area. + */ + freeSpaceCircular AreaCircular, + /** @details freeSpaceEllipse + A description of an elliptical area. + */ + freeSpaceEllipse AreaEllipse, + /** @details freeSpaceRectangle + A description of a rectangular area. + */ + freeSpaceRectangle AreaRectangle, + ... +} +``` + + + diff --git a/docs/CPM-OriginatingStationData-Descriptions.md b/docs/CPM-OriginatingStationData-Descriptions.md new file mode 100644 index 0000000..22362fe --- /dev/null +++ b/docs/CPM-OriginatingStationData-Descriptions.md @@ -0,0 +1,119 @@ +# ASN.1 module CPM-OriginatingStationData-Descriptions + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1) }_ + +## Imports: + * **ITS-Container** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
+ Include ETSI TS 102 894-2 + Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn + + * **DSRC** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
+ Include ISO 19091 + Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn + + * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ +## Data Elements: +### OriginatingVehicleContainer + +Originating Vehicle Container +The _originatingVehicleContainer_ provides detailed information about the vehicle ITS-S +disseminating the CPM. + + +Fields: +* heading [**Heading**](ITS-Container.md#Heading)
+* speed [**Speed**](ITS-Container.md#Speed)
+* verticalSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended) OPTIONAL
+* vehicleOrientationAngle [**WGS84Angle**](CPM-CommonDataTypes-Descriptions.md#WGS84Angle) OPTIONAL
+* driveDirection [**DriveDirection**](ITS-Container.md#DriveDirection) DEFAULT forward
+* longitudinalAcceleration [**LongitudinalAcceleration**](ITS-Container.md#LongitudinalAcceleration) OPTIONAL
+* lateralAcceleration [**LateralAcceleration**](ITS-Container.md#LateralAcceleration) OPTIONAL
+* verticalAcceleration [**VerticalAcceleration**](ITS-Container.md#VerticalAcceleration) OPTIONAL
+* yawRate [**YawRate**](ITS-Container.md#YawRate) OPTIONAL
+* rollAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
+* vehicleLength [**VehicleLength**](ITS-Container.md#VehicleLength) OPTIONAL
+* vehicleWidth [**VehicleWidth**](ITS-Container.md#VehicleWidth) OPTIONAL
+* vehicleHeight [**VehicleHeight**](CPM-CommonDataTypes-Descriptions.md#VehicleHeight) OPTIONAL
+* trailerDataContainer [**TrailerDataContainer**](CPM-CommonDataTypes-Descriptions.md#TrailerDataContainer) OPTIONAL
+```asn1 +OriginatingVehicleContainer ::= SEQUENCE { + /** @details heading + Heading and heading accuracy of the vehicle movement of the originating ITS-S with regards to + the true north. The heading accuracy provided in the DE @see headingConfidence value shall + provide the accuracy of the measured vehicle heading with a confidence level of 95 %. + */ + heading Heading, + /** @details speed + Driving speed and speed accuracy of the originating ITS-S. The speed accuracy provided in the + DE speedConfidence shall provide the accuracy of the speed value with a confidence level of 95 %. + */ + speed Speed, + /** @details verticalSpeed + Vertical speed and speed accuracy of the originating ITS-S. The speed accuracy provided in the + DE speedConfidence shall provide the accuracy of the speed value with a confidence level of 95 %. + Vertical means perpendicular to the ground plane of the WGS84 coordinate system at the current + position of the originating ITS-S. + */ + verticalSpeed SpeedExtended OPTIONAL, + + /** @details vehicleOrientationAngle + Angle and angle accuracy of the absolute orientation of the disseminating vehicle in the + WGS84 coordinate system with respect to true North. This is opposed to the vehicle heading + which is calculated taking into account the speed vector. The confidence denotes the accuracy + of the measured angle value for a confidence level of 95 %. + */ + vehicleOrientationAngle WGS84Angle OPTIONAL, + driveDirection DriveDirection DEFAULT forward, + longitudinalAcceleration LongitudinalAcceleration OPTIONAL, + lateralAcceleration LateralAcceleration OPTIONAL, + verticalAcceleration VerticalAcceleration OPTIONAL, + yawRate YawRate OPTIONAL, + /** @details pitchAngle + Angle and angle accuracy between the ground plane and the current orientation of a vehicle's + x-axis with respect to the ground plane about the y-axis according to the ISO 8855. + */pitchAngle CartesianAngle OPTIONAL, + + /** @details rollAngle + Angle and angle accuracy between the ground plane and the current orientation of a vehicle's + y-axis with respect to the ground plane about the x-axis according to the ISO 8855 + */ + rollAngle CartesianAngle OPTIONAL, + vehicleLength VehicleLength OPTIONAL, + vehicleWidth VehicleWidth OPTIONAL, + vehicleHeight VehicleHeight OPTIONAL, + /** @details trailerDataContainer + Provides detailed information about the trailers dimensions and orientation in case a trailer is present. + */ + trailerDataContainer TrailerDataContainer OPTIONAL, + ... +} +``` + +### OriginatingRSUContainer + +Originating RSU Container +The _originatingRSUContainer_ provides information about the RSU type ITS-S disseminating the CPM. + + +Fields: +* intersectionReferenceId [**IntersectionReferenceID**](DSRC.md#IntersectionReferenceID)
+* roadSegmentReferenceId [**RoadSegmentReferenceID**](DSRC.md#RoadSegmentReferenceID)
+```asn1 +OriginatingRSUContainer ::= CHOICE { + /** @details intersectionReferenceId + Conveys the combination of an optional RoadRegulatorID and of an IntersectionID that is + unique within that region. When the RoadRegulatorID is present, the IntersectionReferenceID + is guaranteed to be globally unique. + */ + intersectionReferenceId IntersectionReferenceID, + /** @details roadSegmentReferenceId + Conveys the RoadSegmentReferenceID which is unique to a given road segment of interest, and + also the RoadRegulatorID assigned to the region in which it is operating + */ + roadSegmentReferenceId RoadSegmentReferenceID, + ... +} +``` + + + diff --git a/docs/CPM-PDU-Descriptions.md b/docs/CPM-PDU-Descriptions.md new file mode 100644 index 0000000..1180b87 --- /dev/null +++ b/docs/CPM-PDU-Descriptions.md @@ -0,0 +1,200 @@ +# ASN.1 module CPM-PDU-Descriptions + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) version1 (1) }_ + +## Imports: + * **ITS-Container** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
+ Include ETSI TS 102 894-2 v1.3.1 + Include references from @url https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn + + * **CAM-PDU-Descriptions** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) en(302637) cam(2) version(2)}*
+ Include ETSI EN 302 637-2 v1.4.1 + Include references from @url https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2/blob/v1.4.1/CAM-PDU-Descriptions.asn + + * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ + * **CPM-OriginatingStationData-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1)}*
+ + * **CPM-SensorInformation-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1)}*
+ + * **CPM-PerceivedObject-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObject (5) version1 (1)}*
+ + * **CPM-FreeSpaceAddendum-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) freeSpaceAddendum (6) version1 (1)}*
+ +## Data Elements: +### CPM-STATIONDATA-ID-AND-TYPE + + + +Fields: +```asn1 +CPM-STATIONDATA-ID-AND-TYPE ::= CLASS { + &id CpmStationDataId UNIQUE, + &Type +} WITH SYNTAX {&Type IDENTIFIED BY &id} +``` + +### CPM-CONTAINER-ID-AND-TYPE + + + +Fields: +```asn1 +CPM-CONTAINER-ID-AND-TYPE ::= CLASS { + &id CpmContainerId UNIQUE, + &Type +} WITH SYNTAX {&Type IDENTIFIED BY &id} +``` + +### CpmStationDataId + + + +```asn1 +CpmStationDataId ::= INTEGER (0..255) +CpmContainerId ::= INTEGER (0..255) +``` + +### CPM-STATIONDATA-ID-AND-TYPE + + + +Fields: +```asn1 +CPM-STATIONDATA-ID-AND-TYPE ::= { + {OriginatingVehicleContainer IDENTIFIED BY originatingStationVehicleContainer} | + {OriginatingRSUContainer IDENTIFIED BY originatingStationRSUContainer}, + ... +} +``` + +### CPM-CONTAINER-ID-AND-TYPE + + + +Fields: +```asn1 +CPM-CONTAINER-ID-AND-TYPE ::= { + {SensorInformationContainer IDENTIFIED BY sensorInformationCpmContainer} | + {PerceivedObjectContainer IDENTIFIED BY perceivedObjectCpmContainer} | + {FreeSpaceAddendumContainer IDENTIFIED BY freeSpaceAdddendumCpmContainer}, + ... +} +``` + +### CpmStationDataId + + + +```asn1 +CpmStationDataId ::= 1 +originatingStationRSUContainer CpmStationDataId ::= 2 +``` + +### CpmContainerId + + + +```asn1 +CpmContainerId ::= 1 +perceivedObjectCpmContainer CpmContainerId ::= 2 +freeSpaceAdddendumCpmContainer CpmContainerId ::= 3 +``` + +### CPM + +Collective Perception Message Root +This DF includes DEs for the CPM protocolVersion, the CP message type identifier _messageID_ and +the station identifier _stationID_ of the originating ITS-S. + + +Fields: +* The [**DE**](#DE) _protocolVersion_ is used to select the appropriate protocol decoder at the receiving
+* The [**DE**](#DE) _messageID_ shall be harmonized with other V2X message identifier definitions.
+* header [**ItsPduHeader**](ITS-Container.md#ItsPduHeader)
+* cpm [**CollectivePerceptionMessage**](#CollectivePerceptionMessage)
+```asn1 +CPM ::= SEQUENCE { + /** @details header + The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving + ITS-S. It shall be set to @todo cpm(15). + The DE _messageID_ shall be harmonized with other V2X message identifier definitions. + */ + header ItsPduHeader, + cpm CollectivePerceptionMessage +} +``` + +### CollectivePerceptionMessage + +Collective Perception Message +This is the actual CPM Payload. It shall include the time stamp of the CPM and the applicable +containers of type _PerceptionData_. The selection of the StationDataContainer type container +depends on the _StationType_ as selected in the @see CpmManagementContainer + + +Fields: +* generationDeltaTime [**GenerationDeltaTime**](CAM-PDU-Descriptions.md#GenerationDeltaTime)
+* cpmParameters [**CpmParameters**](#CpmParameters)
+```asn1 +CollectivePerceptionMessage ::= SEQUENCE { + generationDeltaTime GenerationDeltaTime, + cpmParameters CpmParameters +} +``` + +### CpmParameters + +CPM Parameters +The sequence of mandatory and optional containers. Other containers may be added in the future. + + +Fields: +* managementContainer [**CpmManagementContainer**](#CpmManagementContainer)
+* stationDataContainer [**CpmStationDataContainer**](#CpmStationDataContainer) {{OriginatingStationData
+```asn1 +CpmParameters ::= SEQUENCE { + /** managementContainer + The managementContainer comprises basic information about the originating ITS-S, which are + not specific to vehicles or RSUs. + */ + managementContainer CpmManagementContainer, + /** stationDataContainer + The stationDataContainer comprises ITS-S type specific information about the sending station. + */ + stationDataContainer CpmStationDataContainer {{OriginatingStationData}} OPTIONAL, + /** perceptionData + The perceptionData comprises different container types for describing the sensory properties + of the transmitting ITS-S, its detected objects and free space estimates. + */ + perceptionData SEQUENCE SIZE(1..255) OF CpmPerceptionDataContainer {{PerceptionData}} OPTIONAL, + ... +} +``` + +### CpmManagementContainer + +CPM Management Container +The managementContainer comprises basic information about the originating ITS-S, which are not +specific to vehicles or RSUs. + + +Fields: +* stationType [**StationType**](ITS-Container.md#StationType)
+* messageSegmentInfo [**MessageSegmentInfo**](CPM-CommonDataTypes-Descriptions.md#MessageSegmentInfo) OPTIONAL
+* referencePosition [**ReferencePosition**](ITS-Container.md#ReferencePosition)
+```asn1 +CpmManagementContainer ::= SEQUENCE { + stationType StationType, + /** @brief messageSegmentInfo + The perceived object container segment info describes the segmentation information in case + the data for CPM transmission needs to be split up into multiple messages due to + message size constraints. + */ + messageSegmentInfo MessageSegmentInfo OPTIONAL, + referencePosition ReferencePosition, + ... +} +``` + + + diff --git a/docs/CPM-PerceivedObject-Descriptions.md b/docs/CPM-PerceivedObject-Descriptions.md new file mode 100644 index 0000000..0ab4cc4 --- /dev/null +++ b/docs/CPM-PerceivedObject-Descriptions.md @@ -0,0 +1,326 @@ +# ASN.1 module CPM-PerceivedObject-Descriptions + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObject (5) version1 (1) }_ + +## Imports: + * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ +## Data Elements: +### PerceivedObjectContainer + +Perceived Object Container +A list of perceived objects. Each object shall be described as defined in @see PerceivedObject. + + +Fields: +* numberOfPerceivedObjects [**NumberOfPerceivedObjects**](CPM-CommonDataTypes-Descriptions.md#NumberOfPerceivedObjects) DEFAULT 0
+* perceivedObjects [**SEQUENCE**](#SEQUENCE) SIZE(1..128
+```asn1 +PerceivedObjectContainer ::= SEQUENCE { + /** @details numberOfPerceivedObjects + The total number of detected objects by the station at the time of generating the message. + Due to the dynamic message generation rules, this number does not have to reflect the number + of objects included in this message but states the number of objects known to the sender at + the time of generating the message. + */ + numberOfPerceivedObjects NumberOfPerceivedObjects DEFAULT 0, + perceivedObjects SEQUENCE SIZE(1..128, ...) OF PerceivedObject +} +``` + +### PerceivedObject + +Perceived Object +An object in the context of the CP Service refers to the kinematic and attitude representation of +a detected object within a sensor’s perception range. An object may be reported directly by a +sensor or a sensor fusion system. + + +Fields: +* objectID [**Identifier**](CPM-CommonDataTypes-Descriptions.md#Identifier)
+* timeOfMeasurement [**TimeOfMeasurement**](CPM-CommonDataTypes-Descriptions.md#TimeOfMeasurement)
+* xDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance)
+* yDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance)
+* zDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance) OPTIONAL
+* xSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended)
+* ySpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended)
+* zSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended) OPTIONAL
+* xAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
+* yAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
+* zAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
+* rollAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
+* pitchAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
+* yawAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
+* rollRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
+* pitchRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
+* yawRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
+* rollAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
+* pitchAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
+* yawAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
+* lowerTriangularCorrelationMatrixColumns [**LowerTriangularPositiveSemidefiniteMatrix**](CPM-CommonDataTypes-Descriptions.md#LowerTriangularPositiveSemidefiniteMatrix) OPTIONAL
+* planarObjectDimension1 [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) OPTIONAL
+* planarObjectDimension2 [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) OPTIONAL
+* verticalObjectDimension [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) OPTIONAL
+* objectRefPoint [**ObjectRefPoint**](CPM-CommonDataTypes-Descriptions.md#ObjectRefPoint) DEFAULT 0
+* objectAge [**ObjectAge**](CPM-CommonDataTypes-Descriptions.md#ObjectAge)
+* objectConfidence [**ObjectConfidence**](CPM-CommonDataTypes-Descriptions.md#ObjectConfidence) OPTIONAL
+* sensorIDList [**SensorIdList**](CPM-CommonDataTypes-Descriptions.md#SensorIdList) OPTIONAL
+* dynamicStatus [**DynamicStatus**](CPM-CommonDataTypes-Descriptions.md#DynamicStatus) OPTIONAL
+* classification [**ObjectClassDescription**](CPM-CommonDataTypes-Descriptions.md#ObjectClassDescription) OPTIONAL
+* matchedPosition [**MatchedPosition**](CPM-CommonDataTypes-Descriptions.md#MatchedPosition) OPTIONAL
+```asn1 +PerceivedObject ::= SEQUENCE { + /** @details objectID + Identifier assigned to a detected object which remains constant as long as the object is + perceived by the disseminating ITS-S. Numbers are assigned in an increasing round-robin + fashion. When the last identifier in the allowed range has been used, the first counter for + the identifier starts from the beginning of the range again. + */ + objectID Identifier, + /** @details timeOfMeasurement + Provides the time difference from the message’s generation delta time to the time of the + measurement of the object. + */ + timeOfMeasurement TimeOfMeasurement, + /** @details xDistance + Distance to detected object from the ITS-S's reference point in x-direction for the time + of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system + as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which + the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- + axis to the vertical direction. + */ + xDistance ObjectDistance, + /** @details yDistance + Distance to detected object from the ITS-S's reference point in y-direction for the time + of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system + as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which + the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- + axis to the vertical direction + */ + yDistance ObjectDistance, + /** @details zDistance + Distance to detected object from the ITS-S's reference point in z-direction for the time + of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system + as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which + the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- + axis to the vertical direction + */ + zDistance ObjectDistance OPTIONAL, + /** @details xSpeed + Speed of the detected object in the detecting ITS-S’s reference system in x-direction for the + time of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by + ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in + a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the + East direction, and the z-axis to the vertical direction. + */ + xSpeed SpeedExtended, + /** @details ySpeed + Speed of the detected object in the detecting ITS-S’s reference system in y-direction for the + time of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by + ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in + a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the + East direction, and the z-axis to the vertical direction. + */ + ySpeed SpeedExtended, + /** @details zSpeed + Speed of the detected object in the detecting ITS-S’s reference system in z-direction for the + time of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by + ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in + a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the + East direction, and the z-axis to the vertical direction. + */ + zSpeed SpeedExtended OPTIONAL, + /** @details xAcceleration + Acceleration of the detected object from the ITS-S's reference point in x-direction + for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed + coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. + For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds + to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. + */ + xAcceleration Acceleration OPTIONAL, + /** @details yAcceleration + Acceleration of the detected object from the ITS-S's reference point in y-direction + for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed + coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. + For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds + to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. + */ + yAcceleration Acceleration OPTIONAL, + /** @details zAcceleration + Acceleration of the detected object from the ITS-S's reference point in z-direction + for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed + coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. + For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds + to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. + */ + zAcceleration Acceleration OPTIONAL, + /** @details rollAngle + Roll angle of object from the ITS-S's reference point. For a vehicle, the angle is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angle is measured with positive values considering the object orientation turning + counter-clockwise around the x-axis. + */ + rollAngle CartesianAngle OPTIONAL, + /** @details pitchAngle + Pitch angle of object from the ITS-S's reference point. For a vehicle, the angle is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angle is measured with positive values considering the object orientation turning + counter-clockwise around the y-axis. + */ + pitchAngle CartesianAngle OPTIONAL, + /** @details yawAngle + Yaw angle of object from the ITS-S's reference point. For a vehicle, the angle is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angle is measured with positive values considering the object orientation turning + counter-clockwise around the z-axis. + */ + yawAngle CartesianAngle OPTIONAL, + /** @details rollRate + Roll rate of object from the ITS-S's reference point. For a vehicle, the angular rate is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular rate is measured with positive values considering the object orientation turning + counter-clockwise around the x-axis. + */ + rollRate CartesianAngularSpeed OPTIONAL, + /** @details pitchRate + Pitch rate of object from the ITS-S's reference point. For a vehicle, the angular rate is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular rate is measured with positive values considering the object orientation turning + counter-clockwise around the y-axis. + */ + pitchRate CartesianAngularSpeed OPTIONAL, + /** @details yawRate + Yaw rate of object from the ITS-S's reference point. For a vehicle, the angular rate is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular rate is measured with positive values considering the object orientation turning + counter-clockwise around the z-axis. + */ + yawRate CartesianAngularSpeed OPTIONAL, + /** @details rollAcceleration + Roll acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular acceleration is measured with positive values considering the object orientation turning + counter-clockwise around the x-axis. + */ + rollAcceleration CartesianAngularAcceleration OPTIONAL, + /** @details pitchAcceleration + Pitch acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular acceleration is measured with positive values considering the object orientation turning + counter-clockwise around the y-axis. + */ + pitchAcceleration CartesianAngularAcceleration OPTIONAL, + /** @details yawAcceleration + Yaw acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular acceleration is measured with positive values considering the object orientation turning + counter-clockwise around the z-axis. + */ + yawAcceleration CartesianAngularAcceleration OPTIONAL, + /** @details lowerTriangularCorrelationMatrixColumns + Provides the columns of a lower triangular positive semi definite correlation matrix for the + kinematic state and attitude space provided for this object. + The order of the columns and rows of the correlation matrix is as follows: + - xDistance + - yDistance + - zDistance + - xSpeed + - ySpeed + - zSpeed + - xAcceleration + - yAcceleration + - zAcceleration + - rollAngle + - pitchAngle + - yawAngle + - rollRate + - pitchRate + - yawRate + - rollAcceleration + - pitchAcceleration + - yawAcceleration + The number of lowerTriangularCorrelationMatrixColumns to be included "k" is thereby the number of provided + values "n" of the kinematic state and attitude space 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 space are not provided, they are omitted from + the lowerTriangularCorrelationMatrixColumns. + */ + lowerTriangularCorrelationMatrixColumns LowerTriangularPositiveSemidefiniteMatrix OPTIONAL, + /** @details planarObjectDimension1 + 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. + */ + planarObjectDimension1 ObjectDimension OPTIONAL, + /** @details planarObjectDimension2 + 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. + */ + planarObjectDimension2 ObjectDimension OPTIONAL, + /** @details verticalObjectDimension + Vertical dimension of object as provided by the sensor or object model. + */ + verticalObjectDimension ObjectDimension OPTIONAL, + /** @details 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. + */ + objectRefPoint ObjectRefPoint DEFAULT 0, + /** @details objectAge + Provides the age of the detected and described object. + */ + objectAge ObjectAge, + /** @details objectConfidence + The 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. + */ + objectConfidence ObjectConfidence OPTIONAL, + /** @details sensorIDList + List of sensor-IDs which provided the measurement data. Refers to the sensorID in the + @see SensorInformationContainer. + If the @see SensorInformationContainer is never provided by the disseminating ITS-S, the list shall be + populated with random numbers, where each number is assigned to a sensor of the transmitting station. + */ + sensorIDList SensorIdList OPTIONAL, + /** @details dynamicStatus + Indicated the dynamic capabilities of a detected object. + */ + dynamicStatus DynamicStatus OPTIONAL, + /** @details classification + Provides the classification of the described object. Multi-dimensional classification may be + provided. + */ + classification ObjectClassDescription OPTIONAL, + /** @details matchedPosition + The optional map-matched position of an object. This requires that a MAP-message is provided. + */ + matchedPosition MatchedPosition OPTIONAL, + ... +} +``` + + + diff --git a/docs/CPM-SensorInformation-Descriptions.md b/docs/CPM-SensorInformation-Descriptions.md new file mode 100644 index 0000000..14ec57e --- /dev/null +++ b/docs/CPM-SensorInformation-Descriptions.md @@ -0,0 +1,170 @@ +# ASN.1 module CPM-SensorInformation-Descriptions + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1) }_ + +## Imports: + * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ +## Data Elements: +### SensorInformationContainer + +Sensor Information Container +This container contains a list of sensor-types or data fusion systems from which the station +provides information about detected objects. + + +```asn1 +SensorInformationContainer ::= SEQUENCE SIZE(1..128, ...) OF SensorInformation +``` + +### SensorInformation + + + +Fields: +* This [**ID**](#ID) is referred to in the @see PerceivedObject.
+* sensorID [**Identifier**](CPM-CommonDataTypes-Descriptions.md#Identifier)
+* type [**SensorType**](CPM-CommonDataTypes-Descriptions.md#SensorType)
+* detectionArea [**DetectionArea**](#DetectionArea)
+* freeSpaceConfidence [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence) OPTIONAL
+```asn1 +SensorInformation ::= SEQUENCE { + /** @details sensorID + Sensor pseudonym ID used to relate which measurement has been received by which sensor. + This ID is referred to in the @see PerceivedObject. + */ + sensorID Identifier, + type SensorType, + detectionArea DetectionArea, + /** @details freeSpaceConfidence + Describes the isotropic free space confidence that can be assumed for the entire detection + area of this sensor. Shadowed areas can be derived from provided objects. Deviations from + this free space derivation can be expressed in the @see FreeSpaceAddendumContainer. + */ + freeSpaceConfidence FreeSpaceConfidence OPTIONAL, + ... +} +``` + +### DetectionArea + +Detection Area +Choice of DFs to detail the sensor information. + + +Fields: +* vehicleSensor [**VehicleSensor**](#VehicleSensor)
+* stationarySensorRadial [**AreaRadial**](CPM-CommonDataTypes-Descriptions.md#AreaRadial)
+* stationarySensorPolygon [**AreaPolygon**](CPM-CommonDataTypes-Descriptions.md#AreaPolygon)
+* stationarySensorCircular [**AreaCircular**](CPM-CommonDataTypes-Descriptions.md#AreaCircular)
+* stationarySensorEllipse [**AreaEllipse**](CPM-CommonDataTypes-Descriptions.md#AreaEllipse)
+* stationarySensorRectangle [**AreaRectangle**](CPM-CommonDataTypes-Descriptions.md#AreaRectangle)
+```asn1 +DetectionArea ::= CHOICE { + /** @details vehicleSensor + The _vehicleSensor_ shall be used for describing non-stationary sensors attached to vehicles. + */ + vehicleSensor VehicleSensor, + /** @details stationarySensorRadial + The _stationarySensorRadial_ can be used to provide details for describing sensors mounted to + road-side units + */ + stationarySensorRadial AreaRadial, + /** @details stationarySensorPolygon + The _stationarySensorPolygon_ can be used to describe a polygonal detection area associated + to a single sensor or to describe the union of multiple polygonal areas expressed as one + combined polygon. + */ + stationarySensorPolygon AreaPolygon, + /** @details stationarySensorCircular + The _stationarySensorCircular_ describes a circular perception area for a stationary sensor. + The position offset refers to the center point of the circular area. + */ + stationarySensorCircular AreaCircular, + /** @details stationarySensorEllipse + The _stationarySensorEllipse_ describes an ellipse-shaped perception area for a stationary + sensor.The position offset refers to the center point of the ellipse. + */ + stationarySensorEllipse AreaEllipse, + /** @details stationarySensorRectangle + The _stationarySensorRectangle_ describes a rectangle as a perception area for a stationary + sensor. The position offset refers to the center point of the rectangle. + */ + stationarySensorRectangle AreaRectangle, + ... +} +``` + +### VehicleSensor + +Vehicle Sensor +Describes the perception capabilities of mobile sensors mounted to vehicles. + + +Fields: +* refPointId [**RefPointId**](CPM-CommonDataTypes-Descriptions.md#RefPointId) DEFAULT 0
+* xSensorOffset [**XSensorOffset**](CPM-CommonDataTypes-Descriptions.md#XSensorOffset)
+* ySensorOffset [**YSensorOffset**](CPM-CommonDataTypes-Descriptions.md#YSensorOffset)
+* zSensorOffset [**ZSensorOffset**](CPM-CommonDataTypes-Descriptions.md#ZSensorOffset) OPTIONAL
+* vehicleSensorPropertyList [**VehicleSensorPropertyList**](#VehicleSensorPropertyList)
+```asn1 +VehicleSensor ::= SEQUENCE { + /** @details refPointId + An identification of the reference point in case of a sensor mounted to trailer. + Defaults to ITS ReferencePoint (0). + */ + refPointId RefPointId DEFAULT 0, + /** @details xSensorOffset + Mounting position of sensor in negative x-direction from Reference Point indicated by the @see refPointId. + */ + xSensorOffset XSensorOffset, + /** @details ySensorOffset + Mounting position of sensor in y-direction from Reference Point indicated by the @see refPointId. + */ + ySensorOffset YSensorOffset, + /** @details zSensorOffset + Mounting position of sensor in z-direction from Reference Point indicated by the @see refPointId. + */ + zSensorOffset ZSensorOffset OPTIONAL, + /** @details vehicleSensorPropertyList + The actual extension of the area covered by the specific vehicle sensor. In case of multiple + perception areas for a sensor, a list of areas covered by this sensor can be added. + */ + vehicleSensorPropertyList VehicleSensorPropertyList, + ... +} +``` + +### VehicleSensorPropertyList + + + +```asn1 +VehicleSensorPropertyList ::= SEQUENCE SIZE(1..10) OF VehicleSensorProperties +``` + +### VehicleSensorProperties + +Vehicle Sensor Properties +The actual extension of the area covered by the specific vehicle sensor. In case of multiple +perception areas for a sensor, a list of areas covered by this sensor can be added. + + +Fields: +* range [**Range**](CPM-CommonDataTypes-Descriptions.md#Range)
+* horizontalOpeningAngleStart [**CartesianAngleValue**](CPM-CommonDataTypes-Descriptions.md#CartesianAngleValue)
+* horizontalOpeningAngleEnd [**CartesianAngleValue**](CPM-CommonDataTypes-Descriptions.md#CartesianAngleValue)
+* verticalOpeningAngleStart [**CartesianAngleValue**](CPM-CommonDataTypes-Descriptions.md#CartesianAngleValue) OPTIONAL
+* verticalOpeningAngleEnd [**CartesianAngleValue**](CPM-CommonDataTypes-Descriptions.md#CartesianAngleValue) OPTIONAL
+```asn1 +VehicleSensorProperties ::= SEQUENCE { + range Range, + horizontalOpeningAngleStart CartesianAngleValue, + horizontalOpeningAngleEnd CartesianAngleValue, + verticalOpeningAngleStart CartesianAngleValue OPTIONAL, + verticalOpeningAngleEnd CartesianAngleValue OPTIONAL, + ... +} +``` + + + diff --git a/docs/ITS-Container.md b/docs/ITS-Container.md new file mode 100644 index 0000000..d8867e3 --- /dev/null +++ b/docs/ITS-Container.md @@ -0,0 +1,1494 @@ +# ASN.1 module ITS-Container + OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }_ + +## Data Elements: +### ItsPduHeader + + + +Fields: +* protocolVersion **INTEGER** (0..255)
+* messageID **INTEGER** { denm(1)
+```asn1 +ItsPduHeader ::= SEQUENCE { + protocolVersion INTEGER (0..255), + messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13) } (0..255), -- Mantis #7209, #7005 + stationID StationID +} +``` + +### StationID + + + +```asn1 +StationID ::= INTEGER(0..4294967295) +``` + +### ReferencePosition + + + +Fields: +* latitude [**Latitude**](ITS-Container.md#Latitude)
+* longitude [**Longitude**](ITS-Container.md#Longitude)
+* positionConfidenceEllipse [**PosConfidenceEllipse**](#PosConfidenceEllipse)
+* altitude [**Altitude**](#Altitude)
+```asn1 +ReferencePosition ::= SEQUENCE { + latitude Latitude, + longitude Longitude, + positionConfidenceEllipse PosConfidenceEllipse , + altitude Altitude +} +``` + +### DeltaReferencePosition + + + +Fields: +* deltaLatitude [**DeltaLatitude**](#DeltaLatitude)
+* deltaLongitude [**DeltaLongitude**](#DeltaLongitude)
+* deltaAltitude [**DeltaAltitude**](#DeltaAltitude)
+```asn1 +DeltaReferencePosition ::= SEQUENCE { + deltaLatitude DeltaLatitude, + deltaLongitude DeltaLongitude, + deltaAltitude DeltaAltitude +} +``` + +### Longitude + + + +Fields: +```asn1 +Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001) +``` + +### Latitude + + + +Fields: +```asn1 +Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)} (-900000000..900000001) +``` + +### Altitude + + + +Fields: +* altitudeValue [**AltitudeValue**](#AltitudeValue)
+* altitudeConfidence [**AltitudeConfidence**](#AltitudeConfidence)
+```asn1 +Altitude ::= SEQUENCE { + altitudeValue AltitudeValue, + altitudeConfidence AltitudeConfidence +} +``` + +### AltitudeValue + + + +Fields: +```asn1 +AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001) +``` + +### AltitudeConfidence + + + +Fields: +```asn1 +AltitudeConfidence ::= ENUMERATED { + alt-000-01 (0), + alt-000-02 (1), + alt-000-05 (2), + alt-000-10 (3), + alt-000-20 (4), + alt-000-50 (5), + alt-001-00 (6), + alt-002-00 (7), + alt-005-00 (8), + alt-010-00 (9), + alt-020-00 (10), + alt-050-00 (11), + alt-100-00 (12), + alt-200-00 (13), + outOfRange (14), + unavailable (15) +} +``` + +### DeltaLongitude + + + +Fields: +```asn1 +DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072) +``` + +### DeltaLatitude + + + +Fields: +```asn1 +DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072) +``` + +### DeltaAltitude + + + +Fields: +```asn1 +DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800) +``` + +### PosConfidenceEllipse + + + +Fields: +* semiMajorConfidence [**SemiAxisLength**](#SemiAxisLength)
+* semiMinorConfidence [**SemiAxisLength**](#SemiAxisLength)
+* semiMajorOrientation [**HeadingValue**](#HeadingValue)
+```asn1 +PosConfidenceEllipse ::= SEQUENCE { + semiMajorConfidence SemiAxisLength, + semiMinorConfidence SemiAxisLength, + semiMajorOrientation HeadingValue +} +``` + +### PathPoint + + + +Fields: +* pathPosition [**DeltaReferencePosition**](#DeltaReferencePosition)
+* pathDeltaTime [**PathDeltaTime**](#PathDeltaTime) OPTIONAL
+```asn1 +PathPoint ::= SEQUENCE { + pathPosition DeltaReferencePosition, + pathDeltaTime PathDeltaTime OPTIONAL +} +``` + +### PathDeltaTime + + + +Fields: +```asn1 +PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...) +``` + +### PtActivation + + + +Fields: +* ptActivationType [**PtActivationType**](#PtActivationType)
+* ptActivationData [**PtActivationData**](#PtActivationData)
+```asn1 +PtActivation ::= SEQUENCE { + ptActivationType PtActivationType, + ptActivationData PtActivationData +} +``` + +### PtActivationType + + + +Fields: +```asn1 +PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255) +``` + +### PtActivationData + + + +```asn1 +PtActivationData ::= OCTET STRING (SIZE(1..20)) +``` + +### AccelerationControl + + + +Fields: +```asn1 +AccelerationControl ::= BIT STRING { + brakePedalEngaged (0), + gasPedalEngaged (1), + emergencyBrakeEngaged (2), + collisionWarningEngaged (3), + accEngaged (4), + cruiseControlEngaged (5), + speedLimiterEngaged (6) +} (SIZE(7)) +``` + +### SemiAxisLength + + + +Fields: +```asn1 +SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095) +``` + +### CauseCode + + + +Fields: +* causeCode [**CauseCodeType**](#CauseCodeType)
+* subCauseCode [**SubCauseCodeType**](#SubCauseCodeType)
+```asn1 +CauseCode ::= SEQUENCE { + causeCode CauseCodeType, + subCauseCode SubCauseCodeType, + ... +} +``` + +### CauseCodeType + + + +Fields: +```asn1 +CauseCodeType ::= INTEGER { + reserved (0), + trafficCondition (1), + accident (2), + roadworks (3), + impassability (5), + adverseWeatherCondition-Adhesion (6), + aquaplannning (7), + hazardousLocation-SurfaceCondition (9), + hazardousLocation-ObstacleOnTheRoad (10), + hazardousLocation-AnimalOnTheRoad (11), + humanPresenceOnTheRoad (12), + wrongWayDriving (14), + rescueAndRecoveryWorkInProgress (15), + adverseWeatherCondition-ExtremeWeatherCondition (17), + adverseWeatherCondition-Visibility (18), + adverseWeatherCondition-Precipitation (19), + slowVehicle (26), + dangerousEndOfQueue (27), + vehicleBreakdown (91), + postCrash (92), + humanProblem (93), + stationaryVehicle (94), + emergencyVehicleApproaching (95), + hazardousLocation-DangerousCurve (96), + collisionRisk (97), + signalViolation (98), + dangerousSituation (99) +} (0..255) +``` + +### SubCauseCodeType + + + +```asn1 +SubCauseCodeType ::= INTEGER (0..255) +``` + +### TrafficConditionSubCauseCode + + + +Fields: +```asn1 +TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255) +``` + +### AccidentSubCauseCode + + + +Fields: +```asn1 +AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255) +``` + +### RoadworksSubCauseCode + + + +Fields: +```asn1 +RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255) +``` + +### HumanPresenceOnTheRoadSubCauseCode + + + +Fields: +```asn1 +HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255) +``` + +### WrongWayDrivingSubCauseCode + + + +Fields: +```asn1 +WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255) +``` + +### AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode + + + +Fields: +```asn1 +AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255) +``` + +### AdverseWeatherCondition-AdhesionSubCauseCode + + + +Fields: +```asn1 +AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255) +``` + +### AdverseWeatherCondition-VisibilitySubCauseCode + + + +Fields: +```asn1 +AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255) +``` + +### AdverseWeatherCondition-PrecipitationSubCauseCode + + + +Fields: +```asn1 +AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255) +``` + +### SlowVehicleSubCauseCode + + + +Fields: +```asn1 +SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255) +``` + +### StationaryVehicleSubCauseCode + + + +Fields: +```asn1 +StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255) +``` + +### HumanProblemSubCauseCode + + + +Fields: +```asn1 +HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255) +``` + +### EmergencyVehicleApproachingSubCauseCode + + + +Fields: +```asn1 +EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255) +``` + +### HazardousLocation-DangerousCurveSubCauseCode + + + +Fields: +```asn1 +HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255) +``` + +### HazardousLocation-SurfaceConditionSubCauseCode + + + +Fields: +```asn1 +HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255) +``` + +### HazardousLocation-ObstacleOnTheRoadSubCauseCode + + + +Fields: +```asn1 +HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255) +``` + +### HazardousLocation-AnimalOnTheRoadSubCauseCode + + + +Fields: +```asn1 +HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255) +``` + +### CollisionRiskSubCauseCode + + + +Fields: +```asn1 +CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255) +``` + +### SignalViolationSubCauseCode + + + +Fields: +```asn1 +SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255) +``` + +### RescueAndRecoveryWorkInProgressSubCauseCode + + + +Fields: +```asn1 +RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255) +``` + +### DangerousEndOfQueueSubCauseCode + + + +Fields: +```asn1 +DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255) +``` + +### DangerousSituationSubCauseCode + + + +Fields: +```asn1 +DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255) +``` + +### VehicleBreakdownSubCauseCode + + + +Fields: +```asn1 +VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8), tyrePressureProblem(9)} (0..255) +``` + +### PostCrashSubCauseCode + + + +Fields: +```asn1 +PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255) +``` + +### Curvature + + + +Fields: +* curvatureValue [**CurvatureValue**](#CurvatureValue)
+* curvatureConfidence [**CurvatureConfidence**](#CurvatureConfidence)
+```asn1 +Curvature ::= SEQUENCE { + curvatureValue CurvatureValue, + curvatureConfidence CurvatureConfidence +} +``` + +### CurvatureValue + + + +Fields: +```asn1 +CurvatureValue ::= INTEGER {straight(0), unavailable(1023)} (-1023..1023) +``` + +### CurvatureConfidence + + + +Fields: +```asn1 +CurvatureConfidence ::= ENUMERATED { + onePerMeter-0-00002 (0), + onePerMeter-0-0001 (1), + onePerMeter-0-0005 (2), + onePerMeter-0-002 (3), + onePerMeter-0-01 (4), + onePerMeter-0-1 (5), + outOfRange (6), + unavailable (7) +} +``` + +### CurvatureCalculationMode + + + +Fields: +```asn1 +CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...} +``` + +### Heading + + + +Fields: +* headingValue [**HeadingValue**](#HeadingValue)
+* headingConfidence [**HeadingConfidence**](#HeadingConfidence)
+```asn1 +Heading ::= SEQUENCE { + headingValue HeadingValue, + headingConfidence HeadingConfidence +} +``` + +### HeadingValue + + + +Fields: +```asn1 +HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601) +``` + +### HeadingConfidence + + + +Fields: +```asn1 +HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127) +``` + +### LanePosition + + + +Fields: +```asn1 +LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0), +outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) +``` + +### ClosedLanes + + + +Fields: +* innerhardShoulderStatus [**HardShoulderStatus**](#HardShoulderStatus) OPTIONAL
+* outerhardShoulderStatus [**HardShoulderStatus**](#HardShoulderStatus) OPTIONAL
+* drivingLaneStatus [**DrivingLaneStatus**](#DrivingLaneStatus) OPTIONAL
+```asn1 +ClosedLanes ::= SEQUENCE { + innerhardShoulderStatus HardShoulderStatus OPTIONAL, + outerhardShoulderStatus HardShoulderStatus OPTIONAL, + drivingLaneStatus DrivingLaneStatus OPTIONAL, + ... +} +``` + +### HardShoulderStatus + + + +Fields: +```asn1 +HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)} +``` + +### DrivingLaneStatus + + + +```asn1 +DrivingLaneStatus ::= BIT STRING (SIZE (1..13)) +``` + +### PerformanceClass + + + +Fields: +```asn1 +PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7) +``` + +### SpeedValue + + + +Fields: +```asn1 +SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383) +``` + +### SpeedConfidence + + + +Fields: +```asn1 +SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127) +``` + +### VehicleMass + + + +Fields: +```asn1 +VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) +``` + +### Speed + + + +Fields: +* speedValue [**SpeedValue**](#SpeedValue)
+* speedConfidence [**SpeedConfidence**](ITS-Container.md#SpeedConfidence)
+```asn1 +Speed ::= SEQUENCE { + speedValue SpeedValue, + speedConfidence SpeedConfidence +} +``` + +### DriveDirection + + + +Fields: +```asn1 +DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)} +``` + +### EmbarkationStatus + + + +```asn1 +EmbarkationStatus ::= BOOLEAN +``` + +### LongitudinalAcceleration + + + +Fields: +* longitudinalAccelerationValue [**LongitudinalAccelerationValue**](#LongitudinalAccelerationValue)
+* longitudinalAccelerationConfidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
+```asn1 +LongitudinalAcceleration ::= SEQUENCE { + longitudinalAccelerationValue LongitudinalAccelerationValue, + longitudinalAccelerationConfidence AccelerationConfidence +} +``` + +### LongitudinalAccelerationValue + + + +Fields: +```asn1 +LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161) +``` + +### AccelerationConfidence + + + +Fields: +```asn1 +AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102) +``` + +### LateralAcceleration + + + +Fields: +* lateralAccelerationValue [**LateralAccelerationValue**](#LateralAccelerationValue)
+* lateralAccelerationConfidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
+```asn1 +LateralAcceleration ::= SEQUENCE { + lateralAccelerationValue LateralAccelerationValue, + lateralAccelerationConfidence AccelerationConfidence +} +``` + +### LateralAccelerationValue + + + +Fields: +```asn1 +LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161) +``` + +### VerticalAcceleration + + + +Fields: +* verticalAccelerationValue [**VerticalAccelerationValue**](#VerticalAccelerationValue)
+* verticalAccelerationConfidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
+```asn1 +VerticalAcceleration ::= SEQUENCE { + verticalAccelerationValue VerticalAccelerationValue, + verticalAccelerationConfidence AccelerationConfidence +} +``` + +### VerticalAccelerationValue + + + +Fields: +```asn1 +VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161) +``` + +### StationType + + + +Fields: +```asn1 +StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), +lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255) +``` + +### ExteriorLights + + + +Fields: +```asn1 +ExteriorLights ::= BIT STRING { + lowBeamHeadlightsOn (0), + highBeamHeadlightsOn (1), + leftTurnSignalOn (2), + rightTurnSignalOn (3), + daytimeRunningLightsOn (4), + reverseLightOn (5), + fogLightOn (6), + parkingLightsOn (7) +} (SIZE(8)) +``` + +### DangerousGoodsBasic + + + +Fields: +```asn1 +DangerousGoodsBasic::= ENUMERATED { + explosives1(0), + explosives2(1), + explosives3(2), + explosives4(3), + explosives5(4), + explosives6(5), + flammableGases(6), + nonFlammableGases(7), + toxicGases(8), + flammableLiquids(9), + flammableSolids(10), + substancesLiableToSpontaneousCombustion(11), + substancesEmittingFlammableGasesUponContactWithWater(12), + oxidizingSubstances(13), + organicPeroxides(14), + toxicSubstances(15), + infectiousSubstances(16), + radioactiveMaterial(17), + corrosiveSubstances(18), + miscellaneousDangerousSubstances(19) +} +``` + +### DangerousGoodsExtended + + + +Fields: +* dangerousGoodsType [**DangerousGoodsBasic**](ITS-Container.md#DangerousGoodsBasic)
+* unNumber **INTEGER** (0..9999)
+* elevatedTemperature **BOOLEAN**
+* tunnelsRestricted **BOOLEAN**
+* limitedQuantity **BOOLEAN**
+* emergencyActionCode [**IA5String**](#IA5String) (SIZE (1..24)) OPTIONAL
+* phoneNumber [**PhoneNumber**](#PhoneNumber) OPTIONAL
+* companyName [**UTF8String**](#UTF8String) (SIZE (1..24)) OPTIONAL
+```asn1 +DangerousGoodsExtended ::= SEQUENCE { + dangerousGoodsType DangerousGoodsBasic, + unNumber INTEGER (0..9999), + elevatedTemperature BOOLEAN, + tunnelsRestricted BOOLEAN, + limitedQuantity BOOLEAN, + emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL, + phoneNumber PhoneNumber OPTIONAL, + companyName UTF8String (SIZE (1..24)) OPTIONAL, + ... +} +``` + +### SpecialTransportType + + + +Fields: +```asn1 +SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4)) +``` + +### LightBarSirenInUse + + + +Fields: +```asn1 +LightBarSirenInUse ::= BIT STRING { + lightBarActivated (0), + sirenActivated (1) +} (SIZE(2)) +``` + +### HeightLonCarr + + + +Fields: +```asn1 +HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) +``` + +### PosLonCarr + + + +Fields: +```asn1 +PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) +``` + +### PosPillar + + + +Fields: +```asn1 +PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) +``` + +### PosCentMass + + + +Fields: +```asn1 +PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) +``` + +### RequestResponseIndication + + + +Fields: +```asn1 +RequestResponseIndication ::= ENUMERATED {request(0), response(1)} +``` + +### SpeedLimit + + + +Fields: +```asn1 +SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) +``` + +### StationarySince + + + +Fields: +```asn1 +StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)} +``` + +### Temperature + + + +Fields: +```asn1 +Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67) +``` + +### TrafficRule + + + +Fields: +```asn1 +TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... +} +``` + +### WheelBaseVehicle + + + +Fields: +```asn1 +WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) +``` + +### TurningRadius + + + +Fields: +```asn1 +TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) +``` + +### PosFrontAx + + + +Fields: +```asn1 +PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) +``` + +### PositionOfOccupants + + + +Fields: +```asn1 +PositionOfOccupants ::= BIT STRING { + row1LeftOccupied (0), + row1RightOccupied (1), + row1MidOccupied (2), + row1NotDetectable (3), + row1NotPresent (4), + row2LeftOccupied (5), + row2RightOccupied (6), + row2MidOccupied (7), + row2NotDetectable (8), + row2NotPresent (9), + row3LeftOccupied (10), + row3RightOccupied (11), + row3MidOccupied (12), + row3NotDetectable (13), + row3NotPresent (14), + row4LeftOccupied (15), + row4RightOccupied (16), + row4MidOccupied (17), + row4NotDetectable (18), + row4NotPresent (19)} (SIZE(20)) +``` + +### PositioningSolutionType + + + +Fields: +```asn1 +PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...} +``` + +### VehicleIdentification + + + +Fields: +* wMInumber [**WMInumber**](#WMInumber) OPTIONAL
+* vDS [**VDS**](#VDS) OPTIONAL
+```asn1 +VehicleIdentification ::= SEQUENCE { + wMInumber WMInumber OPTIONAL, + vDS VDS OPTIONAL, + ... +} +``` + +### WMInumber + + + +```asn1 +WMInumber ::= IA5String (SIZE(1..3)) +``` + +### VDS + + + +```asn1 +VDS ::= IA5String (SIZE(6)) +``` + +### EnergyStorageType + + + +Fields: +```asn1 +EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7)) +``` + +### VehicleLength + + + +Fields: +* vehicleLengthValue [**VehicleLengthValue**](#VehicleLengthValue)
+* vehicleLengthConfidenceIndication [**VehicleLengthConfidenceIndication**](#VehicleLengthConfidenceIndication)
+```asn1 +VehicleLength ::= SEQUENCE { + vehicleLengthValue VehicleLengthValue, + vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication +} +``` + +### VehicleLengthValue + + + +Fields: +```asn1 +VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023) +``` + +### VehicleLengthConfidenceIndication + + + +Fields: +```asn1 +VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)} +``` + +### VehicleWidth + + + +Fields: +```asn1 +VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62) +``` + +### PathHistory + + + +```asn1 +PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint +``` + +### EmergencyPriority + + + +Fields: +```asn1 +EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2)) +``` + +### InformationQuality + + + +Fields: +```asn1 +InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) +``` + +### RoadType + + + +Fields: +```asn1 +RoadType ::= ENUMERATED { + urban-NoStructuralSeparationToOppositeLanes(0), + urban-WithStructuralSeparationToOppositeLanes(1), + nonUrban-NoStructuralSeparationToOppositeLanes(2), + nonUrban-WithStructuralSeparationToOppositeLanes(3)} +``` + +### SteeringWheelAngle + + + +Fields: +* steeringWheelAngleValue [**SteeringWheelAngleValue**](#SteeringWheelAngleValue)
+* steeringWheelAngleConfidence [**SteeringWheelAngleConfidence**](#SteeringWheelAngleConfidence)
+```asn1 +SteeringWheelAngle ::= SEQUENCE { + steeringWheelAngleValue SteeringWheelAngleValue, + steeringWheelAngleConfidence SteeringWheelAngleConfidence +} +``` + +### SteeringWheelAngleValue + + + +Fields: +```asn1 +SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512) +``` + +### SteeringWheelAngleConfidence + + + +Fields: +```asn1 +SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127) +``` + +### TimestampIts + + + +Fields: +```asn1 +TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103) +``` + +### VehicleRole + + + +Fields: +```asn1 +VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8), commercial(9), military(10), roadOperator(11), taxi(12), reserved1(13), reserved2(14), reserved3(15)} +``` + +### YawRate + + + +Fields: +* yawRateValue [**YawRateValue**](#YawRateValue)
+* yawRateConfidence [**YawRateConfidence**](#YawRateConfidence)
+```asn1 +YawRate::= SEQUENCE { + yawRateValue YawRateValue, + yawRateConfidence YawRateConfidence +} +``` + +### YawRateValue + + + +Fields: +```asn1 +YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767) +``` + +### YawRateConfidence + + + +Fields: +```asn1 +YawRateConfidence ::= ENUMERATED { + degSec-000-01 (0), + degSec-000-05 (1), + degSec-000-10 (2), + degSec-001-00 (3), + degSec-005-00 (4), + degSec-010-00 (5), + degSec-100-00 (6), + outOfRange (7), + unavailable (8) +} +``` + +### ProtectedZoneType + + + +Fields: +```asn1 +ProtectedZoneType::= ENUMERATED { permanentCenDsrcTolling (0), ..., temporaryCenDsrcTolling (1) } +``` + +### RelevanceDistance + + + +Fields: +```asn1 +RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)} +``` + +### RelevanceTrafficDirection + + + +Fields: +```asn1 +RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)} +``` + +### TransmissionInterval + + + +Fields: +```asn1 +TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000) +``` + +### ValidityDuration + + + +Fields: +```asn1 +ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400) +``` + +### ActionID + + + +Fields: +* originatingStationID [**StationID**](#StationID)
+* sequenceNumber [**SequenceNumber**](#SequenceNumber)
+```asn1 +ActionID ::= SEQUENCE { + originatingStationID StationID, + sequenceNumber SequenceNumber +} +``` + +### ItineraryPath + + + +```asn1 +ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition +``` + +### ProtectedCommunicationZone + + + +Fields: +* protectedZoneType [**ProtectedZoneType**](#ProtectedZoneType)
+* expiryTime [**TimestampIts**](#TimestampIts) OPTIONAL
+* protectedZoneLatitude [**Latitude**](ITS-Container.md#Latitude)
+* protectedZoneLongitude [**Longitude**](ITS-Container.md#Longitude)
+* protectedZoneRadius [**ProtectedZoneRadius**](#ProtectedZoneRadius) OPTIONAL
+* protectedZoneID [**ProtectedZoneID**](#ProtectedZoneID) OPTIONAL
+```asn1 +ProtectedCommunicationZone ::= SEQUENCE { + protectedZoneType ProtectedZoneType, + expiryTime TimestampIts OPTIONAL, + protectedZoneLatitude Latitude, + protectedZoneLongitude Longitude, + protectedZoneRadius ProtectedZoneRadius OPTIONAL, + protectedZoneID ProtectedZoneID OPTIONAL, + ... +} +``` + +### Traces + + + +```asn1 +Traces ::= SEQUENCE SIZE(1..7) OF PathHistory +``` + +### NumberOfOccupants + + + +Fields: +```asn1 +NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127) +``` + +### SequenceNumber + + + +```asn1 +SequenceNumber ::= INTEGER (0..65535) +``` + +### PositionOfPillars + + + +```asn1 +PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar +``` + +### RestrictedTypes + + + +```asn1 +RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType +``` + +### EventHistory + + + +```asn1 +EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint +``` + +### EventPoint + + + +Fields: +* eventPosition [**DeltaReferencePosition**](#DeltaReferencePosition)
+* eventDeltaTime [**PathDeltaTime**](#PathDeltaTime) OPTIONAL
+* informationQuality [**InformationQuality**](#InformationQuality)
+```asn1 +EventPoint ::= SEQUENCE { + eventPosition DeltaReferencePosition, + eventDeltaTime PathDeltaTime OPTIONAL, + informationQuality InformationQuality +} +``` + +### ProtectedCommunicationZonesRSU + + + +```asn1 +ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone +``` + +### CenDsrcTollingZone + + + +Fields: +* protectedZoneLatitude [**Latitude**](ITS-Container.md#Latitude)
+* protectedZoneLongitude [**Longitude**](ITS-Container.md#Longitude)
+* cenDsrcTollingZoneID [**CenDsrcTollingZoneID**](#CenDsrcTollingZoneID) OPTIONAL
+```asn1 +CenDsrcTollingZone ::= SEQUENCE { + protectedZoneLatitude Latitude, + protectedZoneLongitude Longitude, + cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL, + ... +} +``` + +### ProtectedZoneRadius + + + +Fields: +```asn1 +ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...) +``` + +### ProtectedZoneID + + + +```asn1 +ProtectedZoneID ::= INTEGER (0.. 134217727) +``` + +### CenDsrcTollingZoneID + + + +```asn1 +CenDsrcTollingZoneID ::= ProtectedZoneID +``` + +### DigitalMap + + + +```asn1 +DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition +``` + +### OpeningDaysHours + + + +```asn1 +OpeningDaysHours ::= UTF8String +``` + +### PhoneNumber + + + +```asn1 +PhoneNumber ::= NumericString (SIZE(1..16)) +``` + + + -- GitLab From 4caa9c9eb0437eb6e481a8bf68f6080c650bc8ca Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Tue, 25 May 2021 10:17:25 +0000 Subject: [PATCH 4/8] Documentation update --- docs/CAM-PDU-Descriptions.md | 22 +- docs/CPM-CommonDataTypes-Descriptions.md | 938 ++++++++++-------- docs/CPM-FreeSpaceAddendum-Descriptions.md | 64 +- ...CPM-OriginatingStationData-Descriptions.md | 103 +- docs/CPM-PDU-Descriptions.md | 116 ++- docs/CPM-PerceivedObject-Descriptions.md | 455 ++++----- docs/CPM-SensorInformation-Descriptions.md | 107 +- docs/ITS-Container.md | 225 +++-- 8 files changed, 983 insertions(+), 1047 deletions(-) diff --git a/docs/CAM-PDU-Descriptions.md b/docs/CAM-PDU-Descriptions.md index 1f10c90..d2af86d 100644 --- a/docs/CAM-PDU-Descriptions.md +++ b/docs/CAM-PDU-Descriptions.md @@ -2,16 +2,11 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (2) }_ ## Imports: - * **ITS-Container** *{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
+ * **[ITS-Container](ITS-Container.md)** *{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
## Data Elements: -### CAM - -Fields: -* header [**ItsPduHeader**](ITS-Container.md#ItsPduHeader)
-* cam [**CoopAwareness**](#CoopAwareness)
```asn1 CAM ::= SEQUENCE { header ItsPduHeader, @@ -67,12 +62,8 @@ HighFrequencyContainer ::= CHOICE { } ``` -### LowFrequencyContainer - -Fields: -* basicVehicleContainerLowFrequency [**BasicVehicleContainerLowFrequency**](#BasicVehicleContainerLowFrequency)
```asn1 LowFrequencyContainer ::= CHOICE { basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency, @@ -206,26 +197,16 @@ SpecialTransportContainer ::= SEQUENCE { } ``` -### DangerousGoodsContainer - -Fields: -* dangerousGoodsBasic [**DangerousGoodsBasic**](ITS-Container.md#DangerousGoodsBasic)
```asn1 DangerousGoodsContainer ::= SEQUENCE { dangerousGoodsBasic DangerousGoodsBasic } ``` -### RoadWorksContainerBasic - -Fields: -* roadworksSubCauseCode [**RoadworksSubCauseCode**](ITS-Container.md#RoadworksSubCauseCode) OPTIONAL
-* lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
-* closedLanes [**ClosedLanes**](ITS-Container.md#ClosedLanes) OPTIONAL
```asn1 RoadWorksContainerBasic ::= SEQUENCE { roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL, @@ -297,7 +278,6 @@ RSUContainerHighFrequency ::= SEQUENCE { -Fields: ```asn1 GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535) ``` diff --git a/docs/CPM-CommonDataTypes-Descriptions.md b/docs/CPM-CommonDataTypes-Descriptions.md index c4a359e..05f51ca 100644 --- a/docs/CPM-CommonDataTypes-Descriptions.md +++ b/docs/CPM-CommonDataTypes-Descriptions.md @@ -2,114 +2,94 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1) }_ ## Imports: - * **ITS-Container** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
- Include ETSI TS 102 894-2 v1.3.1 - Include references from @url https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn + * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
+ Include ETSI TS 102 894-2 v1.3.1
+ Include references from https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn - * **DSRC** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
- Include ISO 19091 - Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn + * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
+ Include ISO 19091
+ Include references from https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn ## Data Elements: ### AreaCircular -Area Circular +Area Circular
Describes a circular area. The circle is centred about the reference point of the ITS-S or about the nodeCenterPoint (if provided). The DF shall include the following information: Fields: +* **Optional** offset point about which the circle is centred with respect to the reference
+* **position** of the ITS-S.
* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* **The** radius of the circular area
* radius [**Radius**](#Radius)
```asn1 AreaCircular ::= SEQUENCE { - /** @details nodeCenterPoint - Optional offset point about which the circle is centred with respect to the reference - position of the ITS-S. - */ - nodeCenterPoint OffsetPoint OPTIONAL, - /** @details radius - The radius of the circular area - */ - radius Radius + nodeCenterPoint OffsetPoint OPTIONAL, + radius Radius } ``` ### AreaEllipse -Area Ellipse +Area Ellipse
Describes an elliptical area. The ellipse is centred about the reference point of the ITS-S or about the nodeCenterPoint (if provided). Fields: +* **Optional** offset point about which the ellipse is centred with respect to the reference
+* **position** of the ITS-S.
* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* **Major** radius of the ellipse.
* semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* **Minor** radius of the ellipse.
* semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* **Orientation** of the semiMajorRangeLength of the ellipse in the WGS84 coordinate system.
* semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue)
* semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL
```asn1 AreaEllipse ::= SEQUENCE { - /** @details nodeCenterPoint - Optional offset point about which the ellipse is centred with respect to the reference - position of the ITS-S. - */ - nodeCenterPoint OffsetPoint OPTIONAL, - /** @details semiMinorRangeLength - Major radius of the ellipse. - */ - semiMinorRangeLength SemiRangeLength, - /** @details semiMajorRangeLength - Minor radius of the ellipse. - */ - semiMajorRangeLength SemiRangeLength, - /** @details semiMajorRangeOrientation - Orientation of the semiMajorRangeLength of the ellipse in the WGS84 coordinate system. - */ - semiMajorRangeOrientation WGS84AngleValue, + nodeCenterPoint OffsetPoint OPTIONAL, + semiMinorRangeLength SemiRangeLength, + semiMajorRangeLength SemiRangeLength, + semiMajorRangeOrientation WGS84AngleValue, semiHeight SemiRangeLength OPTIONAL } ``` ### AreaRectangle -Area Rectangle +Area Rectangle
Describes a rectangular area. The rectangle is centred about the reference point of the ITS-S or about the nodeCenterPoint (if provided). Fields: +* **Optional** offset point about which the rectangle is centred with respect to the reference
+* **position** of the ITS-S.
* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* **Half** length of the rectangle.
* semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* **Half** width of the rectangle.
* semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength)
+* **Orientation** of the semiMajorRangeLength of the rectangle in the WGS84 coordinate system.
* semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue)
* semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL
```asn1 AreaRectangle ::= SEQUENCE { - /** @details nodeCenterPoint - Optional offset point about which the rectangle is centred with respect to the reference - position of the ITS-S. - */ - nodeCenterPoint OffsetPoint OPTIONAL, - /** @details semiMajorRangeLength - Half length of the rectangle. - */ - semiMajorRangeLength SemiRangeLength, - /** @details semiMinorRangeLength - Half width of the rectangle. - */ - semiMinorRangeLength SemiRangeLength, - /** @details semiMajorRangeOrientation - Orientation of the semiMajorRangeLength of the rectangle in the WGS84 coordinate system. - */ - semiMajorRangeOrientation WGS84AngleValue, + nodeCenterPoint OffsetPoint OPTIONAL, + semiMajorRangeLength SemiRangeLength, + semiMinorRangeLength SemiRangeLength, + semiMajorRangeOrientation WGS84AngleValue, semiHeight SemiRangeLength OPTIONAL } ``` ### AreaPolygon -Area Polygon +Area Polygon
Describes a polygonal area constructed by connecting the offset points in the sequence provided. The last point shall be connected with the first point to close the polygon. @@ -124,7 +104,7 @@ AreaPolygon ::= SEQUENCE { ### PolyPointList -Poly Point List +Poly Point List
Describes a list of points representing a polygon. The last point shall be connected with the first point to close the polygon. @@ -135,7 +115,7 @@ PolyPointList ::= SEQUENCE (SIZE(3..16, ...)) OF OffsetPoint ### AreaRadial -Area Radial +Area Radial
Describes a radial area scanned by a stationary sensor. The triangular or cone-shaped area is constructed by sweeping the provided range about the reference point of the ITS-S or about the point described by the sensor offset point (if provided) with respect to the reference point @@ -147,248 +127,202 @@ above intersections). Fields: +* **The** radial range of the sensor from the reference point or sensor point offset.
* range [**Range**](#Range)
+* **The** orientation indicating the beginning of the stationary sensor’s horizontal opening angle
+* **in** positive angular direction with respect to the WGS84 coordinate system.
* stationaryHorizontalOpeningAngleStart [**WGS84AngleValue**](#WGS84AngleValue)
+* **The** orientation indicating the end of the stationary sensor’s horizontal opening angle in
+* **positive** angular direction with respect to the WGS84 coordinate system.
* stationaryHorizontalOpeningAngleEnd [**WGS84AngleValue**](#WGS84AngleValue)
+* **The** 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.
* verticalOpeningAngleStart [**CartesianAngleValue**](#CartesianAngleValue) OPTIONAL
+* **The** 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.
* verticalOpeningAngleEnd [**CartesianAngleValue**](#CartesianAngleValue) OPTIONAL
+* **The** offset of the mounting poinf of this sensor from the station's @see ReferencePosition.
* sensorPositionOffset [**OffsetPoint**](#OffsetPoint) OPTIONAL
+* **The** height of the sensor mounting point.
* sensorHeight [**SensorHeight**](#SensorHeight) OPTIONAL
```asn1 AreaRadial ::= SEQUENCE { - /** @details range - The radial range of the sensor from the reference point or sensor point offset. - */ - range Range, - /** @details 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. - */ - stationaryHorizontalOpeningAngleStart WGS84AngleValue, - /** @details 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. - */ - stationaryHorizontalOpeningAngleEnd WGS84AngleValue, - /** @details verticalOpeningAngleStart - The 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. - */ - verticalOpeningAngleStart CartesianAngleValue OPTIONAL, - /** @details verticalOpeningAngleEnd - The 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. - */ - verticalOpeningAngleEnd CartesianAngleValue OPTIONAL, - /** @details sensorPositionOffset - The offset of the mounting poinf of this sensor from the station's @see ReferencePosition. - */ - sensorPositionOffset OffsetPoint OPTIONAL, - /** @details sensorHeight - The height of the sensor mounting point. - */ - sensorHeight SensorHeight OPTIONAL, + range Range, + stationaryHorizontalOpeningAngleStart WGS84AngleValue, + stationaryHorizontalOpeningAngleEnd WGS84AngleValue, + verticalOpeningAngleStart CartesianAngleValue OPTIONAL, + verticalOpeningAngleEnd CartesianAngleValue OPTIONAL, + sensorPositionOffset OffsetPoint OPTIONAL, + sensorHeight SensorHeight OPTIONAL, ... } ``` ### ObjectDistance -Object Distance With Confidence +Object Distance With Confidence
A general Data Frame to describe a distance component along with a confidence with a predefined confidence level of 95% for the component. Fields: +* **The** distance value which can be estimated as the mean of the current distribution.
* value [**DistanceValue**](#DistanceValue)
+* **The** distance accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**DistanceConfidence**](#DistanceConfidence)
```asn1 ObjectDistance ::= SEQUENCE { - /** @details value - The distance value which can be estimated as the mean of the current distribution. - */ - value DistanceValue, - /** @details confidence - The distance accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence DistanceConfidence + value DistanceValue, + confidence DistanceConfidence } ``` ### ObjectDimension -Object Dimension +Object Dimension
A general Data Frame to describe a dimension of an object along with a confidence with a predefined confidence level of 95% for the component. Fields: +* **The** object dimension value which can be estimated as the mean of the current distribution.
* value [**ObjectDimensionValue**](#ObjectDimensionValue)
+* **The** dimension accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**ObjectDimensionConfidence**](#ObjectDimensionConfidence)
```asn1 ObjectDimension ::= SEQUENCE { - /** @details value - The object dimension value which can be estimated as the mean of the current distribution. - */ - value ObjectDimensionValue, - /** @details confidence - The dimension accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence ObjectDimensionConfidence + value ObjectDimensionValue, + confidence ObjectDimensionConfidence } ``` ### CartesianAngle -Cartesian Angle +Cartesian Angle
A general Data Frame to describe an angle component along with a confidence with a predefined confidence level of 95% for the component in a Cartesian coordinate system. Fields: +* **The** angle value which can be estimated as the mean of the current distribution.
* value [**CartesianAngleValue**](#CartesianAngleValue)
+* **The** accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**AngleConfidence**](#AngleConfidence)
```asn1 CartesianAngle ::= SEQUENCE { - /** @details value - The angle value which can be estimated as the mean of the current distribution. - */ - value CartesianAngleValue, - /** @details confidence - The accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence AngleConfidence + value CartesianAngleValue, + confidence AngleConfidence } ``` ### CartesianAngularSpeed -CartesianAngularSpeed +CartesianAngularSpeed
A general Data Frame to describe an angular speed component along with a confidence with a predefined confidence level of 95% for the component in a Cartesian coordinate system. Fields: +* **The** angular speed (rate) value which can be estimated as the mean of the current distribution.
* value [**CartesianAngularSpeedValue**](#CartesianAngularSpeedValue)
+* **The** accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**AngularSpeedConfidence**](#AngularSpeedConfidence)
```asn1 CartesianAngularSpeed ::= SEQUENCE { - /** @details value - The angular speed (rate) value which can be estimated as the mean of the current distribution. - */ - value CartesianAngularSpeedValue, - /** @details confidence - The accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence AngularSpeedConfidence + value CartesianAngularSpeedValue, + confidence AngularSpeedConfidence } ``` ### CartesianAngularAcceleration -CartesianAngularAcceleration +CartesianAngularAcceleration
A general Data Frame to describe an angular acceleration component along with a confidence with a predefined confidence level of 95% for the component in a Cartesian coordinate system. Fields: +* **The** angular acceleration value which can be estimated as the mean of the current distribution.
* value [**CartesianAngularAccelerationValue**](#CartesianAngularAccelerationValue)
+* **The** accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**AngularAccelerationConfidence**](#AngularAccelerationConfidence)
```asn1 CartesianAngularAcceleration ::= SEQUENCE { - /** @details value - The angular acceleration value which can be estimated as the mean of the current distribution. - */ - value CartesianAngularAccelerationValue, - /** @details confidence - The accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence AngularAccelerationConfidence + value CartesianAngularAccelerationValue, + confidence AngularAccelerationConfidence } ``` ### WGS84Angle -WGS 84 Angle +WGS 84 Angle
A general Data Frame to describe an angular component along with a confidence with a predefined confidence level of 95% for the component in the WGS84 coordinate system. Fields: +* **The** angle value which can be estimated as the mean of the current distribution.
* value [**WGS84AngleValue**](#WGS84AngleValue)
+* **The** accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**AngleConfidence**](#AngleConfidence)
```asn1 WGS84Angle ::= SEQUENCE { - /** @details value - The angle value which can be estimated as the mean of the current distribution. - */ - value WGS84AngleValue, - /** @details confidence - The accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence AngleConfidence + value WGS84AngleValue, + confidence AngleConfidence } ``` ### SpeedExtended -Speed Extended +Speed Extended
A general Data Frame to describe a speed component along with a confidence with a predefined confidence level of 95% for the component. Fields: +* **The** speed value which can be estimated as the mean of the current distribution.
* value [**SpeedValueExtended**](#SpeedValueExtended)
+* **The** accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**SpeedConfidence**](ITS-Container.md#SpeedConfidence)
```asn1 SpeedExtended ::= SEQUENCE { - /** @details value - The speed value which can be estimated as the mean of the current distribution. - */ - value SpeedValueExtended, - /** @details confidence - The accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence SpeedConfidence + value SpeedValueExtended, + confidence SpeedConfidence } ``` ### Acceleration -Acceleration +Acceleration
A general Data Frame to describe an acceleration component along with a confidence with a predefined confidence level of 95% for the component. Fields: +* **The** acceleration value which can be estimated as the mean of the current distribution.
* value [**AccelerationValue**](#AccelerationValue)
+* **The** accuracy associated to the provided value at a predefined confidence level
+* **of** 95% for the component.
* confidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
```asn1 Acceleration ::= SEQUENCE { - /** @details value - The acceleration value which can be estimated as the mean of the current distribution. - */ - value AccelerationValue, - /** @details confidence - The accuracy associated to the provided value at a predefined confidence level - of 95% for the component. - */ - confidence AccelerationConfidence + value AccelerationValue, + confidence AccelerationConfidence } ``` ### SensorIdList -Sensor ID List +Sensor ID List
List of sensor IDs. @@ -398,7 +332,7 @@ SensorIdList ::= SEQUENCE SIZE(1..128, ...) OF Identifier ### TrailerDataContainer -Trailer Data Container +Trailer Data Container
List of information about attached trailers. @@ -408,7 +342,7 @@ TrailerDataContainer ::= SEQUENCE SIZE(1..2) OF TrailerData ### TrailerData -Trailer Data +Trailer Data
Provides detailed information about the dimensions and orientation of an attached trailer. @@ -433,80 +367,68 @@ TrailerData ::= SEQUENCE { ### MatchedPosition -Matched Position +Matched Position
Indicates the position of the object mapped on the intersection topology description transmitted in MAP messages. Fields: +* **Conveys** an assigned index that is unique within the intersection with InterSectionReferenceId
+* **of** the OriginatingRSUContainer. It shall be presented as specified in
+* **Clause** 7.88 of SAE J2735.
* laneID [**LaneID**](DSRC.md#LaneID) OPTIONAL
+* **Indicates** the longitudinal offset of the map-matched position of the object along the lane.
* longitudinalLanePosition [**LongitudinalLanePosition**](#LongitudinalLanePosition) OPTIONAL
```asn1 MatchedPosition ::= SEQUENCE { - /** @details laneID - Conveys an assigned index that is unique within the intersection with InterSectionReferenceId - of the OriginatingRSUContainer. It shall be presented as specified in - Clause 7.88 of SAE J2735. - */ - laneID LaneID OPTIONAL, - /** @details longitudinalLanePosition - Indicates the longitudinal offset of the map-matched position of the object along the lane. - */ - longitudinalLanePosition LongitudinalLanePosition OPTIONAL, + laneID LaneID OPTIONAL, + longitudinalLanePosition LongitudinalLanePosition OPTIONAL, ... } ``` ### LongitudinalLanePosition -Longitudinal Lane Position +Longitudinal Lane Position
Estimated position along the longitudinal length of a particular lane. A lane is provided by a corresponding MAP message. Fields: +* **The** mean value of the longitudinal position within a particular length.
* longitudinalLanePositionValue [**LongitudinalLanePositionValue**](#LongitudinalLanePositionValue)
+* **The** confidence associated to the provided value.
* longitudinalLanePositionConfidence [**LongitudinalLanePositionConfidence**](#LongitudinalLanePositionConfidence)
```asn1 LongitudinalLanePosition ::= SEQUENCE { - /** @details longitudinalLanePositionValue - The mean value of the longitudinal position within a particular length. - */ - longitudinalLanePositionValue LongitudinalLanePositionValue, - /** @details longitudinalLanePositionConfidence - The confidence associated to the provided value. - */ - longitudinalLanePositionConfidence LongitudinalLanePositionConfidence + longitudinalLanePositionValue LongitudinalLanePositionValue, + longitudinalLanePositionConfidence LongitudinalLanePositionConfidence } ``` ### MessageSegmentInfo -Message Segment Information +Message Segment Information
Information about segmented CPM and the number of generated segments. Fields: +* **The** total number of messages required on the transmitter side to distribute the information
+* **to** several messages.
* totalMsgSegments [**SegmentCount**](#SegmentCount)
+* **Indicates** the number of the received message out of the total number of messages
+* **used** to realize segmentation.
* thisSegmentNum [**SegmentCount**](#SegmentCount)
```asn1 MessageSegmentInfo ::= SEQUENCE { - /** @details totalMsgSegments - The total number of messages required on the transmitter side to distribute the information - to several messages. - */ - totalMsgSegments SegmentCount, - /** @details thisSegmentNum - Indicates the number of the received message out of the total number of messages - used to realize segmentation. - */ - thisSegmentNum SegmentCount + totalMsgSegments SegmentCount, + thisSegmentNum SegmentCount } ``` ### LowerTriangularPositiveSemidefiniteMatrix -Lower Triangular Positive Semi-Definite Matrix +Lower Triangular Positive Semi-Definite Matrix
A general data frame to express the elements of a lower triangular positive semi-definite matrix, not including the main diagonal elements of the matrix. Given a matrix "A" of size n x n, the number of columns to be included in the lower triangular matrix is k=n-1. @@ -518,7 +440,7 @@ LowerTriangularPositiveSemidefiniteMatrix ::= SEQUENCE SIZE (1..17) OF Correlati ### CorrelationColumn -Correlation Column +Correlation Column
The column of the lower triangular positive semi-definite matrix consists of correlation row values. Given a matrix "A" of size n x n, the number of columns to be included in the lower triangular matrix is k=n-1. Each column "i" of the lower triangular then contains k-(i-1) values, where "i" refers to the column number count @@ -531,25 +453,29 @@ CorrelationColumn ::= SEQUENCE SIZE (1..17) OF CorrelationRowValue ### CorrelationRowValue -Correlation Row Value +Correlation Row Value
The Bravais-Pearson correlation value for each cell of the lower triangular correlation matrix. Scaled by 100. -@unit: None +    **Unit**: _None_ -Fields: +Values: +* **full-negative-correlation** (-100)
+* **no-correlation** (0)
+* **point-one** (10)
+* **full-positive-correlation** (100)
```asn1 CorrelationRowValue ::= INTEGER { - full-negative-correlation (-100), -- Full negative correlation - no-correlation (0), -- If not correlated or unavailable + full-negative-correlation (-100), + no-correlation (0), point-one (10), - full-positive-correlation (100) -- Full positive correlation + full-positive-correlation (100) } (-100..100) ``` ### ObjectClassDescription -Object Class Description +Object Class Description
A list of object classes. @@ -559,7 +485,7 @@ ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence ### ObjectClassWithConfidence -Object Class with Confidence +Object Class with Confidence
Describes the classification of a detected object. The object can be classified into one of four categories: vehicle, person, animal and other. The classification is provided with a confidence indication. @@ -577,35 +503,24 @@ ObjectClassWithConfidence ::= SEQUENCE { ### ObjectClass -Object Class +Object Class
The class that best describes the detected object. Each class provides optional subclasses. -Fields: -* vehicleSubclass [**VehicleSubclassType**](#VehicleSubclassType)
-* personSubclass [**PersonSubclassType**](#PersonSubclassType)
-* animalSubclass [**AnimalSubclassType**](#AnimalSubclassType)
-* otherSubclass [**OtherSubclassType**](#OtherSubclassType)
```asn1 ObjectClass ::= CHOICE { - - vehicleSubclass VehicleSubclassType, - personSubclass PersonSubclassType, - animalSubclass AnimalSubclassType, - otherSubclass OtherSubclassType, - ... -} ``` ### OffsetPoint -Offset Point +Offset Point
Describes an offset position in a two- or three-dimensional plane as imported from CEN ISO/TS 19091. Excludes the node-LatLon DF and regional DF defined therein. Fields: -* nodeOffsetPointxy [**NodeOffsetPointXY**](DSRC.md#NodeOffsetPointXY) (WITH COMPONENTS {...
+* nodeOffsetPointxy [**NodeOffsetPointXY**](DSRC.md#NodeOffsetPointXY) (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT})
+* nodeOffsetPointZ [**NodeOffsetPointZ**](#NodeOffsetPointZ) OPTIONAL
```asn1 OffsetPoint ::= SEQUENCE{ nodeOffsetPointxy NodeOffsetPointXY (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT}), @@ -615,7 +530,7 @@ OffsetPoint ::= SEQUENCE{ ### NodeOffsetPointZ -Node Offset Point in Z-direction +Node Offset Point in Z-direction
Describes the vertical offset from another point. This is specified in close resemblance to SAE J2735 _NodeOffsetPointXY_. @@ -626,89 +541,125 @@ Fields: * node-Z3 [**Offset-B12**](DSRC.md#Offset-B12)
* node-Z4 [**Offset-B13**](DSRC.md#Offset-B13)
* node-Z5 [**Offset-B14**](DSRC.md#Offset-B14)
-* node-Z6 [**Offset-B16**](DSRC.md#Offset-B16) -- node is within 327.67m of last node
+* node-Z6 [**Offset-B16**](DSRC.md#Offset-B16)
```asn1 NodeOffsetPointZ ::= CHOICE { - node-Z1 Offset-B10, -- node is within 5.11m of last node - node-Z2 Offset-B11, -- node is within 10.23m of last node - node-Z3 Offset-B12, -- node is within 20.47m of last node - node-Z4 Offset-B13, -- node is within 40.96m of last node - node-Z5 Offset-B14, -- node is within 81.91m of last node - node-Z6 Offset-B16 -- node is within 327.67m of last node + node-Z1 Offset-B10, + node-Z2 Offset-B11, + node-Z3 Offset-B12, + node-Z4 Offset-B13, + node-Z5 Offset-B14, + node-Z6 Offset-B16 } ``` ### AnimalSubclassType -Animal Subclass Type +Animal Subclass Type
Describes the subclass of a detected object for class animal. -@unit n/a +    **Unit**: _n/a_ -Fields: +Values: +* **unknown** (0)
```asn1 AnimalSubclassType ::= INTEGER { - unknown (0) -- the kind of animal is not known + unknown (0) } (0..255) ``` ### PersonSubclassType -Person Subclass Type +Person Subclass Type
Describes the subclass of a detected object for class persons. Persons are a subset of the vulnerable road users as defined in Section 4.2 of ETSI TR 103 300-2 as well as in the classification provided in Annex 1 of Regulation EU 168/2013. -@unit n/a - - -Fields: +    **Unit**: _n/a_ + + +Values: +* **unknown** (0)
+* **pedestrian** (1)
+* **personInWheelchair** (2)
+* **cyclist** (3)
+* **--** non-motorized unicycles
+* **personWithStroller** (4)
+* **--** pulling a stroller potentially carrying by one or
+* **--** multiple other persons
+* **personOnSkates** (5)
+* **--** or a small electric or foot operated scooter
+* **personGroup** (6)
+* **--** movement characteristics
```asn1 PersonSubclassType ::= INTEGER { - unknown (0), -- the vru type for the detected object is unknown - pedestrian (1), -- the detected object is a pedestrian travelling on foot - personInWheelchair (2), -- the detected object is a person travelling in a wheelchair - cyclist (3), -- the detected object is one or multiple persons travelling on - personWithStroller (4), -- the detected object is a person travelling on foot pushing or - personOnSkates (5), -- the detected object is a person travelling on skates, skateboards - personGroup (6) -- the detected object is a group of persons with similar + unknown (0), + pedestrian (1), + personInWheelchair (2), + cyclist (3), + personWithStroller (4), + personOnSkates (5), + personGroup (6) } (0..255) ``` ### VehicleSubclassType -Vehicle Subclass Type +Vehicle Subclass Type
Describes the subclass of a detected object for class vehicle. -@unit n/a +    **Unit**: _n/a_ -Fields: +Values: +* **unknown** (0)
+* **moped** (1)
+* **--** wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1
+* **motorcycle** (2)
+* **--** wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3
+* **passengerCar** (3)
* -- [**UNECE**](#UNECE) /TRANS/WP.29/78/Rev.4 class M1
+* **bus** (4)
+* **--** in UNECE/TRANS/WP.29/78/Rev.4 class M2
+* **lightTruck** (5)
+* **--** in UNECE/TRANS/WP.29/78/Rev.4 class N1
+* **heavyTruck** (6)
+* **--** in UNECE/TRANS/WP.29/78/Rev.4 class N2
+* **trailer** (7)
+* **--** to be towed by a powered vehicle as defined in
* -- [**UNECE**](#UNECE) /TRANS/WP.29/78/Rev.4 class O
+* **specialVehicles** (8)
+* **--** other than the above (e.g. moving road works vehicle)
+* **tram** (9)
+* **--** public streets
+* **emergencyVehicle** (10)
+* **--** such as an ambulance
+* **agricultural** (11)
```asn1 VehicleSubclassType ::= INTEGER { - unknown (0), -- the type of vehicle is unknown - moped (1), -- the detected object is a light motor vehicle with less than four - motorcycle (2), -- the detected object is a light motor vehicle with less than four - passengerCar (3), -- the detected object is a small passenger car as defined in - bus (4), -- the detected object is a large passenger vehicle as defined - lightTruck (5), -- the detected object is a light goods vehicle as defined - heavyTruck (6), -- the detected object is a heavy goods vehicle as defined - trailer (7), -- the detected object is an unpowered vehicle that is intended - specialVehicles (8), -- the detected object is a vehicle which has a special purpose - tram (9), -- the detected object is a vehicle running on tracks along - emergencyVehicle (10), -- the detected object is a vehicle used in an emergency situation - agricultural (11) -- the detected object is a vehicle used for agricultural purposes + unknown (0), + moped (1), + motorcycle (2), + passengerCar (3), + bus (4), + lightTruck (5), + heavyTruck (6), + trailer (7), + specialVehicles (8), + tram (9), + emergencyVehicle (10), + agricultural (11) } (0..255) ``` ### OtherSubclassType -Other Subclass Type +Other Subclass Type
Describes the subclass of a detected object for class other. -@unit n/a +    **Unit**: _n/a_ -Fields: +Values: +* **unknown** (0)
+* **roadSideUnit** (1)
```asn1 OtherSubclassType ::= INTEGER { unknown (0), @@ -718,29 +669,40 @@ OtherSubclassType ::= INTEGER { ### ClassConfidence -Class Confidence +Class Confidence
Describes the confidence value for the type of a detected object. -@unit Percent +    **Unit**: _Percent_ -Fields: +Values: +* **unknown** (0)
+* **--** classification is still valid.
+* **onePercent** (1)
+* **oneHundredPercent** (100)
+* **unavailable** (101)
+* **--** for this object. Indicates that the class assignment is invalid.
```asn1 ClassConfidence ::= INTEGER { - unknown (0), -- in case the confidence value is unknown but the reported + unknown (0), onePercent (1), oneHundredPercent (100), - unavailable (101) -- In case the class confidence value computation is not available + unavailable (101) } (0..101) ``` ### WGS84AngleValue -WGS 84 Angle Value +WGS 84 Angle Value
An angle value in degrees described in the WGS84 reference system with respect to the WGS84 north. -@unit 0,1 degrees +    **Unit**: _0,1 degrees_ -Fields: +Values: +* **wgs84North** (0)
+* **wgs84East** (900)
+* **wgs84South** (1800)
+* **wgs84West** (2700)
+* **unavailable** (3601)
```asn1 WGS84AngleValue ::= INTEGER { wgs84North (0), @@ -753,13 +715,16 @@ WGS84AngleValue ::= INTEGER { ### CartesianAngleValue -Cartesian Angle Value +Cartesian Angle Value
An angle value described in a local Cartesian coordinate system, counted positive in a right-hand local coordinate system from the abscissa. -@unit 0,1 degrees +    **Unit**: _0,1 degrees_ -Fields: +Values: +* **zeroPointOneDegree** (1)
+* **oneDegree** (10)
+* **unavailable** (3601)
```asn1 CartesianAngleValue ::= INTEGER { zeroPointOneDegree (1), @@ -770,13 +735,16 @@ CartesianAngleValue ::= INTEGER { ### CartesianAngularSpeedValue -Cartesian Angular Speed Value +Cartesian Angular Speed Value
An angular speed value described in a local Cartesian coordinate system, counted positive in a right-hand local coordinate system from the abscissa. -@unit 0,01 degrees/s +    **Unit**: _0,01 degrees/s_ -Fields: +Values: +* **noSpeed** (0)
+* **oneDegreePerSecondAntiClockwise** (100)
+* **oneDegreePerSecondClockwise** (-100)
```asn1 CartesianAngularSpeedValue ::= INTEGER { noSpeed (0), @@ -787,13 +755,16 @@ CartesianAngularSpeedValue ::= INTEGER { ### CartesianAngularAccelerationValue -Cartesian Angular Acceleration Value +Cartesian Angular Acceleration Value
An angular acceleration value described in a local Cartesian coordinate system, counted positive in a right-hand local coordinate system from the abscissa. -@unit 0,01 degrees/s^2 (degrees per second squared) +    **Unit**: _0,01 degrees/s^2 (degrees per second squared)_ -Fields: +Values: +* **noAcceleration** (0)
+* **oneDegreePerSecondSquaredAntiClockwise** (100)
+* **oneDegreePerSecondSquaredClockwise** (-100)
```asn1 CartesianAngularAccelerationValue ::= INTEGER { noAcceleration (0), @@ -804,79 +775,105 @@ CartesianAngularAccelerationValue ::= INTEGER { ### AngleConfidence -Angle Confidence +Angle Confidence
The absolute accuracy of a reported angle value for a predefined confidence level (e.g. 95 %). The required confidence level is defined by the corresponding standards applying this DE. -@unit 0,1 degrees +    **Unit**: _0,1 degrees_ -Fields: +Values: +* **zeroPointOneDegree** (1)
+* **oneDegree** (10)
+* **outOfRange** (126)
+* **--** 12
+* **--** considered invalid and cannot be trusted.
+* **unavailable** (127)
```asn1 AngleConfidence ::= INTEGER { zeroPointOneDegree (1), oneDegree (10), - outOfRange (126), -- if the accuracy is out of range, i.e. greater than - unavailable (127) -- if the accuracy information is not available + outOfRange (126), + unavailable (127) } (1..127) ``` ### AngularSpeedConfidence -Angular Speed Confidence +Angular Speed Confidence
The absolute accuracy of a reported angular speed value for a predefined confidence level (e.g. 95 %). The required confidence level is defined by the corresponding standards applying this DE. For correlation computation, maximum interval levels shall be assumed. @ n/a -Fields: +Values: +* **degSec-000-01** (0)
+* **degSec-000-05** (1)
+* **degSec-000-10** (2)
+* **degSec-001-00** (3)
+* **degSec-005-00** (4)
+* **degSec-010-00** (5)
+* **degSec-100-00** (6)
+* **outOfRange** (7)
+* **unavailable** (8)
```asn1 AngularSpeedConfidence ::= ENUMERATED { - degSec-000-01 (0), -- if the accuracy is equal to or less than 0,01 degree/second - degSec-000-05 (1), -- 1 if the accuracy is equal to or less than 0,05 degrees/second - degSec-000-10 (2), -- if the accuracy is equal to or less than 0,1 degree/second - degSec-001-00 (3), -- 3 if the accuracy is equal to or less than 1 degree/second - degSec-005-00 (4), -- if the accuracy is equal to or less than 5 degrees/second - degSec-010-00 (5), -- if the accuracy is equal to or less than 10 degrees/second - degSec-100-00 (6), -- if the accuracy is equal to or less than 100 degrees/second - outOfRange (7), -- if the accuracy is out of range, i.e. greater than 100 degrees/second - unavailable (8) -- if the accuracy information is unavailable + degSec-000-01 (0), + degSec-000-05 (1), + degSec-000-10 (2), + degSec-001-00 (3), + degSec-005-00 (4), + degSec-010-00 (5), + degSec-100-00 (6), + outOfRange (7), + unavailable (8) } ``` ### AngularAccelerationConfidence -Angular Acceleration Confidence +Angular Acceleration Confidence
The absolute accuracy of a reported angular acceleration value for a predefined confidence level (e.g. 95 %). The required confidence level is defined by the corresponding standards applying this DE. For correlation computation, maximum interval levels shall be assumed. @ n/a -Fields: +Values: +* **degSecSquared-000-01** (0)
+* **degSecSquared-000-05** (1)
+* **degSecSquared-000-10** (2)
+* **degSecSquared-001-00** (3)
+* **degSecSquared-005-00** (4)
+* **degSecSquared-010-00** (5)
+* **degSecSquared-100-00** (6)
+* **outOfRange** (7)
+* **unavailable** (8)
```asn1 AngularAccelerationConfidence ::= ENUMERATED { - degSecSquared-000-01 (0), -- if the accuracy is equal to or less than 0,01 degree/second^2 - degSecSquared-000-05 (1), -- 1 if the accuracy is equal to or less than 0,05 degrees/second^2 - degSecSquared-000-10 (2), -- if the accuracy is equal to or less than 0,1 degree/second^2 - degSecSquared-001-00 (3), -- 3 if the accuracy is equal to or less than 1 degree/second^2 - degSecSquared-005-00 (4), -- if the accuracy is equal to or less than 5 degrees/second^2 - degSecSquared-010-00 (5), -- if the accuracy is equal to or less than 10 degrees/second^2 - degSecSquared-100-00 (6), -- if the accuracy is equal to or less than 100 degrees/second^2 - outOfRange (7), -- if the accuracy is out of range, i.e. greater than 100 degrees/second^2 - unavailable (8) -- if the accuracy information is unavailable + degSecSquared-000-01 (0), + degSecSquared-000-05 (1), + degSecSquared-000-10 (2), + degSecSquared-001-00 (3), + degSecSquared-005-00 (4), + degSecSquared-010-00 (5), + degSecSquared-100-00 (6), + outOfRange (7), + unavailable (8) } ``` ### SemiRangeLength -Semi Range Length +Semi Range Length
The length of an axis of an ellipsoid or rectangle, used to describe the extension in a particular direction. -@unit 0,1 m +    **Unit**: _0,1 m_ -Fields: +Values: +* **zeroPointOneMeter** (1)
+* **oneMeter** (10)
```asn1 SemiRangeLength ::= INTEGER { zeroPointOneMeter (1), @@ -886,12 +883,14 @@ SemiRangeLength ::= INTEGER { ### DistanceValue -Distance Value +Distance Value
Distance from one point to another. -@unit 0,01 m +    **Unit**: _0,01 m_ -Fields: +Values: +* **zeroPointZeroOneMeter** (1)
+* **oneMeter** (100)
```asn1 DistanceValue ::= INTEGER { zeroPointZeroOneMeter (1), @@ -901,48 +900,61 @@ DistanceValue ::= INTEGER { ### DistanceConfidence -Distance Confidence +Distance Confidence
Absolute accuracy of measurement to a confidence level of 95%. -@unit 0,01 m +    **Unit**: _0,01 m_ -Fields: +Values: +* **zeroPointZeroOneMeter** (1)
+* **oneMeter** (100)
+* **outOfRange** (4094)
+* **unavailable** (4095)
```asn1 DistanceConfidence ::= INTEGER { zeroPointZeroOneMeter (1), oneMeter (100), - outOfRange (4094), -- shall be set if the accuracy is out of range - unavailable (4095) -- shall be set if the accuracy data is unavailable + outOfRange (4094), + unavailable (4095) } (0..4095) ``` ### DynamicStatus -Dynamic Status +Dynamic Status
Indication whether the detected object is classified as a dynamic (i.e. moving) object. This value indicates whether an object has the general capability to move, i.e. change its position. -@unit n/a +    **Unit**: _n/a_ -Fields: +Values: +* **dynamic** (0)
+* **hasBeenDynamic** (1)
+* **--** stopping at a traffic light
+* **static** (2)
+* **--** throughout any previous observation
```asn1 DynamicStatus ::= INTEGER { - dynamic (0), -- the object is moving - hasBeenDynamic (1), -- indicates whether an object has been dynamic before, e.g., a car - static (2) -- shall be used in case an object is identified to be not moving + dynamic (0), + hasBeenDynamic (1), + static (2) } (0..2) ``` ### HitchPointOffset -Hitch Point Offset +Hitch Point Offset
Position of the hitch point in negative x-direction (according to ISO 8855) from the vehicle Reference Point. -@unit 0,1 m +    **Unit**: _0,1 m_ -Fields: +Values: +* **zeroPointOneMeter** (1)
+* **oneMeter** (10)
+* **outOfRange** (254)
+* **unavailable** (255)
```asn1 HitchPointOffset ::= INTEGER { zeroPointOneMeter (1), @@ -954,17 +966,21 @@ HitchPointOffset ::= INTEGER { ### FrontOverhang -Front Overhang +Front Overhang
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. -@unit 0,1 m +    **Unit**: _0,1 m_ -Fields: +Values: +* **noOverhang** (0)
+* **--** trailer reference point
+* **zeroPointOneMeter** (1)
+* **oneMeter** (10)
```asn1 FrontOverhang ::= INTEGER { - noOverhang (0), -- trailer is not overhanging to the front with respect to the + noOverhang (0), zeroPointOneMeter (1), oneMeter (10) } (0..50) @@ -972,30 +988,35 @@ FrontOverhang ::= INTEGER { ### FreeSpaceConfidence -Free Space Confidence +Free Space Confidence
Confidence indicating that an area is not occupied by a traffic participant or obstacle. -@unit n/a +    **Unit**: _n/a_ -Fields: +Values: +* **unknown** (0)
+* **onePercent** (1)
+* **oneHundredPercent** (100)
+* **unavailable** (101)
```asn1 FreeSpaceConfidence ::= INTEGER { - unknown (0), -- if the free space confidence is unknown for the described area + unknown (0), onePercent (1), oneHundredPercent (100), - unavailable (101) -- if the confidence could not be computed and does not apply. + unavailable (101) } (0..101) ``` ### LongitudinalLanePositionValue -Longitudinal Lane Position Value +Longitudinal Lane Position Value
Indicates the longitudinal offset of the map-matched position of a particular object along the matched lane, beginning from the lane’s starting point as defined in CEN ISO/TS 19091 -@unit 0,1 m +    **Unit**: _0,1 m_ -Fields: +Values: +* **zeroPointOneMeter** (1)
```asn1 LongitudinalLanePositionValue ::= INTEGER { zeroPointOneMeter (1) @@ -1004,62 +1025,73 @@ LongitudinalLanePositionValue ::= INTEGER { ### LongitudinalLanePositionConfidence -Longitudinal Lane Position Confidence +Longitudinal Lane Position Confidence
Absolute accuracy of longitudinal lane position measurement to a confidence level of 95%. -@unit 0,01 m +    **Unit**: _0,01 m_ -Fields: +Values: +* **zeroPointZeroOneMeter** (1)
+* **oneMeter** (100)
+* **outOfRange** (101)
+* **unavailable** (102)
```asn1 LongitudinalLanePositionConfidence ::= INTEGER { zeroPointZeroOneMeter (1), oneMeter (100), - outOfRange (101), -- shall be set if the accuracy is out of range - unavailable (102) -- shall be set if the accuracy data is unavailable + outOfRange (101), + unavailable (102) } (0..102) ``` ### ObjectAge -Object Age +Object Age
Age of object in milliseconds, i.e. for how long the object has been observed by the disseminating station. -@unit 1 ms +    **Unit**: _1 ms_ -Fields: +Values: +* **oneMiliSec** (1)
+* **moreThan1Point5Second** (1500)
```asn1 ObjectAge ::= INTEGER { oneMiliSec (1), - moreThan1Point5Second (1500) -- indicates that the object has been observed for more than 1.5s. + moreThan1Point5Second (1500) } (0..1500) ``` ### ObjectConfidence -Object Confidence +Object Confidence
A single-value indication about the overall information quality of a perceived object. Its computation is based on several scaling factors and moving averages. See Clause 7.6.4 of ETSI TS 103 324 for details on the computation. -@unit n/a +    **Unit**: _n/a_ -Fields: +Values: +* **noConfidence** (0)
+* **--** if confidence could not be computed
+* **fullConfidence** (15)
```asn1 ObjectConfidence ::= INTEGER { - noConfidence (0), -- No confidence in detected object, e.g. for "ghost"-objects or - fullConfidence (15) -- Full confidence in detected object + noConfidence (0), + fullConfidence (15) } (0..15) ``` ### ObjectDimensionValue -Object Dimension Value +Object Dimension Value
A dimension for an object. -@unit 0,1 m +    **Unit**: _0,1 m_ -Fields: +Values: +* **zeroPointOneMeter** (1)
+* **oneMeter** (10)
```asn1 ObjectDimensionValue ::= INTEGER { zeroPointOneMeter (1), @@ -1069,12 +1101,16 @@ ObjectDimensionValue ::= INTEGER { ### ObjectDimensionConfidence -Object Dimension Confidence +Object Dimension Confidence
Accuracy of provided dimension value with a predefined confidence level (e.g. 95%) -@unit 0,01 m +    **Unit**: _0,01 m_ -Fields: +Values: +* **zeroPointZeroOneMeter** (1)
+* **oneMeter** (100)
+* **outOfRange** (101)
+* **unavailable** (102)
```asn1 ObjectDimensionConfidence ::= INTEGER { zeroPointZeroOneMeter (1), @@ -1086,13 +1122,22 @@ ObjectDimensionConfidence ::= INTEGER { ### ObjectRefPoint -Object Reference Point +Object Reference Point
Reference point of measurement for the object dimensions. All provided state variables of this object are given relative to the reference point. The point is included in the plane -perpendicular to the direction of the @see yawAngleValue. +perpendicular to the direction of the [**yawAngleValue**](#yawAngleValue). -Fields: +Values: +* **mid** (0)
+* **bottomLeft** (1)
+* **midLeft** (2)
+* **topLeft** (3)
+* **bottomMid** (4)
+* **topMid** (5)
+* **bottomRight** (6)
+* **midRight** (7)
+* **topRight** (8)
```asn1 ObjectRefPoint ::= INTEGER { mid (0), @@ -1109,12 +1154,14 @@ ObjectRefPoint ::= INTEGER { ### Radius -Radius +Radius
The dimension of a sensor area in the shape of a circle or a rectangle. -@unit 0,1 m +    **Unit**: _0,1 m_ -Fields: +Values: +* **zeroPointOneMeter** (1)
+* **oneMeter** (10)
```asn1 Radius ::= INTEGER { zeroPointOneMeter (1), @@ -1124,12 +1171,14 @@ Radius ::= INTEGER { ### Range -Range +Range
Range of sensor within the indicated azimuth Angle defined by the start and end opening angle. -@unit 0,1 m +    **Unit**: _0,1 m_ -Fields: +Values: +* **zeroPointOneMeter** (1)
+* **oneMeter** (10)
```asn1 Range ::= INTEGER { zeroPointOneMeter (1), @@ -1139,13 +1188,15 @@ Range ::= INTEGER { ### RearOverhang -Rear Overhang +Rear Overhang
Length of the trailer overhang in the negative x direction (according to ISO 8855) from the -trailer Reference Point indicated by the @see refPointID -@unit 0,1 m +trailer Reference Point indicated by the [**refPointID**](#refPointID) +    **Unit**: _0,1 m_ -Fields: +Values: +* **zeroPointOneMeter** (1)
+* **oneMeter** (10)
```asn1 RearOverhang ::= INTEGER { zeroPointOneMeter (1), @@ -1155,9 +1206,9 @@ RearOverhang ::= INTEGER { ### RefPointId -Reference Point ID +Reference Point ID
Reference point counter for a trailer. -@unit n/a +    **Unit**: _n/a_ ```asn1 @@ -1166,12 +1217,13 @@ RefPointId ::= INTEGER (0..255) ### SensorHeight -Sensor Height +Sensor Height
Height of sensor position relative to altitude provided by the reference position. -@unit 0,01 m +    **Unit**: _0,01 m_ -Fields: +Values: +* **zeroPointZeroOneMeter** (1)
```asn1 SensorHeight ::= INTEGER { zeroPointZeroOneMeter (1) @@ -1180,11 +1232,11 @@ SensorHeight ::= INTEGER { ### VehicleHeight -Vehicle Height +Vehicle Height
The height if the vehicle, measured from the ground to the highest point, excluding any antennas. In case vehicles are equipped with adjustable ride heights, camper shells, and any other equipment which may result in varying height, the largest possible height shall be used. -@unit 5 cm (DE ranges to 6.35 m) +    **Unit**: _5 cm (DE ranges to 6.35 m)_ ```asn1 @@ -1193,13 +1245,13 @@ VehicleHeight ::= INTEGER (0..127) ### ShadowingApplies -Shadowing Applies Indication +Shadowing Applies Indication
Boolean indication if tracing approach shall be used to compute a shadowed area behind an object. If set to TRUE, the simple tracing approach shall be applied for each object intersecting or located within the area or volume described by the freeSpaceAddendum container. If set to FALSE, the simple tracing approach shall not be applied for each object intersecting or located within the area or volume described by the freeSpaceAddenum container. -@unit n/a +    **Unit**: _n/a_ ```asn1 @@ -1208,9 +1260,9 @@ ShadowingApplies ::= BOOLEAN ### Identifier -Identifier +Identifier
General identifier data element. -@unit n/a +    **Unit**: _n/a_ ```asn1 @@ -1219,10 +1271,10 @@ Identifier ::= INTEGER (0..255) ### NumberOfPerceivedObjects -Number of Perceived Objects +Number of Perceived Objects
A data element for representing the total number of detected and shared objects of an ITS-S transmitting a CPM. -@unit n/a +    **Unit**: _n/a_ ```asn1 @@ -1231,12 +1283,24 @@ NumberOfPerceivedObjects ::= INTEGER (0..255) ### SensorType -Sensor Type +Sensor Type
Describes the type of attached sensor -@unit n/a - - -Fields: +    **Unit**: _n/a_ + + +Values: +* **undefined** (0)
+* **radar** (1)
+* **lidar** (2)
+* **monovideo** (3)
+* **stereovision** (4)
+* **nightvision** (5)
+* **ultrasonic** (6)
+* **pmd** (7)
+* **fusion** (8)
+* **inductionloop** (9)
+* **sphericalCamera** (10)
+* **itssaggregation** (11)
```asn1 SensorType ::= INTEGER { undefined (0), @@ -1247,19 +1311,19 @@ SensorType ::= INTEGER { nightvision (5), ultrasonic (6), pmd (7), - fusion (8), -- object information provided from sensor data fusion system + fusion (8), inductionloop (9), sphericalCamera (10), - itssaggregation (11) -- object information gathered from other received ITS messages + itssaggregation (11) } (0..15) ``` ### SegmentCount -Segment Count +Segment Count
A data element for representing either the total number of generated segments by the transmitter or the identification of the received message segment. -@unit n/a +    **Unit**: _n/a_ ```asn1 @@ -1268,49 +1332,58 @@ SegmentCount ::= INTEGER( 1..127) ### SpeedValueExtended -Speed Value Extended +Speed Value Extended
Value of a speed component. -@unit 0,01 m/s +    **Unit**: _0,01 m/s_ -Fields: +Values: +* **negativeSpeedMaximum** (-16383)
+* **standstill** (0)
+* **oneCentimeterPerSec** (1)
+* **speedMaximum** (16382)
+* **unavailable** (16383)
```asn1 SpeedValueExtended ::= INTEGER { - negativeSpeedMaximum (-16383), -- shall be set for values equal to or smaller than -163,83 m/s + negativeSpeedMaximum (-16383), standstill (0), oneCentimeterPerSec (1), - speedMaximum (16382), -- shall be set for values equal to or greater than 163,82 m/s - unavailable (16383) -- shall be set if information is not available + speedMaximum (16382), + unavailable (16383) } (-16383..16383) ``` ### AccelerationValue -Acceleration Value +Acceleration Value
Value of an acceleration component. -@unit 0,1 m/s2 +    **Unit**: _0,1 m/s2_ -Fields: +Values: +* **pointOneMeterPerSecSquared** (1)
+* **minusPointOneMeterPerSecSquared** (-1)
+* **unavailable** (161)
```asn1 AccelerationValue ::= INTEGER { pointOneMeterPerSecSquared (1), minusPointOneMeterPerSecSquared (-1), - unavailable (161) -- shall be set if information is not available + unavailable (161) } (-160 .. 161) ``` ### TimeOfMeasurement -Time of Measurement -Time difference with respect to the @see generationDeltaTime for the provided measurement for the +Time of Measurement
+Time difference with respect to the [**generationDeltaTime**](#generationDeltaTime) for the provided measurement for the object. Negative values indicate that the provided object state refers to a point in time after -the @see generationDeltaTime has been computed, i.e. after the latest disseminating ITS-S +the [**generationDeltaTime**](#generationDeltaTime) has been computed, i.e. after the latest disseminating ITS-S position update which is used to calculate the generationDeltaTime. -@unit 1 ms +    **Unit**: _1 ms_ -Fields: +Values: +* **oneMilliSecond** (1)
```asn1 TimeOfMeasurement ::= INTEGER { oneMilliSecond (1) @@ -1319,13 +1392,18 @@ TimeOfMeasurement ::= INTEGER { ### XSensorOffset -X Sensor Offset +X Sensor Offset
Describes the mounting position of a sensor along the negative x-direction from Reference Point -indicated by the @see refPointID -@unit 0,01 m +indicated by the [**refPointID**](#refPointID) +    **Unit**: _0,01 m_ -Fields: +Values: +* **negativeZeroPointZeroOneMeter** (-1)
+* **negativeOneMeter** (-100)
+* **negativeOutOfRange** (-3094)
+* **positiveOneMeter** (100)
+* **positiveOutOfRange** (1001)
```asn1 XSensorOffset ::= INTEGER { negativeZeroPointZeroOneMeter (-1), @@ -1338,13 +1416,15 @@ XSensorOffset ::= INTEGER { ### YSensorOffset -Y Sensor Offset +Y Sensor Offset
Described the mounting position of a sensor in y-direction from Reference Point -indicated by the @see refPointID -@unit 0,01 m +indicated by the [**refPointID**](#refPointID) +    **Unit**: _0,01 m_ -Fields: +Values: +* **zeroPointZeroOneMeter** (1)
+* **oneMeter** (100)
```asn1 YSensorOffset ::= INTEGER { zeroPointZeroOneMeter (1), @@ -1354,13 +1434,15 @@ YSensorOffset ::= INTEGER { ### ZSensorOffset -Z Sensor Offset +Z Sensor Offset
Described the mounting position of a sensor in y-direction from Reference Point -indicated by the @see refPointID -@unit 0,01 m +indicated by the [**refPointID**](#refPointID) +    **Unit**: _0,01 m_ -Fields: +Values: +* **zeroPointZeroOneMeter** (1)
+* **oneMeter** (100)
```asn1 ZSensorOffset ::= INTEGER { zeroPointZeroOneMeter (1), diff --git a/docs/CPM-FreeSpaceAddendum-Descriptions.md b/docs/CPM-FreeSpaceAddendum-Descriptions.md index a218574..0ef3564 100644 --- a/docs/CPM-FreeSpaceAddendum-Descriptions.md +++ b/docs/CPM-FreeSpaceAddendum-Descriptions.md @@ -2,14 +2,14 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) freeSpaceAddendum (6) version1 (1) }_ ## Imports: - * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
## Data Elements: ### FreeSpaceAddendumContainer Free Space Addendum Container A list of provided free space addendums. Each addendum shall be described asa provided by -@see FreeSpaceAddendum. +[**FreeSpaceAddendum**](#FreeSpaceAddendum). ```asn1 @@ -20,37 +20,29 @@ FreeSpaceAddendumContainer ::= SEQUENCE SIZE(1..128, ...) OF FreeSpaceAddendum Free Space Addendum This container shall only be added if the confidence indication needs to be altered with respect -to the isotropic @see FreeSpaceConfidence confidence level indication provided in the -@see SensorInformation. +to the isotropic [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence) confidence level indication provided in the +[**SensorInformation**](#SensorInformation). Fields: +* **Describes** an isotropic free space confidence that applies to the entire area as defined in
+* **the** @see freeSpaceArea of a particular free space addendum container.
* freeSpaceConfidence [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence)
+* **Describes** the free space area for which the free space confidence of this addendum
+* **container** is valid.
* freeSpaceArea [**FreeSpaceArea**](#FreeSpaceArea)
+* **Provides** a list of pseudonym sensor IDs which performed the measurement to indicate the
+* **free** space.
* sensorIDList [**SensorIdList**](CPM-CommonDataTypes-Descriptions.md#SensorIdList) OPTIONAL
+* **Indicates** if the simple shadowing mechanism applies within the area described
+* **by** @see freeSpaceArea.
* shadowingApplies [**ShadowingApplies**](CPM-CommonDataTypes-Descriptions.md#ShadowingApplies) DEFAULT TRUE
```asn1 FreeSpaceAddendum ::= SEQUENCE { - /** @detailsfreeSpaceConfidence - Describes an isotropic free space confidence that applies to the entire area as defined in - the @see freeSpaceArea of a particular free space addendum container. - */ - freeSpaceConfidence FreeSpaceConfidence, - /** @details freeSpaceArea - Describes the free space area for which the free space confidence of this addendum - container is valid. - */ - freeSpaceArea FreeSpaceArea, - /** @details sensorIDList - Provides a list of pseudonym sensor IDs which performed the measurement to indicate the - free space. - */ - sensorIDList SensorIdList OPTIONAL, - /**@details shadowingApplies - Indicates if the simple shadowing mechanism applies within the area described - by @see freeSpaceArea. - */ - shadowingApplies ShadowingApplies DEFAULT TRUE, + freeSpaceConfidence FreeSpaceConfidence, + freeSpaceArea FreeSpaceArea, + sensorIDList SensorIdList OPTIONAL, + shadowingApplies ShadowingApplies DEFAULT TRUE, ... } ``` @@ -63,28 +55,20 @@ the disseminating ITS-S. Fields: +* **A** sequence of node points from a given offset point to describe an arbitrary area shape.
* freeSpacePolygon [**AreaPolygon**](CPM-CommonDataTypes-Descriptions.md#AreaPolygon)
+* **A** description of a circular area.
* freeSpaceCircular [**AreaCircular**](CPM-CommonDataTypes-Descriptions.md#AreaCircular)
+* **A** description of an elliptical area.
* freeSpaceEllipse [**AreaEllipse**](CPM-CommonDataTypes-Descriptions.md#AreaEllipse)
+* **A** description of a rectangular area.
* freeSpaceRectangle [**AreaRectangle**](CPM-CommonDataTypes-Descriptions.md#AreaRectangle)
```asn1 FreeSpaceArea ::= CHOICE { - /** @details freeSpacePolygon - A sequence of node points from a given offset point to describe an arbitrary area shape. - */ - freeSpacePolygon AreaPolygon, - /**@details freeSpaceCircular - A description of a circular area. - */ - freeSpaceCircular AreaCircular, - /** @details freeSpaceEllipse - A description of an elliptical area. - */ - freeSpaceEllipse AreaEllipse, - /** @details freeSpaceRectangle - A description of a rectangular area. - */ - freeSpaceRectangle AreaRectangle, + freeSpacePolygon AreaPolygon, + freeSpaceCircular AreaCircular, + freeSpaceEllipse AreaEllipse, + freeSpaceRectangle AreaRectangle, ... } ``` diff --git a/docs/CPM-OriginatingStationData-Descriptions.md b/docs/CPM-OriginatingStationData-Descriptions.md index 22362fe..029f95c 100644 --- a/docs/CPM-OriginatingStationData-Descriptions.md +++ b/docs/CPM-OriginatingStationData-Descriptions.md @@ -2,115 +2,62 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1) }_ ## Imports: - * **ITS-Container** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
- Include ETSI TS 102 894-2 - Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn + * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
+ Include ETSI TS 102 894-2
+ Include references from https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn - * **DSRC** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
- Include ISO 19091 - Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn + * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
+ Include ISO 19091
+ Include references from https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn - * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
## Data Elements: ### OriginatingVehicleContainer -Originating Vehicle Container +Originating Vehicle Container
The _originatingVehicleContainer_ provides detailed information about the vehicle ITS-S disseminating the CPM. -Fields: -* heading [**Heading**](ITS-Container.md#Heading)
-* speed [**Speed**](ITS-Container.md#Speed)
-* verticalSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended) OPTIONAL
-* vehicleOrientationAngle [**WGS84Angle**](CPM-CommonDataTypes-Descriptions.md#WGS84Angle) OPTIONAL
-* driveDirection [**DriveDirection**](ITS-Container.md#DriveDirection) DEFAULT forward
-* longitudinalAcceleration [**LongitudinalAcceleration**](ITS-Container.md#LongitudinalAcceleration) OPTIONAL
-* lateralAcceleration [**LateralAcceleration**](ITS-Container.md#LateralAcceleration) OPTIONAL
-* verticalAcceleration [**VerticalAcceleration**](ITS-Container.md#VerticalAcceleration) OPTIONAL
-* yawRate [**YawRate**](ITS-Container.md#YawRate) OPTIONAL
-* rollAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
-* vehicleLength [**VehicleLength**](ITS-Container.md#VehicleLength) OPTIONAL
-* vehicleWidth [**VehicleWidth**](ITS-Container.md#VehicleWidth) OPTIONAL
-* vehicleHeight [**VehicleHeight**](CPM-CommonDataTypes-Descriptions.md#VehicleHeight) OPTIONAL
-* trailerDataContainer [**TrailerDataContainer**](CPM-CommonDataTypes-Descriptions.md#TrailerDataContainer) OPTIONAL
```asn1 OriginatingVehicleContainer ::= SEQUENCE { - /** @details heading - Heading and heading accuracy of the vehicle movement of the originating ITS-S with regards to - the true north. The heading accuracy provided in the DE @see headingConfidence value shall - provide the accuracy of the measured vehicle heading with a confidence level of 95 %. - */ - heading Heading, - /** @details speed - Driving speed and speed accuracy of the originating ITS-S. The speed accuracy provided in the - DE speedConfidence shall provide the accuracy of the speed value with a confidence level of 95 %. - */ - speed Speed, - /** @details verticalSpeed - Vertical speed and speed accuracy of the originating ITS-S. The speed accuracy provided in the - DE speedConfidence shall provide the accuracy of the speed value with a confidence level of 95 %. - Vertical means perpendicular to the ground plane of the WGS84 coordinate system at the current - position of the originating ITS-S. - */ - verticalSpeed SpeedExtended OPTIONAL, - - /** @details vehicleOrientationAngle + heading Heading, + speed Speed, + verticalSpeed SpeedExtended OPTIONAL, +``` + +### OriginatingRSUContainer + Angle and angle accuracy of the absolute orientation of the disseminating vehicle in the WGS84 coordinate system with respect to true North. This is opposed to the vehicle heading which is calculated taking into account the speed vector. The confidence denotes the accuracy of the measured angle value for a confidence level of 95 %. - */ - vehicleOrientationAngle WGS84Angle OPTIONAL, - driveDirection DriveDirection DEFAULT forward, - longitudinalAcceleration LongitudinalAcceleration OPTIONAL, - lateralAcceleration LateralAcceleration OPTIONAL, - verticalAcceleration VerticalAcceleration OPTIONAL, - yawRate YawRate OPTIONAL, - /** @details pitchAngle + Angle and angle accuracy between the ground plane and the current orientation of a vehicle's x-axis with respect to the ground plane about the y-axis according to the ISO 8855. - */pitchAngle CartesianAngle OPTIONAL, - /** @details rollAngle Angle and angle accuracy between the ground plane and the current orientation of a vehicle's y-axis with respect to the ground plane about the x-axis according to the ISO 8855 - */ - rollAngle CartesianAngle OPTIONAL, - vehicleLength VehicleLength OPTIONAL, - vehicleWidth VehicleWidth OPTIONAL, - vehicleHeight VehicleHeight OPTIONAL, - /** @details trailerDataContainer - Provides detailed information about the trailers dimensions and orientation in case a trailer is present. - */ - trailerDataContainer TrailerDataContainer OPTIONAL, - ... -} -``` -### OriginatingRSUContainer + Provides detailed information about the trailers dimensions and orientation in case a trailer is present. -Originating RSU Container +Originating RSU Container
The _originatingRSUContainer_ provides information about the RSU type ITS-S disseminating the CPM. Fields: +* **Conveys** the combination of an optional RoadRegulatorID and of an IntersectionID that is
+* **unique** within that region. When the RoadRegulatorID is present
+* **is** guaranteed to be globally unique.
* intersectionReferenceId [**IntersectionReferenceID**](DSRC.md#IntersectionReferenceID)
+* **Conveys** the RoadSegmentReferenceID which is unique to a given road segment of interest
+* **also** the RoadRegulatorID assigned to the region in which it is operating
* roadSegmentReferenceId [**RoadSegmentReferenceID**](DSRC.md#RoadSegmentReferenceID)
```asn1 OriginatingRSUContainer ::= CHOICE { - /** @details intersectionReferenceId - Conveys the combination of an optional RoadRegulatorID and of an IntersectionID that is - unique within that region. When the RoadRegulatorID is present, the IntersectionReferenceID - is guaranteed to be globally unique. - */ - intersectionReferenceId IntersectionReferenceID, - /** @details roadSegmentReferenceId - Conveys the RoadSegmentReferenceID which is unique to a given road segment of interest, and - also the RoadRegulatorID assigned to the region in which it is operating - */ - roadSegmentReferenceId RoadSegmentReferenceID, + intersectionReferenceId IntersectionReferenceID, + roadSegmentReferenceId RoadSegmentReferenceID, ... } ``` diff --git a/docs/CPM-PDU-Descriptions.md b/docs/CPM-PDU-Descriptions.md index 1180b87..653c3ff 100644 --- a/docs/CPM-PDU-Descriptions.md +++ b/docs/CPM-PDU-Descriptions.md @@ -2,30 +2,29 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) version1 (1) }_ ## Imports: - * **ITS-Container** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
- Include ETSI TS 102 894-2 v1.3.1 - Include references from @url https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn + * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
+ Include ETSI TS 102 894-2 v1.3.1
+ Include references from https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn - * **CAM-PDU-Descriptions** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) en(302637) cam(2) version(2)}*
- Include ETSI EN 302 637-2 v1.4.1 - Include references from @url https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2/blob/v1.4.1/CAM-PDU-Descriptions.asn + * **[CAM-PDU-Descriptions](CAM-PDU-Descriptions.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) en(302637) cam(2) version(2)}*
+ Include ETSI EN 302 637-2 v1.4.1
+ Include references from https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2/blob/v1.4.1/CAM-PDU-Descriptions.asn - * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
- * **CPM-OriginatingStationData-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1)}*
+ * **[CPM-OriginatingStationData-Descriptions](CPM-OriginatingStationData-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1)}*
- * **CPM-SensorInformation-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1)}*
+ * **[CPM-SensorInformation-Descriptions](CPM-SensorInformation-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1)}*
- * **CPM-PerceivedObject-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObject (5) version1 (1)}*
+ * **[CPM-PerceivedObject-Descriptions](CPM-PerceivedObject-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObject (5) version1 (1)}*
- * **CPM-FreeSpaceAddendum-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) freeSpaceAddendum (6) version1 (1)}*
+ * **[CPM-FreeSpaceAddendum-Descriptions](CPM-FreeSpaceAddendum-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) freeSpaceAddendum (6) version1 (1)}*
## Data Elements: ### CPM-STATIONDATA-ID-AND-TYPE -Fields: ```asn1 CPM-STATIONDATA-ID-AND-TYPE ::= CLASS { &id CpmStationDataId UNIQUE, @@ -33,11 +32,24 @@ CPM-STATIONDATA-ID-AND-TYPE ::= CLASS { } WITH SYNTAX {&Type IDENTIFIED BY &id} ``` -### CPM-CONTAINER-ID-AND-TYPE +### CpmStationDataContainer Fields: +* containerId [**CPM-STATIONDATA-ID-AND-TYPE**](#CPM-STATIONDATA-ID-AND-TYPE) .&id( {Set} )
+* containerData [**CPM-STATIONDATA-ID-AND-TYPE**](#CPM-STATIONDATA-ID-AND-TYPE) .&Type( {Set}{@containerId} )
+```asn1 +CpmStationDataContainer {CPM-STATIONDATA-ID-AND-TYPE : Set} ::= SEQUENCE { + containerId CPM-STATIONDATA-ID-AND-TYPE.&id( {Set} ), + containerData CPM-STATIONDATA-ID-AND-TYPE.&Type( {Set}{@containerId} ) +} +``` + +### CPM-CONTAINER-ID-AND-TYPE + + + ```asn1 CPM-CONTAINER-ID-AND-TYPE ::= CLASS { &id CpmContainerId UNIQUE, @@ -45,6 +57,20 @@ CPM-CONTAINER-ID-AND-TYPE ::= CLASS { } WITH SYNTAX {&Type IDENTIFIED BY &id} ``` +### CpmPerceptionDataContainer + + + +Fields: +* containerId [**CPM-CONTAINER-ID-AND-TYPE**](#CPM-CONTAINER-ID-AND-TYPE) .&id( {Set} )
+* containerData [**CPM-CONTAINER-ID-AND-TYPE**](#CPM-CONTAINER-ID-AND-TYPE) .&Type( {Set}{@containerId} )
+```asn1 +CpmPerceptionDataContainer {CPM-CONTAINER-ID-AND-TYPE : Set} ::= SEQUENCE { + containerId CPM-CONTAINER-ID-AND-TYPE.&id( {Set} ), + containerData CPM-CONTAINER-ID-AND-TYPE.&Type( {Set}{@containerId} ) +} +``` + ### CpmStationDataId @@ -54,26 +80,24 @@ CpmStationDataId ::= INTEGER (0..255) CpmContainerId ::= INTEGER (0..255) ``` -### CPM-STATIONDATA-ID-AND-TYPE +### OriginatingStationData -Fields: ```asn1 -CPM-STATIONDATA-ID-AND-TYPE ::= { +OriginatingStationData CPM-STATIONDATA-ID-AND-TYPE ::= { {OriginatingVehicleContainer IDENTIFIED BY originatingStationVehicleContainer} | {OriginatingRSUContainer IDENTIFIED BY originatingStationRSUContainer}, ... } ``` -### CPM-CONTAINER-ID-AND-TYPE +### PerceptionData -Fields: ```asn1 -CPM-CONTAINER-ID-AND-TYPE ::= { +PerceptionData CPM-CONTAINER-ID-AND-TYPE ::= { {SensorInformationContainer IDENTIFIED BY sensorInformationCpmContainer} | {PerceivedObjectContainer IDENTIFIED BY perceivedObjectCpmContainer} | {FreeSpaceAddendumContainer IDENTIFIED BY freeSpaceAdddendumCpmContainer}, @@ -81,28 +105,24 @@ CPM-CONTAINER-ID-AND-TYPE ::= { } ``` -### CpmStationDataId - ```asn1 -CpmStationDataId ::= 1 +originatingStationVehicleContainer CpmStationDataId ::= 1 originatingStationRSUContainer CpmStationDataId ::= 2 ``` -### CpmContainerId - ```asn1 -CpmContainerId ::= 1 +sensorInformationCpmContainer CpmContainerId ::= 1 perceivedObjectCpmContainer CpmContainerId ::= 2 freeSpaceAdddendumCpmContainer CpmContainerId ::= 3 ``` ### CPM -Collective Perception Message Root +Collective Perception Message Root
This DF includes DEs for the CPM protocolVersion, the CP message type identifier _messageID_ and the station identifier _stationID_ of the originating ITS-S. @@ -114,12 +134,7 @@ Fields: * cpm [**CollectivePerceptionMessage**](#CollectivePerceptionMessage)
```asn1 CPM ::= SEQUENCE { - /** @details header - The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving - ITS-S. It shall be set to @todo cpm(15). - The DE _messageID_ shall be harmonized with other V2X message identifier definitions. - */ - header ItsPduHeader, + header ItsPduHeader, cpm CollectivePerceptionMessage } ``` @@ -129,7 +144,7 @@ CPM ::= SEQUENCE { Collective Perception Message This is the actual CPM Payload. It shall include the time stamp of the CPM and the applicable containers of type _PerceptionData_. The selection of the StationDataContainer type container -depends on the _StationType_ as selected in the @see CpmManagementContainer +depends on the _StationType_ as selected in the [**CpmManagementContainer**](#CpmManagementContainer) Fields: @@ -149,24 +164,19 @@ The sequence of mandatory and optional containers. Other containers may be added Fields: +* **The** managementContainer comprises basic information about the originating ITS-S
+* **not** specific to vehicles or RSUs.
* managementContainer [**CpmManagementContainer**](#CpmManagementContainer)
-* stationDataContainer [**CpmStationDataContainer**](#CpmStationDataContainer) {{OriginatingStationData
+* **The** stationDataContainer comprises ITS-S type specific information about the sending station.
+* stationDataContainer [**CpmStationDataContainer**](#CpmStationDataContainer) {{OriginatingStationData}} OPTIONAL
+* **The** perceptionData comprises different container types for describing the sensory properties
+* **of** the transmitting ITS-S
+* perceptionData **SEQUENCE** SIZE(1..255) OF CpmPerceptionDataContainer {{PerceptionData}} OPTIONAL
```asn1 CpmParameters ::= SEQUENCE { - /** managementContainer - The managementContainer comprises basic information about the originating ITS-S, which are - not specific to vehicles or RSUs. - */ - managementContainer CpmManagementContainer, - /** stationDataContainer - The stationDataContainer comprises ITS-S type specific information about the sending station. - */ - stationDataContainer CpmStationDataContainer {{OriginatingStationData}} OPTIONAL, - /** perceptionData - The perceptionData comprises different container types for describing the sensory properties - of the transmitting ITS-S, its detected objects and free space estimates. - */ - perceptionData SEQUENCE SIZE(1..255) OF CpmPerceptionDataContainer {{PerceptionData}} OPTIONAL, + managementContainer CpmManagementContainer, + stationDataContainer CpmStationDataContainer {{OriginatingStationData}} OPTIONAL, + perceptionData SEQUENCE SIZE(1..255) OF CpmPerceptionDataContainer {{PerceptionData}} OPTIONAL, ... } ``` @@ -180,17 +190,15 @@ specific to vehicles or RSUs. Fields: * stationType [**StationType**](ITS-Container.md#StationType)
+* **The** perceived object container segment info describes the segmentation information in case
+* **the** data for CPM transmission needs to be split up into multiple messages due to
+* **message** size constraints.
* messageSegmentInfo [**MessageSegmentInfo**](CPM-CommonDataTypes-Descriptions.md#MessageSegmentInfo) OPTIONAL
* referencePosition [**ReferencePosition**](ITS-Container.md#ReferencePosition)
```asn1 CpmManagementContainer ::= SEQUENCE { stationType StationType, - /** @brief messageSegmentInfo - The perceived object container segment info describes the segmentation information in case - the data for CPM transmission needs to be split up into multiple messages due to - message size constraints. - */ - messageSegmentInfo MessageSegmentInfo OPTIONAL, + messageSegmentInfo MessageSegmentInfo OPTIONAL, referencePosition ReferencePosition, ... } diff --git a/docs/CPM-PerceivedObject-Descriptions.md b/docs/CPM-PerceivedObject-Descriptions.md index 0ab4cc4..7237b22 100644 --- a/docs/CPM-PerceivedObject-Descriptions.md +++ b/docs/CPM-PerceivedObject-Descriptions.md @@ -2,322 +2,255 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObject (5) version1 (1) }_ ## Imports: - * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
## Data Elements: ### PerceivedObjectContainer -Perceived Object Container -A list of perceived objects. Each object shall be described as defined in @see PerceivedObject. +Perceived Object Container
+A list of perceived objects. Each object shall be described as defined in [**PerceivedObject**](#PerceivedObject). Fields: +* **The** total number of detected objects by the station at the time of generating the message.
+* **Due** to the dynamic message generation rules
+* **of** objects included in this message but states the number of objects known to the sender at
+* **the** time of generating the message.
* numberOfPerceivedObjects [**NumberOfPerceivedObjects**](CPM-CommonDataTypes-Descriptions.md#NumberOfPerceivedObjects) DEFAULT 0
-* perceivedObjects [**SEQUENCE**](#SEQUENCE) SIZE(1..128
+* perceivedObjects **SEQUENCE** SIZE(1..128, ...) OF PerceivedObject
```asn1 PerceivedObjectContainer ::= SEQUENCE { - /** @details numberOfPerceivedObjects - The total number of detected objects by the station at the time of generating the message. - Due to the dynamic message generation rules, this number does not have to reflect the number - of objects included in this message but states the number of objects known to the sender at - the time of generating the message. - */ - numberOfPerceivedObjects NumberOfPerceivedObjects DEFAULT 0, + numberOfPerceivedObjects NumberOfPerceivedObjects DEFAULT 0, perceivedObjects SEQUENCE SIZE(1..128, ...) OF PerceivedObject } ``` ### PerceivedObject -Perceived Object +Perceived Object
An object in the context of the CP Service refers to the kinematic and attitude representation of a detected object within a sensor’s perception range. An object may be reported directly by a sensor or a sensor fusion system. Fields: +* **Identifier** assigned to a detected object which remains constant as long as the object is
+* **perceived** by the disseminating ITS-S. Numbers are assigned in an increasing round-robin
+* **the** identifier starts from the beginning of the range again.
* objectID [**Identifier**](CPM-CommonDataTypes-Descriptions.md#Identifier)
+* **Provides** the time difference from the message’s generation delta time to the time of the
+* **measurement** of the object.
* timeOfMeasurement [**TimeOfMeasurement**](CPM-CommonDataTypes-Descriptions.md#TimeOfMeasurement)
+* **Distance** to detected object from the ITS-S's reference point in x-direction for the time
+* **of** measurement. For a vehicle
+* **as** provided by ISO 8855. For a RSU
+* **the** y-axis corresponds to the North direction
+* **axis** to the vertical direction.
* xDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance)
+* **Distance** to detected object from the ITS-S's reference point in y-direction for the time
+* **of** measurement. For a vehicle
+* **as** provided by ISO 8855. For a RSU
+* **the** y-axis corresponds to the North direction
+* **axis** to the vertical direction
* yDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance)
+* **Distance** to detected object from the ITS-S's reference point in z-direction for the time
+* **of** measurement. For a vehicle
+* **as** provided by ISO 8855. For a RSU
+* **the** y-axis corresponds to the North direction
+* **axis** to the vertical direction
* zDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance) OPTIONAL
+* **Speed** of the detected object in the detecting ITS-S’s reference system in x-direction for the
+* **time** of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle
+* **ISO** 8855 originating at the ITS-station’s reference point. For a RSU
+* **a** coordinate system in which the y-axis corresponds to the North direction
+* **East** direction
* xSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended)
+* **Speed** of the detected object in the detecting ITS-S’s reference system in y-direction for the
+* **time** of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle
+* **ISO** 8855 originating at the ITS-station’s reference point. For a RSU
+* **a** coordinate system in which the y-axis corresponds to the North direction
+* **East** direction
* ySpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended)
+* **Speed** of the detected object in the detecting ITS-S’s reference system in z-direction for the
+* **time** of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle
+* **ISO** 8855 originating at the ITS-station’s reference point. For a RSU
+* **a** coordinate system in which the y-axis corresponds to the North direction
+* **East** direction
* zSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended) OPTIONAL
+* **Acceleration** of the detected object from the ITS-S's reference point in x-direction
+* **for** the time of measurement. For a vehicle
+* **coordinate** system as provided by ISO 8855 originating at the ITS-station’s reference point.
+* **For** a RSU
+* **to** the North direction
* xAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
+* **Acceleration** of the detected object from the ITS-S's reference point in y-direction
+* **for** the time of measurement. For a vehicle
+* **coordinate** system as provided by ISO 8855 originating at the ITS-station’s reference point.
+* **For** a RSU
+* **to** the North direction
* yAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
+* **Acceleration** of the detected object from the ITS-S's reference point in z-direction
+* **for** the time of measurement. For a vehicle
+* **coordinate** system as provided by ISO 8855 originating at the ITS-station’s reference point.
+* **For** a RSU
+* **to** the North direction
* zAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
+* **Roll** angle of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angle is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the x-axis.
* rollAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
+* **Pitch** angle of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angle is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the y-axis.
* pitchAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
+* **Yaw** angle of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angle is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the z-axis.
* yawAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
+* **Roll** rate of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angular rate is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the x-axis.
* rollRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
+* **Pitch** rate of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angular rate is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the y-axis.
* pitchRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
+* **Yaw** rate of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angular rate is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the z-axis.
* yawRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
+* **Roll** acceleration of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angular acceleration is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the x-axis.
* rollAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
+* **Pitch** acceleration of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angular acceleration is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the y-axis.
* pitchAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
+* **Yaw** acceleration of object from the ITS-S's reference point. For a vehicle
+* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
+* **reference** point. For a RSU
+* **corresponds** to the North direction
+* **The** angular acceleration is measured with positive values considering the object orientation turning
+* **counter-clockwise** around the z-axis.
* yawAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
+* **Provides** the columns of a lower triangular positive semi definite correlation matrix for the
+* **kinematic** state and attitude space provided for this object.
+* **The** order of the columns and rows of the correlation matrix is as follows:
+* **-** xDistance
+* **-** yDistance
+* **-** zDistance
+* **-** xSpeed
+* **-** ySpeed
+* **-** zSpeed
+* **-** xAcceleration
+* **-** yAcceleration
+* **-** zAcceleration
+* **-** rollAngle
+* **-** pitchAngle
+* **-** yawAngle
+* **-** rollRate
+* **-** pitchRate
+* **-** yawRate
+* **-** rollAcceleration
+* **-** pitchAcceleration
+* **-** yawAcceleration
+* **The** number of lowerTriangularCorrelationMatrixColumns to be included "k" is thereby the number of provided
+* **values** "n" of the kinematic state and attitude space 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 space are not provided
+* **the** lowerTriangularCorrelationMatrixColumns.
* lowerTriangularCorrelationMatrixColumns [**LowerTriangularPositiveSemidefiniteMatrix**](CPM-CommonDataTypes-Descriptions.md#LowerTriangularPositiveSemidefiniteMatrix) 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.
* planarObjectDimension1 [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) 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.
* planarObjectDimension2 [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) OPTIONAL
+* **Vertical** dimension of object as provided by the sensor or object model.
* verticalObjectDimension [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) OPTIONAL
+* **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
* objectRefPoint [**ObjectRefPoint**](CPM-CommonDataTypes-Descriptions.md#ObjectRefPoint) DEFAULT 0
+* **Provides** the age of the detected and described object.
* objectAge [**ObjectAge**](CPM-CommonDataTypes-Descriptions.md#ObjectAge)
+* **The** confidence associated to the object. The computation of the object confidence is based on a sensor's or
+* **fusion** system's specific detection confidence
+* **has** been successfully detected by the last measurement and the object age.
* objectConfidence [**ObjectConfidence**](CPM-CommonDataTypes-Descriptions.md#ObjectConfidence) OPTIONAL
+* **List** of sensor-IDs which provided the measurement data. Refers to the sensorID in the
+* **If** the @see SensorInformationContainer is never provided by the disseminating ITS-S
+* **populated** with random numbers
* sensorIDList [**SensorIdList**](CPM-CommonDataTypes-Descriptions.md#SensorIdList) OPTIONAL
+* **Indicated** the dynamic capabilities of a detected object.
* dynamicStatus [**DynamicStatus**](CPM-CommonDataTypes-Descriptions.md#DynamicStatus) OPTIONAL
+* **Provides** the classification of the described object. Multi-dimensional classification may be
* classification [**ObjectClassDescription**](CPM-CommonDataTypes-Descriptions.md#ObjectClassDescription) OPTIONAL
+* **The** optional map-matched position of an object. This requires that a MAP-message is provided.
* matchedPosition [**MatchedPosition**](CPM-CommonDataTypes-Descriptions.md#MatchedPosition) OPTIONAL
```asn1 PerceivedObject ::= SEQUENCE { - /** @details objectID - Identifier assigned to a detected object which remains constant as long as the object is - perceived by the disseminating ITS-S. Numbers are assigned in an increasing round-robin - fashion. When the last identifier in the allowed range has been used, the first counter for - the identifier starts from the beginning of the range again. - */ - objectID Identifier, - /** @details timeOfMeasurement - Provides the time difference from the message’s generation delta time to the time of the - measurement of the object. - */ - timeOfMeasurement TimeOfMeasurement, - /** @details xDistance - Distance to detected object from the ITS-S's reference point in x-direction for the time - of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system - as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which - the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- - axis to the vertical direction. - */ - xDistance ObjectDistance, - /** @details yDistance - Distance to detected object from the ITS-S's reference point in y-direction for the time - of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system - as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which - the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- - axis to the vertical direction - */ - yDistance ObjectDistance, - /** @details zDistance - Distance to detected object from the ITS-S's reference point in z-direction for the time - of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system - as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which - the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- - axis to the vertical direction - */ - zDistance ObjectDistance OPTIONAL, - /** @details xSpeed - Speed of the detected object in the detecting ITS-S’s reference system in x-direction for the - time of measurement (i.e. speed of the object relative to the origin of the station’s reference - system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by - ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in - a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the - East direction, and the z-axis to the vertical direction. - */ - xSpeed SpeedExtended, - /** @details ySpeed - Speed of the detected object in the detecting ITS-S’s reference system in y-direction for the - time of measurement (i.e. speed of the object relative to the origin of the station’s reference - system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by - ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in - a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the - East direction, and the z-axis to the vertical direction. - */ - ySpeed SpeedExtended, - /** @details zSpeed - Speed of the detected object in the detecting ITS-S’s reference system in z-direction for the - time of measurement (i.e. speed of the object relative to the origin of the station’s reference - system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by - ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in - a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the - East direction, and the z-axis to the vertical direction. - */ - zSpeed SpeedExtended OPTIONAL, - /** @details xAcceleration - Acceleration of the detected object from the ITS-S's reference point in x-direction - for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed - coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. - For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds - to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. - */ - xAcceleration Acceleration OPTIONAL, - /** @details yAcceleration - Acceleration of the detected object from the ITS-S's reference point in y-direction - for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed - coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. - For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds - to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. - */ - yAcceleration Acceleration OPTIONAL, - /** @details zAcceleration - Acceleration of the detected object from the ITS-S's reference point in z-direction - for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed - coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. - For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds - to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. - */ - zAcceleration Acceleration OPTIONAL, - /** @details rollAngle - Roll angle of object from the ITS-S's reference point. For a vehicle, the angle is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angle is measured with positive values considering the object orientation turning - counter-clockwise around the x-axis. - */ - rollAngle CartesianAngle OPTIONAL, - /** @details pitchAngle - Pitch angle of object from the ITS-S's reference point. For a vehicle, the angle is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angle is measured with positive values considering the object orientation turning - counter-clockwise around the y-axis. - */ - pitchAngle CartesianAngle OPTIONAL, - /** @details yawAngle - Yaw angle of object from the ITS-S's reference point. For a vehicle, the angle is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angle is measured with positive values considering the object orientation turning - counter-clockwise around the z-axis. - */ - yawAngle CartesianAngle OPTIONAL, - /** @details rollRate - Roll rate of object from the ITS-S's reference point. For a vehicle, the angular rate is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angular rate is measured with positive values considering the object orientation turning - counter-clockwise around the x-axis. - */ - rollRate CartesianAngularSpeed OPTIONAL, - /** @details pitchRate - Pitch rate of object from the ITS-S's reference point. For a vehicle, the angular rate is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angular rate is measured with positive values considering the object orientation turning - counter-clockwise around the y-axis. - */ - pitchRate CartesianAngularSpeed OPTIONAL, - /** @details yawRate - Yaw rate of object from the ITS-S's reference point. For a vehicle, the angular rate is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angular rate is measured with positive values considering the object orientation turning - counter-clockwise around the z-axis. - */ - yawRate CartesianAngularSpeed OPTIONAL, - /** @details rollAcceleration - Roll acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angular acceleration is measured with positive values considering the object orientation turning - counter-clockwise around the x-axis. - */ - rollAcceleration CartesianAngularAcceleration OPTIONAL, - /** @details pitchAcceleration - Pitch acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angular acceleration is measured with positive values considering the object orientation turning - counter-clockwise around the y-axis. - */ - pitchAcceleration CartesianAngularAcceleration OPTIONAL, - /** @details yawAcceleration - Yaw acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is - reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s - reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis - corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. - The angular acceleration is measured with positive values considering the object orientation turning - counter-clockwise around the z-axis. - */ - yawAcceleration CartesianAngularAcceleration OPTIONAL, - /** @details lowerTriangularCorrelationMatrixColumns - Provides the columns of a lower triangular positive semi definite correlation matrix for the - kinematic state and attitude space provided for this object. - The order of the columns and rows of the correlation matrix is as follows: - - xDistance - - yDistance - - zDistance - - xSpeed - - ySpeed - - zSpeed - - xAcceleration - - yAcceleration - - zAcceleration - - rollAngle - - pitchAngle - - yawAngle - - rollRate - - pitchRate - - yawRate - - rollAcceleration - - pitchAcceleration - - yawAcceleration - The number of lowerTriangularCorrelationMatrixColumns to be included "k" is thereby the number of provided - values "n" of the kinematic state and attitude space 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 space are not provided, they are omitted from - the lowerTriangularCorrelationMatrixColumns. - */ - lowerTriangularCorrelationMatrixColumns LowerTriangularPositiveSemidefiniteMatrix OPTIONAL, - /** @details planarObjectDimension1 - 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. - */ - planarObjectDimension1 ObjectDimension OPTIONAL, - /** @details planarObjectDimension2 - 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. - */ - planarObjectDimension2 ObjectDimension OPTIONAL, - /** @details verticalObjectDimension - Vertical dimension of object as provided by the sensor or object model. - */ - verticalObjectDimension ObjectDimension OPTIONAL, - /** @details 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. - */ - objectRefPoint ObjectRefPoint DEFAULT 0, - /** @details objectAge - Provides the age of the detected and described object. - */ - objectAge ObjectAge, - /** @details objectConfidence - The 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. - */ - objectConfidence ObjectConfidence OPTIONAL, - /** @details sensorIDList - List of sensor-IDs which provided the measurement data. Refers to the sensorID in the - @see SensorInformationContainer. - If the @see SensorInformationContainer is never provided by the disseminating ITS-S, the list shall be - populated with random numbers, where each number is assigned to a sensor of the transmitting station. - */ - sensorIDList SensorIdList OPTIONAL, - /** @details dynamicStatus - Indicated the dynamic capabilities of a detected object. - */ - dynamicStatus DynamicStatus OPTIONAL, - /** @details classification - Provides the classification of the described object. Multi-dimensional classification may be - provided. - */ - classification ObjectClassDescription OPTIONAL, - /** @details matchedPosition - The optional map-matched position of an object. This requires that a MAP-message is provided. - */ - matchedPosition MatchedPosition OPTIONAL, + objectID Identifier, + timeOfMeasurement TimeOfMeasurement, + xDistance ObjectDistance, + yDistance ObjectDistance, + zDistance ObjectDistance OPTIONAL, + xSpeed SpeedExtended, + ySpeed SpeedExtended, + zSpeed SpeedExtended OPTIONAL, + xAcceleration Acceleration OPTIONAL, + yAcceleration Acceleration OPTIONAL, + zAcceleration Acceleration OPTIONAL, + rollAngle CartesianAngle OPTIONAL, + pitchAngle CartesianAngle OPTIONAL, + yawAngle CartesianAngle OPTIONAL, + rollRate CartesianAngularSpeed OPTIONAL, + pitchRate CartesianAngularSpeed OPTIONAL, + yawRate 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 ObjectAge, + objectConfidence ObjectConfidence OPTIONAL, + sensorIDList SensorIdList OPTIONAL, + dynamicStatus DynamicStatus OPTIONAL, + classification ObjectClassDescription OPTIONAL, + matchedPosition MatchedPosition OPTIONAL, ... } ``` diff --git a/docs/CPM-SensorInformation-Descriptions.md b/docs/CPM-SensorInformation-Descriptions.md index 14ec57e..dd4e02b 100644 --- a/docs/CPM-SensorInformation-Descriptions.md +++ b/docs/CPM-SensorInformation-Descriptions.md @@ -2,12 +2,12 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1) }_ ## Imports: - * **CPM-CommonDataTypes-Descriptions** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
+ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
## Data Elements: ### SensorInformationContainer -Sensor Information Container +Sensor Information Container
This container contains a list of sensor-types or data fusion systems from which the station provides information about detected objects. @@ -21,115 +21,86 @@ SensorInformationContainer ::= SEQUENCE SIZE(1..128, ...) OF SensorInformation Fields: +* **Sensor** pseudonym ID used to relate which measurement has been received by which sensor.
* This [**ID**](#ID) is referred to in the @see PerceivedObject.
* sensorID [**Identifier**](CPM-CommonDataTypes-Descriptions.md#Identifier)
* type [**SensorType**](CPM-CommonDataTypes-Descriptions.md#SensorType)
* detectionArea [**DetectionArea**](#DetectionArea)
+* **Describes** the isotropic free space confidence that can be assumed for the entire detection
+* **area** of this sensor. Shadowed areas can be derived from provided objects. Deviations from
+* **this** free space derivation can be expressed in the @see FreeSpaceAddendumContainer.
* freeSpaceConfidence [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence) OPTIONAL
```asn1 SensorInformation ::= SEQUENCE { - /** @details sensorID - Sensor pseudonym ID used to relate which measurement has been received by which sensor. - This ID is referred to in the @see PerceivedObject. - */ - sensorID Identifier, + sensorID Identifier, type SensorType, detectionArea DetectionArea, - /** @details freeSpaceConfidence - Describes the isotropic free space confidence that can be assumed for the entire detection - area of this sensor. Shadowed areas can be derived from provided objects. Deviations from - this free space derivation can be expressed in the @see FreeSpaceAddendumContainer. - */ - freeSpaceConfidence FreeSpaceConfidence OPTIONAL, + freeSpaceConfidence FreeSpaceConfidence OPTIONAL, ... } ``` ### DetectionArea -Detection Area +Detection Area
Choice of DFs to detail the sensor information. Fields: +* **The** _vehicleSensor_ shall be used for describing non-stationary sensors attached to vehicles.
* vehicleSensor [**VehicleSensor**](#VehicleSensor)
+* **The** _stationarySensorRadial_ can be used to provide details for describing sensors mounted to
+* **road-side** units
* stationarySensorRadial [**AreaRadial**](CPM-CommonDataTypes-Descriptions.md#AreaRadial)
+* **The** _stationarySensorPolygon_ can be used to describe a polygonal detection area associated
+* **to** a single sensor or to describe the union of multiple polygonal areas expressed as one
+* **combined** polygon.
* stationarySensorPolygon [**AreaPolygon**](CPM-CommonDataTypes-Descriptions.md#AreaPolygon)
+* **The** _stationarySensorCircular_ describes a circular perception area for a stationary sensor.
+* **The** position offset refers to the center point of the circular area.
* stationarySensorCircular [**AreaCircular**](CPM-CommonDataTypes-Descriptions.md#AreaCircular)
+* **The** _stationarySensorEllipse_ describes an ellipse-shaped perception area for a stationary
* stationarySensorEllipse [**AreaEllipse**](CPM-CommonDataTypes-Descriptions.md#AreaEllipse)
+* **The** _stationarySensorRectangle_ describes a rectangle as a perception area for a stationary
* stationarySensorRectangle [**AreaRectangle**](CPM-CommonDataTypes-Descriptions.md#AreaRectangle)
```asn1 DetectionArea ::= CHOICE { - /** @details vehicleSensor - The _vehicleSensor_ shall be used for describing non-stationary sensors attached to vehicles. - */ - vehicleSensor VehicleSensor, - /** @details stationarySensorRadial - The _stationarySensorRadial_ can be used to provide details for describing sensors mounted to - road-side units - */ - stationarySensorRadial AreaRadial, - /** @details stationarySensorPolygon - The _stationarySensorPolygon_ can be used to describe a polygonal detection area associated - to a single sensor or to describe the union of multiple polygonal areas expressed as one - combined polygon. - */ - stationarySensorPolygon AreaPolygon, - /** @details stationarySensorCircular - The _stationarySensorCircular_ describes a circular perception area for a stationary sensor. - The position offset refers to the center point of the circular area. - */ - stationarySensorCircular AreaCircular, - /** @details stationarySensorEllipse - The _stationarySensorEllipse_ describes an ellipse-shaped perception area for a stationary - sensor.The position offset refers to the center point of the ellipse. - */ - stationarySensorEllipse AreaEllipse, - /** @details stationarySensorRectangle - The _stationarySensorRectangle_ describes a rectangle as a perception area for a stationary - sensor. The position offset refers to the center point of the rectangle. - */ - stationarySensorRectangle AreaRectangle, + vehicleSensor VehicleSensor, + stationarySensorRadial AreaRadial, + stationarySensorPolygon AreaPolygon, + stationarySensorCircular AreaCircular, + stationarySensorEllipse AreaEllipse, + stationarySensorRectangle AreaRectangle, ... } ``` ### VehicleSensor -Vehicle Sensor +Vehicle Sensor
Describes the perception capabilities of mobile sensors mounted to vehicles. Fields: +* **An** identification of the reference point in case of a sensor mounted to trailer.
+* **Defaults** to ITS ReferencePoint (0).
* refPointId [**RefPointId**](CPM-CommonDataTypes-Descriptions.md#RefPointId) DEFAULT 0
+* **Mounting** position of sensor in negative x-direction from Reference Point indicated by the @see refPointId.
* xSensorOffset [**XSensorOffset**](CPM-CommonDataTypes-Descriptions.md#XSensorOffset)
+* **Mounting** position of sensor in y-direction from Reference Point indicated by the @see refPointId.
* ySensorOffset [**YSensorOffset**](CPM-CommonDataTypes-Descriptions.md#YSensorOffset)
+* **Mounting** position of sensor in z-direction from Reference Point indicated by the @see refPointId.
* zSensorOffset [**ZSensorOffset**](CPM-CommonDataTypes-Descriptions.md#ZSensorOffset) OPTIONAL
+* **The** actual extension of the area covered by the specific vehicle sensor. In case of multiple
+* **perception** areas for a sensor
* vehicleSensorPropertyList [**VehicleSensorPropertyList**](#VehicleSensorPropertyList)
```asn1 VehicleSensor ::= SEQUENCE { - /** @details refPointId - An identification of the reference point in case of a sensor mounted to trailer. - Defaults to ITS ReferencePoint (0). - */ - refPointId RefPointId DEFAULT 0, - /** @details xSensorOffset - Mounting position of sensor in negative x-direction from Reference Point indicated by the @see refPointId. - */ - xSensorOffset XSensorOffset, - /** @details ySensorOffset - Mounting position of sensor in y-direction from Reference Point indicated by the @see refPointId. - */ - ySensorOffset YSensorOffset, - /** @details zSensorOffset - Mounting position of sensor in z-direction from Reference Point indicated by the @see refPointId. - */ - zSensorOffset ZSensorOffset OPTIONAL, - /** @details vehicleSensorPropertyList - The actual extension of the area covered by the specific vehicle sensor. In case of multiple - perception areas for a sensor, a list of areas covered by this sensor can be added. - */ - vehicleSensorPropertyList VehicleSensorPropertyList, + refPointId RefPointId DEFAULT 0, + xSensorOffset XSensorOffset, + ySensorOffset YSensorOffset, + zSensorOffset ZSensorOffset OPTIONAL, + vehicleSensorPropertyList VehicleSensorPropertyList, ... } ``` @@ -144,7 +115,7 @@ VehicleSensorPropertyList ::= SEQUENCE SIZE(1..10) OF VehicleSensorProperties ### VehicleSensorProperties -Vehicle Sensor Properties +Vehicle Sensor Properties
The actual extension of the area covered by the specific vehicle sensor. In case of multiple perception areas for a sensor, a list of areas covered by this sensor can be added. diff --git a/docs/ITS-Container.md b/docs/ITS-Container.md index d8867e3..f7a7f2f 100644 --- a/docs/ITS-Container.md +++ b/docs/ITS-Container.md @@ -2,17 +2,12 @@ OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }_ ## Data Elements: -### ItsPduHeader - -Fields: -* protocolVersion **INTEGER** (0..255)
-* messageID **INTEGER** { denm(1)
```asn1 ItsPduHeader ::= SEQUENCE { protocolVersion INTEGER (0..255), - messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13) } (0..255), -- Mantis #7209, #7005 + messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13) } (0..255), stationID StationID } ``` @@ -63,7 +58,8 @@ DeltaReferencePosition ::= SEQUENCE { -Fields: +Values: +* **oneMicrodegreeEast** (10)
```asn1 Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001) ``` @@ -72,7 +68,8 @@ Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavai -Fields: +Values: +* **oneMicrodegreeNorth** (10)
```asn1 Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)} (-900000000..900000001) ``` @@ -95,7 +92,6 @@ Altitude ::= SEQUENCE { -Fields: ```asn1 AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001) ``` @@ -104,7 +100,23 @@ AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unava -Fields: +Values: +* **alt-000-01** (0)
+* **alt-000-02** (1)
+* **alt-000-05** (2)
+* **alt-000-10** (3)
+* **alt-000-20** (4)
+* **alt-000-50** (5)
+* **alt-001-00** (6)
+* **alt-002-00** (7)
+* **alt-005-00** (8)
+* **alt-010-00** (9)
+* **alt-020-00** (10)
+* **alt-050-00** (11)
+* **alt-100-00** (12)
+* **alt-200-00** (13)
+* **outOfRange** (14)
+* **unavailable** (15)
```asn1 AltitudeConfidence ::= ENUMERATED { alt-000-01 (0), @@ -130,7 +142,8 @@ AltitudeConfidence ::= ENUMERATED { -Fields: +Values: +* **oneMicrodegreeEast** (10)
```asn1 DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072) ``` @@ -139,7 +152,8 @@ DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), u -Fields: +Values: +* **oneMicrodegreeNorth** (10)
```asn1 DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072) ``` @@ -148,7 +162,8 @@ DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , -Fields: +Values: +* **oneCentimeterUp** (1)
```asn1 DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800) ``` @@ -187,7 +202,6 @@ PathPoint ::= SEQUENCE { -Fields: ```asn1 PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...) ``` @@ -210,7 +224,6 @@ PtActivation ::= SEQUENCE { -Fields: ```asn1 PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255) ``` @@ -227,7 +240,14 @@ PtActivationData ::= OCTET STRING (SIZE(1..20)) -Fields: +Values: +* **brakePedalEngaged** (0)
+* **gasPedalEngaged** (1)
+* **emergencyBrakeEngaged** (2)
+* **collisionWarningEngaged** (3)
+* **accEngaged** (4)
+* **cruiseControlEngaged** (5)
+* **speedLimiterEngaged** (6)
```asn1 AccelerationControl ::= BIT STRING { brakePedalEngaged (0), @@ -244,7 +264,6 @@ AccelerationControl ::= BIT STRING { -Fields: ```asn1 SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095) ``` @@ -268,7 +287,34 @@ CauseCode ::= SEQUENCE { -Fields: +Values: +* **reserved** (0)
+* **trafficCondition** (1)
+* **accident** (2)
+* **roadworks** (3)
+* **impassability** (5)
+* **adverseWeatherCondition-Adhesion** (6)
+* **aquaplannning** (7)
+* **hazardousLocation-SurfaceCondition** (9)
+* **hazardousLocation-ObstacleOnTheRoad** (10)
+* **hazardousLocation-AnimalOnTheRoad** (11)
+* **humanPresenceOnTheRoad** (12)
+* **wrongWayDriving** (14)
+* **rescueAndRecoveryWorkInProgress** (15)
+* **adverseWeatherCondition-ExtremeWeatherCondition** (17)
+* **adverseWeatherCondition-Visibility** (18)
+* **adverseWeatherCondition-Precipitation** (19)
+* **slowVehicle** (26)
+* **dangerousEndOfQueue** (27)
+* **vehicleBreakdown** (91)
+* **postCrash** (92)
+* **humanProblem** (93)
+* **stationaryVehicle** (94)
+* **emergencyVehicleApproaching** (95)
+* **hazardousLocation-DangerousCurve** (96)
+* **collisionRisk** (97)
+* **signalViolation** (98)
+* **dangerousSituation** (99)
```asn1 CauseCodeType ::= INTEGER { reserved (0), @@ -313,7 +359,6 @@ SubCauseCodeType ::= INTEGER (0..255) -Fields: ```asn1 TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255) ``` @@ -322,7 +367,6 @@ TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraff -Fields: ```asn1 AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255) ``` @@ -331,7 +375,6 @@ AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavy -Fields: ```asn1 RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255) ``` @@ -340,7 +383,6 @@ RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkin -Fields: ```asn1 HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255) ``` @@ -349,7 +391,6 @@ HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadwa -Fields: ```asn1 WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255) ``` @@ -358,7 +399,6 @@ WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDire -Fields: ```asn1 AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255) ``` @@ -367,7 +407,6 @@ AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavail -Fields: ```asn1 AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255) ``` @@ -376,7 +415,6 @@ AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyF -Fields: ```asn1 AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255) ``` @@ -385,7 +423,6 @@ AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog( -Fields: ```asn1 AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255) ``` @@ -394,7 +431,6 @@ AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), h -Fields: ```asn1 SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255) ``` @@ -403,7 +439,6 @@ SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehi -Fields: ```asn1 StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255) ``` @@ -412,7 +447,6 @@ StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehi -Fields: ```asn1 HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255) ``` @@ -421,7 +455,6 @@ HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartP -Fields: ```asn1 EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255) ``` @@ -430,7 +463,6 @@ EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVe -Fields: ```asn1 HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255) ``` @@ -439,7 +471,6 @@ HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), danger -Fields: ```asn1 HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255) ``` @@ -448,7 +479,6 @@ HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rock -Fields: ```asn1 HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255) ``` @@ -457,7 +487,6 @@ HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), she -Fields: ```asn1 HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255) ``` @@ -466,7 +495,6 @@ HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildA -Fields: ```asn1 CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255) ``` @@ -475,7 +503,6 @@ CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk -Fields: ```asn1 SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255) ``` @@ -484,7 +511,6 @@ SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), t -Fields: ```asn1 RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255) ``` @@ -493,7 +519,6 @@ RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergen -Fields: ```asn1 DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255) ``` @@ -502,7 +527,6 @@ DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1) -Fields: ```asn1 DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255) ``` @@ -511,7 +535,6 @@ DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicB -Fields: ```asn1 VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8), tyrePressureProblem(9)} (0..255) ``` @@ -520,7 +543,6 @@ VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOf -Fields: ```asn1 PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255) ``` @@ -543,7 +565,6 @@ Curvature ::= SEQUENCE { -Fields: ```asn1 CurvatureValue ::= INTEGER {straight(0), unavailable(1023)} (-1023..1023) ``` @@ -552,7 +573,15 @@ CurvatureValue ::= INTEGER {straight(0), unavailable(1023)} (-1023..1023) -Fields: +Values: +* **onePerMeter-0-00002** (0)
+* **onePerMeter-0-0001** (1)
+* **onePerMeter-0-0005** (2)
+* **onePerMeter-0-002** (3)
+* **onePerMeter-0-01** (4)
+* **onePerMeter-0-1** (5)
+* **outOfRange** (6)
+* **unavailable** (7)
```asn1 CurvatureConfidence ::= ENUMERATED { onePerMeter-0-00002 (0), @@ -570,7 +599,6 @@ CurvatureConfidence ::= ENUMERATED { -Fields: ```asn1 CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...} ``` @@ -593,7 +621,6 @@ Heading ::= SEQUENCE { -Fields: ```asn1 HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601) ``` @@ -602,7 +629,8 @@ HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84 -Fields: +Values: +* **equalOrWithinZeroPointOneDegree** (1)
```asn1 HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127) ``` @@ -611,7 +639,6 @@ HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithi -Fields: ```asn1 LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0), outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) @@ -638,7 +665,6 @@ ClosedLanes ::= SEQUENCE { -Fields: ```asn1 HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)} ``` @@ -655,7 +681,6 @@ DrivingLaneStatus ::= BIT STRING (SIZE (1..13)) -Fields: ```asn1 PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7) ``` @@ -664,7 +689,6 @@ PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceC -Fields: ```asn1 SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383) ``` @@ -673,7 +697,6 @@ SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383 -Fields: ```asn1 SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127) ``` @@ -682,7 +705,6 @@ SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinO -Fields: ```asn1 VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) ``` @@ -705,7 +727,8 @@ Speed ::= SEQUENCE { -Fields: +Values: +* **forward** (0)
```asn1 DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)} ``` @@ -736,7 +759,6 @@ LongitudinalAcceleration ::= SEQUENCE { -Fields: ```asn1 LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161) ``` @@ -745,7 +767,6 @@ LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), -Fields: ```asn1 AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102) ``` @@ -768,7 +789,6 @@ LateralAcceleration ::= SEQUENCE { -Fields: ```asn1 LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161) ``` @@ -791,7 +811,6 @@ VerticalAcceleration ::= SEQUENCE { -Fields: ```asn1 VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161) ``` @@ -800,7 +819,6 @@ VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOne -Fields: ```asn1 StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255) @@ -810,7 +828,15 @@ lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSid -Fields: +Values: +* **lowBeamHeadlightsOn** (0)
+* **highBeamHeadlightsOn** (1)
+* **leftTurnSignalOn** (2)
+* **rightTurnSignalOn** (3)
+* **daytimeRunningLightsOn** (4)
+* **reverseLightOn** (5)
+* **fogLightOn** (6)
+* **parkingLightsOn** (7)
```asn1 ExteriorLights ::= BIT STRING { lowBeamHeadlightsOn (0), @@ -828,7 +854,6 @@ ExteriorLights ::= BIT STRING { -Fields: ```asn1 DangerousGoodsBasic::= ENUMERATED { explosives1(0), @@ -885,7 +910,6 @@ DangerousGoodsExtended ::= SEQUENCE { -Fields: ```asn1 SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4)) ``` @@ -894,7 +918,9 @@ SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength( -Fields: +Values: +* **lightBarActivated** (0)
+* **sirenActivated** (1)
```asn1 LightBarSirenInUse ::= BIT STRING { lightBarActivated (0), @@ -906,7 +932,6 @@ LightBarSirenInUse ::= BIT STRING { -Fields: ```asn1 HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) ``` @@ -915,7 +940,6 @@ HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) -Fields: ```asn1 PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) ``` @@ -924,7 +948,6 @@ PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) -Fields: ```asn1 PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) ``` @@ -933,7 +956,6 @@ PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) -Fields: ```asn1 PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) ``` @@ -942,7 +964,6 @@ PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) -Fields: ```asn1 RequestResponseIndication ::= ENUMERATED {request(0), response(1)} ``` @@ -951,7 +972,6 @@ RequestResponseIndication ::= ENUMERATED {request(0), response(1)} -Fields: ```asn1 SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) ``` @@ -960,7 +980,6 @@ SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) -Fields: ```asn1 StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)} ``` @@ -969,7 +988,8 @@ StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessTha -Fields: +Values: +* **equalOrSmallerThanMinus60Deg** (-60)
```asn1 Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67) ``` @@ -978,7 +998,6 @@ Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1) -Fields: ```asn1 TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... } @@ -988,7 +1007,6 @@ TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), -Fields: ```asn1 WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) ``` @@ -997,7 +1015,6 @@ WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) -Fields: ```asn1 TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) ``` @@ -1006,7 +1023,6 @@ TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) -Fields: ```asn1 PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) ``` @@ -1015,7 +1031,27 @@ PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) -Fields: +Values: +* **row1LeftOccupied** (0)
+* **row1RightOccupied** (1)
+* **row1MidOccupied** (2)
+* **row1NotDetectable** (3)
+* **row1NotPresent** (4)
+* **row2LeftOccupied** (5)
+* **row2RightOccupied** (6)
+* **row2MidOccupied** (7)
+* **row2NotDetectable** (8)
+* **row2NotPresent** (9)
+* **row3LeftOccupied** (10)
+* **row3RightOccupied** (11)
+* **row3MidOccupied** (12)
+* **row3NotDetectable** (13)
+* **row3NotPresent** (14)
+* **row4LeftOccupied** (15)
+* **row4RightOccupied** (16)
+* **row4MidOccupied** (17)
+* **row4NotDetectable** (18)
+* **row4NotPresent** (19)
```asn1 PositionOfOccupants ::= BIT STRING { row1LeftOccupied (0), @@ -1044,7 +1080,6 @@ PositionOfOccupants ::= BIT STRING { -Fields: ```asn1 PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...} ``` @@ -1084,7 +1119,6 @@ VDS ::= IA5String (SIZE(6)) -Fields: ```asn1 EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7)) ``` @@ -1107,7 +1141,6 @@ VehicleLength ::= SEQUENCE { -Fields: ```asn1 VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023) ``` @@ -1116,7 +1149,6 @@ VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable -Fields: ```asn1 VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)} ``` @@ -1125,7 +1157,6 @@ VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPr -Fields: ```asn1 VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62) ``` @@ -1142,7 +1173,6 @@ PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint -Fields: ```asn1 EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2)) ``` @@ -1151,7 +1181,6 @@ EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossin -Fields: ```asn1 InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) ``` @@ -1160,7 +1189,6 @@ InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) -Fields: ```asn1 RoadType ::= ENUMERATED { urban-NoStructuralSeparationToOppositeLanes(0), @@ -1187,7 +1215,6 @@ SteeringWheelAngle ::= SEQUENCE { -Fields: ```asn1 SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512) ``` @@ -1196,7 +1223,8 @@ SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1) -Fields: +Values: +* **equalOrWithinOnePointFiveDegree** (1)
```asn1 SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127) ``` @@ -1205,7 +1233,6 @@ SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), o -Fields: ```asn1 TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103) ``` @@ -1214,7 +1241,6 @@ TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} -Fields: ```asn1 VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8), commercial(9), military(10), roadOperator(11), taxi(12), reserved1(13), reserved2(14), reserved3(15)} ``` @@ -1237,7 +1263,6 @@ YawRate::= SEQUENCE { -Fields: ```asn1 YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767) ``` @@ -1246,7 +1271,16 @@ YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01To -Fields: +Values: +* **degSec-000-01** (0)
+* **degSec-000-05** (1)
+* **degSec-000-10** (2)
+* **degSec-001-00** (3)
+* **degSec-005-00** (4)
+* **degSec-010-00** (5)
+* **degSec-100-00** (6)
+* **outOfRange** (7)
+* **unavailable** (8)
```asn1 YawRateConfidence ::= ENUMERATED { degSec-000-01 (0), @@ -1265,7 +1299,8 @@ YawRateConfidence ::= ENUMERATED { -Fields: +Values: +* **permanentCenDsrcTolling** (0)
```asn1 ProtectedZoneType::= ENUMERATED { permanentCenDsrcTolling (0), ..., temporaryCenDsrcTolling (1) } ``` @@ -1274,7 +1309,6 @@ ProtectedZoneType::= ENUMERATED { permanentCenDsrcTolling (0), ..., temporaryCen -Fields: ```asn1 RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)} ``` @@ -1283,7 +1317,6 @@ RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m( -Fields: ```asn1 RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)} ``` @@ -1292,7 +1325,6 @@ RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraff -Fields: ```asn1 TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000) ``` @@ -1301,7 +1333,6 @@ TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..1000 -Fields: ```asn1 ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400) ``` @@ -1363,7 +1394,8 @@ Traces ::= SEQUENCE SIZE(1..7) OF PathHistory -Fields: +Values: +* **oneOccupant** (1)
```asn1 NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127) ``` @@ -1445,7 +1477,6 @@ CenDsrcTollingZone ::= SEQUENCE { -Fields: ```asn1 ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...) ``` -- GitLab From 64883d2f8db2dbbe0f6e50123456bf5efc0b2611 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Tue, 25 May 2021 10:37:12 +0000 Subject: [PATCH 5/8] Documentation update --- docs/CPM-CommonDataTypes-Descriptions.md | 341 ++++++++---------- docs/CPM-FreeSpaceAddendum-Descriptions.md | 6 +- ...CPM-OriginatingStationData-Descriptions.md | 14 +- docs/CPM-PDU-Descriptions.md | 9 +- docs/CPM-PerceivedObject-Descriptions.md | 8 +- docs/CPM-SensorInformation-Descriptions.md | 14 +- 6 files changed, 178 insertions(+), 214 deletions(-) diff --git a/docs/CPM-CommonDataTypes-Descriptions.md b/docs/CPM-CommonDataTypes-Descriptions.md index 05f51ca..4c8e774 100644 --- a/docs/CPM-CommonDataTypes-Descriptions.md +++ b/docs/CPM-CommonDataTypes-Descriptions.md @@ -3,17 +3,16 @@ ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
- Include ETSI TS 102 894-2 v1.3.1
+ Include ETSI TS 102 894-2 v1.3.1 Include references from https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
- Include ISO 19091
+ Include ISO 19091 Include references from https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn ## Data Elements: -### AreaCircular +### Area Circular -Area Circular
Describes a circular area. The circle is centred about the reference point of the ITS-S or about the nodeCenterPoint (if provided). The DF shall include the following information: @@ -31,9 +30,8 @@ AreaCircular ::= SEQUENCE { } ``` -### AreaEllipse +### Area Ellipse -Area Ellipse
Describes an elliptical area. The ellipse is centred about the reference point of the ITS-S or about the nodeCenterPoint (if provided). @@ -59,9 +57,8 @@ AreaEllipse ::= SEQUENCE { } ``` -### AreaRectangle +### Area Rectangle -Area Rectangle
Describes a rectangular area. The rectangle is centred about the reference point of the ITS-S or about the nodeCenterPoint (if provided). @@ -87,9 +84,8 @@ AreaRectangle ::= SEQUENCE { } ``` -### AreaPolygon +### Area Polygon -Area Polygon
Describes a polygonal area constructed by connecting the offset points in the sequence provided. The last point shall be connected with the first point to close the polygon. @@ -102,9 +98,8 @@ AreaPolygon ::= SEQUENCE { } ``` -### PolyPointList +### Poly Point List -Poly Point List
Describes a list of points representing a polygon. The last point shall be connected with the first point to close the polygon. @@ -113,9 +108,8 @@ first point to close the polygon. PolyPointList ::= SEQUENCE (SIZE(3..16, ...)) OF OffsetPoint ``` -### AreaRadial +### Area Radial -Area Radial
Describes a radial area scanned by a stationary sensor. The triangular or cone-shaped area is constructed by sweeping the provided range about the reference point of the ITS-S or about the point described by the sensor offset point (if provided) with respect to the reference point @@ -160,9 +154,8 @@ AreaRadial ::= SEQUENCE { } ``` -### ObjectDistance +### Object Distance With Confidence -Object Distance With Confidence
A general Data Frame to describe a distance component along with a confidence with a predefined confidence level of 95% for the component. @@ -180,9 +173,8 @@ ObjectDistance ::= SEQUENCE { } ``` -### ObjectDimension +### Object Dimension -Object Dimension
A general Data Frame to describe a dimension of an object along with a confidence with a predefined confidence level of 95% for the component. @@ -200,9 +192,8 @@ ObjectDimension ::= SEQUENCE { } ``` -### CartesianAngle +### Cartesian Angle -Cartesian Angle
A general Data Frame to describe an angle component along with a confidence with a predefined confidence level of 95% for the component in a Cartesian coordinate system. @@ -222,7 +213,6 @@ CartesianAngle ::= SEQUENCE { ### CartesianAngularSpeed -CartesianAngularSpeed
A general Data Frame to describe an angular speed component along with a confidence with a predefined confidence level of 95% for the component in a Cartesian coordinate system. @@ -242,7 +232,6 @@ CartesianAngularSpeed ::= SEQUENCE { ### CartesianAngularAcceleration -CartesianAngularAcceleration
A general Data Frame to describe an angular acceleration component along with a confidence with a predefined confidence level of 95% for the component in a Cartesian coordinate system. @@ -260,9 +249,8 @@ CartesianAngularAcceleration ::= SEQUENCE { } ``` -### WGS84Angle +### WGS 84 Angle -WGS 84 Angle
A general Data Frame to describe an angular component along with a confidence with a predefined confidence level of 95% for the component in the WGS84 coordinate system. @@ -280,9 +268,8 @@ WGS84Angle ::= SEQUENCE { } ``` -### SpeedExtended +### Speed Extended -Speed Extended
A general Data Frame to describe a speed component along with a confidence with a predefined confidence level of 95% for the component. @@ -302,7 +289,6 @@ SpeedExtended ::= SEQUENCE { ### Acceleration -Acceleration
A general Data Frame to describe an acceleration component along with a confidence with a predefined confidence level of 95% for the component. @@ -320,9 +306,8 @@ Acceleration ::= SEQUENCE { } ``` -### SensorIdList +### Sensor ID List -Sensor ID List
List of sensor IDs. @@ -330,9 +315,8 @@ List of sensor IDs. SensorIdList ::= SEQUENCE SIZE(1..128, ...) OF Identifier ``` -### TrailerDataContainer +### Trailer Data Container -Trailer Data Container
List of information about attached trailers. @@ -340,9 +324,8 @@ List of information about attached trailers. TrailerDataContainer ::= SEQUENCE SIZE(1..2) OF TrailerData ``` -### TrailerData +### Trailer Data -Trailer Data
Provides detailed information about the dimensions and orientation of an attached trailer. @@ -365,9 +348,8 @@ TrailerData ::= SEQUENCE { } ``` -### MatchedPosition +### Matched Position -Matched Position
Indicates the position of the object mapped on the intersection topology description transmitted in MAP messages. @@ -387,9 +369,8 @@ MatchedPosition ::= SEQUENCE { } ``` -### LongitudinalLanePosition +### Longitudinal Lane Position -Longitudinal Lane Position
Estimated position along the longitudinal length of a particular lane. A lane is provided by a corresponding MAP message. @@ -406,9 +387,8 @@ LongitudinalLanePosition ::= SEQUENCE { } ``` -### MessageSegmentInfo +### Message Segment Information -Message Segment Information
Information about segmented CPM and the number of generated segments. @@ -426,9 +406,8 @@ MessageSegmentInfo ::= SEQUENCE { } ``` -### LowerTriangularPositiveSemidefiniteMatrix +### Lower Triangular Positive Semi-Definite Matrix -Lower Triangular Positive Semi-Definite Matrix
A general data frame to express the elements of a lower triangular positive semi-definite matrix, not including the main diagonal elements of the matrix. Given a matrix "A" of size n x n, the number of columns to be included in the lower triangular matrix is k=n-1. @@ -438,9 +417,8 @@ Given a matrix "A" of size n x n, the number of columns to be included in the lo LowerTriangularPositiveSemidefiniteMatrix ::= SEQUENCE SIZE (1..17) OF CorrelationColumn ``` -### CorrelationColumn +### Correlation Column -Correlation Column
The column of the lower triangular positive semi-definite matrix consists of correlation row values. Given a matrix "A" of size n x n, the number of columns to be included in the lower triangular matrix is k=n-1. Each column "i" of the lower triangular then contains k-(i-1) values, where "i" refers to the column number count @@ -451,12 +429,11 @@ starting at 1 from the left. CorrelationColumn ::= SEQUENCE SIZE (1..17) OF CorrelationRowValue ``` -### CorrelationRowValue +### Correlation Row Value -Correlation Row Value
The Bravais-Pearson correlation value for each cell of the lower triangular correlation matrix. Scaled by 100. -    **Unit**: _None_ +@unit: None Values: @@ -473,9 +450,8 @@ CorrelationRowValue ::= INTEGER { } (-100..100) ``` -### ObjectClassDescription +### Object Class Description -Object Class Description
A list of object classes. @@ -483,9 +459,8 @@ A list of object classes. ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence ``` -### ObjectClassWithConfidence +### Object Class with Confidence -Object Class with Confidence
Describes the classification of a detected object. The object can be classified into one of four categories: vehicle, person, animal and other. The classification is provided with a confidence indication. @@ -501,9 +476,8 @@ ObjectClassWithConfidence ::= SEQUENCE { } ``` -### ObjectClass +### Object Class -Object Class
The class that best describes the detected object. Each class provides optional subclasses. @@ -511,9 +485,8 @@ The class that best describes the detected object. Each class provides optional ObjectClass ::= CHOICE { ``` -### OffsetPoint +### Offset Point -Offset Point
Describes an offset position in a two- or three-dimensional plane as imported from CEN ISO/TS 19091. Excludes the node-LatLon DF and regional DF defined therein. @@ -528,9 +501,8 @@ OffsetPoint ::= SEQUENCE{ } ``` -### NodeOffsetPointZ +### Node Offset Point in Z-direction -Node Offset Point in Z-direction
Describes the vertical offset from another point. This is specified in close resemblance to SAE J2735 _NodeOffsetPointXY_. @@ -553,13 +525,13 @@ NodeOffsetPointZ ::= CHOICE { } ``` -### AnimalSubclassType +### Animal Subclass Type -Animal Subclass Type
Describes the subclass of a detected object for class animal. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **unknown** (0)
```asn1 @@ -568,15 +540,15 @@ AnimalSubclassType ::= INTEGER { } (0..255) ``` -### PersonSubclassType +### Person Subclass Type -Person Subclass Type
Describes the subclass of a detected object for class persons. Persons are a subset of the vulnerable road users as defined in Section 4.2 of ETSI TR 103 300-2 as well as in the classification provided in Annex 1 of Regulation EU 168/2013. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **unknown** (0)
* **pedestrian** (1)
@@ -602,13 +574,13 @@ PersonSubclassType ::= INTEGER { } (0..255) ``` -### VehicleSubclassType +### Vehicle Subclass Type -Vehicle Subclass Type
Describes the subclass of a detected object for class vehicle. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **unknown** (0)
* **moped** (1)
@@ -650,13 +622,13 @@ VehicleSubclassType ::= INTEGER { } (0..255) ``` -### OtherSubclassType +### Other Subclass Type -Other Subclass Type
Describes the subclass of a detected object for class other. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **unknown** (0)
* **roadSideUnit** (1)
@@ -667,13 +639,13 @@ OtherSubclassType ::= INTEGER { } (0..255) ``` -### ClassConfidence +### Class Confidence -Class Confidence
Describes the confidence value for the type of a detected object. -    **Unit**: _Percent_ +    **Unit**: _Percent_ + Values: * **unknown** (0)
* **--** classification is still valid.
@@ -690,13 +662,13 @@ ClassConfidence ::= INTEGER { } (0..101) ``` -### WGS84AngleValue +### WGS 84 Angle Value -WGS 84 Angle Value
An angle value in degrees described in the WGS84 reference system with respect to the WGS84 north. -    **Unit**: _0,1 degrees_ +    **Unit**: _0,1 degrees_ + Values: * **wgs84North** (0)
* **wgs84East** (900)
@@ -713,14 +685,14 @@ WGS84AngleValue ::= INTEGER { } (0..3601) ``` -### CartesianAngleValue +### Cartesian Angle Value -Cartesian Angle Value
An angle value described in a local Cartesian coordinate system, counted positive in a right-hand local coordinate system from the abscissa. -    **Unit**: _0,1 degrees_ +    **Unit**: _0,1 degrees_ + Values: * **zeroPointOneDegree** (1)
* **oneDegree** (10)
@@ -733,14 +705,14 @@ CartesianAngleValue ::= INTEGER { } (0..3601) ``` -### CartesianAngularSpeedValue +### Cartesian Angular Speed Value -Cartesian Angular Speed Value
An angular speed value described in a local Cartesian coordinate system, counted positive in a right-hand local coordinate system from the abscissa. -    **Unit**: _0,01 degrees/s_ +    **Unit**: _0,01 degrees/s_ + Values: * **noSpeed** (0)
* **oneDegreePerSecondAntiClockwise** (100)
@@ -753,14 +725,14 @@ CartesianAngularSpeedValue ::= INTEGER { } (-32766..32767) ``` -### CartesianAngularAccelerationValue +### Cartesian Angular Acceleration Value -Cartesian Angular Acceleration Value
An angular acceleration value described in a local Cartesian coordinate system, counted positive in a right-hand local coordinate system from the abscissa. -    **Unit**: _0,01 degrees/s^2 (degrees per second squared)_ +    **Unit**: _0,01 degrees/s^2 (degrees per second squared)_ + Values: * **noAcceleration** (0)
* **oneDegreePerSecondSquaredAntiClockwise** (100)
@@ -773,14 +745,14 @@ CartesianAngularAccelerationValue ::= INTEGER { } (-32766..32767) ``` -### AngleConfidence +### Angle Confidence -Angle Confidence
The absolute accuracy of a reported angle value for a predefined confidence level (e.g. 95 %). The required confidence level is defined by the corresponding standards applying this DE. -    **Unit**: _0,1 degrees_ +    **Unit**: _0,1 degrees_ + Values: * **zeroPointOneDegree** (1)
* **oneDegree** (10)
@@ -797,9 +769,8 @@ AngleConfidence ::= INTEGER { } (1..127) ``` -### AngularSpeedConfidence +### Angular Speed Confidence -Angular Speed Confidence
The absolute accuracy of a reported angular speed value for a predefined confidence level (e.g. 95 %). The required confidence level is defined by the corresponding standards applying this DE. For correlation computation, maximum interval levels shall be assumed. @@ -830,9 +801,8 @@ AngularSpeedConfidence ::= ENUMERATED { } ``` -### AngularAccelerationConfidence +### Angular Acceleration Confidence -Angular Acceleration Confidence
The absolute accuracy of a reported angular acceleration value for a predefined confidence level (e.g. 95 %). The required confidence level is defined by the corresponding standards applying this DE. For correlation computation, maximum interval levels shall be assumed. @@ -863,14 +833,14 @@ AngularAccelerationConfidence ::= ENUMERATED { } ``` -### SemiRangeLength +### Semi Range Length -Semi Range Length
The length of an axis of an ellipsoid or rectangle, used to describe the extension in a particular direction. -    **Unit**: _0,1 m_ +    **Unit**: _0,1 m_ + Values: * **zeroPointOneMeter** (1)
* **oneMeter** (10)
@@ -881,13 +851,13 @@ SemiRangeLength ::= INTEGER { } (0..10000) ``` -### DistanceValue +### Distance Value -Distance Value
Distance from one point to another. -    **Unit**: _0,01 m_ +    **Unit**: _0,01 m_ + Values: * **zeroPointZeroOneMeter** (1)
* **oneMeter** (100)
@@ -898,13 +868,13 @@ DistanceValue ::= INTEGER { } (-132768..132767) ``` -### DistanceConfidence +### Distance Confidence -Distance Confidence
Absolute accuracy of measurement to a confidence level of 95%. -    **Unit**: _0,01 m_ +    **Unit**: _0,01 m_ + Values: * **zeroPointZeroOneMeter** (1)
* **oneMeter** (100)
@@ -919,15 +889,15 @@ DistanceConfidence ::= INTEGER { } (0..4095) ``` -### DynamicStatus +### Dynamic Status -Dynamic Status
Indication whether the detected object is classified as a dynamic (i.e. moving) object. This value indicates whether an object has the general capability to move, i.e. change its position. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **dynamic** (0)
* **hasBeenDynamic** (1)
@@ -942,14 +912,14 @@ DynamicStatus ::= INTEGER { } (0..2) ``` -### HitchPointOffset +### Hitch Point Offset -Hitch Point Offset
Position of the hitch point in negative x-direction (according to ISO 8855) from the vehicle Reference Point. -    **Unit**: _0,1 m_ +    **Unit**: _0,1 m_ + Values: * **zeroPointOneMeter** (1)
* **oneMeter** (10)
@@ -964,15 +934,15 @@ HitchPointOffset ::= INTEGER { } (0..255) ``` -### FrontOverhang +### Front Overhang -Front Overhang
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. -    **Unit**: _0,1 m_ +    **Unit**: _0,1 m_ + Values: * **noOverhang** (0)
* **--** trailer reference point
@@ -986,13 +956,13 @@ FrontOverhang ::= INTEGER { } (0..50) ``` -### FreeSpaceConfidence +### Free Space Confidence -Free Space Confidence
Confidence indicating that an area is not occupied by a traffic participant or obstacle. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **unknown** (0)
* **onePercent** (1)
@@ -1007,14 +977,14 @@ FreeSpaceConfidence ::= INTEGER { } (0..101) ``` -### LongitudinalLanePositionValue +### Longitudinal Lane Position Value -Longitudinal Lane Position Value
Indicates the longitudinal offset of the map-matched position of a particular object along the matched lane, beginning from the lane’s starting point as defined in CEN ISO/TS 19091 -    **Unit**: _0,1 m_ +    **Unit**: _0,1 m_ + Values: * **zeroPointOneMeter** (1)
```asn1 @@ -1023,13 +993,13 @@ LongitudinalLanePositionValue ::= INTEGER { } (0..32767) ``` -### LongitudinalLanePositionConfidence +### Longitudinal Lane Position Confidence -Longitudinal Lane Position Confidence
Absolute accuracy of longitudinal lane position measurement to a confidence level of 95%. -    **Unit**: _0,01 m_ +    **Unit**: _0,01 m_ + Values: * **zeroPointZeroOneMeter** (1)
* **oneMeter** (100)
@@ -1044,14 +1014,14 @@ LongitudinalLanePositionConfidence ::= INTEGER { } (0..102) ``` -### ObjectAge +### Object Age -Object Age
Age of object in milliseconds, i.e. for how long the object has been observed by the disseminating station. -    **Unit**: _1 ms_ +    **Unit**: _1 ms_ + Values: * **oneMiliSec** (1)
* **moreThan1Point5Second** (1500)
@@ -1062,15 +1032,15 @@ ObjectAge ::= INTEGER { } (0..1500) ``` -### ObjectConfidence +### Object Confidence -Object Confidence
A single-value indication about the overall information quality of a perceived object. Its computation is based on several scaling factors and moving averages. See Clause 7.6.4 of ETSI TS 103 324 for details on the computation. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **noConfidence** (0)
* **--** if confidence could not be computed
@@ -1082,13 +1052,13 @@ ObjectConfidence ::= INTEGER { } (0..15) ``` -### ObjectDimensionValue +### Object Dimension Value -Object Dimension Value
A dimension for an object. -    **Unit**: _0,1 m_ +    **Unit**: _0,1 m_ + Values: * **zeroPointOneMeter** (1)
* **oneMeter** (10)
@@ -1099,13 +1069,13 @@ ObjectDimensionValue ::= INTEGER { } (0..1023) ``` -### ObjectDimensionConfidence +### Object Dimension Confidence -Object Dimension Confidence
Accuracy of provided dimension value with a predefined confidence level (e.g. 95%) -    **Unit**: _0,01 m_ +    **Unit**: _0,01 m_ + Values: * **zeroPointZeroOneMeter** (1)
* **oneMeter** (100)
@@ -1120,12 +1090,11 @@ ObjectDimensionConfidence ::= INTEGER { } (0..102) ``` -### ObjectRefPoint +### Object Reference Point -Object Reference Point
Reference point of measurement for the object dimensions. All provided state variables of this object are given relative to the reference point. The point is included in the plane -perpendicular to the direction of the [**yawAngleValue**](#yawAngleValue). +perpendicular to the direction of the @see yawAngleValue. Values: @@ -1154,11 +1123,11 @@ ObjectRefPoint ::= INTEGER { ### Radius -Radius
The dimension of a sensor area in the shape of a circle or a rectangle. -    **Unit**: _0,1 m_ +    **Unit**: _0,1 m_ + Values: * **zeroPointOneMeter** (1)
* **oneMeter** (10)
@@ -1171,11 +1140,11 @@ Radius ::= INTEGER { ### Range -Range
Range of sensor within the indicated azimuth Angle defined by the start and end opening angle. -    **Unit**: _0,1 m_ +    **Unit**: _0,1 m_ + Values: * **zeroPointOneMeter** (1)
* **oneMeter** (10)
@@ -1186,13 +1155,13 @@ Range ::= INTEGER { } (0..10000) ``` -### RearOverhang +### Rear Overhang -Rear Overhang
Length of the trailer overhang in the negative x direction (according to ISO 8855) from the -trailer Reference Point indicated by the [**refPointID**](#refPointID) -    **Unit**: _0,1 m_ +trailer Reference Point indicated by the @see refPointID + +    **Unit**: _0,1 m_ Values: * **zeroPointOneMeter** (1)
@@ -1204,24 +1173,24 @@ RearOverhang ::= INTEGER { } (0..150) ``` -### RefPointId +### Reference Point ID -Reference Point ID
Reference point counter for a trailer. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + ```asn1 RefPointId ::= INTEGER (0..255) ``` -### SensorHeight +### Sensor Height -Sensor Height
Height of sensor position relative to altitude provided by the reference position. -    **Unit**: _0,01 m_ +    **Unit**: _0,01 m_ + Values: * **zeroPointZeroOneMeter** (1)
```asn1 @@ -1230,64 +1199,64 @@ SensorHeight ::= INTEGER { } (-5000..5000) ``` -### VehicleHeight +### Vehicle Height -Vehicle Height
The height if the vehicle, measured from the ground to the highest point, excluding any antennas. In case vehicles are equipped with adjustable ride heights, camper shells, and any other equipment which may result in varying height, the largest possible height shall be used. -    **Unit**: _5 cm (DE ranges to 6.35 m)_ +    **Unit**: _5 cm (DE ranges to 6.35 m)_ + ```asn1 VehicleHeight ::= INTEGER (0..127) ``` -### ShadowingApplies +### Shadowing Applies Indication -Shadowing Applies Indication
Boolean indication if tracing approach shall be used to compute a shadowed area behind an object. If set to TRUE, the simple tracing approach shall be applied for each object intersecting or located within the area or volume described by the freeSpaceAddendum container. If set to FALSE, the simple tracing approach shall not be applied for each object intersecting or located within the area or volume described by the freeSpaceAddenum container. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + ```asn1 ShadowingApplies ::= BOOLEAN ``` ### Identifier -Identifier
General identifier data element. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + ```asn1 Identifier ::= INTEGER (0..255) ``` -### NumberOfPerceivedObjects +### Number of Perceived Objects -Number of Perceived Objects
A data element for representing the total number of detected and shared objects of an ITS-S transmitting a CPM. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + ```asn1 NumberOfPerceivedObjects ::= INTEGER (0..255) ``` -### SensorType +### Sensor Type -Sensor Type
Describes the type of attached sensor -    **Unit**: _n/a_ +    **Unit**: _n/a_ + Values: * **undefined** (0)
* **radar** (1)
@@ -1318,25 +1287,25 @@ SensorType ::= INTEGER { } (0..15) ``` -### SegmentCount +### Segment Count -Segment Count
A data element for representing either the total number of generated segments by the transmitter or the identification of the received message segment. -    **Unit**: _n/a_ +    **Unit**: _n/a_ + ```asn1 SegmentCount ::= INTEGER( 1..127) ``` -### SpeedValueExtended +### Speed Value Extended -Speed Value Extended
Value of a speed component. -    **Unit**: _0,01 m/s_ +    **Unit**: _0,01 m/s_ + Values: * **negativeSpeedMaximum** (-16383)
* **standstill** (0)
@@ -1353,13 +1322,13 @@ SpeedValueExtended ::= INTEGER { } (-16383..16383) ``` -### AccelerationValue +### Acceleration Value -Acceleration Value
Value of an acceleration component. -    **Unit**: _0,1 m/s2_ +    **Unit**: _0,1 m/s2_ + Values: * **pointOneMeterPerSecSquared** (1)
* **minusPointOneMeterPerSecSquared** (-1)
@@ -1372,16 +1341,16 @@ AccelerationValue ::= INTEGER { } (-160 .. 161) ``` -### TimeOfMeasurement +### Time of Measurement -Time of Measurement
-Time difference with respect to the [**generationDeltaTime**](#generationDeltaTime) for the provided measurement for the +Time difference with respect to the @see generationDeltaTime for the provided measurement for the object. Negative values indicate that the provided object state refers to a point in time after -the [**generationDeltaTime**](#generationDeltaTime) has been computed, i.e. after the latest disseminating ITS-S +the @see generationDeltaTime has been computed, i.e. after the latest disseminating ITS-S position update which is used to calculate the generationDeltaTime. -    **Unit**: _1 ms_ +    **Unit**: _1 ms_ + Values: * **oneMilliSecond** (1)
```asn1 @@ -1390,14 +1359,14 @@ TimeOfMeasurement ::= INTEGER { } (-1500..1500) ``` -### XSensorOffset +### X Sensor Offset -X Sensor Offset
Describes the mounting position of a sensor along the negative x-direction from Reference Point -indicated by the [**refPointID**](#refPointID) -    **Unit**: _0,01 m_ +indicated by the @see refPointID +    **Unit**: _0,01 m_ + Values: * **negativeZeroPointZeroOneMeter** (-1)
* **negativeOneMeter** (-100)
@@ -1414,14 +1383,14 @@ XSensorOffset ::= INTEGER { } (-3094..1001) ``` -### YSensorOffset +### Y Sensor Offset -Y Sensor Offset
Described the mounting position of a sensor in y-direction from Reference Point -indicated by the [**refPointID**](#refPointID) -    **Unit**: _0,01 m_ +indicated by the @see refPointID +    **Unit**: _0,01 m_ + Values: * **zeroPointZeroOneMeter** (1)
* **oneMeter** (100)
@@ -1432,13 +1401,13 @@ YSensorOffset ::= INTEGER { } (-1000..1000) ``` -### ZSensorOffset +### Z Sensor Offset -Z Sensor Offset
Described the mounting position of a sensor in y-direction from Reference Point -indicated by the [**refPointID**](#refPointID) -    **Unit**: _0,01 m_ +indicated by the @see refPointID + +    **Unit**: _0,01 m_ Values: * **zeroPointZeroOneMeter** (1)
diff --git a/docs/CPM-FreeSpaceAddendum-Descriptions.md b/docs/CPM-FreeSpaceAddendum-Descriptions.md index 0ef3564..b278355 100644 --- a/docs/CPM-FreeSpaceAddendum-Descriptions.md +++ b/docs/CPM-FreeSpaceAddendum-Descriptions.md @@ -9,7 +9,7 @@ Free Space Addendum Container A list of provided free space addendums. Each addendum shall be described asa provided by -[**FreeSpaceAddendum**](#FreeSpaceAddendum). +@see FreeSpaceAddendum. ```asn1 @@ -20,8 +20,8 @@ FreeSpaceAddendumContainer ::= SEQUENCE SIZE(1..128, ...) OF FreeSpaceAddendum Free Space Addendum This container shall only be added if the confidence indication needs to be altered with respect -to the isotropic [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence) confidence level indication provided in the -[**SensorInformation**](#SensorInformation). +to the isotropic @see FreeSpaceConfidence confidence level indication provided in the +@see SensorInformation. Fields: diff --git a/docs/CPM-OriginatingStationData-Descriptions.md b/docs/CPM-OriginatingStationData-Descriptions.md index 029f95c..fc53cf3 100644 --- a/docs/CPM-OriginatingStationData-Descriptions.md +++ b/docs/CPM-OriginatingStationData-Descriptions.md @@ -3,19 +3,18 @@ ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*
- Include ETSI TS 102 894-2
+ Include ETSI TS 102 894-2 Include references from https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}*
- Include ISO 19091
+ Include ISO 19091 Include references from https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
## Data Elements: -### OriginatingVehicleContainer +### Originating Vehicle Container -Originating Vehicle Container
The _originatingVehicleContainer_ provides detailed information about the vehicle ITS-S disseminating the CPM. @@ -27,22 +26,25 @@ OriginatingVehicleContainer ::= SEQUENCE { verticalSpeed SpeedExtended OPTIONAL, ``` -### OriginatingRSUContainer +### Originating RSU Container + Angle and angle accuracy of the absolute orientation of the disseminating vehicle in the WGS84 coordinate system with respect to true North. This is opposed to the vehicle heading which is calculated taking into account the speed vector. The confidence denotes the accuracy of the measured angle value for a confidence level of 95 %. + Angle and angle accuracy between the ground plane and the current orientation of a vehicle's x-axis with respect to the ground plane about the y-axis according to the ISO 8855. + Angle and angle accuracy between the ground plane and the current orientation of a vehicle's y-axis with respect to the ground plane about the x-axis according to the ISO 8855 + Provides detailed information about the trailers dimensions and orientation in case a trailer is present. -Originating RSU Container
The _originatingRSUContainer_ provides information about the RSU type ITS-S disseminating the CPM. diff --git a/docs/CPM-PDU-Descriptions.md b/docs/CPM-PDU-Descriptions.md index 653c3ff..194513b 100644 --- a/docs/CPM-PDU-Descriptions.md +++ b/docs/CPM-PDU-Descriptions.md @@ -3,11 +3,11 @@ ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
- Include ETSI TS 102 894-2 v1.3.1
+ Include ETSI TS 102 894-2 v1.3.1 Include references from https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/v1.3.1/ITS-Container.asn * **[CAM-PDU-Descriptions](CAM-PDU-Descriptions.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) en(302637) cam(2) version(2)}*
- Include ETSI EN 302 637-2 v1.4.1
+ Include ETSI EN 302 637-2 v1.4.1 Include references from https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2/blob/v1.4.1/CAM-PDU-Descriptions.asn * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
@@ -120,9 +120,8 @@ perceivedObjectCpmContainer CpmContainerId ::= 2 freeSpaceAdddendumCpmContainer CpmContainerId ::= 3 ``` -### CPM +### Collective Perception Message Root -Collective Perception Message Root
This DF includes DEs for the CPM protocolVersion, the CP message type identifier _messageID_ and the station identifier _stationID_ of the originating ITS-S. @@ -144,7 +143,7 @@ CPM ::= SEQUENCE { Collective Perception Message This is the actual CPM Payload. It shall include the time stamp of the CPM and the applicable containers of type _PerceptionData_. The selection of the StationDataContainer type container -depends on the _StationType_ as selected in the [**CpmManagementContainer**](#CpmManagementContainer) +depends on the _StationType_ as selected in the @see CpmManagementContainer Fields: diff --git a/docs/CPM-PerceivedObject-Descriptions.md b/docs/CPM-PerceivedObject-Descriptions.md index 7237b22..9c85a31 100644 --- a/docs/CPM-PerceivedObject-Descriptions.md +++ b/docs/CPM-PerceivedObject-Descriptions.md @@ -5,10 +5,9 @@ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
## Data Elements: -### PerceivedObjectContainer +### Perceived Object Container -Perceived Object Container
-A list of perceived objects. Each object shall be described as defined in [**PerceivedObject**](#PerceivedObject). +A list of perceived objects. Each object shall be described as defined in @see PerceivedObject. Fields: @@ -25,9 +24,8 @@ PerceivedObjectContainer ::= SEQUENCE { } ``` -### PerceivedObject +### Perceived Object -Perceived Object
An object in the context of the CP Service refers to the kinematic and attitude representation of a detected object within a sensor’s perception range. An object may be reported directly by a sensor or a sensor fusion system. diff --git a/docs/CPM-SensorInformation-Descriptions.md b/docs/CPM-SensorInformation-Descriptions.md index dd4e02b..85e3943 100644 --- a/docs/CPM-SensorInformation-Descriptions.md +++ b/docs/CPM-SensorInformation-Descriptions.md @@ -5,9 +5,8 @@ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
## Data Elements: -### SensorInformationContainer +### Sensor Information Container -Sensor Information Container
This container contains a list of sensor-types or data fusion systems from which the station provides information about detected objects. @@ -40,9 +39,8 @@ SensorInformation ::= SEQUENCE { } ``` -### DetectionArea +### Detection Area -Detection Area
Choice of DFs to detail the sensor information. @@ -75,9 +73,8 @@ DetectionArea ::= CHOICE { } ``` -### VehicleSensor +### Vehicle Sensor -Vehicle Sensor
Describes the perception capabilities of mobile sensors mounted to vehicles. @@ -105,7 +102,7 @@ VehicleSensor ::= SEQUENCE { } ``` -### VehicleSensorPropertyList +### Vehicle Sensor Property List @@ -113,9 +110,8 @@ VehicleSensor ::= SEQUENCE { VehicleSensorPropertyList ::= SEQUENCE SIZE(1..10) OF VehicleSensorProperties ``` -### VehicleSensorProperties +### Vehicle Sensor Properties -Vehicle Sensor Properties
The actual extension of the area covered by the specific vehicle sensor. In case of multiple perception areas for a sensor, a list of areas covered by this sensor can be added. -- GitLab From d92552ad415f54e0d1ccaf228da8068a1a58bf5b Mon Sep 17 00:00:00 2001 From: Denis Filatov Date: Tue, 25 May 2021 12:52:05 +0200 Subject: [PATCH 6/8] fix asn1 files to support asn2md --- Makefile => .gitlab-ci.mk | 0 .gitlab-ci.yml | 4 +- asn/CPM.asn | 18 ++-- asn/CPM_CommonDataTypes.asn | 189 ++++++++++++++++++------------------ asn/SensorInformation.asn | 2 +- 5 files changed, 106 insertions(+), 107 deletions(-) rename Makefile => .gitlab-ci.mk (100%) diff --git a/Makefile b/.gitlab-ci.mk similarity index 100% rename from Makefile rename to .gitlab-ci.mk diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index da81464..764024b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ image: danya25/asn1c:0.0.5 validate: stage: test - script: make validate + script: make -f .gitlab-ci.mk validate cache: paths: - iso/* @@ -17,7 +17,7 @@ documentation: stage: deploy script: - curl --header "PRIVATE-TOKEN:$CI_DOC_TOKEN" https://forge.etsi.org/rep/api/v4/projects/592/repository/files/asn2md.py?ref=master | python3 -c "import sys, json, base64; open('asn2md.py', 'wb').write(base64.b64decode(json.load(sys.stdin)['content']))" - - make doc + - make -f .gitlab-ci.mk doc - git add docs/*.md - git commit -m "Documentation update" - git remote rm origin && git remote add origin https://oauth2:$CI_DOC_TOKEN@forge.etsi.org/rep/$CI_PROJECT_PATH.git diff --git a/asn/CPM.asn b/asn/CPM.asn index c68bfc6..b2c5648 100644 --- a/asn/CPM.asn +++ b/asn/CPM.asn @@ -1,5 +1,5 @@ --- @brief Specification of the Collective Perception Message ETSI TS 103 324 --- Latest version available at @url https://forge.etsi.org/rep/ITS/CPM_TS103324 +--! @brief Specification of the Collective Perception Message ETSI TS 103 324 +--! Latest version available at @url https://forge.etsi.org/rep/ITS/CPM_TS103324 CPM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) version1 (1) @@ -25,11 +25,11 @@ FROM CAM-PDU-Descriptions {itu-t(0) identified-organization(4) etsi(0) itsDomain MessageSegmentInfo FROM CPM-CommonDataTypes-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)} --- @brief Import Originating Vehicle Container +--! @brief Import Originating Vehicle Container OriginatingVehicleContainer, OriginatingRSUContainer FROM CPM-OriginatingStationData-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1)} --- @brief Import Sensor Information Container +--! @brief Import Sensor Information Container SensorInformationContainer FROM CPM-SensorInformation-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1)} @@ -39,7 +39,7 @@ FROM CPM-PerceivedObject-Descriptions {itu-t (0) identified-organization (4) ets FreeSpaceAddendumContainer FROM CPM-FreeSpaceAddendum-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) freeSpaceAddendum (6) version1 (1)}; --- Information Object Class Definitions +--! Information Object Class Definitions CPM-STATIONDATA-ID-AND-TYPE ::= CLASS { &id CpmStationDataId UNIQUE, &Type @@ -77,17 +77,17 @@ PerceptionData CPM-CONTAINER-ID-AND-TYPE ::= { ... } --- ID Assignments for Information Object Classes --- Assignment for Originating Station Container +--! ID Assignments for Information Object Classes +--! Assignment for Originating Station Container originatingStationVehicleContainer CpmStationDataId ::= 1 originatingStationRSUContainer CpmStationDataId ::= 2 --- Assignment for Perception Data Container +--! Assignment for Perception Data Container sensorInformationCpmContainer CpmContainerId ::= 1 perceivedObjectCpmContainer CpmContainerId ::= 2 freeSpaceAdddendumCpmContainer CpmContainerId ::= 3 --- Collective Perception Message +--! Collective Perception Message /** @brief Collective Perception Message Root This DF includes DEs for the CPM protocolVersion, the CP message type identifier _messageID_ and diff --git a/asn/CPM_CommonDataTypes.asn b/asn/CPM_CommonDataTypes.asn index 57515e6..8b87735 100644 --- a/asn/CPM_CommonDataTypes.asn +++ b/asn/CPM_CommonDataTypes.asn @@ -368,10 +368,10 @@ Scaled by 100. @unit: None */ CorrelationRowValue ::= INTEGER { - full-negative-correlation (-100), -- Full negative correlation - no-correlation (0), -- If not correlated or unavailable + full-negative-correlation (-100), --< Full negative correlation + no-correlation (0), --< If not correlated or unavailable point-one (10), - full-positive-correlation (100) -- Full positive correlation + full-positive-correlation (100) --< Full positive correlation } (-100..100) /** @brief Object Class Description @@ -393,7 +393,6 @@ ObjectClassWithConfidence ::= SEQUENCE { The class that best describes the detected object. Each class provides optional subclasses. */ ObjectClass ::= CHOICE { - vehicleSubclass VehicleSubclassType, personSubclass PersonSubclassType, animalSubclass AnimalSubclassType, @@ -415,12 +414,12 @@ Describes the vertical offset from another point. This is specified in close res to SAE J2735 _NodeOffsetPointXY_. */ NodeOffsetPointZ ::= CHOICE { - node-Z1 Offset-B10, -- node is within 5.11m of last node - node-Z2 Offset-B11, -- node is within 10.23m of last node - node-Z3 Offset-B12, -- node is within 20.47m of last node - node-Z4 Offset-B13, -- node is within 40.96m of last node - node-Z5 Offset-B14, -- node is within 81.91m of last node - node-Z6 Offset-B16 -- node is within 327.67m of last node + node-Z1 Offset-B10, --< node is within 5.11m of last node + node-Z2 Offset-B11, --< node is within 10.23m of last node + node-Z3 Offset-B12, --< node is within 20.47m of last node + node-Z4 Offset-B13, --< node is within 40.96m of last node + node-Z5 Offset-B14, --< node is within 81.91m of last node + node-Z6 Offset-B16 --< node is within 327.67m of last node } /** @brief Animal Subclass Type @@ -428,7 +427,7 @@ Describes the subclass of a detected object for class animal. @unit n/a */ AnimalSubclassType ::= INTEGER { - unknown (0) -- the kind of animal is not known + unknown (0) --< the kind of animal is not known } (0..255) /** @brief Person Subclass Type @@ -438,18 +437,18 @@ classification provided in Annex 1 of Regulation EU 168/2013. @unit n/a */ PersonSubclassType ::= INTEGER { - unknown (0), -- the vru type for the detected object is unknown - pedestrian (1), -- the detected object is a pedestrian travelling on foot - personInWheelchair (2), -- the detected object is a person travelling in a wheelchair - cyclist (3), -- the detected object is one or multiple persons travelling on - -- non-motorized unicycles, bicycles, tricycles or quadricycle - personWithStroller (4), -- the detected object is a person travelling on foot pushing or - -- pulling a stroller potentially carrying by one or - -- multiple other persons - personOnSkates (5), -- the detected object is a person travelling on skates, skateboards - -- or a small electric or foot operated scooter - personGroup (6) -- the detected object is a group of persons with similar - -- movement characteristics + unknown (0), --< the vru type for the detected object is unknown + pedestrian (1), --< the detected object is a pedestrian travelling on foot + personInWheelchair (2), --< the detected object is a person travelling in a wheelchair + cyclist (3), --< the detected object is one or multiple persons travelling on + --< non-motorized unicycles, bicycles, tricycles or quadricycle + personWithStroller (4), --< the detected object is a person travelling on foot pushing or + --< pulling a stroller potentially carrying by one or + --< multiple other persons + personOnSkates (5), --< the detected object is a person travelling on skates, skateboards + --< or a small electric or foot operated scooter + personGroup (6) --< the detected object is a group of persons with similar + --< movement characteristics } (0..255) /** @brief Vehicle Subclass Type @@ -457,29 +456,29 @@ Describes the subclass of a detected object for class vehicle. @unit n/a */ VehicleSubclassType ::= INTEGER { - unknown (0), -- the type of vehicle is unknown - moped (1), -- the detected object is a light motor vehicle with less than four - -- wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2 - motorcycle (2), -- the detected object is a light motor vehicle with less than four - -- wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7 - passengerCar (3), -- the detected object is a small passenger car as defined in - -- UNECE/TRANS/WP.29/78/Rev.4 class M1 - bus (4), -- the detected object is a large passenger vehicle as defined - -- in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3 - lightTruck (5), -- the detected object is a light goods vehicle as defined - -- in UNECE/TRANS/WP.29/78/Rev.4 class N1 - heavyTruck (6), -- the detected object is a heavy goods vehicle as defined - -- in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3 - trailer (7), -- the detected object is an unpowered vehicle that is intended - -- to be towed by a powered vehicle as defined in - -- UNECE/TRANS/WP.29/78/Rev.4 class O - specialVehicles (8), -- the detected object is a vehicle which has a special purpose - -- other than the above (e.g. moving road works vehicle) - tram (9), -- the detected object is a vehicle running on tracks along - -- public streets - emergencyVehicle (10), -- the detected object is a vehicle used in an emergency situation - -- such as an ambulance, police car or fire engine - agricultural (11) -- the detected object is a vehicle used for agricultural purposes + unknown (0), --< the type of vehicle is unknown + moped (1), --< the detected object is a light motor vehicle with less than four + --< wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2 + motorcycle (2), --< the detected object is a light motor vehicle with less than four + --< wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7 + passengerCar (3), --< the detected object is a small passenger car as defined in + --< UNECE/TRANS/WP.29/78/Rev.4 class M1 + bus (4), --< the detected object is a large passenger vehicle as defined + --< in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3 + lightTruck (5), --< the detected object is a light goods vehicle as defined + --< in UNECE/TRANS/WP.29/78/Rev.4 class N1 + heavyTruck (6), --< the detected object is a heavy goods vehicle as defined + --< in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3 + trailer (7), --< the detected object is an unpowered vehicle that is intended + --< to be towed by a powered vehicle as defined in + --< UNECE/TRANS/WP.29/78/Rev.4 class O + specialVehicles (8), --< the detected object is a vehicle which has a special purpose + --< other than the above (e.g. moving road works vehicle) + tram (9), --< the detected object is a vehicle running on tracks along + --< public streets + emergencyVehicle (10), --< the detected object is a vehicle used in an emergency situation + --< such as an ambulance, police car or fire engine + agricultural (11) --< the detected object is a vehicle used for agricultural purposes } (0..255) /** @brief Other Subclass Type @@ -496,12 +495,12 @@ Describes the confidence value for the type of a detected object. @unit Percent */ ClassConfidence ::= INTEGER { - unknown (0), -- in case the confidence value is unknown but the reported - -- classification is still valid. + unknown (0), --< in case the confidence value is unknown but the reported + --< classification is still valid. onePercent (1), oneHundredPercent (100), - unavailable (101) -- In case the class confidence value computation is not available - -- for this object. Indicates that the class assignment is invalid. + unavailable (101) --< In case the class confidence value computation is not available + --< for this object. Indicates that the class assignment is invalid. } (0..101) /** @brief WGS 84 Angle Value @@ -558,10 +557,10 @@ The required confidence level is defined by the corresponding standards applying AngleConfidence ::= INTEGER { zeroPointOneDegree (1), oneDegree (10), - outOfRange (126), -- if the accuracy is out of range, i.e. greater than - -- 12,5 degrees. A corresponding reported angle value shall be - -- considered invalid and cannot be trusted. - unavailable (127) -- if the accuracy information is not available + outOfRange (126), --< if the accuracy is out of range, i.e. greater than + --< 12,5 degrees. A corresponding reported angle value shall be + --< considered invalid and cannot be trusted. + unavailable (127) --< if the accuracy information is not available } (1..127) /** @brief Angular Speed Confidence @@ -571,15 +570,15 @@ For correlation computation, maximum interval levels shall be assumed. @ n/a */ AngularSpeedConfidence ::= ENUMERATED { - degSec-000-01 (0), -- if the accuracy is equal to or less than 0,01 degree/second - degSec-000-05 (1), -- 1 if the accuracy is equal to or less than 0,05 degrees/second - degSec-000-10 (2), -- if the accuracy is equal to or less than 0,1 degree/second - degSec-001-00 (3), -- 3 if the accuracy is equal to or less than 1 degree/second - degSec-005-00 (4), -- if the accuracy is equal to or less than 5 degrees/second - degSec-010-00 (5), -- if the accuracy is equal to or less than 10 degrees/second - degSec-100-00 (6), -- if the accuracy is equal to or less than 100 degrees/second - outOfRange (7), -- if the accuracy is out of range, i.e. greater than 100 degrees/second - unavailable (8) -- if the accuracy information is unavailable + degSec-000-01 (0), --< if the accuracy is equal to or less than 0,01 degree/second + degSec-000-05 (1), --< 1 if the accuracy is equal to or less than 0,05 degrees/second + degSec-000-10 (2), --< if the accuracy is equal to or less than 0,1 degree/second + degSec-001-00 (3), --< 3 if the accuracy is equal to or less than 1 degree/second + degSec-005-00 (4), --< if the accuracy is equal to or less than 5 degrees/second + degSec-010-00 (5), --< if the accuracy is equal to or less than 10 degrees/second + degSec-100-00 (6), --< if the accuracy is equal to or less than 100 degrees/second + outOfRange (7), --< if the accuracy is out of range, i.e. greater than 100 degrees/second + unavailable (8) --< if the accuracy information is unavailable } /** @brief Angular Acceleration Confidence @@ -589,15 +588,15 @@ For correlation computation, maximum interval levels shall be assumed. @ n/a */ AngularAccelerationConfidence ::= ENUMERATED { - degSecSquared-000-01 (0), -- if the accuracy is equal to or less than 0,01 degree/second^2 - degSecSquared-000-05 (1), -- 1 if the accuracy is equal to or less than 0,05 degrees/second^2 - degSecSquared-000-10 (2), -- if the accuracy is equal to or less than 0,1 degree/second^2 - degSecSquared-001-00 (3), -- 3 if the accuracy is equal to or less than 1 degree/second^2 - degSecSquared-005-00 (4), -- if the accuracy is equal to or less than 5 degrees/second^2 - degSecSquared-010-00 (5), -- if the accuracy is equal to or less than 10 degrees/second^2 - degSecSquared-100-00 (6), -- if the accuracy is equal to or less than 100 degrees/second^2 - outOfRange (7), -- if the accuracy is out of range, i.e. greater than 100 degrees/second^2 - unavailable (8) -- if the accuracy information is unavailable + degSecSquared-000-01 (0), --< if the accuracy is equal to or less than 0,01 degree/second^2 + degSecSquared-000-05 (1), --< 1 if the accuracy is equal to or less than 0,05 degrees/second^2 + degSecSquared-000-10 (2), --< if the accuracy is equal to or less than 0,1 degree/second^2 + degSecSquared-001-00 (3), --< 3 if the accuracy is equal to or less than 1 degree/second^2 + degSecSquared-005-00 (4), --< if the accuracy is equal to or less than 5 degrees/second^2 + degSecSquared-010-00 (5), --< if the accuracy is equal to or less than 10 degrees/second^2 + degSecSquared-100-00 (6), --< if the accuracy is equal to or less than 100 degrees/second^2 + outOfRange (7), --< if the accuracy is out of range, i.e. greater than 100 degrees/second^2 + unavailable (8) --< if the accuracy information is unavailable } @@ -627,8 +626,8 @@ Absolute accuracy of measurement to a confidence level of 95%. DistanceConfidence ::= INTEGER { zeroPointZeroOneMeter (1), oneMeter (100), - outOfRange (4094), -- shall be set if the accuracy is out of range - unavailable (4095) -- shall be set if the accuracy data is unavailable + outOfRange (4094), --< shall be set if the accuracy is out of range + unavailable (4095) --< shall be set if the accuracy data is unavailable } (0..4095) /** @brief Dynamic Status @@ -638,11 +637,11 @@ position. @unit n/a */ DynamicStatus ::= INTEGER { - dynamic (0), -- the object is moving - hasBeenDynamic (1), -- indicates whether an object has been dynamic before, e.g., a car - -- stopping at a traffic light - static (2) -- shall be used in case an object is identified to be not moving - -- throughout any previous observation + dynamic (0), --< the object is moving + hasBeenDynamic (1), --< indicates whether an object has been dynamic before, e.g., a car + --< stopping at a traffic light + static (2) --< shall be used in case an object is identified to be not moving + --< throughout any previous observation } (0..2) /** @brief Hitch Point Offset @@ -664,8 +663,8 @@ is not overhanging to the front with respect to the trailer reference point. @unit 0,1 m */ FrontOverhang ::= INTEGER { - noOverhang (0), -- trailer is not overhanging to the front with respect to the - -- trailer reference point + noOverhang (0), --< trailer is not overhanging to the front with respect to the + --< trailer reference point zeroPointOneMeter (1), oneMeter (10) } (0..50) @@ -675,10 +674,10 @@ Confidence indicating that an area is not occupied by a traffic participant or o @unit n/a */ FreeSpaceConfidence ::= INTEGER { - unknown (0), -- if the free space confidence is unknown for the described area + unknown (0), --< if the free space confidence is unknown for the described area onePercent (1), oneHundredPercent (100), - unavailable (101) -- if the confidence could not be computed and does not apply. + unavailable (101) --< if the confidence could not be computed and does not apply. } (0..101) /** @brief Longitudinal Lane Position Value @@ -697,8 +696,8 @@ Absolute accuracy of longitudinal lane position measurement to a confidence leve LongitudinalLanePositionConfidence ::= INTEGER { zeroPointZeroOneMeter (1), oneMeter (100), - outOfRange (101), -- shall be set if the accuracy is out of range - unavailable (102) -- shall be set if the accuracy data is unavailable + outOfRange (101), --< shall be set if the accuracy is out of range + unavailable (102) --< shall be set if the accuracy data is unavailable } (0..102) /** @brief Object Age @@ -708,7 +707,7 @@ disseminating station. */ ObjectAge ::= INTEGER { oneMiliSec (1), - moreThan1Point5Second (1500) -- indicates that the object has been observed for more than 1.5s. + moreThan1Point5Second (1500) --< indicates that the object has been observed for more than 1.5s. } (0..1500) /** @brief Object Confidence @@ -718,9 +717,9 @@ on the computation. @unit n/a */ ObjectConfidence ::= INTEGER { - noConfidence (0), -- No confidence in detected object, e.g. for "ghost"-objects or - -- if confidence could not be computed - fullConfidence (15) -- Full confidence in detected object + noConfidence (0), --< No confidence in detected object, e.g. for "ghost"-objects or + --< if confidence could not be computed + fullConfidence (15) --< Full confidence in detected object } (0..15) /** @brief Object Dimension Value @@ -846,10 +845,10 @@ SensorType ::= INTEGER { nightvision (5), ultrasonic (6), pmd (7), - fusion (8), -- object information provided from sensor data fusion system + fusion (8), --< object information provided from sensor data fusion system inductionloop (9), sphericalCamera (10), - itssaggregation (11) -- object information gathered from other received ITS messages + itssaggregation (11) --< object information gathered from other received ITS messages } (0..15) /** @brief Segment Count @@ -864,11 +863,11 @@ Value of a speed component. @unit 0,01 m/s */ SpeedValueExtended ::= INTEGER { - negativeSpeedMaximum (-16383), -- shall be set for values equal to or smaller than -163,83 m/s + negativeSpeedMaximum (-16383), --< shall be set for values equal to or smaller than -163,83 m/s standstill (0), oneCentimeterPerSec (1), - speedMaximum (16382), -- shall be set for values equal to or greater than 163,82 m/s - unavailable (16383) -- shall be set if information is not available + speedMaximum (16382), --< shall be set for values equal to or greater than 163,82 m/s + unavailable (16383) --< shall be set if information is not available } (-16383..16383) /** @brief Acceleration Value @@ -878,7 +877,7 @@ Value of an acceleration component. AccelerationValue ::= INTEGER { pointOneMeterPerSecSquared (1), minusPointOneMeterPerSecSquared (-1), - unavailable (161) -- shall be set if information is not available + unavailable (161) --< shall be set if information is not available } (-160 .. 161) /** @brief Time of Measurement diff --git a/asn/SensorInformation.asn b/asn/SensorInformation.asn index 11e5f9d..81c5a38 100644 --- a/asn/SensorInformation.asn +++ b/asn/SensorInformation.asn @@ -100,7 +100,7 @@ VehicleSensor ::= SEQUENCE { ... } --- @brief Vehicle Sensor Property List +--! @brief Vehicle Sensor Property List VehicleSensorPropertyList ::= SEQUENCE SIZE(1..10) OF VehicleSensorProperties /** @brief Vehicle Sensor Properties -- GitLab From ff6f92832e9bf67d2612201556394fdbe8c1a43c Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Tue, 25 May 2021 10:55:29 +0000 Subject: [PATCH 7/8] Documentation update --- docs/CPM-CommonDataTypes-Descriptions.md | 129 +++++++++++++++++---- docs/CPM-PDU-Descriptions.md | 9 ++ docs/CPM-SensorInformation-Descriptions.md | 1 + 3 files changed, 115 insertions(+), 24 deletions(-) diff --git a/docs/CPM-CommonDataTypes-Descriptions.md b/docs/CPM-CommonDataTypes-Descriptions.md index 4c8e774..6b4fade 100644 --- a/docs/CPM-CommonDataTypes-Descriptions.md +++ b/docs/CPM-CommonDataTypes-Descriptions.md @@ -438,9 +438,12 @@ Scaled by 100. Values: * **full-negative-correlation** (-100)
+Full negative correlation * **no-correlation** (0)
+If not correlated or unavailable * **point-one** (10)
* **full-positive-correlation** (100)
+Full positive correlation ```asn1 CorrelationRowValue ::= INTEGER { full-negative-correlation (-100), @@ -481,8 +484,19 @@ ObjectClassWithConfidence ::= SEQUENCE { The class that best describes the detected object. Each class provides optional subclasses. +Fields: +* vehicleSubclass [**VehicleSubclassType**](#VehicleSubclassType)
+* personSubclass [**PersonSubclassType**](#PersonSubclassType)
+* animalSubclass [**AnimalSubclassType**](#AnimalSubclassType)
+* otherSubclass [**OtherSubclassType**](#OtherSubclassType)
```asn1 ObjectClass ::= CHOICE { + vehicleSubclass VehicleSubclassType, + personSubclass PersonSubclassType, + animalSubclass AnimalSubclassType, + otherSubclass OtherSubclassType, + ... +} ``` ### Offset Point @@ -509,11 +523,17 @@ to SAE J2735 _NodeOffsetPointXY_. Fields: * node-Z1 [**Offset-B10**](DSRC.md#Offset-B10)
+node is within 5.11m of last node * node-Z2 [**Offset-B11**](DSRC.md#Offset-B11)
+node is within 10.23m of last node * node-Z3 [**Offset-B12**](DSRC.md#Offset-B12)
+node is within 20.47m of last node * node-Z4 [**Offset-B13**](DSRC.md#Offset-B13)
+node is within 40.96m of last node * node-Z5 [**Offset-B14**](DSRC.md#Offset-B14)
+node is within 81.91m of last node * node-Z6 [**Offset-B16**](DSRC.md#Offset-B16)
+node is within 327.67m of last node ```asn1 NodeOffsetPointZ ::= CHOICE { node-Z1 Offset-B10, @@ -534,6 +554,7 @@ Describes the subclass of a detected object for class animal. Values: * **unknown** (0)
+the kind of animal is not known ```asn1 AnimalSubclassType ::= INTEGER { unknown (0) @@ -551,17 +572,24 @@ classification provided in Annex 1 of Regulation EU 168/2013. Values: * **unknown** (0)
+the vru type for the detected object is unknown * **pedestrian** (1)
+the detected object is a pedestrian travelling on foot * **personInWheelchair** (2)
+the detected object is a person travelling in a wheelchair * **cyclist** (3)
-* **--** non-motorized unicycles
+the detected object is one or multiple persons travelling on +non-motorized unicycles, bicycles, tricycles or quadricycle * **personWithStroller** (4)
-* **--** pulling a stroller potentially carrying by one or
-* **--** multiple other persons
+the detected object is a person travelling on foot pushing or +pulling a stroller potentially carrying by one or +multiple other persons * **personOnSkates** (5)
-* **--** or a small electric or foot operated scooter
+the detected object is a person travelling on skates, skateboards +or a small electric or foot operated scooter * **personGroup** (6)
-* **--** movement characteristics
+the detected object is a group of persons with similar +movement characteristics ```asn1 PersonSubclassType ::= INTEGER { unknown (0), @@ -583,28 +611,40 @@ Describes the subclass of a detected object for class vehicle. Values: * **unknown** (0)
+the type of vehicle is unknown * **moped** (1)
-* **--** wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1
+the detected object is a light motor vehicle with less than four +wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2 * **motorcycle** (2)
-* **--** wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3
+the detected object is a light motor vehicle with less than four +wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7 * **passengerCar** (3)
-* -- [**UNECE**](#UNECE) /TRANS/WP.29/78/Rev.4 class M1
+the detected object is a small passenger car as defined in +UNECE/TRANS/WP.29/78/Rev.4 class M1 * **bus** (4)
-* **--** in UNECE/TRANS/WP.29/78/Rev.4 class M2
+the detected object is a large passenger vehicle as defined +in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3 * **lightTruck** (5)
-* **--** in UNECE/TRANS/WP.29/78/Rev.4 class N1
+the detected object is a light goods vehicle as defined +in UNECE/TRANS/WP.29/78/Rev.4 class N1 * **heavyTruck** (6)
-* **--** in UNECE/TRANS/WP.29/78/Rev.4 class N2
+the detected object is a heavy goods vehicle as defined +in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3 * **trailer** (7)
-* **--** to be towed by a powered vehicle as defined in
-* -- [**UNECE**](#UNECE) /TRANS/WP.29/78/Rev.4 class O
+the detected object is an unpowered vehicle that is intended +to be towed by a powered vehicle as defined in +UNECE/TRANS/WP.29/78/Rev.4 class O * **specialVehicles** (8)
-* **--** other than the above (e.g. moving road works vehicle)
+the detected object is a vehicle which has a special purpose +other than the above (e.g. moving road works vehicle) * **tram** (9)
-* **--** public streets
+the detected object is a vehicle running on tracks along +public streets * **emergencyVehicle** (10)
-* **--** such as an ambulance
+the detected object is a vehicle used in an emergency situation +such as an ambulance, police car or fire engine * **agricultural** (11)
+the detected object is a vehicle used for agricultural purposes ```asn1 VehicleSubclassType ::= INTEGER { unknown (0), @@ -648,11 +688,13 @@ Describes the confidence value for the type of a detected object. Values: * **unknown** (0)
-* **--** classification is still valid.
+in case the confidence value is unknown but the reported +classification is still valid. * **onePercent** (1)
* **oneHundredPercent** (100)
* **unavailable** (101)
-* **--** for this object. Indicates that the class assignment is invalid.
+In case the class confidence value computation is not available +for this object. Indicates that the class assignment is invalid. ```asn1 ClassConfidence ::= INTEGER { unknown (0), @@ -757,9 +799,11 @@ Values: * **zeroPointOneDegree** (1)
* **oneDegree** (10)
* **outOfRange** (126)
-* **--** 12
-* **--** considered invalid and cannot be trusted.
+if the accuracy is out of range, i.e. greater than +12,5 degrees. A corresponding reported angle value shall be +considered invalid and cannot be trusted. * **unavailable** (127)
+if the accuracy information is not available ```asn1 AngleConfidence ::= INTEGER { zeroPointOneDegree (1), @@ -779,14 +823,23 @@ For correlation computation, maximum interval levels shall be assumed. Values: * **degSec-000-01** (0)
+if the accuracy is equal to or less than 0,01 degree/second * **degSec-000-05** (1)
+1 if the accuracy is equal to or less than 0,05 degrees/second * **degSec-000-10** (2)
+if the accuracy is equal to or less than 0,1 degree/second * **degSec-001-00** (3)
+3 if the accuracy is equal to or less than 1 degree/second * **degSec-005-00** (4)
+if the accuracy is equal to or less than 5 degrees/second * **degSec-010-00** (5)
+if the accuracy is equal to or less than 10 degrees/second * **degSec-100-00** (6)
+if the accuracy is equal to or less than 100 degrees/second * **outOfRange** (7)
+if the accuracy is out of range, i.e. greater than 100 degrees/second * **unavailable** (8)
+if the accuracy information is unavailable ```asn1 AngularSpeedConfidence ::= ENUMERATED { degSec-000-01 (0), @@ -811,14 +864,23 @@ For correlation computation, maximum interval levels shall be assumed. Values: * **degSecSquared-000-01** (0)
+if the accuracy is equal to or less than 0,01 degree/second^2 * **degSecSquared-000-05** (1)
+1 if the accuracy is equal to or less than 0,05 degrees/second^2 * **degSecSquared-000-10** (2)
+if the accuracy is equal to or less than 0,1 degree/second^2 * **degSecSquared-001-00** (3)
+3 if the accuracy is equal to or less than 1 degree/second^2 * **degSecSquared-005-00** (4)
+if the accuracy is equal to or less than 5 degrees/second^2 * **degSecSquared-010-00** (5)
+if the accuracy is equal to or less than 10 degrees/second^2 * **degSecSquared-100-00** (6)
+if the accuracy is equal to or less than 100 degrees/second^2 * **outOfRange** (7)
+if the accuracy is out of range, i.e. greater than 100 degrees/second^2 * **unavailable** (8)
+if the accuracy information is unavailable ```asn1 AngularAccelerationConfidence ::= ENUMERATED { degSecSquared-000-01 (0), @@ -879,7 +941,9 @@ Values: * **zeroPointZeroOneMeter** (1)
* **oneMeter** (100)
* **outOfRange** (4094)
+shall be set if the accuracy is out of range * **unavailable** (4095)
+shall be set if the accuracy data is unavailable ```asn1 DistanceConfidence ::= INTEGER { zeroPointZeroOneMeter (1), @@ -900,10 +964,13 @@ position. Values: * **dynamic** (0)
+the object is moving * **hasBeenDynamic** (1)
-* **--** stopping at a traffic light
+indicates whether an object has been dynamic before, e.g., a car +stopping at a traffic light * **static** (2)
-* **--** throughout any previous observation
+shall be used in case an object is identified to be not moving +throughout any previous observation ```asn1 DynamicStatus ::= INTEGER { dynamic (0), @@ -945,7 +1012,8 @@ is not overhanging to the front with respect to the trailer reference point. Values: * **noOverhang** (0)
-* **--** trailer reference point
+trailer is not overhanging to the front with respect to the +trailer reference point * **zeroPointOneMeter** (1)
* **oneMeter** (10)
```asn1 @@ -965,9 +1033,11 @@ Confidence indicating that an area is not occupied by a traffic participant or o Values: * **unknown** (0)
+if the free space confidence is unknown for the described area * **onePercent** (1)
* **oneHundredPercent** (100)
* **unavailable** (101)
+if the confidence could not be computed and does not apply. ```asn1 FreeSpaceConfidence ::= INTEGER { unknown (0), @@ -1004,7 +1074,9 @@ Values: * **zeroPointZeroOneMeter** (1)
* **oneMeter** (100)
* **outOfRange** (101)
+shall be set if the accuracy is out of range * **unavailable** (102)
+shall be set if the accuracy data is unavailable ```asn1 LongitudinalLanePositionConfidence ::= INTEGER { zeroPointZeroOneMeter (1), @@ -1025,6 +1097,7 @@ disseminating station. Values: * **oneMiliSec** (1)
* **moreThan1Point5Second** (1500)
+indicates that the object has been observed for more than 1.5s. ```asn1 ObjectAge ::= INTEGER { oneMiliSec (1), @@ -1043,8 +1116,10 @@ on the computation. Values: * **noConfidence** (0)
-* **--** if confidence could not be computed
+No confidence in detected object, e.g. for "ghost"-objects or +if confidence could not be computed * **fullConfidence** (15)
+Full confidence in detected object ```asn1 ObjectConfidence ::= INTEGER { noConfidence (0), @@ -1267,9 +1342,11 @@ Values: * **ultrasonic** (6)
* **pmd** (7)
* **fusion** (8)
+object information provided from sensor data fusion system * **inductionloop** (9)
* **sphericalCamera** (10)
* **itssaggregation** (11)
+object information gathered from other received ITS messages ```asn1 SensorType ::= INTEGER { undefined (0), @@ -1308,10 +1385,13 @@ Value of a speed component. Values: * **negativeSpeedMaximum** (-16383)
+shall be set for values equal to or smaller than -163,83 m/s * **standstill** (0)
* **oneCentimeterPerSec** (1)
* **speedMaximum** (16382)
+shall be set for values equal to or greater than 163,82 m/s * **unavailable** (16383)
+shall be set if information is not available ```asn1 SpeedValueExtended ::= INTEGER { negativeSpeedMaximum (-16383), @@ -1333,6 +1413,7 @@ Values: * **pointOneMeterPerSecSquared** (1)
* **minusPointOneMeterPerSecSquared** (-1)
* **unavailable** (161)
+shall be set if information is not available ```asn1 AccelerationValue ::= INTEGER { pointOneMeterPerSecSquared (1), diff --git a/docs/CPM-PDU-Descriptions.md b/docs/CPM-PDU-Descriptions.md index 194513b..b49c348 100644 --- a/docs/CPM-PDU-Descriptions.md +++ b/docs/CPM-PDU-Descriptions.md @@ -1,5 +1,7 @@ # ASN.1 module CPM-PDU-Descriptions OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) version1 (1) }_ + Specification of the Collective Perception Message ETSI TS 103 324 + Latest version available at https://forge.etsi.org/rep/ITS/CPM_TS103324 ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
@@ -13,8 +15,10 @@ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
* **[CPM-OriginatingStationData-Descriptions](CPM-OriginatingStationData-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1)}*
+ Import Originating Vehicle Container * **[CPM-SensorInformation-Descriptions](CPM-SensorInformation-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1)}*
+ Import Sensor Information Container * **[CPM-PerceivedObject-Descriptions](CPM-PerceivedObject-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObject (5) version1 (1)}*
@@ -23,6 +27,7 @@ ## Data Elements: ### CPM-STATIONDATA-ID-AND-TYPE + Information Object Class Definitions ```asn1 @@ -105,6 +110,8 @@ PerceptionData CPM-CONTAINER-ID-AND-TYPE ::= { } ``` + ID Assignments for Information Object Classes + Assignment for Originating Station Container ```asn1 @@ -112,6 +119,7 @@ originatingStationVehicleContainer CpmStationDataId ::= 1 originatingStationRSUContainer CpmStationDataId ::= 2 ``` + Assignment for Perception Data Container ```asn1 @@ -122,6 +130,7 @@ freeSpaceAdddendumCpmContainer CpmContainerId ::= 3 ### Collective Perception Message Root + Collective Perception Message This DF includes DEs for the CPM protocolVersion, the CP message type identifier _messageID_ and the station identifier _stationID_ of the originating ITS-S. diff --git a/docs/CPM-SensorInformation-Descriptions.md b/docs/CPM-SensorInformation-Descriptions.md index 85e3943..f27fc49 100644 --- a/docs/CPM-SensorInformation-Descriptions.md +++ b/docs/CPM-SensorInformation-Descriptions.md @@ -106,6 +106,7 @@ VehicleSensor ::= SEQUENCE { + ```asn1 VehicleSensorPropertyList ::= SEQUENCE SIZE(1..10) OF VehicleSensorProperties ``` -- GitLab From a0c3747aacbe214e064dce7765954ff79750db64 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Wed, 26 May 2021 16:30:39 +0000 Subject: [PATCH 8/8] Documentation update --- docs/CAM-PDU-Descriptions.md | 28 -- docs/CPM-CommonDataTypes-Descriptions.md | 200 ++++++--- docs/CPM-FreeSpaceAddendum-Descriptions.md | 33 +- ...CPM-OriginatingStationData-Descriptions.md | 32 +- docs/CPM-PDU-Descriptions.md | 56 ++- docs/CPM-PerceivedObject-Descriptions.md | 381 ++++++++++-------- docs/CPM-SensorInformation-Descriptions.md | 74 ++-- docs/ITS-Container.md | 268 ------------ 8 files changed, 479 insertions(+), 593 deletions(-) diff --git a/docs/CAM-PDU-Descriptions.md b/docs/CAM-PDU-Descriptions.md index d2af86d..c72d3d0 100644 --- a/docs/CAM-PDU-Descriptions.md +++ b/docs/CAM-PDU-Descriptions.md @@ -16,8 +16,6 @@ CAM ::= SEQUENCE { ### CoopAwareness - - Fields: * generationDeltaTime [**GenerationDeltaTime**](CAM-PDU-Descriptions.md#GenerationDeltaTime)
* camParameters [**CamParameters**](#CamParameters)
@@ -30,8 +28,6 @@ CoopAwareness ::= SEQUENCE { ### CamParameters - - Fields: * basicContainer [**BasicContainer**](#BasicContainer)
* highFrequencyContainer [**HighFrequencyContainer**](#HighFrequencyContainer)
@@ -49,8 +45,6 @@ CamParameters ::= SEQUENCE { ### HighFrequencyContainer - - Fields: * basicVehicleContainerHighFrequency [**BasicVehicleContainerHighFrequency**](#BasicVehicleContainerHighFrequency)
* rsuContainerHighFrequency [**RSUContainerHighFrequency**](#RSUContainerHighFrequency)
@@ -73,8 +67,6 @@ LowFrequencyContainer ::= CHOICE { ### SpecialVehicleContainer - - Fields: * publicTransportContainer [**PublicTransportContainer**](#PublicTransportContainer)
* specialTransportContainer [**SpecialTransportContainer**](#SpecialTransportContainer)
@@ -98,8 +90,6 @@ SpecialVehicleContainer ::= CHOICE { ### BasicContainer - - Fields: * stationType [**StationType**](ITS-Container.md#StationType)
* referencePosition [**ReferencePosition**](ITS-Container.md#ReferencePosition)
@@ -113,8 +103,6 @@ BasicContainer ::= SEQUENCE { ### BasicVehicleContainerHighFrequency - - Fields: * heading [**Heading**](ITS-Container.md#Heading)
* speed [**Speed**](ITS-Container.md#Speed)
@@ -155,8 +143,6 @@ BasicVehicleContainerHighFrequency ::= SEQUENCE { ### BasicVehicleContainerLowFrequency - - Fields: * vehicleRole [**VehicleRole**](ITS-Container.md#VehicleRole)
* exteriorLights [**ExteriorLights**](ITS-Container.md#ExteriorLights)
@@ -171,8 +157,6 @@ BasicVehicleContainerLowFrequency ::= SEQUENCE { ### PublicTransportContainer - - Fields: * embarkationStatus [**EmbarkationStatus**](ITS-Container.md#EmbarkationStatus)
* ptActivation [**PtActivation**](ITS-Container.md#PtActivation) OPTIONAL
@@ -185,8 +169,6 @@ PublicTransportContainer ::= SEQUENCE { ### SpecialTransportContainer - - Fields: * specialTransportType [**SpecialTransportType**](ITS-Container.md#SpecialTransportType)
* lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
@@ -217,8 +199,6 @@ RoadWorksContainerBasic ::= SEQUENCE { ### RescueContainer - - Fields: * lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
```asn1 @@ -229,8 +209,6 @@ RescueContainer ::= SEQUENCE { ### EmergencyContainer - - Fields: * lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
* incidentIndication [**CauseCode**](ITS-Container.md#CauseCode) OPTIONAL
@@ -245,8 +223,6 @@ EmergencyContainer ::= SEQUENCE { ### SafetyCarContainer - - Fields: * lightBarSirenInUse [**LightBarSirenInUse**](ITS-Container.md#LightBarSirenInUse)
* incidentIndication [**CauseCode**](ITS-Container.md#CauseCode) OPTIONAL
@@ -263,8 +239,6 @@ SafetyCarContainer ::= SEQUENCE { ### RSUContainerHighFrequency - - Fields: * protectedCommunicationZonesRSU [**ProtectedCommunicationZonesRSU**](ITS-Container.md#ProtectedCommunicationZonesRSU) OPTIONAL
```asn1 @@ -276,8 +250,6 @@ RSUContainerHighFrequency ::= SEQUENCE { ### GenerationDeltaTime - - ```asn1 GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535) ``` diff --git a/docs/CPM-CommonDataTypes-Descriptions.md b/docs/CPM-CommonDataTypes-Descriptions.md index 6b4fade..794f15e 100644 --- a/docs/CPM-CommonDataTypes-Descriptions.md +++ b/docs/CPM-CommonDataTypes-Descriptions.md @@ -18,11 +18,15 @@ the nodeCenterPoint (if provided). The DF shall include the following informatio Fields: -* **Optional** offset point about which the circle is centred with respect to the reference
-* **position** of the ITS-S.
* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
-* **The** radius of the circular area
+ + Optional offset point about which the circle is centred with respect to the reference + position of the ITS-S. + * radius [**Radius**](#Radius)
+ + The radius of the circular area + ```asn1 AreaCircular ::= SEQUENCE { nodeCenterPoint OffsetPoint OPTIONAL, @@ -37,15 +41,23 @@ about the nodeCenterPoint (if provided). Fields: -* **Optional** offset point about which the ellipse is centred with respect to the reference
-* **position** of the ITS-S.
* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
-* **Major** radius of the ellipse.
+ + Optional offset point about which the ellipse is centred with respect to the reference + position of the ITS-S. + * semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength)
-* **Minor** radius of the ellipse.
+ + Major radius of the ellipse. + * semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength)
-* **Orientation** of the semiMajorRangeLength of the ellipse in the WGS84 coordinate system.
+ + Minor radius of the ellipse. + * semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue)
+ + Orientation of the semiMajorRangeLength of the ellipse in the WGS84 coordinate system. + * semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL
```asn1 AreaEllipse ::= SEQUENCE { @@ -64,15 +76,23 @@ about the nodeCenterPoint (if provided). Fields: -* **Optional** offset point about which the rectangle is centred with respect to the reference
-* **position** of the ITS-S.
* nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL
-* **Half** length of the rectangle.
+ + Optional offset point about which the rectangle is centred with respect to the reference + position of the ITS-S. + * semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength)
-* **Half** width of the rectangle.
+ + Half length of the rectangle. + * semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength)
-* **Orientation** of the semiMajorRangeLength of the rectangle in the WGS84 coordinate system.
+ + Half width of the rectangle. + * semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue)
+ + Orientation of the semiMajorRangeLength of the rectangle in the WGS84 coordinate system. + * semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL
```asn1 AreaRectangle ::= SEQUENCE { @@ -121,26 +141,40 @@ above intersections). Fields: -* **The** radial range of the sensor from the reference point or sensor point offset.
* range [**Range**](#Range)
-* **The** orientation indicating the beginning of the stationary sensor’s horizontal opening angle
-* **in** positive angular direction with respect to the WGS84 coordinate system.
+ + The radial range of the sensor from the reference point or sensor point offset. + * stationaryHorizontalOpeningAngleStart [**WGS84AngleValue**](#WGS84AngleValue)
-* **The** orientation indicating the end of the stationary sensor’s horizontal opening angle in
-* **positive** angular direction with respect to the WGS84 coordinate system.
+ + The orientation indicating the beginning of the stationary sensor’s horizontal opening angle + in positive angular direction with respect to the WGS84 coordinate system. + * stationaryHorizontalOpeningAngleEnd [**WGS84AngleValue**](#WGS84AngleValue)
-* **The** 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.
+ + The orientation indicating the end of the stationary sensor’s horizontal opening angle in + positive angular direction with respect to the WGS84 coordinate system. + * verticalOpeningAngleStart [**CartesianAngleValue**](#CartesianAngleValue) OPTIONAL
-* **The** 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.
+ + The 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. + * verticalOpeningAngleEnd [**CartesianAngleValue**](#CartesianAngleValue) OPTIONAL
-* **The** offset of the mounting poinf of this sensor from the station's @see ReferencePosition.
+ + The 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. + * sensorPositionOffset [**OffsetPoint**](#OffsetPoint) OPTIONAL
-* **The** height of the sensor mounting point.
+ + The offset of the mounting poinf of this sensor from the station's @see ReferencePosition. + * sensorHeight [**SensorHeight**](#SensorHeight) OPTIONAL
+ + The height of the sensor mounting point. + ```asn1 AreaRadial ::= SEQUENCE { range Range, @@ -161,11 +195,15 @@ predefined confidence level of 95% for the component. Fields: -* **The** distance value which can be estimated as the mean of the current distribution.
* value [**DistanceValue**](#DistanceValue)
-* **The** distance accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The distance value which can be estimated as the mean of the current distribution. + * confidence [**DistanceConfidence**](#DistanceConfidence)
+ + The distance accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 ObjectDistance ::= SEQUENCE { value DistanceValue, @@ -180,11 +218,15 @@ predefined confidence level of 95% for the component. Fields: -* **The** object dimension value which can be estimated as the mean of the current distribution.
* value [**ObjectDimensionValue**](#ObjectDimensionValue)
-* **The** dimension accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The object dimension value which can be estimated as the mean of the current distribution. + * confidence [**ObjectDimensionConfidence**](#ObjectDimensionConfidence)
+ + The dimension accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 ObjectDimension ::= SEQUENCE { value ObjectDimensionValue, @@ -199,11 +241,15 @@ confidence level of 95% for the component in a Cartesian coordinate system. Fields: -* **The** angle value which can be estimated as the mean of the current distribution.
* value [**CartesianAngleValue**](#CartesianAngleValue)
-* **The** accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The angle value which can be estimated as the mean of the current distribution. + * confidence [**AngleConfidence**](#AngleConfidence)
+ + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 CartesianAngle ::= SEQUENCE { value CartesianAngleValue, @@ -218,11 +264,15 @@ confidence level of 95% for the component in a Cartesian coordinate system. Fields: -* **The** angular speed (rate) value which can be estimated as the mean of the current distribution.
* value [**CartesianAngularSpeedValue**](#CartesianAngularSpeedValue)
-* **The** accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The angular speed (rate) value which can be estimated as the mean of the current distribution. + * confidence [**AngularSpeedConfidence**](#AngularSpeedConfidence)
+ + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 CartesianAngularSpeed ::= SEQUENCE { value CartesianAngularSpeedValue, @@ -237,11 +287,15 @@ confidence level of 95% for the component in a Cartesian coordinate system. Fields: -* **The** angular acceleration value which can be estimated as the mean of the current distribution.
* value [**CartesianAngularAccelerationValue**](#CartesianAngularAccelerationValue)
-* **The** accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The angular acceleration value which can be estimated as the mean of the current distribution. + * confidence [**AngularAccelerationConfidence**](#AngularAccelerationConfidence)
+ + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 CartesianAngularAcceleration ::= SEQUENCE { value CartesianAngularAccelerationValue, @@ -256,11 +310,15 @@ confidence level of 95% for the component in the WGS84 coordinate system. Fields: -* **The** angle value which can be estimated as the mean of the current distribution.
* value [**WGS84AngleValue**](#WGS84AngleValue)
-* **The** accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The angle value which can be estimated as the mean of the current distribution. + * confidence [**AngleConfidence**](#AngleConfidence)
+ + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 WGS84Angle ::= SEQUENCE { value WGS84AngleValue, @@ -275,11 +333,15 @@ confidence level of 95% for the component. Fields: -* **The** speed value which can be estimated as the mean of the current distribution.
* value [**SpeedValueExtended**](#SpeedValueExtended)
-* **The** accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The speed value which can be estimated as the mean of the current distribution. + * confidence [**SpeedConfidence**](ITS-Container.md#SpeedConfidence)
+ + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 SpeedExtended ::= SEQUENCE { value SpeedValueExtended, @@ -294,11 +356,15 @@ confidence level of 95% for the component. Fields: -* **The** acceleration value which can be estimated as the mean of the current distribution.
* value [**AccelerationValue**](#AccelerationValue)
-* **The** accuracy associated to the provided value at a predefined confidence level
-* **of** 95% for the component.
+ + The acceleration value which can be estimated as the mean of the current distribution. + * confidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
+ + The accuracy associated to the provided value at a predefined confidence level + of 95% for the component. + ```asn1 Acceleration ::= SEQUENCE { value AccelerationValue, @@ -355,12 +421,16 @@ in MAP messages. Fields: -* **Conveys** an assigned index that is unique within the intersection with InterSectionReferenceId
-* **of** the OriginatingRSUContainer. It shall be presented as specified in
-* **Clause** 7.88 of SAE J2735.
* laneID [**LaneID**](DSRC.md#LaneID) OPTIONAL
-* **Indicates** the longitudinal offset of the map-matched position of the object along the lane.
+ + Conveys an assigned index that is unique within the intersection with InterSectionReferenceId + of the OriginatingRSUContainer. It shall be presented as specified in + Clause 7.88 of SAE J2735. + * longitudinalLanePosition [**LongitudinalLanePosition**](#LongitudinalLanePosition) OPTIONAL
+ + Indicates the longitudinal offset of the map-matched position of the object along the lane. + ```asn1 MatchedPosition ::= SEQUENCE { laneID LaneID OPTIONAL, @@ -376,10 +446,14 @@ a corresponding MAP message. Fields: -* **The** mean value of the longitudinal position within a particular length.
* longitudinalLanePositionValue [**LongitudinalLanePositionValue**](#LongitudinalLanePositionValue)
-* **The** confidence associated to the provided value.
+ + The mean value of the longitudinal position within a particular length. + * longitudinalLanePositionConfidence [**LongitudinalLanePositionConfidence**](#LongitudinalLanePositionConfidence)
+ + The confidence associated to the provided value. + ```asn1 LongitudinalLanePosition ::= SEQUENCE { longitudinalLanePositionValue LongitudinalLanePositionValue, @@ -393,12 +467,16 @@ Information about segmented CPM and the number of generated segments. Fields: -* **The** total number of messages required on the transmitter side to distribute the information
-* **to** several messages.
* totalMsgSegments [**SegmentCount**](#SegmentCount)
-* **Indicates** the number of the received message out of the total number of messages
-* **used** to realize segmentation.
+ + The total number of messages required on the transmitter side to distribute the information + to several messages. + * thisSegmentNum [**SegmentCount**](#SegmentCount)
+ + Indicates the number of the received message out of the total number of messages + used to realize segmentation. + ```asn1 MessageSegmentInfo ::= SEQUENCE { totalMsgSegments SegmentCount, @@ -1261,7 +1339,7 @@ RefPointId ::= INTEGER (0..255) ### Sensor Height - Height of sensor position relative to altitude provided by the reference position. +Height of sensor position relative to altitude provided by the reference position.     **Unit**: _0,01 m_ diff --git a/docs/CPM-FreeSpaceAddendum-Descriptions.md b/docs/CPM-FreeSpaceAddendum-Descriptions.md index b278355..19f047b 100644 --- a/docs/CPM-FreeSpaceAddendum-Descriptions.md +++ b/docs/CPM-FreeSpaceAddendum-Descriptions.md @@ -25,17 +25,21 @@ to the isotropic @see FreeSpaceConfidence confidence level indication provided i Fields: -* **Describes** an isotropic free space confidence that applies to the entire area as defined in
-* **the** @see freeSpaceArea of a particular free space addendum container.
* freeSpaceConfidence [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence)
-* **Describes** the free space area for which the free space confidence of this addendum
-* **container** is valid.
+ @detailsfreeSpaceConfidence + Describes an isotropic free space confidence that applies to the entire area as defined in + the @see freeSpaceArea of a particular free space addendum container. + * freeSpaceArea [**FreeSpaceArea**](#FreeSpaceArea)
-* **Provides** a list of pseudonym sensor IDs which performed the measurement to indicate the
-* **free** space.
+ + Describes the free space area for which the free space confidence of this addendum + container is valid. + * sensorIDList [**SensorIdList**](CPM-CommonDataTypes-Descriptions.md#SensorIdList) OPTIONAL
-* **Indicates** if the simple shadowing mechanism applies within the area described
-* **by** @see freeSpaceArea.
+ + Provides a list of pseudonym sensor IDs which performed the measurement to indicate the + free space. + * shadowingApplies [**ShadowingApplies**](CPM-CommonDataTypes-Descriptions.md#ShadowingApplies) DEFAULT TRUE
```asn1 FreeSpaceAddendum ::= SEQUENCE { @@ -55,14 +59,19 @@ the disseminating ITS-S. Fields: -* **A** sequence of node points from a given offset point to describe an arbitrary area shape.
* freeSpacePolygon [**AreaPolygon**](CPM-CommonDataTypes-Descriptions.md#AreaPolygon)
-* **A** description of a circular area.
+ + A sequence of node points from a given offset point to describe an arbitrary area shape. + * freeSpaceCircular [**AreaCircular**](CPM-CommonDataTypes-Descriptions.md#AreaCircular)
-* **A** description of an elliptical area.
* freeSpaceEllipse [**AreaEllipse**](CPM-CommonDataTypes-Descriptions.md#AreaEllipse)
-* **A** description of a rectangular area.
+ + A description of an elliptical area. + * freeSpaceRectangle [**AreaRectangle**](CPM-CommonDataTypes-Descriptions.md#AreaRectangle)
+ + A description of a rectangular area. + ```asn1 FreeSpaceArea ::= CHOICE { freeSpacePolygon AreaPolygon, diff --git a/docs/CPM-OriginatingStationData-Descriptions.md b/docs/CPM-OriginatingStationData-Descriptions.md index fc53cf3..128037e 100644 --- a/docs/CPM-OriginatingStationData-Descriptions.md +++ b/docs/CPM-OriginatingStationData-Descriptions.md @@ -29,33 +29,37 @@ OriginatingVehicleContainer ::= SEQUENCE { ### Originating RSU Container - Angle and angle accuracy of the absolute orientation of the disseminating vehicle in the - WGS84 coordinate system with respect to true North. This is opposed to the vehicle heading - which is calculated taking into account the speed vector. The confidence denotes the accuracy - of the measured angle value for a confidence level of 95 %. +Angle and angle accuracy of the absolute orientation of the disseminating vehicle in the +WGS84 coordinate system with respect to true North. This is opposed to the vehicle heading +which is calculated taking into account the speed vector. The confidence denotes the accuracy +of the measured angle value for a confidence level of 95 %. - Angle and angle accuracy between the ground plane and the current orientation of a vehicle's - x-axis with respect to the ground plane about the y-axis according to the ISO 8855. +Angle and angle accuracy between the ground plane and the current orientation of a vehicle's +x-axis with respect to the ground plane about the y-axis according to the ISO 8855. - Angle and angle accuracy between the ground plane and the current orientation of a vehicle's - y-axis with respect to the ground plane about the x-axis according to the ISO 8855 +Angle and angle accuracy between the ground plane and the current orientation of a vehicle's +y-axis with respect to the ground plane about the x-axis according to the ISO 8855 - Provides detailed information about the trailers dimensions and orientation in case a trailer is present. +Provides detailed information about the trailers dimensions and orientation in case a trailer is present. The _originatingRSUContainer_ provides information about the RSU type ITS-S disseminating the CPM. Fields: -* **Conveys** the combination of an optional RoadRegulatorID and of an IntersectionID that is
-* **unique** within that region. When the RoadRegulatorID is present
-* **is** guaranteed to be globally unique.
* intersectionReferenceId [**IntersectionReferenceID**](DSRC.md#IntersectionReferenceID)
-* **Conveys** the RoadSegmentReferenceID which is unique to a given road segment of interest
-* **also** the RoadRegulatorID assigned to the region in which it is operating
+ + Conveys the combination of an optional RoadRegulatorID and of an IntersectionID that is + unique within that region. When the RoadRegulatorID is present, the IntersectionReferenceID + is guaranteed to be globally unique. + * roadSegmentReferenceId [**RoadSegmentReferenceID**](DSRC.md#RoadSegmentReferenceID)
+ + Conveys the RoadSegmentReferenceID which is unique to a given road segment of interest, and + also the RoadRegulatorID assigned to the region in which it is operating + ```asn1 OriginatingRSUContainer ::= CHOICE { intersectionReferenceId IntersectionReferenceID, diff --git a/docs/CPM-PDU-Descriptions.md b/docs/CPM-PDU-Descriptions.md index b49c348..570c540 100644 --- a/docs/CPM-PDU-Descriptions.md +++ b/docs/CPM-PDU-Descriptions.md @@ -1,7 +1,7 @@ # ASN.1 module CPM-PDU-Descriptions OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) version1 (1) }_ - Specification of the Collective Perception Message ETSI TS 103 324 - Latest version available at https://forge.etsi.org/rep/ITS/CPM_TS103324 +Specification of the Collective Perception Message ETSI TS 103 324 +Latest version available at https://forge.etsi.org/rep/ITS/CPM_TS103324 ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }*
@@ -15,10 +15,10 @@ * **[CPM-CommonDataTypes-Descriptions](CPM-CommonDataTypes-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) commonDataTypes (2) version1 (1)}*
* **[CPM-OriginatingStationData-Descriptions](CPM-OriginatingStationData-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationData (3) version1 (1)}*
- Import Originating Vehicle Container + Import Originating Vehicle Container * **[CPM-SensorInformation-Descriptions](CPM-SensorInformation-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformation (4) version1 (1)}*
- Import Sensor Information Container + Import Sensor Information Container * **[CPM-PerceivedObject-Descriptions](CPM-PerceivedObject-Descriptions.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObject (5) version1 (1)}*
@@ -27,7 +27,7 @@ ## Data Elements: ### CPM-STATIONDATA-ID-AND-TYPE - Information Object Class Definitions +Information Object Class Definitions ```asn1 @@ -39,8 +39,6 @@ CPM-STATIONDATA-ID-AND-TYPE ::= CLASS { ### CpmStationDataContainer - - Fields: * containerId [**CPM-STATIONDATA-ID-AND-TYPE**](#CPM-STATIONDATA-ID-AND-TYPE) .&id( {Set} )
* containerData [**CPM-STATIONDATA-ID-AND-TYPE**](#CPM-STATIONDATA-ID-AND-TYPE) .&Type( {Set}{@containerId} )
@@ -53,8 +51,6 @@ CpmStationDataContainer {CPM-STATIONDATA-ID-AND-TYPE : Set} ::= SEQUENCE { ### CPM-CONTAINER-ID-AND-TYPE - - ```asn1 CPM-CONTAINER-ID-AND-TYPE ::= CLASS { &id CpmContainerId UNIQUE, @@ -64,8 +60,6 @@ CPM-CONTAINER-ID-AND-TYPE ::= CLASS { ### CpmPerceptionDataContainer - - Fields: * containerId [**CPM-CONTAINER-ID-AND-TYPE**](#CPM-CONTAINER-ID-AND-TYPE) .&id( {Set} )
* containerData [**CPM-CONTAINER-ID-AND-TYPE**](#CPM-CONTAINER-ID-AND-TYPE) .&Type( {Set}{@containerId} )
@@ -78,8 +72,6 @@ CpmPerceptionDataContainer {CPM-CONTAINER-ID-AND-TYPE : Set} ::= SEQUENCE { ### CpmStationDataId - - ```asn1 CpmStationDataId ::= INTEGER (0..255) CpmContainerId ::= INTEGER (0..255) @@ -99,8 +91,6 @@ OriginatingStationData CPM-STATIONDATA-ID-AND-TYPE ::= { ### PerceptionData - - ```asn1 PerceptionData CPM-CONTAINER-ID-AND-TYPE ::= { {SensorInformationContainer IDENTIFIED BY sensorInformationCpmContainer} | @@ -110,8 +100,6 @@ PerceptionData CPM-CONTAINER-ID-AND-TYPE ::= { } ``` - ID Assignments for Information Object Classes - Assignment for Originating Station Container ```asn1 @@ -119,7 +107,6 @@ originatingStationVehicleContainer CpmStationDataId ::= 1 originatingStationRSUContainer CpmStationDataId ::= 2 ``` - Assignment for Perception Data Container ```asn1 @@ -130,15 +117,18 @@ freeSpaceAdddendumCpmContainer CpmContainerId ::= 3 ### Collective Perception Message Root - Collective Perception Message +Collective Perception Message This DF includes DEs for the CPM protocolVersion, the CP message type identifier _messageID_ and the station identifier _stationID_ of the originating ITS-S. Fields: -* The [**DE**](#DE) _protocolVersion_ is used to select the appropriate protocol decoder at the receiving
-* The [**DE**](#DE) _messageID_ shall be harmonized with other V2X message identifier definitions.
* header [**ItsPduHeader**](ITS-Container.md#ItsPduHeader)
+ + The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving + ITS-S. It shall be set to @todo cpm(15). + The DE _messageID_ shall be harmonized with other V2X message identifier definitions. + * cpm [**CollectivePerceptionMessage**](#CollectivePerceptionMessage)
```asn1 CPM ::= SEQUENCE { @@ -172,14 +162,20 @@ The sequence of mandatory and optional containers. Other containers may be added Fields: -* **The** managementContainer comprises basic information about the originating ITS-S
-* **not** specific to vehicles or RSUs.
* managementContainer [**CpmManagementContainer**](#CpmManagementContainer)
-* **The** stationDataContainer comprises ITS-S type specific information about the sending station.
+ managementContainer + The managementContainer comprises basic information about the originating ITS-S, which are + not specific to vehicles or RSUs. + * stationDataContainer [**CpmStationDataContainer**](#CpmStationDataContainer) {{OriginatingStationData}} OPTIONAL
-* **The** perceptionData comprises different container types for describing the sensory properties
-* **of** the transmitting ITS-S
+ stationDataContainer + The stationDataContainer comprises ITS-S type specific information about the sending station. + * perceptionData **SEQUENCE** SIZE(1..255) OF CpmPerceptionDataContainer {{PerceptionData}} OPTIONAL
+ perceptionData + The perceptionData comprises different container types for describing the sensory properties + of the transmitting ITS-S, its detected objects and free space estimates. + ```asn1 CpmParameters ::= SEQUENCE { managementContainer CpmManagementContainer, @@ -198,10 +194,12 @@ specific to vehicles or RSUs. Fields: * stationType [**StationType**](ITS-Container.md#StationType)
-* **The** perceived object container segment info describes the segmentation information in case
-* **the** data for CPM transmission needs to be split up into multiple messages due to
-* **message** size constraints.
* messageSegmentInfo [**MessageSegmentInfo**](CPM-CommonDataTypes-Descriptions.md#MessageSegmentInfo) OPTIONAL
+ messageSegmentInfo + The perceived object container segment info describes the segmentation information in case + the data for CPM transmission needs to be split up into multiple messages due to + message size constraints. + * referencePosition [**ReferencePosition**](ITS-Container.md#ReferencePosition)
```asn1 CpmManagementContainer ::= SEQUENCE { diff --git a/docs/CPM-PerceivedObject-Descriptions.md b/docs/CPM-PerceivedObject-Descriptions.md index 9c85a31..5e4a822 100644 --- a/docs/CPM-PerceivedObject-Descriptions.md +++ b/docs/CPM-PerceivedObject-Descriptions.md @@ -11,11 +11,13 @@ A list of perceived objects. Each object shall be described as defined in @see P Fields: -* **The** total number of detected objects by the station at the time of generating the message.
-* **Due** to the dynamic message generation rules
-* **of** objects included in this message but states the number of objects known to the sender at
-* **the** time of generating the message.
* numberOfPerceivedObjects [**NumberOfPerceivedObjects**](CPM-CommonDataTypes-Descriptions.md#NumberOfPerceivedObjects) DEFAULT 0
+ + The total number of detected objects by the station at the time of generating the message. + Due to the dynamic message generation rules, this number does not have to reflect the number + of objects included in this message but states the number of objects known to the sender at + the time of generating the message. + * perceivedObjects **SEQUENCE** SIZE(1..128, ...) OF PerceivedObject
```asn1 PerceivedObjectContainer ::= SEQUENCE { @@ -32,190 +34,255 @@ sensor or a sensor fusion system. Fields: -* **Identifier** assigned to a detected object which remains constant as long as the object is
-* **perceived** by the disseminating ITS-S. Numbers are assigned in an increasing round-robin
-* **the** identifier starts from the beginning of the range again.
* objectID [**Identifier**](CPM-CommonDataTypes-Descriptions.md#Identifier)
-* **Provides** the time difference from the message’s generation delta time to the time of the
-* **measurement** of the object.
+ + Identifier assigned to a detected object which remains constant as long as the object is + perceived by the disseminating ITS-S. Numbers are assigned in an increasing round-robin + fashion. When the last identifier in the allowed range has been used, the first counter for + the identifier starts from the beginning of the range again. + * timeOfMeasurement [**TimeOfMeasurement**](CPM-CommonDataTypes-Descriptions.md#TimeOfMeasurement)
-* **Distance** to detected object from the ITS-S's reference point in x-direction for the time
-* **of** measurement. For a vehicle
-* **as** provided by ISO 8855. For a RSU
-* **the** y-axis corresponds to the North direction
-* **axis** to the vertical direction.
+ + Provides the time difference from the message’s generation delta time to the time of the + measurement of the object. + * xDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance)
-* **Distance** to detected object from the ITS-S's reference point in y-direction for the time
-* **of** measurement. For a vehicle
-* **as** provided by ISO 8855. For a RSU
-* **the** y-axis corresponds to the North direction
-* **axis** to the vertical direction
+ + Distance to detected object from the ITS-S's reference point in x-direction for the time + of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system + as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which + the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- + axis to the vertical direction. + * yDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance)
-* **Distance** to detected object from the ITS-S's reference point in z-direction for the time
-* **of** measurement. For a vehicle
-* **as** provided by ISO 8855. For a RSU
-* **the** y-axis corresponds to the North direction
-* **axis** to the vertical direction
+ + Distance to detected object from the ITS-S's reference point in y-direction for the time + of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system + as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which + the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- + axis to the vertical direction + * zDistance [**ObjectDistance**](CPM-CommonDataTypes-Descriptions.md#ObjectDistance) OPTIONAL
-* **Speed** of the detected object in the detecting ITS-S’s reference system in x-direction for the
-* **time** of measurement (i.e. speed of the object relative to the origin of the station’s reference - system). For a vehicle
-* **ISO** 8855 originating at the ITS-station’s reference point. For a RSU
-* **a** coordinate system in which the y-axis corresponds to the North direction
-* **East** direction
+ + Distance to detected object from the ITS-S's reference point in z-direction for the time + of measurement. For a vehicle, the distance is reported in a body-fixed coordinate system + as provided by ISO 8855. For a RSU, the distance is reported in a coordinate system in which + the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- + axis to the vertical direction + * xSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended)
-* **Speed** of the detected object in the detecting ITS-S’s reference system in y-direction for the
-* **time** of measurement (i.e. speed of the object relative to the origin of the station’s reference - system). For a vehicle
-* **ISO** 8855 originating at the ITS-station’s reference point. For a RSU
-* **a** coordinate system in which the y-axis corresponds to the North direction
-* **East** direction
+ + Speed of the detected object in the detecting ITS-S’s reference system in x-direction for the + time of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by + ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in + a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the + East direction, and the z-axis to the vertical direction. + * ySpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended)
-* **Speed** of the detected object in the detecting ITS-S’s reference system in z-direction for the
-* **time** of measurement (i.e. speed of the object relative to the origin of the station’s reference - system). For a vehicle
-* **ISO** 8855 originating at the ITS-station’s reference point. For a RSU
-* **a** coordinate system in which the y-axis corresponds to the North direction
-* **East** direction
+ + Speed of the detected object in the detecting ITS-S’s reference system in y-direction for the + time of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by + ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in + a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the + East direction, and the z-axis to the vertical direction. + * zSpeed [**SpeedExtended**](CPM-CommonDataTypes-Descriptions.md#SpeedExtended) OPTIONAL
-* **Acceleration** of the detected object from the ITS-S's reference point in x-direction
-* **for** the time of measurement. For a vehicle
-* **coordinate** system as provided by ISO 8855 originating at the ITS-station’s reference point.
-* **For** a RSU
-* **to** the North direction
+ + Speed of the detected object in the detecting ITS-S’s reference system in z-direction for the + time of measurement (i.e. speed of the object relative to the origin of the station’s reference + system). For a vehicle, the speed is reported in a body-fixed coordinate system as provided by + ISO 8855 originating at the ITS-station’s reference point. For a RSU, the speed is reported in + a coordinate system in which the y-axis corresponds to the North direction, the x-axis to the + East direction, and the z-axis to the vertical direction. + * xAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
-* **Acceleration** of the detected object from the ITS-S's reference point in y-direction
-* **for** the time of measurement. For a vehicle
-* **coordinate** system as provided by ISO 8855 originating at the ITS-station’s reference point.
-* **For** a RSU
-* **to** the North direction
+ + Acceleration of the detected object from the ITS-S's reference point in x-direction + for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed + coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. + For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds + to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. + * yAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
-* **Acceleration** of the detected object from the ITS-S's reference point in z-direction
-* **for** the time of measurement. For a vehicle
-* **coordinate** system as provided by ISO 8855 originating at the ITS-station’s reference point.
-* **For** a RSU
-* **to** the North direction
+ + Acceleration of the detected object from the ITS-S's reference point in y-direction + for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed + coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. + For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds + to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. + * zAcceleration [**Acceleration**](CPM-CommonDataTypes-Descriptions.md#Acceleration) OPTIONAL
-* **Roll** angle of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angle is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the x-axis.
+ + Acceleration of the detected object from the ITS-S's reference point in z-direction + for the time of measurement. For a vehicle, the acceleration is reported in a body-fixed + coordinate system as provided by ISO 8855 originating at the ITS-station’s reference point. + For a RSU, the acceleration is reported in a coordinate system in which the y-axis corresponds + to the North direction, the x-axis to the East direction, and the z-axis to the vertical direction. + * rollAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
-* **Pitch** angle of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angle is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the y-axis.
+ + Roll angle of object from the ITS-S's reference point. For a vehicle, the angle is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angle is measured with positive values considering the object orientation turning + counter-clockwise around the x-axis. + * pitchAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
-* **Yaw** angle of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angle is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the z-axis.
+ + Pitch angle of object from the ITS-S's reference point. For a vehicle, the angle is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angle is measured with positive values considering the object orientation turning + counter-clockwise around the y-axis. + * yawAngle [**CartesianAngle**](CPM-CommonDataTypes-Descriptions.md#CartesianAngle) OPTIONAL
-* **Roll** rate of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angular rate is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the x-axis.
+ + Yaw angle of object from the ITS-S's reference point. For a vehicle, the angle is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angle is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angle is measured with positive values considering the object orientation turning + counter-clockwise around the z-axis. + * rollRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
-* **Pitch** rate of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angular rate is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the y-axis.
+ + Roll rate of object from the ITS-S's reference point. For a vehicle, the angular rate is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular rate is measured with positive values considering the object orientation turning + counter-clockwise around the x-axis. + * pitchRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
-* **Yaw** rate of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angular rate is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the z-axis.
+ + Pitch rate of object from the ITS-S's reference point. For a vehicle, the angular rate is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular rate is measured with positive values considering the object orientation turning + counter-clockwise around the y-axis. + * yawRate [**CartesianAngularSpeed**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularSpeed) OPTIONAL
-* **Roll** acceleration of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angular acceleration is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the x-axis.
+ + Yaw rate of object from the ITS-S's reference point. For a vehicle, the angular rate is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular rate is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular rate is measured with positive values considering the object orientation turning + counter-clockwise around the z-axis. + * rollAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
-* **Pitch** acceleration of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angular acceleration is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the y-axis.
+ + Roll acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular acceleration is measured with positive values considering the object orientation turning + counter-clockwise around the x-axis. + * pitchAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
-* **Yaw** acceleration of object from the ITS-S's reference point. For a vehicle
-* **reported** in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s
-* **reference** point. For a RSU
-* **corresponds** to the North direction
-* **The** angular acceleration is measured with positive values considering the object orientation turning
-* **counter-clockwise** around the z-axis.
+ + Pitch acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular acceleration is measured with positive values considering the object orientation turning + counter-clockwise around the y-axis. + * yawAcceleration [**CartesianAngularAcceleration**](CPM-CommonDataTypes-Descriptions.md#CartesianAngularAcceleration) OPTIONAL
-* **Provides** the columns of a lower triangular positive semi definite correlation matrix for the
-* **kinematic** state and attitude space provided for this object.
-* **The** order of the columns and rows of the correlation matrix is as follows:
-* **-** xDistance
-* **-** yDistance
-* **-** zDistance
-* **-** xSpeed
-* **-** ySpeed
-* **-** zSpeed
-* **-** xAcceleration
-* **-** yAcceleration
-* **-** zAcceleration
-* **-** rollAngle
-* **-** pitchAngle
-* **-** yawAngle
-* **-** rollRate
-* **-** pitchRate
-* **-** yawRate
-* **-** rollAcceleration
-* **-** pitchAcceleration
-* **-** yawAcceleration
-* **The** number of lowerTriangularCorrelationMatrixColumns to be included "k" is thereby the number of provided
-* **values** "n" of the kinematic state and attitude space 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 space are not provided
-* **the** lowerTriangularCorrelationMatrixColumns.
+ + Yaw acceleration of object from the ITS-S's reference point. For a vehicle, the angular acceleration is + reported in a body-fixed coordinate system as provided by ISO 8855 originating at the ITS-station’s + reference point. For a RSU, the angular acceleration is reported in a coordinate system in which the y-axis + corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction. + The angular acceleration is measured with positive values considering the object orientation turning + counter-clockwise around the z-axis. + * lowerTriangularCorrelationMatrixColumns [**LowerTriangularPositiveSemidefiniteMatrix**](CPM-CommonDataTypes-Descriptions.md#LowerTriangularPositiveSemidefiniteMatrix) 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.
+ + Provides the columns of a lower triangular positive semi definite correlation matrix for the + kinematic state and attitude space provided for this object. + The order of the columns and rows of the correlation matrix is as follows: + - xDistance + - yDistance + - zDistance + - xSpeed + - ySpeed + - zSpeed + - xAcceleration + - yAcceleration + - zAcceleration + - rollAngle + - pitchAngle + - yawAngle + - rollRate + - pitchRate + - yawRate + - rollAcceleration + - pitchAcceleration + - yawAcceleration + The number of lowerTriangularCorrelationMatrixColumns to be included "k" is thereby the number of provided + values "n" of the kinematic state and attitude space 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 space are not provided, they are omitted from + the lowerTriangularCorrelationMatrixColumns. + * planarObjectDimension1 [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) 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.
+ + 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. + * planarObjectDimension2 [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) OPTIONAL
-* **Vertical** dimension of object as provided by the sensor or object model.
+ + 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. + * verticalObjectDimension [**ObjectDimension**](CPM-CommonDataTypes-Descriptions.md#ObjectDimension) OPTIONAL
-* **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
+ + Vertical dimension of object as provided by the sensor or object model. + * objectRefPoint [**ObjectRefPoint**](CPM-CommonDataTypes-Descriptions.md#ObjectRefPoint) DEFAULT 0
-* **Provides** the age of the detected and described object.
+ + 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. + * objectAge [**ObjectAge**](CPM-CommonDataTypes-Descriptions.md#ObjectAge)
-* **The** confidence associated to the object. The computation of the object confidence is based on a sensor's or
-* **fusion** system's specific detection confidence
-* **has** been successfully detected by the last measurement and the object age.
+ + Provides the age of the detected and described object. + * objectConfidence [**ObjectConfidence**](CPM-CommonDataTypes-Descriptions.md#ObjectConfidence) OPTIONAL
-* **List** of sensor-IDs which provided the measurement data. Refers to the sensorID in the
-* **If** the @see SensorInformationContainer is never provided by the disseminating ITS-S
-* **populated** with random numbers
+ + The 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. + * sensorIDList [**SensorIdList**](CPM-CommonDataTypes-Descriptions.md#SensorIdList) OPTIONAL
-* **Indicated** the dynamic capabilities of a detected object.
+ + List of sensor-IDs which provided the measurement data. Refers to the sensorID in the + @see SensorInformationContainer. + If the @see SensorInformationContainer is never provided by the disseminating ITS-S, the list shall be + populated with random numbers, where each number is assigned to a sensor of the transmitting station. + * dynamicStatus [**DynamicStatus**](CPM-CommonDataTypes-Descriptions.md#DynamicStatus) OPTIONAL
-* **Provides** the classification of the described object. Multi-dimensional classification may be
+ + Indicated the dynamic capabilities of a detected object. + * classification [**ObjectClassDescription**](CPM-CommonDataTypes-Descriptions.md#ObjectClassDescription) OPTIONAL
-* **The** optional map-matched position of an object. This requires that a MAP-message is provided.
+ + Provides the classification of the described object. Multi-dimensional classification may be + provided. + * matchedPosition [**MatchedPosition**](CPM-CommonDataTypes-Descriptions.md#MatchedPosition) OPTIONAL
+ + The optional map-matched position of an object. This requires that a MAP-message is provided. + ```asn1 PerceivedObject ::= SEQUENCE { objectID Identifier, diff --git a/docs/CPM-SensorInformation-Descriptions.md b/docs/CPM-SensorInformation-Descriptions.md index f27fc49..5e0cf8b 100644 --- a/docs/CPM-SensorInformation-Descriptions.md +++ b/docs/CPM-SensorInformation-Descriptions.md @@ -17,18 +17,20 @@ SensorInformationContainer ::= SEQUENCE SIZE(1..128, ...) OF SensorInformation ### SensorInformation - - Fields: -* **Sensor** pseudonym ID used to relate which measurement has been received by which sensor.
-* This [**ID**](#ID) is referred to in the @see PerceivedObject.
* sensorID [**Identifier**](CPM-CommonDataTypes-Descriptions.md#Identifier)
+ + Sensor pseudonym ID used to relate which measurement has been received by which sensor. + This ID is referred to in the @see PerceivedObject. + * type [**SensorType**](CPM-CommonDataTypes-Descriptions.md#SensorType)
* detectionArea [**DetectionArea**](#DetectionArea)
-* **Describes** the isotropic free space confidence that can be assumed for the entire detection
-* **area** of this sensor. Shadowed areas can be derived from provided objects. Deviations from
-* **this** free space derivation can be expressed in the @see FreeSpaceAddendumContainer.
* freeSpaceConfidence [**FreeSpaceConfidence**](CPM-CommonDataTypes-Descriptions.md#FreeSpaceConfidence) OPTIONAL
+ + Describes the isotropic free space confidence that can be assumed for the entire detection + area of this sensor. Shadowed areas can be derived from provided objects. Deviations from + this free space derivation can be expressed in the @see FreeSpaceAddendumContainer. + ```asn1 SensorInformation ::= SEQUENCE { sensorID Identifier, @@ -45,22 +47,36 @@ Choice of DFs to detail the sensor information. Fields: -* **The** _vehicleSensor_ shall be used for describing non-stationary sensors attached to vehicles.
* vehicleSensor [**VehicleSensor**](#VehicleSensor)
-* **The** _stationarySensorRadial_ can be used to provide details for describing sensors mounted to
-* **road-side** units
+ + The _vehicleSensor_ shall be used for describing non-stationary sensors attached to vehicles. + * stationarySensorRadial [**AreaRadial**](CPM-CommonDataTypes-Descriptions.md#AreaRadial)
-* **The** _stationarySensorPolygon_ can be used to describe a polygonal detection area associated
-* **to** a single sensor or to describe the union of multiple polygonal areas expressed as one
-* **combined** polygon.
+ + The _stationarySensorRadial_ can be used to provide details for describing sensors mounted to + road-side units + * stationarySensorPolygon [**AreaPolygon**](CPM-CommonDataTypes-Descriptions.md#AreaPolygon)
-* **The** _stationarySensorCircular_ describes a circular perception area for a stationary sensor.
-* **The** position offset refers to the center point of the circular area.
+ + The _stationarySensorPolygon_ can be used to describe a polygonal detection area associated + to a single sensor or to describe the union of multiple polygonal areas expressed as one + combined polygon. + * stationarySensorCircular [**AreaCircular**](CPM-CommonDataTypes-Descriptions.md#AreaCircular)
-* **The** _stationarySensorEllipse_ describes an ellipse-shaped perception area for a stationary
+ + The _stationarySensorCircular_ describes a circular perception area for a stationary sensor. + The position offset refers to the center point of the circular area. + * stationarySensorEllipse [**AreaEllipse**](CPM-CommonDataTypes-Descriptions.md#AreaEllipse)
-* **The** _stationarySensorRectangle_ describes a rectangle as a perception area for a stationary
+ + The _stationarySensorEllipse_ describes an ellipse-shaped perception area for a stationary + sensor.The position offset refers to the center point of the ellipse. + * stationarySensorRectangle [**AreaRectangle**](CPM-CommonDataTypes-Descriptions.md#AreaRectangle)
+ + The _stationarySensorRectangle_ describes a rectangle as a perception area for a stationary + sensor. The position offset refers to the center point of the rectangle. + ```asn1 DetectionArea ::= CHOICE { vehicleSensor VehicleSensor, @@ -79,18 +95,28 @@ Describes the perception capabilities of mobile sensors mounted to vehicles. Fields: -* **An** identification of the reference point in case of a sensor mounted to trailer.
-* **Defaults** to ITS ReferencePoint (0).
* refPointId [**RefPointId**](CPM-CommonDataTypes-Descriptions.md#RefPointId) DEFAULT 0
-* **Mounting** position of sensor in negative x-direction from Reference Point indicated by the @see refPointId.
+ + An identification of the reference point in case of a sensor mounted to trailer. + Defaults to ITS ReferencePoint (0). + * xSensorOffset [**XSensorOffset**](CPM-CommonDataTypes-Descriptions.md#XSensorOffset)
-* **Mounting** position of sensor in y-direction from Reference Point indicated by the @see refPointId.
+ + Mounting position of sensor in negative x-direction from Reference Point indicated by the @see refPointId. + * ySensorOffset [**YSensorOffset**](CPM-CommonDataTypes-Descriptions.md#YSensorOffset)
-* **Mounting** position of sensor in z-direction from Reference Point indicated by the @see refPointId.
+ + Mounting position of sensor in y-direction from Reference Point indicated by the @see refPointId. + * zSensorOffset [**ZSensorOffset**](CPM-CommonDataTypes-Descriptions.md#ZSensorOffset) OPTIONAL
-* **The** actual extension of the area covered by the specific vehicle sensor. In case of multiple
-* **perception** areas for a sensor
+ + Mounting position of sensor in z-direction from Reference Point indicated by the @see refPointId. + * vehicleSensorPropertyList [**VehicleSensorPropertyList**](#VehicleSensorPropertyList)
+ + The actual extension of the area covered by the specific vehicle sensor. In case of multiple + perception areas for a sensor, a list of areas covered by this sensor can be added. + ```asn1 VehicleSensor ::= SEQUENCE { refPointId RefPointId DEFAULT 0, diff --git a/docs/ITS-Container.md b/docs/ITS-Container.md index f7a7f2f..ec361cf 100644 --- a/docs/ITS-Container.md +++ b/docs/ITS-Container.md @@ -14,16 +14,12 @@ ItsPduHeader ::= SEQUENCE { ### StationID - - ```asn1 StationID ::= INTEGER(0..4294967295) ``` ### ReferencePosition - - Fields: * latitude [**Latitude**](ITS-Container.md#Latitude)
* longitude [**Longitude**](ITS-Container.md#Longitude)
@@ -40,8 +36,6 @@ ReferencePosition ::= SEQUENCE { ### DeltaReferencePosition - - Fields: * deltaLatitude [**DeltaLatitude**](#DeltaLatitude)
* deltaLongitude [**DeltaLongitude**](#DeltaLongitude)
@@ -56,8 +50,6 @@ DeltaReferencePosition ::= SEQUENCE { ### Longitude - - Values: * **oneMicrodegreeEast** (10)
```asn1 @@ -66,8 +58,6 @@ Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavai ### Latitude - - Values: * **oneMicrodegreeNorth** (10)
```asn1 @@ -76,8 +66,6 @@ Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unava ### Altitude - - Fields: * altitudeValue [**AltitudeValue**](#AltitudeValue)
* altitudeConfidence [**AltitudeConfidence**](#AltitudeConfidence)
@@ -90,16 +78,12 @@ Altitude ::= SEQUENCE { ### AltitudeValue - - ```asn1 AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001) ``` ### AltitudeConfidence - - Values: * **alt-000-01** (0)
* **alt-000-02** (1)
@@ -140,8 +124,6 @@ AltitudeConfidence ::= ENUMERATED { ### DeltaLongitude - - Values: * **oneMicrodegreeEast** (10)
```asn1 @@ -150,8 +132,6 @@ DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), u ### DeltaLatitude - - Values: * **oneMicrodegreeNorth** (10)
```asn1 @@ -160,8 +140,6 @@ DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , ### DeltaAltitude - - Values: * **oneCentimeterUp** (1)
```asn1 @@ -170,8 +148,6 @@ DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavaila ### PosConfidenceEllipse - - Fields: * semiMajorConfidence [**SemiAxisLength**](#SemiAxisLength)
* semiMinorConfidence [**SemiAxisLength**](#SemiAxisLength)
@@ -186,8 +162,6 @@ PosConfidenceEllipse ::= SEQUENCE { ### PathPoint - - Fields: * pathPosition [**DeltaReferencePosition**](#DeltaReferencePosition)
* pathDeltaTime [**PathDeltaTime**](#PathDeltaTime) OPTIONAL
@@ -200,16 +174,12 @@ PathPoint ::= SEQUENCE { ### PathDeltaTime - - ```asn1 PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...) ``` ### PtActivation - - Fields: * ptActivationType [**PtActivationType**](#PtActivationType)
* ptActivationData [**PtActivationData**](#PtActivationData)
@@ -222,24 +192,18 @@ PtActivation ::= SEQUENCE { ### PtActivationType - - ```asn1 PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255) ``` ### PtActivationData - - ```asn1 PtActivationData ::= OCTET STRING (SIZE(1..20)) ``` ### AccelerationControl - - Values: * **brakePedalEngaged** (0)
* **gasPedalEngaged** (1)
@@ -262,16 +226,12 @@ AccelerationControl ::= BIT STRING { ### SemiAxisLength - - ```asn1 SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095) ``` ### CauseCode - - Fields: * causeCode [**CauseCodeType**](#CauseCodeType)
* subCauseCode [**SubCauseCodeType**](#SubCauseCodeType)
@@ -285,8 +245,6 @@ CauseCode ::= SEQUENCE { ### CauseCodeType - - Values: * **reserved** (0)
* **trafficCondition** (1)
@@ -349,208 +307,156 @@ CauseCodeType ::= INTEGER { ### SubCauseCodeType - - ```asn1 SubCauseCodeType ::= INTEGER (0..255) ``` ### TrafficConditionSubCauseCode - - ```asn1 TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255) ``` ### AccidentSubCauseCode - - ```asn1 AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255) ``` ### RoadworksSubCauseCode - - ```asn1 RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255) ``` ### HumanPresenceOnTheRoadSubCauseCode - - ```asn1 HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255) ``` ### WrongWayDrivingSubCauseCode - - ```asn1 WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255) ``` ### AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode - - ```asn1 AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255) ``` ### AdverseWeatherCondition-AdhesionSubCauseCode - - ```asn1 AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255) ``` ### AdverseWeatherCondition-VisibilitySubCauseCode - - ```asn1 AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255) ``` ### AdverseWeatherCondition-PrecipitationSubCauseCode - - ```asn1 AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255) ``` ### SlowVehicleSubCauseCode - - ```asn1 SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255) ``` ### StationaryVehicleSubCauseCode - - ```asn1 StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255) ``` ### HumanProblemSubCauseCode - - ```asn1 HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255) ``` ### EmergencyVehicleApproachingSubCauseCode - - ```asn1 EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255) ``` ### HazardousLocation-DangerousCurveSubCauseCode - - ```asn1 HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255) ``` ### HazardousLocation-SurfaceConditionSubCauseCode - - ```asn1 HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255) ``` ### HazardousLocation-ObstacleOnTheRoadSubCauseCode - - ```asn1 HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255) ``` ### HazardousLocation-AnimalOnTheRoadSubCauseCode - - ```asn1 HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255) ``` ### CollisionRiskSubCauseCode - - ```asn1 CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255) ``` ### SignalViolationSubCauseCode - - ```asn1 SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255) ``` ### RescueAndRecoveryWorkInProgressSubCauseCode - - ```asn1 RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255) ``` ### DangerousEndOfQueueSubCauseCode - - ```asn1 DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255) ``` ### DangerousSituationSubCauseCode - - ```asn1 DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255) ``` ### VehicleBreakdownSubCauseCode - - ```asn1 VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8), tyrePressureProblem(9)} (0..255) ``` ### PostCrashSubCauseCode - - ```asn1 PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255) ``` ### Curvature - - Fields: * curvatureValue [**CurvatureValue**](#CurvatureValue)
* curvatureConfidence [**CurvatureConfidence**](#CurvatureConfidence)
@@ -563,16 +469,12 @@ Curvature ::= SEQUENCE { ### CurvatureValue - - ```asn1 CurvatureValue ::= INTEGER {straight(0), unavailable(1023)} (-1023..1023) ``` ### CurvatureConfidence - - Values: * **onePerMeter-0-00002** (0)
* **onePerMeter-0-0001** (1)
@@ -597,16 +499,12 @@ CurvatureConfidence ::= ENUMERATED { ### CurvatureCalculationMode - - ```asn1 CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...} ``` ### Heading - - Fields: * headingValue [**HeadingValue**](#HeadingValue)
* headingConfidence [**HeadingConfidence**](#HeadingConfidence)
@@ -619,16 +517,12 @@ Heading ::= SEQUENCE { ### HeadingValue - - ```asn1 HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601) ``` ### HeadingConfidence - - Values: * **equalOrWithinZeroPointOneDegree** (1)
```asn1 @@ -637,8 +531,6 @@ HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithi ### LanePosition - - ```asn1 LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0), outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) @@ -646,8 +538,6 @@ outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) ### ClosedLanes - - Fields: * innerhardShoulderStatus [**HardShoulderStatus**](#HardShoulderStatus) OPTIONAL
* outerhardShoulderStatus [**HardShoulderStatus**](#HardShoulderStatus) OPTIONAL
@@ -663,56 +553,42 @@ ClosedLanes ::= SEQUENCE { ### HardShoulderStatus - - ```asn1 HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)} ``` ### DrivingLaneStatus - - ```asn1 DrivingLaneStatus ::= BIT STRING (SIZE (1..13)) ``` ### PerformanceClass - - ```asn1 PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7) ``` ### SpeedValue - - ```asn1 SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383) ``` ### SpeedConfidence - - ```asn1 SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127) ``` ### VehicleMass - - ```asn1 VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) ``` ### Speed - - Fields: * speedValue [**SpeedValue**](#SpeedValue)
* speedConfidence [**SpeedConfidence**](ITS-Container.md#SpeedConfidence)
@@ -725,8 +601,6 @@ Speed ::= SEQUENCE { ### DriveDirection - - Values: * **forward** (0)
```asn1 @@ -735,16 +609,12 @@ DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)} ### EmbarkationStatus - - ```asn1 EmbarkationStatus ::= BOOLEAN ``` ### LongitudinalAcceleration - - Fields: * longitudinalAccelerationValue [**LongitudinalAccelerationValue**](#LongitudinalAccelerationValue)
* longitudinalAccelerationConfidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
@@ -757,24 +627,18 @@ LongitudinalAcceleration ::= SEQUENCE { ### LongitudinalAccelerationValue - - ```asn1 LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161) ``` ### AccelerationConfidence - - ```asn1 AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102) ``` ### LateralAcceleration - - Fields: * lateralAccelerationValue [**LateralAccelerationValue**](#LateralAccelerationValue)
* lateralAccelerationConfidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
@@ -787,16 +651,12 @@ LateralAcceleration ::= SEQUENCE { ### LateralAccelerationValue - - ```asn1 LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161) ``` ### VerticalAcceleration - - Fields: * verticalAccelerationValue [**VerticalAccelerationValue**](#VerticalAccelerationValue)
* verticalAccelerationConfidence [**AccelerationConfidence**](ITS-Container.md#AccelerationConfidence)
@@ -809,16 +669,12 @@ VerticalAcceleration ::= SEQUENCE { ### VerticalAccelerationValue - - ```asn1 VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161) ``` ### StationType - - ```asn1 StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255) @@ -826,8 +682,6 @@ lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSid ### ExteriorLights - - Values: * **lowBeamHeadlightsOn** (0)
* **highBeamHeadlightsOn** (1)
@@ -852,8 +706,6 @@ ExteriorLights ::= BIT STRING { ### DangerousGoodsBasic - - ```asn1 DangerousGoodsBasic::= ENUMERATED { explosives1(0), @@ -881,8 +733,6 @@ DangerousGoodsBasic::= ENUMERATED { ### DangerousGoodsExtended - - Fields: * dangerousGoodsType [**DangerousGoodsBasic**](ITS-Container.md#DangerousGoodsBasic)
* unNumber **INTEGER** (0..9999)
@@ -908,16 +758,12 @@ DangerousGoodsExtended ::= SEQUENCE { ### SpecialTransportType - - ```asn1 SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4)) ``` ### LightBarSirenInUse - - Values: * **lightBarActivated** (0)
* **sirenActivated** (1)
@@ -930,64 +776,48 @@ LightBarSirenInUse ::= BIT STRING { ### HeightLonCarr - - ```asn1 HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) ``` ### PosLonCarr - - ```asn1 PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) ``` ### PosPillar - - ```asn1 PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) ``` ### PosCentMass - - ```asn1 PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) ``` ### RequestResponseIndication - - ```asn1 RequestResponseIndication ::= ENUMERATED {request(0), response(1)} ``` ### SpeedLimit - - ```asn1 SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) ``` ### StationarySince - - ```asn1 StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)} ``` ### Temperature - - Values: * **equalOrSmallerThanMinus60Deg** (-60)
```asn1 @@ -996,8 +826,6 @@ Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1) ### TrafficRule - - ```asn1 TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... } @@ -1005,32 +833,24 @@ TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), ### WheelBaseVehicle - - ```asn1 WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) ``` ### TurningRadius - - ```asn1 TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) ``` ### PosFrontAx - - ```asn1 PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) ``` ### PositionOfOccupants - - Values: * **row1LeftOccupied** (0)
* **row1RightOccupied** (1)
@@ -1078,16 +898,12 @@ PositionOfOccupants ::= BIT STRING { ### PositioningSolutionType - - ```asn1 PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...} ``` ### VehicleIdentification - - Fields: * wMInumber [**WMInumber**](#WMInumber) OPTIONAL
* vDS [**VDS**](#VDS) OPTIONAL
@@ -1101,32 +917,24 @@ VehicleIdentification ::= SEQUENCE { ### WMInumber - - ```asn1 WMInumber ::= IA5String (SIZE(1..3)) ``` ### VDS - - ```asn1 VDS ::= IA5String (SIZE(6)) ``` ### EnergyStorageType - - ```asn1 EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7)) ``` ### VehicleLength - - Fields: * vehicleLengthValue [**VehicleLengthValue**](#VehicleLengthValue)
* vehicleLengthConfidenceIndication [**VehicleLengthConfidenceIndication**](#VehicleLengthConfidenceIndication)
@@ -1139,56 +947,42 @@ VehicleLength ::= SEQUENCE { ### VehicleLengthValue - - ```asn1 VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023) ``` ### VehicleLengthConfidenceIndication - - ```asn1 VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)} ``` ### VehicleWidth - - ```asn1 VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62) ``` ### PathHistory - - ```asn1 PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint ``` ### EmergencyPriority - - ```asn1 EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2)) ``` ### InformationQuality - - ```asn1 InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) ``` ### RoadType - - ```asn1 RoadType ::= ENUMERATED { urban-NoStructuralSeparationToOppositeLanes(0), @@ -1199,8 +993,6 @@ RoadType ::= ENUMERATED { ### SteeringWheelAngle - - Fields: * steeringWheelAngleValue [**SteeringWheelAngleValue**](#SteeringWheelAngleValue)
* steeringWheelAngleConfidence [**SteeringWheelAngleConfidence**](#SteeringWheelAngleConfidence)
@@ -1213,16 +1005,12 @@ SteeringWheelAngle ::= SEQUENCE { ### SteeringWheelAngleValue - - ```asn1 SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512) ``` ### SteeringWheelAngleConfidence - - Values: * **equalOrWithinOnePointFiveDegree** (1)
```asn1 @@ -1231,24 +1019,18 @@ SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), o ### TimestampIts - - ```asn1 TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103) ``` ### VehicleRole - - ```asn1 VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8), commercial(9), military(10), roadOperator(11), taxi(12), reserved1(13), reserved2(14), reserved3(15)} ``` ### YawRate - - Fields: * yawRateValue [**YawRateValue**](#YawRateValue)
* yawRateConfidence [**YawRateConfidence**](#YawRateConfidence)
@@ -1261,16 +1043,12 @@ YawRate::= SEQUENCE { ### YawRateValue - - ```asn1 YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767) ``` ### YawRateConfidence - - Values: * **degSec-000-01** (0)
* **degSec-000-05** (1)
@@ -1297,8 +1075,6 @@ YawRateConfidence ::= ENUMERATED { ### ProtectedZoneType - - Values: * **permanentCenDsrcTolling** (0)
```asn1 @@ -1307,40 +1083,30 @@ ProtectedZoneType::= ENUMERATED { permanentCenDsrcTolling (0), ..., temporaryCen ### RelevanceDistance - - ```asn1 RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)} ``` ### RelevanceTrafficDirection - - ```asn1 RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)} ``` ### TransmissionInterval - - ```asn1 TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000) ``` ### ValidityDuration - - ```asn1 ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400) ``` ### ActionID - - Fields: * originatingStationID [**StationID**](#StationID)
* sequenceNumber [**SequenceNumber**](#SequenceNumber)
@@ -1353,16 +1119,12 @@ ActionID ::= SEQUENCE { ### ItineraryPath - - ```asn1 ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition ``` ### ProtectedCommunicationZone - - Fields: * protectedZoneType [**ProtectedZoneType**](#ProtectedZoneType)
* expiryTime [**TimestampIts**](#TimestampIts) OPTIONAL
@@ -1384,16 +1146,12 @@ ProtectedCommunicationZone ::= SEQUENCE { ### Traces - - ```asn1 Traces ::= SEQUENCE SIZE(1..7) OF PathHistory ``` ### NumberOfOccupants - - Values: * **oneOccupant** (1)
```asn1 @@ -1402,40 +1160,30 @@ NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127) ### SequenceNumber - - ```asn1 SequenceNumber ::= INTEGER (0..65535) ``` ### PositionOfPillars - - ```asn1 PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar ``` ### RestrictedTypes - - ```asn1 RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType ``` ### EventHistory - - ```asn1 EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint ``` ### EventPoint - - Fields: * eventPosition [**DeltaReferencePosition**](#DeltaReferencePosition)
* eventDeltaTime [**PathDeltaTime**](#PathDeltaTime) OPTIONAL
@@ -1450,16 +1198,12 @@ EventPoint ::= SEQUENCE { ### ProtectedCommunicationZonesRSU - - ```asn1 ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone ``` ### CenDsrcTollingZone - - Fields: * protectedZoneLatitude [**Latitude**](ITS-Container.md#Latitude)
* protectedZoneLongitude [**Longitude**](ITS-Container.md#Longitude)
@@ -1475,48 +1219,36 @@ CenDsrcTollingZone ::= SEQUENCE { ### ProtectedZoneRadius - - ```asn1 ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...) ``` ### ProtectedZoneID - - ```asn1 ProtectedZoneID ::= INTEGER (0.. 134217727) ``` ### CenDsrcTollingZoneID - - ```asn1 CenDsrcTollingZoneID ::= ProtectedZoneID ``` ### DigitalMap - - ```asn1 DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition ``` ### OpeningDaysHours - - ```asn1 OpeningDaysHours ::= UTF8String ``` ### PhoneNumber - - ```asn1 PhoneNumber ::= NumericString (SIZE(1..16)) ``` -- GitLab