-
Notifications
You must be signed in to change notification settings - Fork 130
Description
Describe the feature
There are a few related concerns:
- there are inconsistent vehicle categories between OpenScenario 1.x and OSI
- some of the vehicle categories are poorly defined and do not match with standard naming
- comments could do with clarification to aid consistency
Additional context and links
OSI defines a TYPE_HEAVY_TRUCK but no TYPE_TRUCK, see here. Whereas OpenScenario defines a type truck but no heavytruck, see here.
Also worth noting is that:
- OpenLABEL draft only recognises a single truck "A large, heavy motor vehicle used for carrying goods and materials", draft version of that spec can be found here, in the "Behaviour tags" document
- note this document is still under review
- it already has a comment indicating it should be consistent with OpenScenario and OSI :)
- UK regulations (COBA) distinguish between "OGV1" and "OGV2" vehicles which could be mapped to "truck" and "heavy truck", see here
- although under UK definitions a vehicle can change from being OGV1 to OGV2 depending on whether it currently has a trailer, such changing of a classification during a simulation may prove undesirable
- US regulations (FHWA) have many classes which are very specific in terms of the number of axles in both tractor and trailer, see here
- such precise categorisation may also be undesirable in an ADS perception context
- UNECE only recognises a single category of truck ("designed and constructed for the carriage of goods"), see here
Lastly it is worth noting that SEMITRAILER, although defined in both OpenScenario and OSI is not well-defined in any standards. At best it is recognised as the combination of both tractor and trailer. However, this is problematic for OSI given a single MovingObject can only define a single bounding box, and orientation, both of which are difficult to define for a non-rigid body such as an articulated lorry, which might otherwise be defined as a SEMITRAILER.
Describe the solution you would like
I would propose the following:
- add
TYPE_TRUCKto OSI vehicle classification - deprecate
TYPE_SEMITRAILERas it is poorly defined and not a recognised term - deprecate
TYPE_HEAVY_TRUCKto avoid ambiguity - add comments to
TYPE_TRUCKindicating the cases in which it is used
For completeness, a sister proposal to OpenScenario should also take place to deprecate semitrailer as a type from there.
Describe alternatives you have considered
It would also be an improvement to keep TYPE_HEAVY_TRUCK and to make a clear distinction. For example, the UK regulations (above) provide the clearest distinction between what might be a truck vs a heavy-truck.
This option was not recommended because that definition is not universal, and because the definition means a single entity, specifically the tractor for an articulated vehicle would go from being a TYPE_TRUCK when it did not have a trailer, and a TYPE_HEAVY_TRUCK once it did. That change of classification could produce confusion.
Describe the backwards compatibility
Adding TYPE_TRUCK is a backwards compatible change so no impact.
Deprecating TYPE_HEAVY_TRUCK and TYPE_SEMITRAILER is also backwards-compatible but some though should be given to removing them in a future major release which would be a non-back-compatible change.