osi3::MovingObject::VehicleClassification Struct Reference

Information for the classification of vehicles regarding MovingObject (host or other). More...

Collaboration diagram for osi3::MovingObject::VehicleClassification:

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.

Note
Deprecated differentiation, use TYPE_CAR instead
TYPE_COMPACT_CAR 

Vehicle is a compact car.

Definition: Hatchback car with length between 4 and 4.5 m.

Note
Deprecated differentiation, use TYPE_CAR instead
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.

Note
Corresponds roughly with UNECE [1] categories M1, G and L7.
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
TYPE_MEDIUM_CAR 

Vehicle is a medium car.

Definition: Hatchback or sedan with length between 4.5 and 5 m.

Note
Deprecated differentiation, use the alias TYPE_CAR instead
TYPE_LUXURY_CAR 

Vehicle is a luxury car.

Definition: Sedan or coupe that is longer then 5 m.

Note
Deprecated differentiation, use TYPE_CAR instead
TYPE_DELIVERY_VAN 

Vehicle is a delivery van.

OSI_TYPE_DELIVERY_VAN.svg
Note
Deprecated differentiation, use TYPE_VAN instead
TYPE_VAN 

A van is a motorized vehicle with a larger cargo area than a car, used for transporting goods or people.

Note
Corresponds roughly with UNECE [1] categories M2 and N1.
This category is not intended for mini vans, which shall rather be categorized as cars.
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
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.

Note
Corresponds roughly with UNECE [1] category "N2".
OSI_TYPE_HEAVY_TRUCK.svg
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
TYPE_SEMITRACTOR 

A semi-tractor is a vehicle designed for towing semi-trailers for the transportation of heavy loads.

Note
Corresponds roughly with UNECE [1] category N3.
OSI_TYPE_SEMITRACTOR.svg
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
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.

Note
Corresponds roughly with UNECE [1] category O4.
Main reason for separation from the "Trailer" category is the difference in motion behavior (vehicle dynamics) and the different sensor perception due to the overlay with the towing vehicle.
The vehicle can be, but doesn't need to be, attached to another vehicle.
OSI_TYPE_SEMITRAILER.svg
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
TYPE_TRAILER 

A trailer is a non-motorized vehicle designed for being towed by a motorized vehicle to carry goods, animals, or people.

Note
Corresponds roughly with UNECE [1] category O1 to O3.
The vehicle can be, but doesn't need to be, attached to another vehicle.
OSI_TYPE_TRAILER.svg
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
TYPE_MOTORBIKE 

Vehicle is a motorbike or moped.

Note
Deprecated name, use TYPE_MOTORCYCLE instead
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.

Note
Corresponds roughly with UNECE [1] categories L1 to L5.
Usually considered as a vulnerable road user.
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
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.

Note
Usually considered as a vulnerable road user.
TYPE_BUS 

A bus is a motorized vehicle designed to carry multiple passengers.

Note
Corresponds roughly with UNECE [1] category M3 classes I, II, II.
References:
[1] United Nations Economic and Social Council. (2023). Consolidated Resolution on the Construction of Vehicles (ECE/TRANS/WP.29/78/Rev.7) [PDF]. United Nations. Retrieved May 3, 2024, from https://unece.org/sites/default/files/2023-12/ECE_TRANS_WP.29_78_Rev.7e.pdf
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.

Note
Usually considered as a vulnerable road user.
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.

Note
Usually considered as a vulnerable road user.
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.

Note
Usually considered as a vulnerable road user.
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.).

Note
This category is deliberately generic and may be refined in future versions as needed.
TYPE_AIRCRAFT 

An aircraft is a vehicle designed for flight through the air (airplanes, helicopters, etc.).

Note
This category is deliberately generic and may be refined in future versions as needed.
TYPE_LAND_VEHICLE 

A land vehicle is a vehicle designed for travel on land.

Note
This category is deliberately generic to include land vehicles that do not fall into other categories and may be refined in future versions as needed.

◆ 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.

Enumerator
ROLE_UNKNOWN 

Role of vehicle is unknown (must not be used in ground truth).

ROLE_OTHER 

Other (unspecified but known) role of vehicle.

ROLE_CIVIL 

The vehicle role is civil, e.g.

a "normal" car.

ROLE_AMBULANCE 

The vehicle role is ambulance.

ROLE_FIRE 

The vehicle role is fire fighting, e.g.

fire engine.

ROLE_POLICE 

The vehicle role is police.

ROLE_PUBLIC_TRANSPORT 

The vehicle role is public transport, e.g.

a school bus.

ROLE_ROAD_ASSISTANCE 

The vehicle role is roadside assistance, e.g.

tow truck.

ROLE_GARBAGE_COLLECTION 

The vehicle role is garbage collection, e.g.

a garbage truck or sweeper.

ROLE_ROAD_CONSTRUCTION 

The vehicle role is road construction, e.g.

a excavator or tipper truck.

ROLE_MILITARY 

The vehicle role is military, e.g.

camouflaged truck.

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