@@ -731,8 +731,21 @@ message MovingObject
731731
732732 // Definition of vehicle types.
733733 //
734- // \note OSI deliberately aims to provide a richer set of vehicle types than both
735- // OpenLabel and OpenScenario 2.x. This is because ...
734+ // \note OSI provides a richer set of vehicle types than is supported by some
735+ // other OpenX standards (in particular, OpenScenario 1.x and 2.x, and OpenLabel).
736+ // This is primarily for historical reasons. Where a single type from a
737+ // different standard can map to multiple OSI types it is left up to the
738+ // discretion of the OSI implementor how that mapping is achieved. For example,
739+ // a simulator may use the dimensions of a provided 3d model of a vehicle with type
740+ // "car" in OpenScenario, to determine whether it should be a TYPE_SMALL_CAR or
741+ // TYPE_MEDIUM_CAR in OSI.
742+ //
743+ // \note Vehicle type classification is a complex area and there are no
744+ // universally recognised standards. As such, the boundaries between some of the
745+ // OSI vehicle types are not well-defined. It is left to the implementor to
746+ // decide how to distinguish between them and agree that with any applications which
747+ // make use of that specific interface instance. For example, how to distinguish
748+ // between a HEAVY_TRUCK and a DELIVERY_VAN, or a TRAILER and a SEMITRAILER.
736749 //
737750 enum Type
738751 {
@@ -748,132 +761,125 @@ message MovingObject
748761 //
749762 // Definition: Hatchback car with maximum length 4 m.
750763 //
751- // This is one of the OSI types which map from "car" in both OpenScenario 1.x and 2.x.
764+ // This is one of the OSI types which map from "car" in both
765+ // OpenScenario 1.x and 2.x.
752766 //
753767 TYPE_SMALL_CAR = 2 ;
754768
755769 // Vehicle is a compact car.
756770 //
757771 // Definition: Hatchback car with length between 4 and 4.5 m.
758772 //
759- // This is one of the OSI types which map from "car" in both OpenScenario 1.x and 2.x.
773+ // This is one of the OSI types which map from "car" in both
774+ // OpenScenario 1.x and 2.x.
760775 //
761776 TYPE_COMPACT_CAR = 3 ;
762777
763778 // Vehicle is a medium car.
764779 //
765780 // Definition: Hatchback or sedan with lenght between 4.5 and 5 m.
766781 //
767- // This is one of the OSI types which map from "car" in both OpenScenario 1.x and 2.x.
782+ // This is one of the OSI types which map from "car" in both
783+ // OpenScenario 1.x and 2.x.
768784 //
769785 TYPE_MEDIUM_CAR = 4 ;
770786
771787 // Vehicle is a luxury car.
772788 //
773789 // Definition: Sedan or coupe that is longer then 5 m.
774790 //
775- // This is one of the OSI types which map from "car" in both OpenScenario 1.x and 2.x.
791+ // This is one of the OSI types which map from "car" in both
792+ // OpenScenario 1.x and 2.x.
776793 //
777794 TYPE_LUXURY_CAR = 5 ;
778795
779796 // Vehicle is a delivery van.
780797 //
781- // Definition: A delivery van.
782- //
783798 // This corresponds to "van" in OpenScenario 1.x.
784799 //
785- // This is one of the OSI types which map from "truck" in OpenScenario 2.x.
800+ // This is one of the OSI types which map from "truck" in
801+ // OpenScenario 2.x.
786802 //
787803 TYPE_DELIVERY_VAN = 6 ;
788804
789805 // Vehicle is a (heavy) truck.
790806 //
791- // Definition: A rigid-body truck.
792- //
793- // This corresponds to "truck" in OpenScenario 1.x.
794- //
795- // This is one of the OSI types which map from "truck" in OpenScenario 2.x.
807+ // This is one of the OSI types which map from "truck" in
808+ // both OpenScenario 1.x and 2.x.
796809 //
797810 TYPE_HEAVY_TRUCK = 7 ;
798811
799- // Vehicle is a tractor unit capable of pulling a semi-trailer.
800- //
801- // Definition: The cab for an articulated vehicle.
812+ // Vehicle is a tractor capable of pulling a semi-trailer.
802813 //
803- // This has no equivalent in OpenScenario 1.x.
804- //
805- // This is one of the OSI types which map from "truck" in OpenScenario 2.x.
814+ // This is one of the OSI types which map from "truck" in
815+ // both OpenScenario 1.x and 2.x.
806816 //
807817 TYPE_SEMITRACTOR = 16 ;
808818
809- // This vehicle is a trailer unit for an articulated vehicle.
810- //
811- // Definition: A trailer that can be pulled by a semi-tractor.
812- // There is no precise definition of this vs a typical trailer, although
813- // typically it is used for trailers with a non-trivial bounding box
814- // overlap with the tractor unit.
819+ // This vehicle is a semi-trailer that can be pulled by a
820+ // semi-tractor.
815821 //
816822 // This corresponds to "semitrailer" in OpenScenario 1.x.
817823 //
818- // This is one of the OSI types which map from "trailer" in OpenScenario 2.x.
824+ // This is one of the OSI types which map from "trailer" in
825+ // OpenScenario 2.x.
819826 //
820827 TYPE_SEMITRAILER = 8 ;
821828
822- // Vehicle is a trailer (possibly attached to another vehicle) .
829+ // Vehicle is a trailer.
823830 //
824- // Definition: A trailer that isn't pulled by a semi-tractor.
831+ // \note The vehicle can be, but doesn't need to be,
832+ // attached to another vehicle.
825833 //
826834 // This corresponds to "trailer" in OpenScenario 1.x.
827835 //
828- // This is one of the OSI types which map from "trailer" in OpenScenario 2.x.
836+ // This is one of the OSI types which map from "trailer" in
837+ // OpenScenario 2.x.
829838 //
830839 TYPE_TRAILER = 9 ;
831840
832841 // Vehicle is a motorbike or moped.
833842 //
834843 // This corresponds to "motorbike" in OpenScenario 1.x.
835844 //
836- // This is one of the OSI types which map from "VRU_vehicle" in OpenScenario 2.x.
845+ // This is one of the OSI types which map from "VRU_vehicle" in
846+ // OpenScenario 2.x.
837847 //
838848 TYPE_MOTORBIKE = 10 ;
839849
840850 // Vehicle is a bicycle (without motor and specific lights).
841851 //
842852 // This corresponds to "bicycle" in OpenScenario 1.x.
843853 //
844- // This is one of the OSI types which map from "VRU_vehicle" in OpenScenario 2.x.
854+ // This is one of the OSI types which map from "VRU_vehicle" in
855+ // OpenScenario 2.x.
845856 //
846857 TYPE_BICYCLE = 11 ;
847858
848859 // Vehicle is a bus.
849860 //
850861 // This corresponds to "bus" in both OpenScenario 1.x and 2.x.
851862 //
852- // This is one of the OSI types which map from "bus" in OpenScenario 2.x.
853- //
854863 TYPE_BUS = 12 ;
855864
856865 // Vehicle is a tram.
857866 //
858867 // This corresponds to "tram" in OpenScenario 1.x.
859868 //
860- // This is one of the OSI types which map from "bus" in OpenScenario 2.x.
861- //
862869 TYPE_TRAM = 13 ;
863870
864871 // Vehicle is a train.
865872 //
866873 // This corresponds to "train" in OpenScenario 1.x.
867874 //
868- // This is one of the OSI types which map from "bus" in OpenScenario 2.x.
869- //
870875 TYPE_TRAIN = 14 ;
871876
872877 // Vehicle is a wheelchair.
873878 //
874879 // This has no equivalent in OpenScenario 1.x.
875880 //
876- // This is one of the OSI types which map from "VRU_vehicle" in OpenScenario 2.x.
881+ // This is one of the OSI types which map from "VRU_vehicle" in
882+ // OpenScenario 2.x.
877883 //
878884 TYPE_WHEELCHAIR = 15 ;
879885 }
0 commit comments