You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adapt vehicle types from openx harmonization (#863)
* Adapt vehicle types from openx harmonization
* Update deprecation wording
* Update micro-mobility dev., notes and references
* Revise vehicle type description
* Add note on compliance with ASAM TrafficParticipants Specification
* Adapt note on OSI's obsolete type mapping issue (switch to past tense, revise wording)
* Remove obsolete note on difficult distinction between OSI's vehicle types
* Adapt ASAM style of standard names
Co-authored-by: jakobkaths <[email protected]>
Signed-off-by: Thomas Sedlmayer <[email protected]>
// \note OSI provides a richer set of vehicle types than is supported by some
764
-
// other OpenX standards (in particular, OpenScenario 1.x and 2.x, and OpenLabel).
765
-
// This is primarily for historical reasons. Where a single type from a
766
-
// different standard can map to multiple OSI types it is left up to the
767
-
// discretion of the OSI implementer how that mapping is achieved. In previous
768
-
// versions, for example, a simulator might have used the dimensions of a provided
769
-
// 3d model of a vehicle with type "car" in OpenScenario, to determine whether it
770
-
// should be a TYPE_SMALL_CAR or TYPE_MEDIUM_CAR in OSI. As part of the harmonization
771
-
// effort, it should now map to TYPE_CAR, which is an alias of the old TYPE_MEDIUM_CAR,
772
-
// and all other car type enums have been deprecated in favor of TYPE_CAR.
773
-
//
774
-
// \note Vehicle type classification is a complex area and there are no
775
-
// universally recognized standards. As such, the boundaries between some of the
776
-
// OSI vehicle types are not well-defined. It is left to the implementer to
777
-
// decide how to distinguish between them and agree that with any applications which
778
-
// make use of that specific interface instance. For example, how to distinguish
779
-
// between a HEAVY_TRUCK and a DELIVERY_VAN, or a TRAILER and a SEMITRAILER.
763
+
// \note OSI defines a set of vehicle types derived directly from the
764
+
// vehicle main categories specified in the ASAM TrafficParticipants
765
+
// Specification [1]. The type names and definitions reflect an effort
766
+
// toward compatibility with multiple ASAM OpenX standards, to support
767
+
// consistent cross-standard mapping. As part of ongoing and future
768
+
// harmonization efforts, OSI will continue to keep its vehicle type
769
+
// definitions synchronized with the ASAM TrafficParticipants
770
+
// Specification as permitted by technical and practical constraints.
771
+
//
772
+
// \note Historically, OSI offered a more granular set of vehicle types
773
+
// than some other OpenX standards (e.g., OpenSCENARIO XML/DSL and
774
+
// OpenLABEL). This was due to legacy design choices. Mapping a single
775
+
// type from another standard to multiple OSI types was left to the
776
+
// implementer's discretion. For instance, a simulator might have relied
777
+
// on the 3D model's dimensions for an OpenSCENARIO "car" to choose
778
+
// between TYPE_SMALL_CAR or TYPE_MEDIUM_CAR in OSI. With the ongoing
779
+
// harmonization effort, such ambiguities have been resolved. The
780
+
// recommended mapping is now TYPE_CAR, which serves as an alias for the
781
+
// former TYPE_MEDIUM_CAR. Previous car-specific enums (e.g.,
782
+
// TYPE_SMALL_CAR) have been deprecated in favor of TYPE_CAR.
783
+
//
784
+
// \par References:
785
+
// [1] ASAM e.V. (2024). <em>ASAM TrafficParticipants Specification</em>. ASAM OpenX Standards. Retrieved June 12, 2025, from https://publications.pages.asam.net/standards/ASAM_TrafficParticipants_Specification/ASAM_TrafficParticipants_Specification/v1.0.0/specification/index.html
780
786
//
781
787
enumType
782
788
{
@@ -808,11 +814,18 @@ message MovingObject
808
814
//
809
815
TYPE_COMPACT_CAR=3;
810
816
811
-
// Vehicle is a car.
817
+
// A car is a motorized vehicle designed primarily for passenger
818
+
// transportation.
819
+
// Typically has four wheels.
812
820
//
813
821
// This is to be used for all car-like vehicles, without any
814
822
// further differentiated type available.
815
823
//
824
+
// \note Corresponds roughly with UNECE [1] categories M1, G and L7.
825
+
//
826
+
// \par References:
827
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
828
+
//
816
829
TYPE_CAR=4;
817
830
818
831
// Vehicle is a medium car.
@@ -835,67 +848,207 @@ message MovingObject
835
848
//
836
849
// \image html OSI_TYPE_DELIVERY_VAN.svg
837
850
//
851
+
// \note Deprecated differentiation, use TYPE_VAN instead
852
+
//
838
853
TYPE_DELIVERY_VAN=6;
839
854
840
-
// Vehicle is a (heavy) truck.
855
+
// A van is a motorized vehicle with a larger cargo area than a car,
856
+
// used for transporting goods or people.
857
+
//
858
+
// \note Corresponds roughly with UNECE [1] categories M2 and N1.
859
+
//
860
+
// \note This category is not intended for mini vans, which shall
861
+
// rather be categorized as cars.
862
+
//
863
+
// \par References:
864
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
865
+
//
866
+
TYPE_VAN=6;
867
+
868
+
// A heavy truck is a large commercial vehicle designed for
869
+
// transporting heavy loads.
870
+
// The cargo area is rigidly fixed to the vehicle itself.
871
+
//
872
+
// \note Corresponds roughly with UNECE [1] category "N2".
841
873
//
842
874
// \image html OSI_TYPE_HEAVY_TRUCK.svg
843
875
//
876
+
// \par References:
877
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
878
+
//
844
879
TYPE_HEAVY_TRUCK=7;
845
880
846
-
// Vehicle is a tractor capable of pulling a semi-trailer.
881
+
// A semi-tractor is a vehicle designed for towing semi-trailers for
882
+
// the transportation of heavy loads.
883
+
//
884
+
// \note Corresponds roughly with UNECE [1] category N3.
847
885
//
848
886
// \image html OSI_TYPE_SEMITRACTOR.svg
849
887
//
888
+
// \par References:
889
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
890
+
//
850
891
TYPE_SEMITRACTOR=16;
851
892
852
-
// This vehicle is a semi-trailer that can be pulled by a
893
+
// A semi-trailer is a vehicle designed for being towed by a
894
+
// semi-tractor.
895
+
// Characteristics compared to a regular trailer are the large size,
896
+
// the fact that a large portion of the weight is supported at the
897
+
// hitch, and a large overlap with the towing vehicle, i.e. the
853
898
// semi-tractor.
854
899
//
855
-
// \note The vehicle can be, but doesn't need to be,
856
-
// attached to another vehicle.
900
+
// \note Corresponds roughly with UNECE [1] category O4.
901
+
//
902
+
// \note Main reason for separation from the "Trailer" category is
903
+
// the difference in motion behavior (vehicle dynamics) and the
904
+
// different sensor perception due to the overlay with the towing
905
+
// vehicle.
906
+
//
907
+
// \note The vehicle can be, but doesn't need to be, attached to
908
+
// another vehicle.
857
909
//
858
910
// \image html OSI_TYPE_SEMITRAILER.svg
859
911
//
912
+
// \par References:
913
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
914
+
//
860
915
TYPE_SEMITRAILER=8;
861
916
862
-
// Vehicle is a trailer.
917
+
// A trailer is a non-motorized vehicle designed for being towed by
918
+
// a motorized vehicle to carry goods, animals, or people.
919
+
//
920
+
// \note Corresponds roughly with UNECE [1] category O1 to O3.
863
921
//
864
-
// \note The vehicle can be, but doesn't need to be,
865
-
// attached to another vehicle.
922
+
// \note The vehicle can be, but doesn't need to be, attached to
923
+
// another vehicle.
866
924
//
867
925
// \image html OSI_TYPE_TRAILER.svg
868
926
//
927
+
// \par References:
928
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
929
+
//
869
930
TYPE_TRAILER=9;
870
931
871
932
// Vehicle is a motorbike or moped.
872
933
//
934
+
// \note Deprecated name, use TYPE_MOTORCYCLE instead
935
+
//
873
936
TYPE_MOTORBIKE=10;
874
937
875
-
// Vehicle is a bicycle (without motor and specific lights).
938
+
// A motorcycle is a motorized vehicle designed primarily for
939
+
// passenger transportation.
940
+
// Compared to a car, fewer passive safety features, such as a full
941
+
// passenger cell, are typically present.
942
+
// This category includes both two-wheeled motorcycles and
943
+
// three-wheeled vehicles like motorcycles with side-cars or trikes.
944
+
//
945
+
// \note Corresponds roughly with UNECE [1] categories L1 to L5.
946
+
//
947
+
// \note Usually considered as a vulnerable road user.
948
+
//
949
+
// \par References:
950
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
951
+
//
952
+
TYPE_MOTORCYCLE=10;
953
+
954
+
// A bicycle is a human-powered or motor-assisted, pedal-driven
955
+
// vehicle.
956
+
// This category includes typical two-wheeled bicycles as well as
957
+
// cargo-bikes and other pedal-driven vehicles with more than two
958
+
// wheels.
959
+
//
960
+
// \note Usually considered as a vulnerable road user.
876
961
//
877
962
TYPE_BICYCLE=11;
878
963
879
-
// Vehicle is a bus.
964
+
// A bus is a motorized vehicle designed to carry multiple
965
+
// passengers.
966
+
//
967
+
// \note Corresponds roughly with UNECE [1] category M3 classes I,
968
+
// II, II.
969
+
//
970
+
// \par References:
971
+
// [1] United Nations Economic and Social Council. (2023). <em>Consolidated Resolution on the Construction of Vehicles</em> (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
880
972
//
881
973
TYPE_BUS=12;
882
974
883
-
// Vehicle is a tram.
975
+
// A tram is a vehicle designed for using rail infrastructure for
976
+
// the transport of passengers on rail infrastructure.
977
+
// The rail infrastructure may fully or partially overlap with
978
+
// public road infrastructure.
979
+
// In contrast to trains, trams do not have exclusive right-of-way.
980
+
// A tram often acts as a series of connected vehicles.
884
981
//
885
982
TYPE_TRAM=13;
886
983
887
-
// Vehicle is a train.
984
+
// A train is a vehicle designed for the transport of passengers and
985
+
// freight on rail infrastructure.
986
+
// The rail infrastructure for trains is mostly grade-separated from
987
+
// the public road infrastructure as trains have exclusive
988
+
// right-of-way.
989
+
// Therefore, in case crossings with the road infrastructure occur,
990
+
// the exclusive right-of-way is ensured, e.g. by railway barriers.
991
+
// A train often acts as a series of connected vehicles.
888
992
//
889
993
TYPE_TRAIN=14;
890
994
891
-
// Vehicle is a wheelchair.
995
+
// A wheelchair is a manually or electrically powered mobility
996
+
// device with a seat mounted on a wheeled frame.
997
+
// Manual propulsion may be provided by the seated person or a
998
+
// person pushing the wheelchair.
999
+
//
1000
+
// \note Usually considered as a vulnerable road user.
892
1001
//
893
1002
TYPE_WHEELCHAIR=15;
894
1003
895
-
// Vehicle is a stand-up scooter, including
896
-
// motorized versions.
1004
+
// A stand-up scooter is a compact, typically two-wheeled device.
1005
+
// It is operated with the rider standing on a deck between the
1006
+
// wheels.
1007
+
// It may be propelled by a motor or the rider making a kicking
1008
+
// movement.
1009
+
//
1010
+
// \note Usually considered as a vulnerable road user.
897
1011
//
898
1012
TYPE_STANDUP_SCOOTER=17;
1013
+
1014
+
// A micro-mobility device is a small, lightweight vehicle for
1015
+
// short-distance travel, like hoverboards or roller skates.
1016
+
// While bicycles, stand-up scooters, and wheelchairs may
1017
+
// technically fall into this category, the respective detailed
1018
+
// categories shall be used instead.
1019
+
//
1020
+
// \note Usually considered as a vulnerable road user.
1021
+
//
1022
+
TYPE_MICROMOBILITY_DEVICE=18;
1023
+
1024
+
// A work machine is a vehicle designed for specific tasks (e.g.,
1025
+
// construction equipment, agricultural tractors, forklifts).
1026
+
//
1027
+
TYPE_WORK_MACHINE=19;
1028
+
1029
+
// A watercraft is a vehicle designed for travel on water (boats,
1030
+
// ships, etc.).
1031
+
//
1032
+
// \note This category is deliberately generic and may be refined in
1033
+
// future versions as needed.
1034
+
//
1035
+
TYPE_WATERCRAFT=20;
1036
+
1037
+
// An aircraft is a vehicle designed for flight through the air
1038
+
// (airplanes, helicopters, etc.).
1039
+
//
1040
+
// \note This category is deliberately generic and may be refined in
1041
+
// future versions as needed.
1042
+
//
1043
+
TYPE_AIRCRAFT=21;
1044
+
1045
+
// A land vehicle is a vehicle designed for travel on land.
1046
+
//
1047
+
// \note This category is deliberately generic to include land
1048
+
// vehicles that do not fall into other categories and may be
0 commit comments