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_TRUCK
to OSI vehicle classification - deprecate
TYPE_SEMITRAILER
as it is poorly defined and not a recognised term - deprecate
TYPE_HEAVY_TRUCK
to avoid ambiguity - add comments to
TYPE_TRUCK
indicating 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.