Loading cooperative_parking.asn 0 → 100644 +291 −0 Original line number Diff line number Diff line PODAM-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) podasPduRelease2 (104072) major-version-2 (2) minor-version-1 (1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS BasicContainer, ItsPduHeader, Identifier2B, ParkingSpaceStatus, StandardLength12b, TimestampIts, StationId, Wgs84Angle, DeltaPosition, Path, DeltaTimeTenthOfSecond, StandardLength1B FROM ETSI-ITS-CDD { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-2 (2) } ; /** * This DF indicates a change of acceleration. * * @field header: This header contains basic message information * * @field podasParameters: This field contains the data necessary for PODAM * * @category: * @revision: Created in V2.1.1 */ PODAM ::= SEQUENCE { header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(21)}), podasParameters PodasParameters } /** * This DF indicates the parameters necessary for the PODAM * * @field basicContainer: The location and type of the message sender ITS-S * * @field detections: The list of detected spots. * * @field intentIndication: The spot that the ego vehicle intends to occupy * * @category: * @revision: Created in V2.1.1 */ PodasParameters ::= SEQUENCE { basicContainer BasicContainer, -- Idea: introduce management container detections ParkingSpotDetectionDatabase OPTIONAL, intentIndication ParkingSpotIntentIndication OPTIONAL } /** * This DE describes the level of the parking spot in case of multilevel parking facilities * * @unit: 1 Level in case there are entire levels and 2 in case of shifter levels * @category: * @revision: Created in V2.1.1 */ LevelInformation ::= INTEGER(-40..87) /** * This DF indicates the spot intended to be allocated by the ego vehicle * * @field spotId: The identifier of the parking spot. Unique for each sender. * * @field reporter: The station id of the reporter of the parkicular spot. * * @field estimatedArrivalTime: The estimated time of arrival to the parking spot. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotIntentIndication ::= SEQUENCE { spotId Identifier2B, reporter StationId, estimatedArrivalTime TimestampIts OPTIONAL } /** * This DF describes the list of spot detections * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionDatabase ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpotDetection /** * This DF describes parking spot detection parameters * * @field spotId: The identifier of the parking spot. Shall be unique when combined with source * * @field source: The stationId of the sender vehicle. * * @field orientation: The orientation of the parking spot. * * @field levelInformation: The level of the parking spot in a parking facility. * * @field location: The location description of the parking spot. * * @field detectionTime: The end time of detection. (e.g., when the detector vehicle passed by) * * @field detectionMethod: The used inputs for the detection. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetection ::= SEQUENCE { spotId Identifier2B, source StationId OPTIONAL, orientation Wgs84Angle OPTIONAL, levelInformation LevelInformation OPTIONAL, location ParkingSpotDetectionLocation, detectionTime TimestampIts, detectionMethod ParkingSpotDetectionMethod, ... } /** * This DF represents the location of parking spot * * @field individualSpot: The location information of an individual spot * * @field subsequentSpots: The location information of subsequent spots * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionLocation ::= CHOICE { individualSpot IndividualParkingSpot, subsequentSpots SubsequentParkingSpotSegments, ... } /** * This DF represents the location of an individual parking spot * * @field position: The position of the individual spot relative to the reference position. * * @field entrySpace: The distance between two objects blocking the spot from the side. In case of parallel parking * spots, the direction is measured in parallell to the direction of the parking spot. Otherwise the distance is * measured perpendicular to the direction of the parking spot. * * @note: With this approach, the vehicle driver can easily decide if the vehicle fits in the parking spot considering * the current occupation. * * @field spotWidth: The width of a parking spot. This field indicates the length between * the center of the width markings, if there are any. * * @field spotLength: The length of a parking spot. This field indicates the length between * the center of the length markings, if there are any. * * @field externalLinks: Represents links to external systems, e.g., to electric vehicle charging stations. * * @category: * @revision: Created in V2.1.1 */ IndividualParkingSpot ::= SEQUENCE { position DeltaPosition, entrySpace StandardLength1B OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } /** * This DF represents external ids * * @field evId: Identifier of the electric charing spot. -> Reference to ISO standard * * @field parkingSpaceId: The identifier of the parking space, as defined in the ParkingSpaceBasic data frame. * * @category: * @revision: Created in V2.1.1 */ ExternalLinks ::= SEQUENCE { evId EvId OPTIONAL, parkingSpaceId Identifier2B OPTIONAL, ... } /** * This DE represents the electric vehicle charging station ID * * @category: * @revision: Created in V2.1.1 */ EvId ::= INTEGER(0..4294967295) -- TODO: figure out real evids /** * This DE indicates the method that was used to detect a parking spot * * The corresponding bit shall be set to 1 under the following conditions: * - 0 - `sensor` - A sensor (radar, camera, lidar, ultrasound, etc.) was used, * - 1 - `leavingEgo` - Ego left the particular parking spot, * - 2 - `leavingVehicle` - A remote vehicle left the particular parking spot, * - 3 - `staticMapInformation` - At least some information was received from a static map, * * Otherwise (for example when the corresponding system is not available due to non equipped system * or information is unavailable), the corresponding bit shall be set to 0. * * @category: * @revision: V2.1.1 */ ParkingSpotDetectionMethod ::= BIT STRING { sensor (0), leavingEgo (1), leavingVehicle (2), staticMapInformation (3) } (SIZE(4,...)) /** * This DF describes a list of subsequent parking spots * * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpotSegment /** * This DF represents subsequent parking spots * * @field path: The path of the ego vehicle. A new point shall be added each time the heading of the * vehicle changes more then X degrees, the closest distance between the current position and line calculated * from the last two path points exceeds Y meters, or the or the detection segment is ended. The pathDeltaTime in * the path points should not be filled. * * @field spotsOnTheLeft: The list of parking spot segments on the left of the vehicle. * * @field spotsOnTheRight: The list of parking spot segments on the right of the vehicle. * * @field spotWidth: The width of a parking spot. This field indicates the length between * the center of the width markings, if there are any. The data field is relevant for the whole segment. * * @field spotLength: The length of a parking spot. This field indicates the length between * the center of the length markings, if there are any. The data field is relevant for the whole segment. * * @field externalLinks: Represents links to external systems, e.g., to electric vehicle charging stations. * * @note: The entrySpace can be calculated from the subsequent distances and in the right or left distances * and the orientation information. * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegment ::= SEQUENCE { path Path, spotsOnTheLeft ParkingSpotSegmentDetections OPTIONAL, spotsOnTheRight ParkingSpotSegmentDetections OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } ((WITH COMPONENTS {..., spotsOnTheLeft PRESENT}) | (WITH COMPONENTS {..., spotsOnTheRight PRESENT})) /** * This DF describes a list of subsequent parking spot segments * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetections ::= SEQUENCE SIZE(1..32, ...) OF ParkingSpotSegmentDetection /** * This DF represents a parking spot segment * * @field distanceFromLastPoint: The starting point of the segment relative to the previous point. * The distance is measured on the path of the detector vehicle. If the first point is not the same * as the starting point of the path, a spot shall be added with status unknown. If the last point is * not the same as the terminating point of the path, a spot shall be added with status unknown. * * @field status: The status of the parking spot. * * @field timeDelta: The time between the detectionTime and the detection of the current spot * @note: D where X is detectionTime and Y is the detection of the current spot: * ------Y---------X------> * |<---D--->| * * @field offsetToPath: Distance between the path of the vehicle and the closest position of * the parking spot to the path. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetection ::= SEQUENCE { distanceFromLastPoint StandardLength12b, status ParkingSpaceStatus, timeDelta DeltaTimeTenthOfSecond, offsetToPath StandardLength1B OPTIONAL, ... } END Loading
cooperative_parking.asn 0 → 100644 +291 −0 Original line number Diff line number Diff line PODAM-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) podasPduRelease2 (104072) major-version-2 (2) minor-version-1 (1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS BasicContainer, ItsPduHeader, Identifier2B, ParkingSpaceStatus, StandardLength12b, TimestampIts, StationId, Wgs84Angle, DeltaPosition, Path, DeltaTimeTenthOfSecond, StandardLength1B FROM ETSI-ITS-CDD { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-2 (2) } ; /** * This DF indicates a change of acceleration. * * @field header: This header contains basic message information * * @field podasParameters: This field contains the data necessary for PODAM * * @category: * @revision: Created in V2.1.1 */ PODAM ::= SEQUENCE { header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(21)}), podasParameters PodasParameters } /** * This DF indicates the parameters necessary for the PODAM * * @field basicContainer: The location and type of the message sender ITS-S * * @field detections: The list of detected spots. * * @field intentIndication: The spot that the ego vehicle intends to occupy * * @category: * @revision: Created in V2.1.1 */ PodasParameters ::= SEQUENCE { basicContainer BasicContainer, -- Idea: introduce management container detections ParkingSpotDetectionDatabase OPTIONAL, intentIndication ParkingSpotIntentIndication OPTIONAL } /** * This DE describes the level of the parking spot in case of multilevel parking facilities * * @unit: 1 Level in case there are entire levels and 2 in case of shifter levels * @category: * @revision: Created in V2.1.1 */ LevelInformation ::= INTEGER(-40..87) /** * This DF indicates the spot intended to be allocated by the ego vehicle * * @field spotId: The identifier of the parking spot. Unique for each sender. * * @field reporter: The station id of the reporter of the parkicular spot. * * @field estimatedArrivalTime: The estimated time of arrival to the parking spot. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotIntentIndication ::= SEQUENCE { spotId Identifier2B, reporter StationId, estimatedArrivalTime TimestampIts OPTIONAL } /** * This DF describes the list of spot detections * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionDatabase ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpotDetection /** * This DF describes parking spot detection parameters * * @field spotId: The identifier of the parking spot. Shall be unique when combined with source * * @field source: The stationId of the sender vehicle. * * @field orientation: The orientation of the parking spot. * * @field levelInformation: The level of the parking spot in a parking facility. * * @field location: The location description of the parking spot. * * @field detectionTime: The end time of detection. (e.g., when the detector vehicle passed by) * * @field detectionMethod: The used inputs for the detection. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetection ::= SEQUENCE { spotId Identifier2B, source StationId OPTIONAL, orientation Wgs84Angle OPTIONAL, levelInformation LevelInformation OPTIONAL, location ParkingSpotDetectionLocation, detectionTime TimestampIts, detectionMethod ParkingSpotDetectionMethod, ... } /** * This DF represents the location of parking spot * * @field individualSpot: The location information of an individual spot * * @field subsequentSpots: The location information of subsequent spots * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionLocation ::= CHOICE { individualSpot IndividualParkingSpot, subsequentSpots SubsequentParkingSpotSegments, ... } /** * This DF represents the location of an individual parking spot * * @field position: The position of the individual spot relative to the reference position. * * @field entrySpace: The distance between two objects blocking the spot from the side. In case of parallel parking * spots, the direction is measured in parallell to the direction of the parking spot. Otherwise the distance is * measured perpendicular to the direction of the parking spot. * * @note: With this approach, the vehicle driver can easily decide if the vehicle fits in the parking spot considering * the current occupation. * * @field spotWidth: The width of a parking spot. This field indicates the length between * the center of the width markings, if there are any. * * @field spotLength: The length of a parking spot. This field indicates the length between * the center of the length markings, if there are any. * * @field externalLinks: Represents links to external systems, e.g., to electric vehicle charging stations. * * @category: * @revision: Created in V2.1.1 */ IndividualParkingSpot ::= SEQUENCE { position DeltaPosition, entrySpace StandardLength1B OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } /** * This DF represents external ids * * @field evId: Identifier of the electric charing spot. -> Reference to ISO standard * * @field parkingSpaceId: The identifier of the parking space, as defined in the ParkingSpaceBasic data frame. * * @category: * @revision: Created in V2.1.1 */ ExternalLinks ::= SEQUENCE { evId EvId OPTIONAL, parkingSpaceId Identifier2B OPTIONAL, ... } /** * This DE represents the electric vehicle charging station ID * * @category: * @revision: Created in V2.1.1 */ EvId ::= INTEGER(0..4294967295) -- TODO: figure out real evids /** * This DE indicates the method that was used to detect a parking spot * * The corresponding bit shall be set to 1 under the following conditions: * - 0 - `sensor` - A sensor (radar, camera, lidar, ultrasound, etc.) was used, * - 1 - `leavingEgo` - Ego left the particular parking spot, * - 2 - `leavingVehicle` - A remote vehicle left the particular parking spot, * - 3 - `staticMapInformation` - At least some information was received from a static map, * * Otherwise (for example when the corresponding system is not available due to non equipped system * or information is unavailable), the corresponding bit shall be set to 0. * * @category: * @revision: V2.1.1 */ ParkingSpotDetectionMethod ::= BIT STRING { sensor (0), leavingEgo (1), leavingVehicle (2), staticMapInformation (3) } (SIZE(4,...)) /** * This DF describes a list of subsequent parking spots * * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpotSegment /** * This DF represents subsequent parking spots * * @field path: The path of the ego vehicle. A new point shall be added each time the heading of the * vehicle changes more then X degrees, the closest distance between the current position and line calculated * from the last two path points exceeds Y meters, or the or the detection segment is ended. The pathDeltaTime in * the path points should not be filled. * * @field spotsOnTheLeft: The list of parking spot segments on the left of the vehicle. * * @field spotsOnTheRight: The list of parking spot segments on the right of the vehicle. * * @field spotWidth: The width of a parking spot. This field indicates the length between * the center of the width markings, if there are any. The data field is relevant for the whole segment. * * @field spotLength: The length of a parking spot. This field indicates the length between * the center of the length markings, if there are any. The data field is relevant for the whole segment. * * @field externalLinks: Represents links to external systems, e.g., to electric vehicle charging stations. * * @note: The entrySpace can be calculated from the subsequent distances and in the right or left distances * and the orientation information. * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegment ::= SEQUENCE { path Path, spotsOnTheLeft ParkingSpotSegmentDetections OPTIONAL, spotsOnTheRight ParkingSpotSegmentDetections OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } ((WITH COMPONENTS {..., spotsOnTheLeft PRESENT}) | (WITH COMPONENTS {..., spotsOnTheRight PRESENT})) /** * This DF describes a list of subsequent parking spot segments * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetections ::= SEQUENCE SIZE(1..32, ...) OF ParkingSpotSegmentDetection /** * This DF represents a parking spot segment * * @field distanceFromLastPoint: The starting point of the segment relative to the previous point. * The distance is measured on the path of the detector vehicle. If the first point is not the same * as the starting point of the path, a spot shall be added with status unknown. If the last point is * not the same as the terminating point of the path, a spot shall be added with status unknown. * * @field status: The status of the parking spot. * * @field timeDelta: The time between the detectionTime and the detection of the current spot * @note: D where X is detectionTime and Y is the detection of the current spot: * ------Y---------X------> * |<---D--->| * * @field offsetToPath: Distance between the path of the vehicle and the closest position of * the parking spot to the path. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetection ::= SEQUENCE { distanceFromLastPoint StandardLength12b, status ParkingSpaceStatus, timeDelta DeltaTimeTenthOfSecond, offsetToPath StandardLength1B OPTIONAL, ... } END