osi3::MovingObject::VehicleClassification Struct Reference
Information for the classification of vehicles regarding MovingObject
(host or other).
More...
Classes
struct | LightState |
The state of the lights of a vehicle. More... | |
Public Types
enum | Type { TYPE_UNKNOWN = 0, TYPE_OTHER = 1, TYPE_SMALL_CAR = 2, TYPE_COMPACT_CAR = 3, TYPE_CAR = 4, TYPE_MEDIUM_CAR = 4, TYPE_LUXURY_CAR = 5, TYPE_DELIVERY_VAN = 6, TYPE_HEAVY_TRUCK = 7, TYPE_SEMITRACTOR = 16, TYPE_SEMITRAILER = 8, TYPE_TRAILER = 9, TYPE_MOTORBIKE = 10, TYPE_BICYCLE = 11, TYPE_BUS = 12, TYPE_TRAM = 13, TYPE_TRAIN = 14, TYPE_WHEELCHAIR = 15, TYPE_STANDUP_SCOOTER = 17 } |
Definition of vehicle types. More... | |
enum | Role { ROLE_UNKNOWN = 0, ROLE_OTHER = 1, ROLE_CIVIL = 2, ROLE_AMBULANCE = 3, ROLE_FIRE = 4, ROLE_POLICE = 5, ROLE_PUBLIC_TRANSPORT = 6, ROLE_ROAD_ASSISTANCE = 7, ROLE_GARBAGE_COLLECTION = 8, ROLE_ROAD_CONSTRUCTION = 9, ROLE_MILITARY = 10 } |
Definition of vehicle roles. More... | |
Public Attributes
optional Type | type = 1 |
The type of the vehicle. More... | |
optional LightState | light_state = 2 |
The light state of the vehicle. More... | |
optional bool | has_trailer = 3 |
Flag defining whether the vehicle has an attached trailer. More... | |
optional Identifier | trailer_id = 4 |
Id of the attached trailer. More... | |
optional Role | role = 5 |
The role of the vehicle. More... | |
Detailed Description
Information for the classification of vehicles regarding MovingObject
(host or other).
Member Enumeration Documentation
◆ Type
Definition of vehicle types.
- Note
- OSI provides a richer set of vehicle types than is supported by some other OpenX standards (in particular, OpenScenario 1.x and 2.x, and OpenLabel). This is primarily for historical reasons. Where a single type from a different standard can map to multiple OSI types it is left up to the discretion of the OSI implementer how that mapping is achieved. In previous versions, for example, a simulator might have used the dimensions of a provided 3d model of a vehicle with type "car" in OpenScenario, to determine whether it should be a TYPE_SMALL_CAR or TYPE_MEDIUM_CAR in OSI. As part of the harmonization effort, it should now map to TYPE_CAR, which is an alias of the old TYPE_MEDIUM_CAR, and all other car type enums have been deprecated in favor of TYPE_CAR.
- Vehicle type classification is a complex area and there are no universally recognized standards. As such, the boundaries between some of the OSI vehicle types are not well-defined. It is left to the implementer to decide how to distinguish between them and agree that with any applications which make use of that specific interface instance. For example, how to distinguish between a HEAVY_TRUCK and a DELIVERY_VAN, or a TRAILER and a SEMITRAILER.
◆ Role
Definition of vehicle roles.
The role specifies the perceived role of a vehicle. Therefore, a civil police car is set to ROLE_CIVIL as long as it cannot be perceived as a ROLE_POLICE. The normal use case will consist of 99% ROLE_CIVIL, as this role is used for normal vehicles. These roles may influence the behavior in traffic of the surrounding vehicles. To check whether a role is "active" (e.g. blue flashing light of an ambulance or an amber flashing light of a sweeper) can be looked up in message LightState.
Member Data Documentation
◆ type
optional Type osi3::MovingObject::VehicleClassification::type = 1 |
The type of the vehicle.
◆ light_state
optional LightState osi3::MovingObject::VehicleClassification::light_state = 2 |
The light state of the vehicle.
◆ has_trailer
optional bool osi3::MovingObject::VehicleClassification::has_trailer = 3 |
Flag defining whether the vehicle has an attached trailer.
◆ trailer_id
optional Identifier osi3::MovingObject::VehicleClassification::trailer_id = 4 |
Id of the attached trailer.
- Note
- Field need not be set if has_Trailer is set to false or use value for non valid id.
- Rules
- check_if this.has_trailer is_equal_to true else do_check is_set
◆ role
optional Role osi3::MovingObject::VehicleClassification::role = 5 |
The role of the vehicle.
- osi_object.proto