Commit b576d441 authored by Hendrik-Joern Guenther's avatar Hendrik-Joern Guenther
Browse files

Merge branch 'VRU_Class_alignment' into 'master'

Add contribution to align VRU import with TS 103 300-3

See merge request !9
parents bf06025e 80f9c8b2
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
ASN1_SRC   :=  $(wildcard asn/*.asn asn/cam/*.asn asn/cdd/*.asn)
ASN1_SRC   :=  $(wildcard asn/*.asn asn/cam/*.asn asn/cdd/*.asn asn/vam/VAM-PDU-Descriptions.asn asn/vam/VAM-Temp-Imports.asn)

ASN1_SRC_VALIDATE := \
               iso/iso19091_2018.asn \
+3 −0
Original line number Diff line number Diff line
@@ -4,3 +4,6 @@
[submodule "asn/cam"]
	path = asn/cam
	url = https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2.git
[submodule "asn/vam"]
	path = asn/vam
	url = https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3.git
+52 −50
Original line number Diff line number Diff line
@@ -17,7 +17,15 @@ FROM ITS-Container {itu-t (0) identified-organization (4) etsi (0) itsDomain (5)
Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn
*/
LaneID, NodeOffsetPointXY, Offset-B10, Offset-B11, Offset-B12, Offset-B13, Offset-B14, Offset-B16
FROM DSRC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)};
FROM DSRC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}


/** @brief Include ETSI TS 103 300-3 V2.1.1
Include references from https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3/tree/v2.1.1/
*/
VruProfileAndSubprofile, ClusterId, ClusterProfiles, ClusterCardinalitySize
FROM VAM-PDU-Descriptions {itu-t(0) identified-organization(4) etsi(0) itsDomain(5)
    wg1(1) ts(103300) vam(1) version1(1)};

/** @brief Area Circular
Describes a circular area. The circle is centred about the reference point of the ITS-S or about
@@ -380,8 +388,7 @@ A list of object classes.
ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence

/** @brief Object Class with Confidence
Describes the classification of a detected object. The object can be classified into one of four
categories: vehicle, person, animal and other. The classification is provided with a
Describes the classification of a detected object. The classification is provided with a
confidence indication.
*/
ObjectClassWithConfidence ::= SEQUENCE {
@@ -390,16 +397,44 @@ ObjectClassWithConfidence ::= SEQUENCE {
}

/** @brief Object Class
The class that best describes the detected object. Each class provides optional subclasses.
The class that best describes the detected object. The object can be classified into one of three
categories: vehicle, VRU and other. Each class provides optional subclasses.
*/
ObjectClass ::= CHOICE {
    vehicleSubclass    VehicleSubclassType,
    personSubclass      PersonSubclassType,
    animalSubclass      AnimalSubclassType,
    vruSubclass        VruSubclassType,
    otherSubclass      OtherSubclassType,
    ...
}

/** @brief VRU Subclass Type
Describes if a detected object is a single VRU or a group of VRUs.
*/
VruSubclassType ::= CHOICE {
    singleVru           VruProfileAndSubprofile,
    vruGroupSubclass    VruGroupSubClassType
}

/** @brief VruGroup Subclass Type
Describes the composition of a group of VRUs.
*/
VruGroupSubClassType ::= SEQUENCE {
    /** @details groupType
    Indicates the profiles of the VRUs detected in the group.
    A group of VRUs may be composed of VRUs of several different profiles.
    */
    groupType   ClusterProfiles,
    /** @details groupSize
    Indicates an estimation of the number of VRUs in the group.
    */
    groupSize   ClusterCardinalitySize,
    /** @details clusterID
    If the group is associated to a VRU cluster, this element indicates the ID of the associated cluster.
    The ClusterId can only be assigned if a VRU cluster which is transmitting VAMs has been detected.
    */
    clusterID   ClusterId OPTIONAL
}

/** @brief Offset Point
Describes an offset position in a two- or three-dimensional plane as imported from
CEN ISO/TS 19091. Excludes the node-LatLon DF and regional DF defined therein.
@@ -422,63 +457,30 @@ NodeOffsetPointZ ::= CHOICE {
    node-Z6 Offset-B16  --< node is within 327.67m of last node
}

/** @brief Animal Subclass Type
Describes the subclass of a detected object for class animal.
@unit n/a
*/
AnimalSubclassType ::= INTEGER {
    unknown             (0) --< the kind of animal is not known
} (0..255)

/** @brief Person Subclass Type
Describes the subclass of a detected object for class persons. Persons are a subset of the
vulnerable road users as defined in Section 4.2 of ETSI TR 103 300-2 as well as in the
classification provided in Annex 1 of Regulation EU 168/2013.
@unit n/a
*/
PersonSubclassType ::= INTEGER {
    unknown             (0),    --< the vru type for the detected object is unknown
    pedestrian          (1),    --< the detected object is a pedestrian travelling on foot
    personInWheelchair  (2),    --< the detected object is a person travelling in a wheelchair
    cyclist             (3),    --< the detected object is one or multiple persons travelling on
                                --< non-motorized unicycles, bicycles, tricycles or quadricycle
    personWithStroller  (4),    --< the detected object is a person travelling on foot pushing or
                                --< pulling a stroller potentially carrying by one or
                                --< multiple other persons
    personOnSkates      (5),    --< the detected object is a person travelling on skates, skateboards
                                --< or a small electric or foot operated scooter
    personGroup         (6)     --< the detected object is a group of persons with similar
                                --< movement characteristics
} (0..255)

/** @brief Vehicle Subclass Type
Describes the subclass of a detected object for class vehicle.
@unit n/a
*/
VehicleSubclassType ::= INTEGER {
    unknown             (0),    --< the type of vehicle is unknown
    moped               (1),    --< the detected object is a light motor vehicle with less than four
                                --< wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2
    motorcycle          (2),    --< the detected object is a light motor vehicle with less than four
                                --< wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7
    passengerCar        (3),    --< the detected object is a small passenger car as defined in
    passengerCar        (1),    --< the detected object is a small passenger car as defined in
                                --< UNECE/TRANS/WP.29/78/Rev.4 class M1
    bus                 (4),    --< the detected object is a large passenger vehicle as defined
    bus                 (2),    --< the detected object is a large passenger vehicle as defined
                                --< in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3
    lightTruck          (5),    --< the detected object is a light goods vehicle as defined
    lightTruck          (3),    --< the detected object is a light goods vehicle as defined
                                --< in UNECE/TRANS/WP.29/78/Rev.4 class N1
    heavyTruck          (6),    --< the detected object is a heavy goods vehicle as defined
    heavyTruck          (4),    --< the detected object is a heavy goods vehicle as defined
                                --< in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3
    trailer             (7),    --< the detected object is an unpowered vehicle that is intended
    trailer             (5),    --< the detected object is an unpowered vehicle that is intended
                                --< to be towed by a powered vehicle as defined in
                                --< UNECE/TRANS/WP.29/78/Rev.4 class O
    specialVehicles     (8),    --< the detected object is a vehicle which has a special purpose
    specialVehicles     (6),    --< the detected object is a vehicle which has a special purpose
                                --< other than the above (e.g. moving road works vehicle)
    tram                (9),    --< the detected object is a vehicle running on tracks along
    tram                (7),    --< the detected object is a vehicle running on tracks along
                                --< public streets
    emergencyVehicle    (10),   --< the detected object is a vehicle used in an emergency situation
    emergencyVehicle    (8),    --< the detected object is a vehicle used in an emergency situation
                                --< such as an ambulance, police car or fire engine
    agricultural        (11)    --< the detected object is a vehicle used for agricultural purposes
    agricultural        (9)     --< the detected object is a vehicle used for agricultural purposes
} (0..255)

/** @brief Other Subclass Type
Original line number Diff line number Diff line
Subproject commit aa7e1dfaf471fa9f464baa26f525f54866e0acd2
+72 −92
Original line number Diff line number Diff line
@@ -10,6 +10,10 @@
   Include ISO 19091
   Include references from https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn

 * **[VAM-PDU-Descriptions](VAM-PDU-Descriptions.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) vam(1) version1(1)}*<br/>
   Include ETSI TS 103 300-3 V2.1.1
   Include references from https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3/tree/v2.1.1/

## Data Elements:
### <a name="AreaCircular"></a>Area Circular

@@ -542,8 +546,7 @@ ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence

### <a name="ObjectClassWithConfidence"></a>Object Class with Confidence

Describes the classification of a detected object. The object can be classified into one of four
categories: vehicle, person, animal and other. The classification is provided with a
Describes the classification of a detected object. The classification is provided with a
confidence indication.


@@ -559,24 +562,66 @@ ObjectClassWithConfidence ::= SEQUENCE {

### <a name="ObjectClass"></a>Object Class

The class that best describes the detected object. Each class provides optional subclasses.
The class that best describes the detected object. The object can be classified into one of three
categories: vehicle, VRU and other. Each class provides optional subclasses.


Fields:
* vehicleSubclass [**VehicleSubclassType**](#VehicleSubclassType) <br>
* personSubclass [**PersonSubclassType**](#PersonSubclassType) <br>
* animalSubclass [**AnimalSubclassType**](#AnimalSubclassType) <br>
* vruSubclass [**VruSubclassType**](#VruSubclassType) <br>
* otherSubclass [**OtherSubclassType**](#OtherSubclassType) <br>
```asn1
ObjectClass ::= CHOICE {
    vehicleSubclass    VehicleSubclassType,
    personSubclass      PersonSubclassType,
    animalSubclass      AnimalSubclassType,
    vruSubclass        VruSubclassType,
    otherSubclass      OtherSubclassType,
    ...
}
```

### <a name="VruSubclassType"></a>VRU Subclass Type

Describes if a detected object is a single VRU or a group of VRUs.


Fields:
* singleVru [**VruProfileAndSubprofile**](VAM-PDU-Descriptions.md#VruProfileAndSubprofile) <br>
* vruGroupSubclass [**VruGroupSubClassType**](#VruGroupSubClassType) <br>
```asn1
VruSubclassType ::= CHOICE {
    singleVru           VruProfileAndSubprofile,
    vruGroupSubclass    VruGroupSubClassType
}
```

### <a name="VruGroupSubClassType"></a>VruGroup Subclass Type

Describes the composition of a group of VRUs.


Fields:
* groupType [**ClusterProfiles**](VAM-PDU-Descriptions.md#ClusterProfiles) <br>
   
   Indicates the profiles of the VRUs detected in the group.
   A group of VRUs may be composed of VRUs of several different profiles.
   
* groupSize [**ClusterCardinalitySize**](VAM-PDU-Descriptions.md#ClusterCardinalitySize) <br>
   
   Indicates an estimation of the number of VRUs in the group.
   
* clusterID [**ClusterId**](VAM-PDU-Descriptions.md#ClusterId)  OPTIONAL<br>
   
   If the group is associated to a VRU cluster, this element indicates the ID of the associated cluster.
   The ClusterId can only be assigned if a VRU cluster which is transmitting VAMs has been detected.
   
```asn1
VruGroupSubClassType ::= SEQUENCE {
        groupType   ClusterProfiles,
        groupSize   ClusterCardinalitySize,
        clusterID   ClusterId OPTIONAL
}
```

### <a name="OffsetPoint"></a>Offset Point

Describes an offset position in a two- or three-dimensional plane as imported from
@@ -623,63 +668,6 @@ NodeOffsetPointZ ::= CHOICE {
}
```

### <a name="AnimalSubclassType"></a>Animal Subclass Type

Describes the subclass of a detected object for class animal.


&nbsp;&nbsp;&nbsp;&nbsp;**Unit**: _n/a_

Values:
* **unknown** (0) <br>
the kind of animal is not known
```asn1
AnimalSubclassType ::= INTEGER {
    unknown             (0) 
} (0..255)
```

### <a name="PersonSubclassType"></a>Person Subclass Type

Describes the subclass of a detected object for class persons. Persons are a subset of the
vulnerable road users as defined in Section 4.2 of ETSI TR 103 300-2 as well as in the
classification provided in Annex 1 of Regulation EU 168/2013.


&nbsp;&nbsp;&nbsp;&nbsp;**Unit**: _n/a_

Values:
* **unknown** (0)<br>
the vru type for the detected object is unknown
* **pedestrian** (1)<br>
the detected object is a pedestrian travelling on foot
* **personInWheelchair** (2)<br>
the detected object is a person travelling in a wheelchair
* **cyclist** (3)<br>
the detected object is one or multiple persons travelling on
non-motorized unicycles, bicycles, tricycles or quadricycle
* **personWithStroller** (4)<br>
the detected object is a person travelling on foot pushing or
pulling a stroller potentially carrying by one or
multiple other persons
* **personOnSkates** (5)<br>
the detected object is a person travelling on skates, skateboards
or a small electric or foot operated scooter
* **personGroup** (6)     <br>
the detected object is a group of persons with similar
movement characteristics
```asn1
PersonSubclassType ::= INTEGER {
    unknown             (0),    
    pedestrian          (1),    
    personInWheelchair  (2),    
    cyclist             (3),    
    personWithStroller  (4),    
    personOnSkates      (5),    
    personGroup         (6)     
} (0..255)
```

### <a name="VehicleSubclassType"></a>Vehicle Subclass Type

Describes the subclass of a detected object for class vehicle.
@@ -690,53 +678,45 @@ Describes the subclass of a detected object for class vehicle.
Values:
* **unknown** (0)<br>
the type of vehicle is unknown
* **moped** (1)<br>
the detected object is a light motor vehicle with less than four
wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2
* **motorcycle** (2)<br>
the detected object is a light motor vehicle with less than four
wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7
* **passengerCar** (3)<br>
* **passengerCar** (1)<br>
the detected object is a small passenger car as defined in
UNECE/TRANS/WP.29/78/Rev.4 class M1
* **bus** (4)<br>
* **bus** (2)<br>
the detected object is a large passenger vehicle as defined
in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3
* **lightTruck** (5)<br>
* **lightTruck** (3)<br>
the detected object is a light goods vehicle as defined
in UNECE/TRANS/WP.29/78/Rev.4 class N1
* **heavyTruck** (6)<br>
* **heavyTruck** (4)<br>
the detected object is a heavy goods vehicle as defined
in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3
* **trailer** (7)<br>
* **trailer** (5)<br>
the detected object is an unpowered vehicle that is intended
to be towed by a powered vehicle as defined in
UNECE/TRANS/WP.29/78/Rev.4 class O
* **specialVehicles** (8)<br>
* **specialVehicles** (6)<br>
the detected object is a vehicle which has a special purpose
other than the above (e.g. moving road works vehicle)
* **tram** (9)<br>
* **tram** (7)<br>
the detected object is a vehicle running on tracks along
public streets
* **emergencyVehicle** (10)<br>
* **emergencyVehicle** (8)<br>
the detected object is a vehicle used in an emergency situation
such as an ambulance, police car or fire engine
* **agricultural** (11)    <br>
* **agricultural** (9)     <br>
the detected object is a vehicle used for agricultural purposes
```asn1
VehicleSubclassType ::= INTEGER {
    unknown             (0),    
    moped               (1),    
    motorcycle          (2),    
    passengerCar        (3),    
    bus                 (4),    
    lightTruck          (5),    
    heavyTruck          (6),    
    trailer             (7),    
    specialVehicles     (8),    
    tram                (9),    
    emergencyVehicle    (10),   
    agricultural        (11)    
    passengerCar        (1),    
    bus                 (2),    
    lightTruck          (3),    
    heavyTruck          (4),    
    trailer             (5),    
    specialVehicles     (6),    
    tram                (7),    
    emergencyVehicle    (8),    
    agricultural        (9)     
} (0..255)
```

Loading