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
Copy file name to clipboardExpand all lines: doc/architecture/trace_file_formats.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ This release no longer contains any support for the legacy `.txt` file format.
36
36
The OSI multi channel trace file format is a binary file format that allows for storing multiple serialized OSI message streams of the same or different types in one trace file, along with additional meta-data, and other related data streams.
37
37
Due to the nature of the format, it allows for random access to the data streams, and is suitable for more advanced use-cases.
38
38
39
-
The OSI multi channel trace file format is based on the MCAP file format, which is a generic multi channel trace file format.
39
+
The OSI multi channel trace file format is based on the MCAP file format cite:[mcap], which is a generic multi channel trace file format.
40
40
The OSI multi channel trace file format is a specialization of the MCAP file format, with additional constraints and requirements specific to OSI.
41
41
Hence, any valid OSI multi channel trace file is also a valid MCAP file, but not the other way around.
42
42
@@ -46,7 +46,7 @@ Therefore, it can be used with any or an empty profile field in the MCAP header
46
46
The following rules apply to OSI multi channel trace files:
47
47
48
48
- The file extension to be used is `.mcap`.
49
-
- The file shall be a valid MCAP file according to the https://mcap.dev/spec[MCAP format specification] version `0x30`.
49
+
- The file shall be a valid MCAP file according to the https://mcap.dev/spec[MCAP format specification] version `0x30` (cite:[mcap]).
50
50
- The file shall be an indexed MCAP file, including chunk index records in the summary section, with all message records written into chunk records.
51
51
- Chunk records shall either be uncompressed or compressed using either the `zstd` or `lz4` compression algorithms.
52
52
- The file shall contain a meta-data record with the OSI trace file meta-data defined in section <<sec-osi-trace-file-multi-global-meta-data>>.
// \note OSI provides a richer set of vehicle types than is supported by some
774
-
// other OpenX standards (in particular, OpenScenario 1.x and 2.x, and OpenLabel).
775
-
// This is primarily for historical reasons. Where a single type from a
776
-
// different standard can map to multiple OSI types it is left up to the
777
-
// discretion of the OSI implementer how that mapping is achieved. In previous
778
-
// versions, for example, a simulator might have used the dimensions of a provided
779
-
// 3d model of a vehicle with type "car" in OpenScenario, to determine whether it
780
-
// should be a TYPE_SMALL_CAR or TYPE_MEDIUM_CAR in OSI. As part of the harmonization
781
-
// effort, it should now map to TYPE_CAR, which is an alias of the old TYPE_MEDIUM_CAR,
782
-
// and all other car type enums have been deprecated in favor of TYPE_CAR.
783
-
//
784
-
// \note Vehicle type classification is a complex area and there are no
785
-
// universally recognized standards. As such, the boundaries between some of the
786
-
// OSI vehicle types are not well-defined. It is left to the implementer to
787
-
// decide how to distinguish between them and agree that with any applications which
788
-
// make use of that specific interface instance. For example, how to distinguish
789
-
// between a HEAVY_TRUCK and a DELIVERY_VAN, or a TRAILER and a SEMITRAILER.
773
+
// \note OSI defines a set of vehicle types derived directly from the
774
+
// vehicle main categories specified in the ASAM TrafficParticipants
775
+
// Specification [1]. The type names and definitions reflect an effort
776
+
// toward compatibility with multiple ASAM OpenX standards, to support
777
+
// consistent cross-standard mapping. As part of ongoing and future
778
+
// harmonization efforts, OSI will continue to keep its vehicle type
779
+
// definitions synchronized with the ASAM TrafficParticipants
780
+
// Specification as permitted by technical and practical constraints.
781
+
//
782
+
// \note Historically, OSI offered a more granular set of vehicle types
783
+
// than some other OpenX standards (e.g., OpenSCENARIO XML/DSL and
784
+
// OpenLABEL). This was due to legacy design choices. Mapping a single
785
+
// type from another standard to multiple OSI types was left to the
786
+
// implementer's discretion. For instance, a simulator might have relied
787
+
// on the 3D model's dimensions for an OpenSCENARIO "car" to choose
788
+
// between TYPE_SMALL_CAR or TYPE_MEDIUM_CAR in OSI. With the ongoing
789
+
// harmonization effort, such ambiguities have been resolved. The
790
+
// recommended mapping is now TYPE_CAR, which serves as an alias for the
791
+
// former TYPE_MEDIUM_CAR. Previous car-specific enums (e.g.,
792
+
// TYPE_SMALL_CAR) have been deprecated in favor of TYPE_CAR.
793
+
//
794
+
// \par References:
795
+
// [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
790
796
//
791
797
enumType
792
798
{
@@ -818,11 +824,18 @@ message MovingObject
818
824
//
819
825
TYPE_COMPACT_CAR=3;
820
826
821
-
// Vehicle is a car.
827
+
// A car is a motorized vehicle designed primarily for passenger
828
+
// transportation.
829
+
// Typically has four wheels.
822
830
//
823
831
// This is to be used for all car-like vehicles, without any
824
832
// further differentiated type available.
825
833
//
834
+
// \note Corresponds roughly with UNECE [1] categories M1, G and L7.
835
+
//
836
+
// \par References:
837
+
// [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
838
+
//
826
839
TYPE_CAR=4;
827
840
828
841
// Vehicle is a medium car.
@@ -845,67 +858,207 @@ message MovingObject
845
858
//
846
859
// \image html OSI_TYPE_DELIVERY_VAN.svg
847
860
//
861
+
// \note Deprecated differentiation, use TYPE_VAN instead
862
+
//
848
863
TYPE_DELIVERY_VAN=6;
849
864
850
-
// Vehicle is a (heavy) truck.
865
+
// A van is a motorized vehicle with a larger cargo area than a car,
866
+
// used for transporting goods or people.
867
+
//
868
+
// \note Corresponds roughly with UNECE [1] categories M2 and N1.
869
+
//
870
+
// \note This category is not intended for mini vans, which shall
871
+
// rather be categorized as cars.
872
+
//
873
+
// \par References:
874
+
// [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
875
+
//
876
+
TYPE_VAN=6;
877
+
878
+
// A heavy truck is a large commercial vehicle designed for
879
+
// transporting heavy loads.
880
+
// The cargo area is rigidly fixed to the vehicle itself.
881
+
//
882
+
// \note Corresponds roughly with UNECE [1] category "N2".
851
883
//
852
884
// \image html OSI_TYPE_HEAVY_TRUCK.svg
853
885
//
886
+
// \par References:
887
+
// [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
888
+
//
854
889
TYPE_HEAVY_TRUCK=7;
855
890
856
-
// Vehicle is a tractor capable of pulling a semi-trailer.
891
+
// A semi-tractor is a vehicle designed for towing semi-trailers for
892
+
// the transportation of heavy loads.
893
+
//
894
+
// \note Corresponds roughly with UNECE [1] category N3.
857
895
//
858
896
// \image html OSI_TYPE_SEMITRACTOR.svg
859
897
//
898
+
// \par References:
899
+
// [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
900
+
//
860
901
TYPE_SEMITRACTOR=16;
861
902
862
-
// This vehicle is a semi-trailer that can be pulled by a
903
+
// A semi-trailer is a vehicle designed for being towed by a
904
+
// semi-tractor.
905
+
// Characteristics compared to a regular trailer are the large size,
906
+
// the fact that a large portion of the weight is supported at the
907
+
// hitch, and a large overlap with the towing vehicle, i.e. the
863
908
// semi-tractor.
864
909
//
865
-
// \note The vehicle can be, but doesn't need to be,
866
-
// attached to another vehicle.
910
+
// \note Corresponds roughly with UNECE [1] category O4.
911
+
//
912
+
// \note Main reason for separation from the "Trailer" category is
913
+
// the difference in motion behavior (vehicle dynamics) and the
914
+
// different sensor perception due to the overlay with the towing
915
+
// vehicle.
916
+
//
917
+
// \note The vehicle can be, but doesn't need to be, attached to
918
+
// another vehicle.
867
919
//
868
920
// \image html OSI_TYPE_SEMITRAILER.svg
869
921
//
922
+
// \par References:
923
+
// [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
924
+
//
870
925
TYPE_SEMITRAILER=8;
871
926
872
-
// Vehicle is a trailer.
927
+
// A trailer is a non-motorized vehicle designed for being towed by
928
+
// a motorized vehicle to carry goods, animals, or people.
929
+
//
930
+
// \note Corresponds roughly with UNECE [1] category O1 to O3.
873
931
//
874
-
// \note The vehicle can be, but doesn't need to be,
875
-
// attached to another vehicle.
932
+
// \note The vehicle can be, but doesn't need to be, attached to
933
+
// another vehicle.
876
934
//
877
935
// \image html OSI_TYPE_TRAILER.svg
878
936
//
937
+
// \par References:
938
+
// [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
939
+
//
879
940
TYPE_TRAILER=9;
880
941
881
942
// Vehicle is a motorbike or moped.
882
943
//
944
+
// \note Deprecated name, use TYPE_MOTORCYCLE instead
945
+
//
883
946
TYPE_MOTORBIKE=10;
884
947
885
-
// Vehicle is a bicycle (without motor and specific lights).
948
+
// A motorcycle is a motorized vehicle designed primarily for
949
+
// passenger transportation.
950
+
// Compared to a car, fewer passive safety features, such as a full
951
+
// passenger cell, are typically present.
952
+
// This category includes both two-wheeled motorcycles and
953
+
// three-wheeled vehicles like motorcycles with side-cars or trikes.
954
+
//
955
+
// \note Corresponds roughly with UNECE [1] categories L1 to L5.
956
+
//
957
+
// \note Usually considered as a vulnerable road user.
958
+
//
959
+
// \par References:
960
+
// [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
961
+
//
962
+
TYPE_MOTORCYCLE=10;
963
+
964
+
// A bicycle is a human-powered or motor-assisted, pedal-driven
965
+
// vehicle.
966
+
// This category includes typical two-wheeled bicycles as well as
967
+
// cargo-bikes and other pedal-driven vehicles with more than two
968
+
// wheels.
969
+
//
970
+
// \note Usually considered as a vulnerable road user.
886
971
//
887
972
TYPE_BICYCLE=11;
888
973
889
-
// Vehicle is a bus.
974
+
// A bus is a motorized vehicle designed to carry multiple
975
+
// passengers.
976
+
//
977
+
// \note Corresponds roughly with UNECE [1] category M3 classes I,
978
+
// II, II.
979
+
//
980
+
// \par References:
981
+
// [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
982
//
891
983
TYPE_BUS=12;
892
984
893
-
// Vehicle is a tram.
985
+
// A tram is a vehicle designed for using rail infrastructure for
986
+
// the transport of passengers on rail infrastructure.
987
+
// The rail infrastructure may fully or partially overlap with
988
+
// public road infrastructure.
989
+
// In contrast to trains, trams do not have exclusive right-of-way.
990
+
// A tram often acts as a series of connected vehicles.
894
991
//
895
992
TYPE_TRAM=13;
896
993
897
-
// Vehicle is a train.
994
+
// A train is a vehicle designed for the transport of passengers and
995
+
// freight on rail infrastructure.
996
+
// The rail infrastructure for trains is mostly grade-separated from
997
+
// the public road infrastructure as trains have exclusive
998
+
// right-of-way.
999
+
// Therefore, in case crossings with the road infrastructure occur,
1000
+
// the exclusive right-of-way is ensured, e.g. by railway barriers.
1001
+
// A train often acts as a series of connected vehicles.
898
1002
//
899
1003
TYPE_TRAIN=14;
900
1004
901
-
// Vehicle is a wheelchair.
1005
+
// A wheelchair is a manually or electrically powered mobility
1006
+
// device with a seat mounted on a wheeled frame.
1007
+
// Manual propulsion may be provided by the seated person or a
1008
+
// person pushing the wheelchair.
1009
+
//
1010
+
// \note Usually considered as a vulnerable road user.
902
1011
//
903
1012
TYPE_WHEELCHAIR=15;
904
1013
905
-
// Vehicle is a stand-up scooter, including
906
-
// motorized versions.
1014
+
// A stand-up scooter is a compact, typically two-wheeled device.
1015
+
// It is operated with the rider standing on a deck between the
1016
+
// wheels.
1017
+
// It may be propelled by a motor or the rider making a kicking
1018
+
// movement.
1019
+
//
1020
+
// \note Usually considered as a vulnerable road user.
907
1021
//
908
1022
TYPE_STANDUP_SCOOTER=17;
1023
+
1024
+
// A micro-mobility device is a small, lightweight vehicle for
1025
+
// short-distance travel, like hoverboards or roller skates.
1026
+
// While bicycles, stand-up scooters, and wheelchairs may
1027
+
// technically fall into this category, the respective detailed
1028
+
// categories shall be used instead.
1029
+
//
1030
+
// \note Usually considered as a vulnerable road user.
1031
+
//
1032
+
TYPE_MICROMOBILITY_DEVICE=18;
1033
+
1034
+
// A work machine is a vehicle designed for specific tasks (e.g.,
1035
+
// construction equipment, agricultural tractors, forklifts).
1036
+
//
1037
+
TYPE_WORK_MACHINE=19;
1038
+
1039
+
// A watercraft is a vehicle designed for travel on water (boats,
1040
+
// ships, etc.).
1041
+
//
1042
+
// \note This category is deliberately generic and may be refined in
1043
+
// future versions as needed.
1044
+
//
1045
+
TYPE_WATERCRAFT=20;
1046
+
1047
+
// An aircraft is a vehicle designed for flight through the air
1048
+
// (airplanes, helicopters, etc.).
1049
+
//
1050
+
// \note This category is deliberately generic and may be refined in
1051
+
// future versions as needed.
1052
+
//
1053
+
TYPE_AIRCRAFT=21;
1054
+
1055
+
// A land vehicle is a vehicle designed for travel on land.
1056
+
//
1057
+
// \note This category is deliberately generic to include land
1058
+
// vehicles that do not fall into other categories and may be
0 commit comments