Commit 71437c38 authored by ASN.1 Checker's avatar ASN.1 Checker
Browse files

Documentation update

parent 722ad9d1
Loading
Loading
Loading
Loading
+157 −45
Original line number Diff line number Diff line
@@ -19,6 +19,35 @@ PCVM ::= SEQUENCE {
```

### <a name="Pcvm"></a>Pcvm
This type represents the optional container added to the PCVM message mainly as a surrogate for missing static vehicle data that RVO will possibly need.  

 It includes the following components: 

 @ field msgGenerationTime  
 
 @ field sessionID: Represents a 32 character session ID.   				
 
 @ field missionID: Represents a 32 character mission ID.
 
 @ field rollingCounterFromPcim: Represents the rolling counter of last received PCIM.
 
 @ field vehicleState: Relevant vehicle state information.
 
 @ field vidResponse: Represents the current vehicle identification status.
 
 @ field safetyTimeSyncResponse: Represents a functional safety time related container.
 
 @ field safeVehicleTypeConfirmation: Represents a functional safety related container.
 
 @ field vehicleError: Error information. Depending on the given error, the infrastructure either tries to resolve the issue or aborts the mission.
 
 @ field vehicleDebug: Represents optional debug information.
 
 @ field vehicleSafetyFeedback: Represents relevant safety information from vehicle.
 
 @ field vehicleProperties: Represents vehicle-specific data elements as feedback from vehicle to external system.
 
 @ field oemSpecific. Represents an OEM specific 16 bit field for special purposes.

* _msgGenerationTime_ of type [**TimestampIts**](ETSI-ITS-CDD.md#TimestampIts)  OPTIONAL<br>
* _sessionID_ of type [**SessionMissionID**](AVP-Commons-PDU-Descriptions.md#SessionMissionID) <br>
@@ -55,7 +84,7 @@ Pcvm ::= SEQUENCE {
### <a name="VehicleState"></a>VehicleState

* _vehicleStateGenerationTime_ of type [**TimestampIts**](ETSI-ITS-CDD.md#TimestampIts)  OPTIONAL<br>
* _operationMode_ of type [**VehicleOperationModeEnum**](#VehicleOperationModeEnum) <br>
* _operationMode_ of type [**OperationModeEnum**](#OperationModeEnum) <br>
* _gearSelected_ of type [**GearEnum**](AVP-Commons-PDU-Descriptions.md#GearEnum) <br>
* _currentVelocity_ of type [**CentimetrePerSecond**](AVP-Commons-PDU-Descriptions.md#CentimetrePerSecond) <br>
* _currentCurvature_ of type [**HighResCurvature**](AVP-Commons-PDU-Descriptions.md#HighResCurvature) <br>
@@ -65,7 +94,7 @@ Pcvm ::= SEQUENCE {
```asn1
VehicleState ::= SEQUENCE {
  vehicleStateGenerationTime  TimestampIts OPTIONAL,  
  operationMode VehicleOperationModeEnum,             
  operationMode OperationModeEnum,                    
  gearSelected GearEnum,                              
  currentVelocity CentimetrePerSecond,                
  currentCurvature HighResCurvature,                  
@@ -121,12 +150,23 @@ VehicleSafetyFeedback ::= SEQUENCE (SIZE(1..5)) OF VehicleSafetyFeedbackContaine
```

### <a name="VehicleSafetyFeedbackContainer"></a>VehicleSafetyFeedbackContainer
This type represents the optional container added to the PCVM message mainly as a surrogate for missing static vehicle data that RVO will possibly need.  

 It includes the following components:

* _remainingTimeToDrive_ of type [**Millisecond16**](AVP-Commons-PDU-Descriptions.md#Millisecond16) <br>
* _--_ of type [**Option**](#Option) : CPM's relative time unit could be used if -1500..1500 is enough<br>
  Represents the time which the vehicle is allowed to keep driving until brakes must be engaged. Signed value.

* _drivingAllowed_ of type **BOOLEAN** <br>
  True if the vehicle is currently allowed to drive, false if a safety stop happened.

* _safetyViolations_ of type [**SafetyViolationsContainer**](#SafetyViolationsContainer) <br>
  Represents a list of violations which currently lead to stopping the vehicle.

* _currentVehicleSafetyClockTime_ of type [**TimestampIts**](ETSI-ITS-CDD.md#TimestampIts) <br>
  Represents the time when safety component created this container
    

```asn1
VehicleSafetyFeedbackContainer ::= SEQUENCE {
  remainingTimeToDrive Millisecond16,         
@@ -168,18 +208,44 @@ SafeVehicleTypeConfirmation ::= SEQUENCE {
```

### <a name="VehicleProperties"></a>VehicleProperties
This type represents the optional container added to the PCVM message mainly as a surrogate for missing static vehicle data that RVO will possibly need.  

 It includes the following components:

* _basicVehicleClass_ of type [**BasicVehicleClassEnum**](#BasicVehicleClassEnum) <br>
  It shares the vehicle class information to the RVO. 

* _vehicleLength_ of type [**Centimetre**](AVP-Commons-PDU-Descriptions.md#Centimetre) <br>
  Represents the overall vehicle length in (cm).

* _vehicleWheelbase_ of type [**Centimetre**](AVP-Commons-PDU-Descriptions.md#Centimetre) <br>
  Represents the wheelbase value (cm).

* _vehicleRearOverhang_ of type [**Centimetre**](AVP-Commons-PDU-Descriptions.md#Centimetre) <br>
  Represents the rear overhang value (cm). 

* _vehicleWidth_ of type [**Centimetre**](AVP-Commons-PDU-Descriptions.md#Centimetre) <br>
  Represents the overall vehicle width value (cm).  

* _vehicleTireWidth_ of type [**Centimetre**](AVP-Commons-PDU-Descriptions.md#Centimetre) <br>
  Represents a rough vehicle mass value imported fom the CDD.

* _vehicleTrackWidth_ of type [**Centimetre**](AVP-Commons-PDU-Descriptions.md#Centimetre) <br>
  Represents the specified width of tires value (cm). 

* _vehicleMass_ of type [**VehicleMass**](ETSI-ITS-CDD.md#VehicleMass) <br>
  Represents a rough vehicle mass value imported fom the CDD.

* _vehicleSpeedLimit_ of type [**CentimetrePerSecond**](AVP-Commons-PDU-Descriptions.md#CentimetrePerSecond) <br>
  Represents the limit value of the vehicle speed according to the use case, unit in (cm/s).   

* _vehicleCuvatureLimit_ of type [**HighResCurvature**](AVP-Commons-PDU-Descriptions.md#HighResCurvature) <br>
  Represents the maximum curvature for left and right turning (assumed symmetrical).

* _vehicleMaxAngularSteeringRate_ of type [**RadPerSecond**](AVP-Commons-PDU-Descriptions.md#RadPerSecond) <br>
  Represents maximum steering rate for automated operation (rate of road wheel angle).
    

```asn1
VehicleProperties ::= SEQUENCE {
  basicVehicleClass BasicVehicleClassEnum,
@@ -197,15 +263,32 @@ VehicleProperties ::= SEQUENCE {
}
```

### <a name="VehicleOperationModeEnum"></a>VehicleOperationModeEnum
### <a name="OperationModeEnum"></a>OperationModeEnum
This DE saves this state for logging purposes and forwards its content to the backend.

 The value shall be set to:
 - 0 - `unknown(0),
 - 1 - `initializing(1)`  		  - The vehicle is preparing for the mission, but hasn’t entered automted mode yet,
 - 2 - `prepared(2)`      		  - The vehicle is in automted mode, but currently doesn’t follow one of the control interfaces (waypoints, direct control, ...),
 - 3 - `driving(3)`       		  - The vehicle is in automted mode and actively follows one of the control interfaces (waypoints, direct control, ...). It hasn’t reached the end of the given path yet. Also applies if the vehicle stopped temporarily,
 - 4 - `terminating(4)`   		  - The vehicle left automated mode and is terminating related functions,
 - 5 - `suspend (5)` 				  - The vehicle is in a critical error state and requires external operator intervention,
 - 6 - `temp-error (6)`        - The vehicle is in a non-critical error state and is initiating a deceleration into stop and hold, prior to suspend,
 - 7 - `human-in-control (7)`  - Manual control of the vehicle has been taken over ,
 - 8 - `station-hold (8)`		  - The external mfg./customer environment interlocks have taken over and is holding the vehicle from marshalling.

Values:
* **unknown** (0)<br>
* **initializing** (1)<br>
* **prepared** (2)<br>
* **driving** (3)<br>
* **terminating** (4)<br>
* **suspend** (5)<br>
* **temp-error** (6)<br>
* **human-in-control** (7)<br>
* **station-hold** (8)<br>
```asn1
VehicleOperationModeEnum ::= ENUMERATED {
OperationModeEnum ::= ENUMERATED {
  unknown           (0),
  initializing      (1),  		
  prepared          (2),      	
@@ -220,23 +303,52 @@ VehicleOperationModeEnum ::= ENUMERATED {
```

### <a name="VehCodeEnum"></a>VehCodeEnum
This DE saves this state for logging purposes and forwards its content to the backend.

 The value shall be set to:
 - 0 - `unspecified`        		- Any kind of error that is not specified otherwise. Infrastructure aborts the mission,
 - 1 - `pathNotDriveable`  		- The vehicle can’t follow the given waypoints, based on the given DetectedVehiclePose. Infrastructure tries to plan a different path or aborts the mission otherwise,
 - 2 - `onboardVehicleFault` 	- Failure during vehicle onboarding,
 - 3 - `communicationFault`		- vehicle internal comms fault,
 - 4 - `vehicleEgressFault`	  - Failure during vehicle AVP egress or shutdown process.

Values:
* **onboard-vehicle-fault** (2)<br>
* **communication-fault** (3)<br>
* **vehicle-egress-fault** (4)<br>
* **unspecified** (0)<br>
* **pathNotDriveable** (1)<br>
* **onboardVehicleFault** (2)<br>
* **communicationFault** (3)<br>
* **vehicleEgressFault** (4)<br>
```asn1
VehCodeEnum ::= ENUMERATED {
  unspecified         (0),        		
  path-not-driveable(1),  		
  onboard-vehicle-fault (2), 	
  communication-fault (3),		
  vehicle-egress-fault (4),		
  pathNotDriveable    (1),  		
  onboardVehicleFault (2), 	
  communicationFault  (3),	
  vehicleEgressFault  (4),		
  ...
}
```

### <a name="BasicVehicleClassEnum"></a>BasicVehicleClassEnum
This data element specified a generic vehicle class that the RVO has to cope with.

 The value shall be set to:
 - 0 - `none`                    - Not known or unavailable category,
 - 1 - `unknown`                 - Does not fit any other category,
 - 2 - `special`                 - Special use,
 - 3 - `moto`                    - Motorcycle,
 - 4 - `car`                     - Passenger car,
 - 5 - `carOther`                - Four tire single units,
 - 6 - `bus`                     - Buses,
 - 7 - `axleCnt2`                - Two axle, six tire single units,
 - 8 - `axleCnt3`                - Three axle, single units,
 - 9 - `axleCnt4`                - Four or more axle, single unit,
 - 10 - `axleCnt4Trailer`        - Four or less axle, single trailer,
 - 11 - `axleCnt5Trailer`        - Five or less axle, single trailer,
 - 12 - `axleCnt6Trailer`        - Six or more axle, single trailer,
 - 13 - `axleCnt5MultiTrailer`   - Five or less axle, multi-trailer,
 - 14 - `axleCnt6MultiTrailer`   - Six axle, multi-trailer,
 - 15 - `axleCnt7MultiTrailer`   - Seven or more axle, multi-trailer.

Values:
* **none** (0)<br>