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_VAN = 6, TYPE_HEAVY_TRUCK = 7, TYPE_SEMITRACTOR = 16, TYPE_SEMITRAILER = 8, TYPE_TRAILER = 9, TYPE_MOTORBIKE = 10, TYPE_MOTORCYCLE = 10, TYPE_BICYCLE = 11, TYPE_BUS = 12, TYPE_TRAM = 13, TYPE_TRAIN = 14, TYPE_WHEELCHAIR = 15, TYPE_STANDUP_SCOOTER = 17, TYPE_MICROMOBILITY_DEVICE = 18, TYPE_WORK_MACHINE = 19, TYPE_WATERCRAFT = 20, TYPE_AIRCRAFT = 21, TYPE_LAND_VEHICLE = 22 } |
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 defines a set of vehicle types derived directly from the vehicle main categories specified in the ASAM TrafficParticipants Specification [1]. The type names and definitions reflect an effort toward compatibility with multiple ASAM OpenX standards, to support consistent cross-standard mapping. As part of ongoing and future harmonization efforts, OSI will continue to keep its vehicle type definitions synchronized with the ASAM TrafficParticipants Specification as permitted by technical and practical constraints.
- Historically, OSI offered a more granular set of vehicle types than some other OpenX standards (e.g., OpenSCENARIO XML/DSL and OpenLABEL). This was due to legacy design choices. Mapping a single type from another standard to multiple OSI types was left to the implementer's discretion. For instance, a simulator might have relied on the 3D model's dimensions for an OpenSCENARIO "car" to choose between TYPE_SMALL_CAR or TYPE_MEDIUM_CAR in OSI. With the ongoing harmonization effort, such ambiguities have been resolved. The recommended mapping is now TYPE_CAR, which serves as an alias for the former TYPE_MEDIUM_CAR. Previous car-specific enums (e.g., TYPE_SMALL_CAR) have been deprecated in favor of TYPE_CAR.
- References:
- [1] ASAM e.V. (2024). ASAM TrafficParticipants Specification. 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
Enumerator | |
---|---|
TYPE_UNKNOWN | Allow aliases in enum. Type of vehicle is unknown (must not be used in ground truth). |
TYPE_OTHER | Other (unspecified but known) type of vehicle. |
TYPE_SMALL_CAR | Vehicle is a small car. Definition: Hatchback car with maximum length 4 m.
|
TYPE_COMPACT_CAR | Vehicle is a compact car. Definition: Hatchback car with length between 4 and 4.5 m.
|
TYPE_CAR | A car is a motorized vehicle designed primarily for passenger transportation. Typically has four wheels. This is to be used for all car-like vehicles, without any further differentiated type available.
|
TYPE_MEDIUM_CAR | Vehicle is a medium car. Definition: Hatchback or sedan with length between 4.5 and 5 m.
|
TYPE_LUXURY_CAR | Vehicle is a luxury car. Definition: Sedan or coupe that is longer then 5 m.
|
TYPE_DELIVERY_VAN | Vehicle is a delivery van.
|
TYPE_VAN | A van is a motorized vehicle with a larger cargo area than a car, used for transporting goods or people.
|
TYPE_HEAVY_TRUCK | A heavy truck is a large commercial vehicle designed for transporting heavy loads. The cargo area is rigidly fixed to the vehicle itself.
|
TYPE_SEMITRACTOR | A semi-tractor is a vehicle designed for towing semi-trailers for the transportation of heavy loads.
|
TYPE_SEMITRAILER | A semi-trailer is a vehicle designed for being towed by a semi-tractor. Characteristics compared to a regular trailer are the large size, the fact that a large portion of the weight is supported at the hitch, and a large overlap with the towing vehicle, i.e. the semi-tractor.
|
TYPE_TRAILER | A trailer is a non-motorized vehicle designed for being towed by a motorized vehicle to carry goods, animals, or people.
|
TYPE_MOTORBIKE | Vehicle is a motorbike or moped.
|
TYPE_MOTORCYCLE | A motorcycle is a motorized vehicle designed primarily for passenger transportation. Compared to a car, fewer passive safety features, such as a full passenger cell, are typically present. This category includes both two-wheeled motorcycles and three-wheeled vehicles like motorcycles with side-cars or trikes.
|
TYPE_BICYCLE | A bicycle is a human-powered or motor-assisted, pedal-driven vehicle. This category includes typical two-wheeled bicycles as well as cargo-bikes and other pedal-driven vehicles with more than two wheels.
|
TYPE_BUS | A bus is a motorized vehicle designed to carry multiple passengers.
|
TYPE_TRAM | A tram is a vehicle designed for using rail infrastructure for the transport of passengers on rail infrastructure. The rail infrastructure may fully or partially overlap with public road infrastructure. In contrast to trains, trams do not have exclusive right-of-way. A tram often acts as a series of connected vehicles. |
TYPE_TRAIN | A train is a vehicle designed for the transport of passengers and freight on rail infrastructure. The rail infrastructure for trains is mostly grade-separated from the public road infrastructure as trains have exclusive right-of-way. Therefore, in case crossings with the road infrastructure occur, the exclusive right-of-way is ensured, e.g. by railway barriers. A train often acts as a series of connected vehicles. |
TYPE_WHEELCHAIR | A wheelchair is a manually or electrically powered mobility device with a seat mounted on a wheeled frame. Manual propulsion may be provided by the seated person or a person pushing the wheelchair.
|
TYPE_STANDUP_SCOOTER | A stand-up scooter is a compact, typically two-wheeled device. It is operated with the rider standing on a deck between the wheels. It may be propelled by a motor or the rider making a kicking movement.
|
TYPE_MICROMOBILITY_DEVICE | A micro-mobility device is a small, lightweight vehicle for short-distance travel, like hoverboards or roller skates. While bicycles, stand-up scooters, and wheelchairs may technically fall into this category, the respective detailed categories shall be used instead.
|
TYPE_WORK_MACHINE | A work machine is a vehicle designed for specific tasks (e.g., construction equipment, agricultural tractors, forklifts). |
TYPE_WATERCRAFT | A watercraft is a vehicle designed for travel on water (boats, ships, etc.).
|
TYPE_AIRCRAFT | An aircraft is a vehicle designed for flight through the air (airplanes, helicopters, etc.).
|
TYPE_LAND_VEHICLE | A land vehicle is a vehicle designed for travel on land.
|
◆ 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