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_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 implementor how that mapping is achieved. For example, a simulator may use 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.
Vehicle type classification is a complex area and there are no universally recognised standards. As such, the boundaries between some of the OSI vehicle types are not well-defined. It is left to the implementor 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.
Enumerator
TYPE_UNKNOWN 

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_MEDIUM_CAR 

Vehicle is a medium car.

Definition: Hatchback or sedan with lenght 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.

OSI_TYPE_DELIVERY_VAN.svg
TYPE_HEAVY_TRUCK 

Vehicle is a (heavy) truck.

OSI_TYPE_HEAVY_TRUCK.svg
TYPE_SEMITRACTOR 

Vehicle is a tractor capable of pulling a semi-trailer.

OSI_TYPE_SEMITRACTOR.svg
TYPE_SEMITRAILER 

This vehicle is a semi-trailer that can be pulled by a semi-tractor.

Note
The vehicle can be, but doesn't need to be, attached to another vehicle.
OSI_TYPE_SEMITRAILER.svg
TYPE_TRAILER 

Vehicle is a trailer.

Note
The vehicle can be, but doesn't need to be, attached to another vehicle.
OSI_TYPE_TRAILER.svg
TYPE_MOTORBIKE 

Vehicle is a motorbike or moped.

TYPE_BICYCLE 

Vehicle is a bicycle (without motor and specific lights).

TYPE_BUS 

Vehicle is a bus.

TYPE_TRAM 

Vehicle is a tram.

TYPE_TRAIN 

Vehicle is a train.

TYPE_WHEELCHAIR 

Vehicle is a wheelchair.

TYPE_STANDUP_SCOOTER 

Vehicle is a stand-up or kickboard scooter, including motorized versions.

◆ 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