Loading cooperative_parking.asn +70 −69 Original line number Diff line number Diff line Loading @@ -32,9 +32,9 @@ PODAM ::= SEQUENCE { * * @field basicContainer: The location and type of the message sender ITS-S * * @field detections: The list of detected spots. * @field detections: The list of detected spaces. * * @field intentIndication: The spot that the ego vehicle intends to occupy * @field intentIndication: The space that the ego vehicle intends to occupy * * @category: * @revision: Created in V2.1.1 Loading @@ -42,12 +42,13 @@ PODAM ::= SEQUENCE { PodasParameters ::= SEQUENCE { basicContainer BasicContainer, -- Idea: introduce management container detections ParkingSpotDetectionDatabase OPTIONAL, intentIndication ParkingSpotIntentIndication OPTIONAL detections ParkingSpaceDetections OPTIONAL, intentIndication ParkingSpaceIntentIndication OPTIONAL, ... } /** * This DE describes the level of the parking spot in case of multilevel parking facilities * This DE describes the level of the parking space in case of multilevel parking facilities. TODO: this concept needs to be refined. * * @unit: 1 Level in case there are entire levels and 2 in case of shifter levels * @category: Loading @@ -56,43 +57,43 @@ PodasParameters ::= SEQUENCE { LevelInformation ::= INTEGER(-40..87) /** * This DF indicates the spot intended to be allocated by the ego vehicle * This DF indicates the space intended to be allocated by the ego vehicle * * @field spotId: The identifier of the parking spot. Unique for each sender. * @field spaceId: The identifier of the parking space. Unique for each sender. * * @field reporter: The station id of the reporter of the parkicular spot. * @field reporter: The station id of the reporter of the parkicular space. * * @field estimatedArrivalTime: The estimated time of arrival to the parking spot. * @field estimatedArrivalTime: The estimated time of arrival to the parking space. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotIntentIndication ::= SEQUENCE { spotId Identifier2B, ParkingSpaceIntentIndication ::= SEQUENCE { spaceId Identifier2B, reporter StationId, estimatedArrivalTime TimestampIts OPTIONAL } /** * This DF describes the list of spot detections * This DF describes the list of space detections * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionDatabase ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpotDetection ParkingSpaceDetections ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpaceDetection /** * This DF describes parking spot detection parameters * This DF describes parking space detection parameters * * @field spotId: The identifier of the parking spot. Shall be unique when combined with source * @field spaceId: The identifier of the parking space. Shall be unique when combined with source * * @field source: The stationId of the sender vehicle. * @field source: The stationId of the sender vehicle. Shall only be filled if the sender is not the detector. * * @field orientation: The orientation of the parking spot. * @field orientation: The orientation of the parking space. * * @field levelInformation: The level of the parking spot in a parking facility. * @field levelInformation: The level of the parking space in a parking facility. * * @field location: The location description of the parking spot. * @field location: The location description of the parking space. * * @field detectionTime: The end time of detection. (e.g., when the detector vehicle passed by) * Loading @@ -101,49 +102,49 @@ ParkingSpotDetectionDatabase ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpotDetec * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetection ::= SEQUENCE { spotId Identifier2B, ParkingSpaceDetection ::= SEQUENCE { spaceId Identifier2B, source StationId OPTIONAL, orientation Wgs84Angle OPTIONAL, levelInformation LevelInformation OPTIONAL, location ParkingSpotDetectionLocation, location ParkingSpaceDetectionLocation, detectionTime TimestampIts, detectionMethod ParkingSpotDetectionMethod, detectionMethod ParkingSpaceDetectionMethod, ... } /** * This DF represents the location of parking spot * This DF represents the location of parking space * * @field individualSpot: The location information of an individual spot * @field individualSpace: The location information of an individual space * * @field subsequentSpots: The location information of subsequent spots * @field subsequentSpaces: The location information of subsequent spaces * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionLocation ::= CHOICE { individualSpot IndividualParkingSpot, subsequentSpots SubsequentParkingSpotSegments, ParkingSpaceDetectionLocation ::= CHOICE { individualSpace IndividualParkingSpace, subsequentSpaces SubsequentParkingSpaceSegments, ... } /** * This DF represents the location of an individual parking spot * This DF represents the location of an individual parking space * * @field position: The position of the individual spot relative to the reference position. * @field position: The position of the individual space 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. * @field entrySpace: The distance between two objects blocking the space from the side. In case of parallel parking * spaces, the direction is measured in parallell to the direction of the parking space. Otherwise the distance is * measured perpendicular to the direction of the parking space. * * @note: With this approach, the vehicle driver can easily decide if the vehicle fits in the parking spot considering * @note: With this approach, the vehicle driver can easily decide if the vehicle fits in the parking space considering * the current occupation. * * @field spotWidth: The width of a parking spot. This field indicates the length between * @field spaceWidth: The width of a parking space. 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 * @field spaceLength: The length of a parking space. 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. Loading @@ -151,11 +152,11 @@ ParkingSpotDetectionLocation ::= CHOICE { * @category: * @revision: Created in V2.1.1 */ IndividualParkingSpot ::= SEQUENCE { IndividualParkingSpace ::= SEQUENCE { position DeltaPosition, entrySpace StandardLength1B OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, spaceWidth StandardLength1B OPTIONAL, spaceLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } Loading @@ -163,7 +164,7 @@ IndividualParkingSpot ::= SEQUENCE { /** * This DF represents external ids * * @field evId: Identifier of the electric charing spot. -> Reference to ISO standard * @field evId: Identifier of the electric charing space. -> Reference to ISO standard * * @field parkingSpaceId: The identifier of the parking space, as defined in the ParkingSpaceBasic data frame. * Loading @@ -185,12 +186,12 @@ ExternalLinks ::= SEQUENCE { EvId ::= INTEGER(0..4294967295) -- TODO: figure out real evids /** * This DE indicates the method that was used to detect a parking spot * This DE indicates the method that was used to detect a parking space * * 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, * - 1 - `leavingEgo` - Ego left the particular parking space, * - 2 - `leavingVehicle` - A remote vehicle left the particular parking space, * - 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 Loading @@ -199,7 +200,7 @@ EvId ::= INTEGER(0..4294967295) -- TODO: figure out real evids * @category: * @revision: V2.1.1 */ ParkingSpotDetectionMethod ::= BIT STRING { ParkingSpaceDetectionMethod ::= BIT STRING { sensor (0), leavingEgo (1), leavingVehicle (2), Loading @@ -207,29 +208,29 @@ ParkingSpotDetectionMethod ::= BIT STRING { } (SIZE(4,...)) /** * This DF describes a list of subsequent parking spots * This DF describes a list of subsequent parking spaces * * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpotSegment SubsequentParkingSpaceSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpaceSegment /** * This DF represents subsequent parking spots * This DF represents subsequent parking spaces * * @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 spacesOnTheLeft: The list of parking space segments on the left of the vehicle. * * @field spotsOnTheRight: The list of parking spot segments on the right of the vehicle. * @field spacesOnTheRight: The list of parking space segments on the right of the vehicle. * * @field spotWidth: The width of a parking spot. This field indicates the length between * @field spaceWidth: The width of a parking space. 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 * @field spaceLength: The length of a parking space. 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. Loading @@ -239,48 +240,48 @@ SubsequentParkingSpotSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpotS * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegment ::= SEQUENCE { SubsequentParkingSpaceSegment ::= SEQUENCE { path Path, spotsOnTheLeft ParkingSpotSegmentDetections OPTIONAL, spotsOnTheRight ParkingSpotSegmentDetections OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, spacesOnTheLeft ParkingSpaceSegmentDetections OPTIONAL, spacesOnTheRight ParkingSpaceSegmentDetections OPTIONAL, spaceWidth StandardLength1B OPTIONAL, spaceLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } ((WITH COMPONENTS {..., spotsOnTheLeft PRESENT}) | (WITH COMPONENTS {..., spotsOnTheRight PRESENT})) ((WITH COMPONENTS {..., spacesOnTheLeft PRESENT}) | (WITH COMPONENTS {..., spacesOnTheRight PRESENT})) /** * This DF describes a list of subsequent parking spot segments * This DF describes a list of subsequent parking space segments * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetections ::= SEQUENCE SIZE(1..32, ...) OF ParkingSpotSegmentDetection ParkingSpaceSegmentDetections ::= SEQUENCE SIZE(1..32, ...) OF ParkingSpaceSegmentDetection /** * This DF represents a parking spot segment * This DF represents a parking space 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. * as the starting point of the path, a space shall be added with status unknown. If the last point is * not the same as the terminating point of the path, a space shall be added with status unknown. * * @field status: The status of the parking spot. * @field status: The status of the parking space. * * @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: * @field timeDelta: The time between the detectionTime and the detection of the current space * @note: D where X is detectionTime and Y is the detection of the current space: * ------Y---------X------> * |<---D--->| * * @field offsetToPath: Distance between the path of the vehicle and the closest position of * the parking spot to the path. * the parking space to the path. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetection ::= SEQUENCE { ParkingSpaceSegmentDetection ::= SEQUENCE { distanceFromLastPoint StandardLength12b, status ParkingSpaceStatus, timeDelta DeltaTimeTenthOfSecond, Loading Loading
cooperative_parking.asn +70 −69 Original line number Diff line number Diff line Loading @@ -32,9 +32,9 @@ PODAM ::= SEQUENCE { * * @field basicContainer: The location and type of the message sender ITS-S * * @field detections: The list of detected spots. * @field detections: The list of detected spaces. * * @field intentIndication: The spot that the ego vehicle intends to occupy * @field intentIndication: The space that the ego vehicle intends to occupy * * @category: * @revision: Created in V2.1.1 Loading @@ -42,12 +42,13 @@ PODAM ::= SEQUENCE { PodasParameters ::= SEQUENCE { basicContainer BasicContainer, -- Idea: introduce management container detections ParkingSpotDetectionDatabase OPTIONAL, intentIndication ParkingSpotIntentIndication OPTIONAL detections ParkingSpaceDetections OPTIONAL, intentIndication ParkingSpaceIntentIndication OPTIONAL, ... } /** * This DE describes the level of the parking spot in case of multilevel parking facilities * This DE describes the level of the parking space in case of multilevel parking facilities. TODO: this concept needs to be refined. * * @unit: 1 Level in case there are entire levels and 2 in case of shifter levels * @category: Loading @@ -56,43 +57,43 @@ PodasParameters ::= SEQUENCE { LevelInformation ::= INTEGER(-40..87) /** * This DF indicates the spot intended to be allocated by the ego vehicle * This DF indicates the space intended to be allocated by the ego vehicle * * @field spotId: The identifier of the parking spot. Unique for each sender. * @field spaceId: The identifier of the parking space. Unique for each sender. * * @field reporter: The station id of the reporter of the parkicular spot. * @field reporter: The station id of the reporter of the parkicular space. * * @field estimatedArrivalTime: The estimated time of arrival to the parking spot. * @field estimatedArrivalTime: The estimated time of arrival to the parking space. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotIntentIndication ::= SEQUENCE { spotId Identifier2B, ParkingSpaceIntentIndication ::= SEQUENCE { spaceId Identifier2B, reporter StationId, estimatedArrivalTime TimestampIts OPTIONAL } /** * This DF describes the list of spot detections * This DF describes the list of space detections * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionDatabase ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpotDetection ParkingSpaceDetections ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpaceDetection /** * This DF describes parking spot detection parameters * This DF describes parking space detection parameters * * @field spotId: The identifier of the parking spot. Shall be unique when combined with source * @field spaceId: The identifier of the parking space. Shall be unique when combined with source * * @field source: The stationId of the sender vehicle. * @field source: The stationId of the sender vehicle. Shall only be filled if the sender is not the detector. * * @field orientation: The orientation of the parking spot. * @field orientation: The orientation of the parking space. * * @field levelInformation: The level of the parking spot in a parking facility. * @field levelInformation: The level of the parking space in a parking facility. * * @field location: The location description of the parking spot. * @field location: The location description of the parking space. * * @field detectionTime: The end time of detection. (e.g., when the detector vehicle passed by) * Loading @@ -101,49 +102,49 @@ ParkingSpotDetectionDatabase ::= SEQUENCE (SIZE(1..32, ...)) OF ParkingSpotDetec * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetection ::= SEQUENCE { spotId Identifier2B, ParkingSpaceDetection ::= SEQUENCE { spaceId Identifier2B, source StationId OPTIONAL, orientation Wgs84Angle OPTIONAL, levelInformation LevelInformation OPTIONAL, location ParkingSpotDetectionLocation, location ParkingSpaceDetectionLocation, detectionTime TimestampIts, detectionMethod ParkingSpotDetectionMethod, detectionMethod ParkingSpaceDetectionMethod, ... } /** * This DF represents the location of parking spot * This DF represents the location of parking space * * @field individualSpot: The location information of an individual spot * @field individualSpace: The location information of an individual space * * @field subsequentSpots: The location information of subsequent spots * @field subsequentSpaces: The location information of subsequent spaces * * @category: * @revision: Created in V2.1.1 */ ParkingSpotDetectionLocation ::= CHOICE { individualSpot IndividualParkingSpot, subsequentSpots SubsequentParkingSpotSegments, ParkingSpaceDetectionLocation ::= CHOICE { individualSpace IndividualParkingSpace, subsequentSpaces SubsequentParkingSpaceSegments, ... } /** * This DF represents the location of an individual parking spot * This DF represents the location of an individual parking space * * @field position: The position of the individual spot relative to the reference position. * @field position: The position of the individual space 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. * @field entrySpace: The distance between two objects blocking the space from the side. In case of parallel parking * spaces, the direction is measured in parallell to the direction of the parking space. Otherwise the distance is * measured perpendicular to the direction of the parking space. * * @note: With this approach, the vehicle driver can easily decide if the vehicle fits in the parking spot considering * @note: With this approach, the vehicle driver can easily decide if the vehicle fits in the parking space considering * the current occupation. * * @field spotWidth: The width of a parking spot. This field indicates the length between * @field spaceWidth: The width of a parking space. 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 * @field spaceLength: The length of a parking space. 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. Loading @@ -151,11 +152,11 @@ ParkingSpotDetectionLocation ::= CHOICE { * @category: * @revision: Created in V2.1.1 */ IndividualParkingSpot ::= SEQUENCE { IndividualParkingSpace ::= SEQUENCE { position DeltaPosition, entrySpace StandardLength1B OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, spaceWidth StandardLength1B OPTIONAL, spaceLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } Loading @@ -163,7 +164,7 @@ IndividualParkingSpot ::= SEQUENCE { /** * This DF represents external ids * * @field evId: Identifier of the electric charing spot. -> Reference to ISO standard * @field evId: Identifier of the electric charing space. -> Reference to ISO standard * * @field parkingSpaceId: The identifier of the parking space, as defined in the ParkingSpaceBasic data frame. * Loading @@ -185,12 +186,12 @@ ExternalLinks ::= SEQUENCE { EvId ::= INTEGER(0..4294967295) -- TODO: figure out real evids /** * This DE indicates the method that was used to detect a parking spot * This DE indicates the method that was used to detect a parking space * * 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, * - 1 - `leavingEgo` - Ego left the particular parking space, * - 2 - `leavingVehicle` - A remote vehicle left the particular parking space, * - 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 Loading @@ -199,7 +200,7 @@ EvId ::= INTEGER(0..4294967295) -- TODO: figure out real evids * @category: * @revision: V2.1.1 */ ParkingSpotDetectionMethod ::= BIT STRING { ParkingSpaceDetectionMethod ::= BIT STRING { sensor (0), leavingEgo (1), leavingVehicle (2), Loading @@ -207,29 +208,29 @@ ParkingSpotDetectionMethod ::= BIT STRING { } (SIZE(4,...)) /** * This DF describes a list of subsequent parking spots * This DF describes a list of subsequent parking spaces * * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpotSegment SubsequentParkingSpaceSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpaceSegment /** * This DF represents subsequent parking spots * This DF represents subsequent parking spaces * * @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 spacesOnTheLeft: The list of parking space segments on the left of the vehicle. * * @field spotsOnTheRight: The list of parking spot segments on the right of the vehicle. * @field spacesOnTheRight: The list of parking space segments on the right of the vehicle. * * @field spotWidth: The width of a parking spot. This field indicates the length between * @field spaceWidth: The width of a parking space. 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 * @field spaceLength: The length of a parking space. 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. Loading @@ -239,48 +240,48 @@ SubsequentParkingSpotSegments ::= SEQUENCE SIZE(1..16) OF SubsequentParkingSpotS * @category: * @revision: Created in V2.1.1 */ SubsequentParkingSpotSegment ::= SEQUENCE { SubsequentParkingSpaceSegment ::= SEQUENCE { path Path, spotsOnTheLeft ParkingSpotSegmentDetections OPTIONAL, spotsOnTheRight ParkingSpotSegmentDetections OPTIONAL, spotWidth StandardLength1B OPTIONAL, spotLength StandardLength1B OPTIONAL, spacesOnTheLeft ParkingSpaceSegmentDetections OPTIONAL, spacesOnTheRight ParkingSpaceSegmentDetections OPTIONAL, spaceWidth StandardLength1B OPTIONAL, spaceLength StandardLength1B OPTIONAL, externalLinks ExternalLinks OPTIONAL, ... } ((WITH COMPONENTS {..., spotsOnTheLeft PRESENT}) | (WITH COMPONENTS {..., spotsOnTheRight PRESENT})) ((WITH COMPONENTS {..., spacesOnTheLeft PRESENT}) | (WITH COMPONENTS {..., spacesOnTheRight PRESENT})) /** * This DF describes a list of subsequent parking spot segments * This DF describes a list of subsequent parking space segments * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetections ::= SEQUENCE SIZE(1..32, ...) OF ParkingSpotSegmentDetection ParkingSpaceSegmentDetections ::= SEQUENCE SIZE(1..32, ...) OF ParkingSpaceSegmentDetection /** * This DF represents a parking spot segment * This DF represents a parking space 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. * as the starting point of the path, a space shall be added with status unknown. If the last point is * not the same as the terminating point of the path, a space shall be added with status unknown. * * @field status: The status of the parking spot. * @field status: The status of the parking space. * * @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: * @field timeDelta: The time between the detectionTime and the detection of the current space * @note: D where X is detectionTime and Y is the detection of the current space: * ------Y---------X------> * |<---D--->| * * @field offsetToPath: Distance between the path of the vehicle and the closest position of * the parking spot to the path. * the parking space to the path. * * @category: * @revision: Created in V2.1.1 */ ParkingSpotSegmentDetection ::= SEQUENCE { ParkingSpaceSegmentDetection ::= SEQUENCE { distanceFromLastPoint StandardLength12b, status ParkingSpaceStatus, timeDelta DeltaTimeTenthOfSecond, Loading