Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CPM (TS102894-2v211) to Vanetza #209

Closed
wants to merge 15 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
build
.vscode/
build/
build.asn1/
conanfile.pyc
doxygen/html/
www/
www/
8 changes: 8 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,14 @@ if (VANETZA_WITH_OPENSSL)
include(CompatOpenSSLTargets)
endif()

# ASN.1 select ITS version
option(VANETZA_ASN1_WITH_ITS2 "ENABLE ITS2 ASN.1 support" OFF)
if(VANETZA_ASN1_WITH_ITS2)
set(VANETZA_USE_ITS2 1)
else()
set(VANETZA_USE_ITS2 0)
endif()

add_subdirectory(vanetza/access)
add_subdirectory(vanetza/asn1)
add_subdirectory(vanetza/btp)
Expand Down
7,260 changes: 7,260 additions & 0 deletions asn1/TS102894-2v221-CDD.asn

Large diffs are not rendered by default.

54 changes: 54 additions & 0 deletions asn1/TS103324v211-CPM-OriginatingStationContainers.asn
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

CartesianAngle, MapReference, Speed, StationType, TrailerData, Wgs84Angle
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)}
;

/**
* This DF represents the Originating Vehicle Container
*
* It shall include the following components:
*
* @field orientationAngle: the angle and angle accuracy of the absolute orientation of the disseminating vehicle in the WGS84 coordinate system with respect to true North.
*
* @field pitchAngle: the optional angle and angle accuracy between the ground plane and the current orientation of the vehicle's x-axis with respect to the ground plane about the y-axis according to the ISO 8855.
*
* @field rollAngle: the optional 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
*
* @field trailerData: information about the trailer dimensions and orientation in case a trailer is present.
*
*/
OriginatingVehicleContainer ::= SEQUENCE {
orientationAngle Wgs84Angle,
pitchAngle CartesianAngle OPTIONAL,
rollAngle CartesianAngle OPTIONAL,
trailerDataSet TrailerDataSet OPTIONAL,
...
}

/**
* This DF represents the Originating RSU Container.
*
* It shall include the following components:
*
* @field mapReference: identifies the MAPEM containing the topology information reference in the Perceived Object Container
*
*/
OriginatingRsuContainer ::= SEQUENCE{
mapReference MapReference OPTIONAL,
...
}

/**
* This DF represents a list of trailer data.
*
*/
TrailerDataSet::= SEQUENCE SIZE(1..8,...) OF TrailerData (WITH COMPONENTS {... ,frontOverhang ABSENT, rearOverhang ABSENT, trailerWidth ABSENT})

END
34 changes: 34 additions & 0 deletions asn1/TS103324v211-CPM-PerceivedObjectContainer.asn
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

CardinalNumber1B, PerceivedObject
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)}
;

/**
* This DF represents the Perceived Object Container
*
* It shall include the following components:
*
* @field numberOfPerceivedObjects: the total number of perceived objects at the time of generating the message.
*
* @field perceivedObjects: the list of perceived objects.
*
*/
PerceivedObjectContainer ::= SEQUENCE {
numberOfPerceivedObjects CardinalNumber1B,
perceivedObjects PerceivedObjects,
...
}

/** @brief Perceived Objects
* This DF provides a list of perceived objects represented in the 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.
*/
PerceivedObjects::= SEQUENCE SIZE(0..255, ...) OF PerceivedObject (WITH COMPONENTS {... ,objectId PRESENT})

END
54 changes: 54 additions & 0 deletions asn1/TS103324v211-CPM-PerceptionRegionContainer.asn
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

CardinalNumber1B, DeltaTimeMilliSecondSigned, Identifier2B, Shape, ConfidenceLevel, SensorType, SequenceOfIdentifier1B
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)}
;

/**
* This DF represents the Perception Region Container as a list of perception region information objects.
*/
PerceptionRegionContainer ::= SEQUENCE SIZE(1..256, ...) OF PerceptionRegion

/**
* This DF represents the actual perception capabilities available to the transmitting ITS-S, offering additional (often dynamic) details to the information provided in the sensor information container.
*
* It shall include the following components:

* @field measurementDeltaTime: difference between the time of estimation of the perception region and the reference time. Positive values indicates that the provided information refers to a point in time after the reference time.
*
* @field perceptionRegionConfidence: the perception confidence.
*
* @field perceptionRegionShape: specification of the shape of the perception region.
*
* @field shadowingApplies: indicates if the standard shadowing approach applies to the described perception region.
*
* @field sensorIdList: the optional list of identifiers of the sensors which are involved in perceiving the region.
*
* @field numberOfPerceivedObjects: the optional number of perceived objects contained in the perception region specified in the component perceptionRegionShape.
*
* @field perceivedObjectIds: the optional list of identifiers of the objects specified in the Perceived Object Container that are contained in the perception region specified in the component perceptionRegionShape.
*
*/
PerceptionRegion ::= SEQUENCE {
measurementDeltaTime DeltaTimeMilliSecondSigned,
perceptionRegionConfidence ConfidenceLevel,
perceptionRegionShape Shape,
shadowingApplies BOOLEAN,
sensorIdList SequenceOfIdentifier1B OPTIONAL,
numberOfPerceivedObjects CardinalNumber1B OPTIONAL,
perceivedObjectIds PerceivedObjectIds OPTIONAL,
...
}

/**
* This DF represents a list of identifiers of perceived objects.
*/
PerceivedObjectIds::= SEQUENCE SIZE(0..255, ...) OF Identifier2B

END
47 changes: 47 additions & 0 deletions asn1/TS103324v211-CPM-SensorInformationContainer.asn
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

Shape, ConfidenceLevel, Identifier1B, SensorType
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1) }
;

/**
* This DF represents the Sensor Information Container as a list of information objects about the sensors or data fusion systems from which the station provides information about detected objects.
*/
SensorInformationContainer ::= SEQUENCE SIZE(1..128, ...) OF SensorInformation


/**
* This DF represents the characteristics of a single sensor or data fusion system.
*
* It shall include the following components:
*
* @field sensorId: identifier of the sensor or data fusion system used to relate the perceived object in the Perceived Object Container to the sensor that detected it.
* this identifier shall uniquely identify the sensor inside the CPM, but may be changed from one CPM to the next.
*
* @field sensorType: the type of the sensor.
*
* @field perceptionRegionShape: the perception region of the sensor.
*
* @field perceptionRegionConfidence: the homogeneous perception region confidence that can be assumed for the entire perception region shape of this sensor.
*
* @field shadowingApplies: indicates if the standard shadowing approach applies to the described perception region.
*
*/

SensorInformation ::= SEQUENCE {
sensorId Identifier1B,
sensorType SensorType,
perceptionRegionShape Shape OPTIONAL,
perceptionRegionConfidence ConfidenceLevel OPTIONAL,
shadowingApplies BOOLEAN,
...
}


END
171 changes: 171 additions & 0 deletions asn1/TS103324v211-CPM.asn
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
CPM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) major-version-1 (1) minor-version-1(1)}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

ItsPduHeader, MessageRateHz, MessageSegmentationInfo, OrdinalNumber1B, ReferencePosition, StationType, TimestampIts
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)}
WITH SUCCESSORS

OriginatingRsuContainer, OriginatingVehicleContainer
FROM CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)}
WITH SUCCESSORS

SensorInformationContainer
FROM CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)}
WITH SUCCESSORS

PerceptionRegionContainer
FROM CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)}
WITH SUCCESSORS

PerceivedObjectContainer
FROM CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)}
WITH SUCCESSORS

;

/**
* This DF represents the Collective Perception Message (CPM) and is the top level Protocol Data Unit.
*
* It shall include the following components:
*
* @field header: the common message header for the facilities layer message.
*
* @field payload: the payload of the message.
*
*/
CollectivePerceptionMessage ::= SEQUENCE {
header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cpm)}),
payload CpmPayload
}

/**
* This DF represents the payload of the CPM.
*
* It shall include the following components:
*
* @field managementContainer: the management container.
*
* @field cpmContainers: the list of CPM containers, including its container type identifier and including either one or none of originatingVehicleContainer and/or originatingRsuContainer.
*
*/
CpmPayload ::= SEQUENCE {
managementContainer ManagementContainer,
cpmContainers ConstraintWrappedCpmContainers,
...
}

/**
* This DF represents the management container of the CPM.
* The management container provides basic information about the originating ITS-S, which are not specific to a specific type of station.
*
* It shall include the following components:
*
* @field referenceTime: the reference time for all time related information in the CPM.
*
* @field messageRateRange: the planned or expected range of the CPM generation rate.
*
* @field segmentationInfo: information regarding the message segmentation on facility layer.
*
* @field referencePosition: the reference position for all position related information in the CPM.
*
*/
ManagementContainer ::= SEQUENCE {
referenceTime TimestampIts,
referencePosition ReferencePosition,
segmentationInfo MessageSegmentationInfo OPTIONAL,
messageRateRange MessageRateRange OPTIONAL,
...
}

/**
* This information object class is an abstract template to instantiate containers.
*
* It shall include the following components:
*
* @field &id: the identifier of the container type.
*
* @field &Type: the container content.
*
*/

CPM-CONTAINER-ID-AND-TYPE ::= CLASS {
&id CpmContainerId UNIQUE,
&Type
} WITH SYNTAX {&Type IDENTIFIED BY &id}

/**
* This DE represents the identifier of the container type.
*
*/
CpmContainerId ::= INTEGER (1..16)

/**
* These value assignements represent specific values of the container type identifier.
*/
originatingVehicleContainer CpmContainerId ::= 1
originatingRsuContainer CpmContainerId ::= 2
sensorInformationContainer CpmContainerId ::= 3
perceptionRegionContainer CpmContainerId ::= 4
perceivedObjectContainer CpmContainerId ::= 5


/**
* This information object set represents the association between the container type and the container content.
*/
CpmContainers CPM-CONTAINER-ID-AND-TYPE ::= {
{OriginatingVehicleContainer IDENTIFIED BY originatingVehicleContainer} |
{OriginatingRsuContainer IDENTIFIED BY originatingRsuContainer} |
{SensorInformationContainer IDENTIFIED BY sensorInformationContainer} |
{PerceptionRegionContainer IDENTIFIED BY perceptionRegionContainer} |
{PerceivedObjectContainer IDENTIFIED BY perceivedObjectContainer},
...
}

/**
* This DF represents a CPM container preceded by its type identifier and a lenght indicator.
*
* It shall include the following components:
*
* @field containerId: the identifier of the container type.
*
* @field containerData: the container content consistent with the container type.
*
*/
WrappedCpmContainer ::= SEQUENCE {
containerId CPM-CONTAINER-ID-AND-TYPE.&id( {CpmContainers} ),
containerData CPM-CONTAINER-ID-AND-TYPE.&Type( {CpmContainers}{@containerId} )
}

/**
* This DF represents a list of CPM containers, each with their type identifier.
*/
WrappedCpmContainers::= SEQUENCE SIZE(1..8,...) OF WrappedCpmContainer

/**
* This DF represents a list of CPM containers, each with their type identifier with an additional constraint.
*/
ConstraintWrappedCpmContainers ::= WrappedCpmContainers
((WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 1)})) |
(WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 2)})))

/**
* This DF represents the planned or expected range of the message generation rate.
*
* It shall include the following components:
*
* @field messageRateMin: the minimum planned or expected message rate.
*
* @field messageRateMax: the maximum planned or expected message rate.
*
*/
MessageRateRange::= SEQUENCE{
messageRateMin MessageRateHz,
messageRateMax MessageRateHz
}

END
Loading
Loading