DEFINITIONS AUTOMATIC TAGS ::= BEGIN -- AVP-specific common data elements
/**
* This DE represents with an unsigned interger value.
* Size: 8 bit, 1 Byte
*
*/
UInt8 ::= INTEGER (0..255)
/**
* This DE represents with a signed interger value.
* Size: 16 bit, 2 Bytes
*
*/
Int16 ::= INTEGER (-32768..32767)
Int20 ::= INTEGER (-524288..524287)
/**
* This DE represents with an unsigned interger value.
* Size: 16 bit, 2 Bytes
*
*/
UInt16 ::= INTEGER (0..65535)
/**
* This DE represents with an unsigned interger value.
* Size: 32 bit, 4 Bytes
*
*/
UInt32 ::= INTEGER (0..4294967295)
/**
* This DE represents with an unsigned interger value.
* Size: 64 bit, 8 Bytes
*
*/
UInt64 ::= INTEGER(0..18446744073709551615)
/**
* This DE represents a rolling counter
* The value shall be set to 0 when starting an application:
* This DE is incremented by 1 for each consecutive message. In case of overflow due to the size limit it restarts at 0.
*
*/
RollingCounter ::= UInt16
/**
* This DE represents a waypoint index
* The value shall be set according to the sequence of a path snippet or a complete driving trajectory.
* In case of overflow due to the size limit it restarts at 0.
*
*/
WaypointIndex ::= UInt16
/**
* This DE represents a 2 byte unspecified
* The value shall be set due to specific requirements between a RVO sytem and vehicles of a dedicated OEM.
*
*/
OEMSpecificData ::= UInt16
WaypointIndex ::= UInt16
/**
* This type represents the container of data elements to indicate the vehicle's overall position in a cartesian coordinate system
*
* It includes the following components:
*
* @field x: The position in x direction
*
* @field y: The position in x direction
*
* @field psi: The orientation of the vehicle's driving direction
*
*/
Pose ::= SEQUENCE { -- Projected to the ground, elevation not considered
-- x and y are cartesian coordinates
x Centimetre,
@@ -26,35 +86,159 @@ Pose ::= SEQUENCE { -- Projected to the ground, elevation not considered
-- x (North) axis of the reference coordinate system
}
/**
* This DE represents the vehicle's Counter-clockwise orientation in a cartesian coordinate system
*
* The value shall be set to:
* - `n` (`n >= 0` and `n <= 62831`) to indicate positive orientation equal to or less than n, and greater than (n-1),
* - `62832` if the radian is out of range, i.e. greater than 524287 cm,
* - `-62833` when the data is unavailable. Remark: 2* Pi = 6.28318
*
* @unit: 0.0001 radian
*/
Psi ::= INTEGER {
xDirection (0) -- 0.0001 radian
} (0..62831) -- Counter-clockwise
-- Option: the range and enumerated values can be fine-tuned
xDirection (0),
outOfRange (62832),
unavailable (62833)
} (0..62833)
/**
* This DE represents a distance in cm
*
* The value shall be set to:
* - `n` (`n > -524287` and `n <= 0`) to indicate negative distance equal to or less than n x 1 cm, and greater than (n-1) x 1 cm,
* - `n` (`n > 0` and `n < 524287`) to indicate positive distance equal to or less than n x 1 cm, and greater than (n-1) x 1 cm,
* - `-524287` if the distance is out of negative range
* - `524287` if the distance is out of positive range
* - `-524288` when the data is unavailable.
*
* @unit: 1 centimeter
*/
Centimetre ::= INTEGER {
negativeOutOfRange (-524287),
positiveOutOfRange (524287),
unavailable (-524288)
}
(-524288..524287)
-- UNIT FACTOR
CentimetrePerSecond ::= Int16 -- [cm/s] Option: the range and enumerated values can be fine-tuned
Centimetre ::= Int20 -- [cm] Option: the range and enumerated values can be fine-tuned
HighResCurvature ::= Int16 -- [1/m] 0.00001 Option: CAM's curvature was not precise enough
Millisecond16 ::= Int16 -- [ms] 1 Option: CPM's relative time might not precise enough
RadPerSecond ::= Int16 -- [rad/s] 0.0001
/**
* This DE describes vehicle turning curve with the following information:
* ```
* Value = 1 / Radius * 100000
* ```
* wherein radius is the vehicle turning curve radius in metres.
*
* Positive values indicate a turning curve to the left hand side of the driver.
* It corresponds to the vehicle coordinate system as defined in ISO 8855 [21].
*
* The value shall be set to:
* - `-32767` for values smaller than -32767,
* - `n` (`n > -32767` and `n < 0`) for negative values equal to or less than `n`, and greater than `(n-1)`,
* - `0` when the vehicle is moving straight,
* - `n` (`n > 0` and `n < 32767`) for positive values equal to or less than `n`, and greater than `(n-1)`,
* - `32767`, for values greater than 1021,
* - `-32768`, if the information is not available.
*
* @note: The present DE is limited to vehicle types as defined in ISO 8855 [21].
*
* @unit: 1 over 100 000 metres
*/
HighResCurvature ::= INTEGER {
outOfRangeNegative (-32767),
straight (0),
outOfRangePositive (32767),
unavailable (-32768)
} (-32768..32767)
/**
* This DE represents the rotational speed of a steering wheel movement
*
* The value shall be set to:
* - `-32 766` to indicate that the rotational speed is equal to or greater than 3.2766 [rad/s] to the right,
* - `n` (`n > -32 766` and `n <= 0`) to indicate that the rotation is clockwise (i.e. to the right) and is equal to or less than n x 0,01 rad/s,
and greater than (n-1) x 0,01 rad/s,
* - `n` (`n > 0` and `n < 32 766`) to indicate that the rotation is anti-clockwise (i.e. to the left) and is equal to or less than n x 0,01 rad/s,
and greater than (n-1) x 0,01 rad/s,
* - `32 766` to indicate that the rotational speed is greater than 3.2765 rad/second to the left,
* - `32 767` to indicate that the information is not available.
*
* @unit:0.0001 [rad/s].
*/
RadPerSecond ::= INTEGER {
negativeOutOfRange (-32766),
positiveOutOfRange (32766),
unavailable (-32767)
} (-32767..32766)
/**
* This DE represents a signed time value, size 2 Bytes.
*
* @unit: 0,001 s (1 ms)
*/
Millisecond16 ::= Int16
/**
* Data element GearEnum optionally describes the desired or actual driving direction of the vehicle in alignment with the signed value of the vehicle speed .
* This type represents the container of data elements supporting E2E protection mechanisms for the Parking Control messages
* It complies with AUTOSAR Profile 4 e2e protection. It protects the body of the message and starts in a byte aligned position in the BTP stream.
*
* It includes the following components:
*
* @field length: represents the overall payload of the body container in the Park Control message. Starting point is this data element.
*
* @field rollingCounter: This is a recurring identifier of a Park control message. This identifier is incremented by 1 for the consecutive message.
* In case of overflow due to the size limit it restarts at 0.
*
* @field dataID: The data element is usable to identify the originating system (RVO or vehicle). It is of free choice;
* It is negotiated between the RVO and the vehicle OEM in case they want to identify each other with this signal
*
* @field crc32: The CRC is calculated in byte limits of the body container, considering the data element length. The signal crc32 itself is excluded from the payload