Struct MovingObject

Struct Documentation

struct MovingObject

A simulated object that is either a vehicle or another moving object (animal, pedestrian, etc), but not a stationary object (TrafficLight, TrafficSign, or StationaryObject).

../_images/OSI_MovingObject.svg

../_images/OSI_HostVehicle.svg

Note

The field MovingObject::vehicle_extension has to be filled if the MovingObject::Type is a vehicle.

Public Types

enum Type

Definition of object types.

Values:

TYPE_UNKNOWN = 0

Type of the object is unknown (must not be used in ground truth).

TYPE_OTHER = 1

Other (unspecified but known) type of moving object.

TYPE_VEHICLE = 2

Object is a vehicle.

TYPE_PEDESTRIAN = 3

Object is a pedestrian.

TYPE_ANIMAL = 4

Object is an animal.

Public Members

optional Identifier osi3::MovingObject::id = 1

The ID of the object.

optional BaseMoving osi3::MovingObject::base = 2

The base parameters of the vehicle.

Note

The bounding box does NOT includes mirrors for vehicles.

optional Type osi3::MovingObject::type = 3

The type of the object.

repeated Identifier osi3::MovingObject::assigned_lane_id = 4

The IDs of the lanes that this object is assigned to.

Note

Might be multiple if the object is switching lanes or moving from one lane into another following lane.

Note

OSI uses singular instead of plural for repeated field names.

optional VehicleAttributes osi3::MovingObject::vehicle_attributes = 5

Specific information about the vehicle.

Note

This field is mandatory if the type is TYPE_VEHICLE .

optional VehicleClassification osi3::MovingObject::vehicle_classification = 6

Specific information about the classification of the vehicle.

Note

This field is mandatory if the type is TYPE_VEHICLE .

optional string osi3::MovingObject::model_reference = 7

Opaque reference of an associated 3D model of the moving object.

Note

It is implementation-specific how model_references are resolved to 3d models.

struct VehicleAttributes

The vehicle attributes for MovingObject (host or other).

This is an extension to the MovingObject with additional attributes, such as type and lights. The origin of the rear (front) axis coordinate system in world coordinates is calculated as: MovingObject::base . BaseMoving::position + R * MovingObject::VehicleAttributes::bbcenter_to_rear (front) for the host vehicle (R rotates from vehicle to world frame, i.e. inverse orientation of MovingObject::base . BaseMoving::orientation).

For all vehicles, including host vehicles, the position given in MovingObject::base . BaseMoving::position points to the center of the vehicle’s bounding box.

The vehicle object coordinates are defined as x-axis is the direction from rear to front of the vehicle, y-axis corresponds to rear axle and z-axis points to vehicle ceiling [1]. The coordinate system is right-handed. Therefore the positive y-axis points to the left of the vehicle.

References:

  • [1] DIN ISO 8855:2013-11

Public Members

optional Identifier osi3::MovingObject::VehicleAttributes::driver_id = 1

The ID of the driver of the (host) vehicle.

Note

Field need not be set if host_vehicle is set to false or use value for non valid id.

optional double osi3::MovingObject::VehicleAttributes::radius_wheel = 2

Median radius of the wheels measured from a center of the wheel including tire.

Unit: [m]

optional uint32 osi3::MovingObject::VehicleAttributes::number_wheels = 3

Number of independent wheels.

Unit: []

optional Vector3d osi3::MovingObject::VehicleAttributes::bbcenter_to_rear = 4

The vector pointing from the bounding box center point (MovingObject::base . BaseMoving::position) to the middle (in x, y and z) of the rear axle under neutral load conditions. In object coordinates.

optional Vector3d osi3::MovingObject::VehicleAttributes::bbcenter_to_front = 5

The vector pointing from the bounding box center point (MovingObject::base . BaseMoving::position) to the middle (in x, y and z) of the front axle under neutral load conditions. In object coordinates.

optional double osi3::MovingObject::VehicleAttributes::ground_clearance = 6

Static minimal distance in [m] of under-body plane to ground surface plane (i.e. disregarding driving dynamic effects or road surface effects) under neutral load conditions. Can be useful to approximate the clear area under a vehicle that a sensor can see through.

struct VehicleClassification

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

Public Types

enum Type

Definition of vehicle types.

Values:

TYPE_UNKNOWN = 0

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

TYPE_OTHER = 1

Other (unspecified but known) type of vehicle.

TYPE_SMALL_CAR = 2

Vehicle is a small car.

Definition: Hatchback car with maximum length 4 m.

TYPE_COMPACT_CAR = 3

Vehicle is a compact car.

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

TYPE_MEDIUM_CAR = 4

Vehicle is a medium car.

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

TYPE_LUXURY_CAR = 5

Vehicle is a luxury car.

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

TYPE_DELIVERY_VAN = 6

Vehicle is a delivery van.

Definition: A delivery van.

TYPE_HEAVY_TRUCK = 7

Vehicle is a heavy truck.

TYPE_SEMITRAILER = 8

Vehicle is a truck with semitrailer.

TYPE_TRAILER = 9

Vehicle is a trailer (possibly attached to another vehicle).

TYPE_MOTORBIKE = 10

Vehicle is a motorbike or moped.

TYPE_BICYCLE = 11

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

TYPE_BUS = 12

Vehicle is a bus.

TYPE_TRAM = 13

Vehicle is a tram.

TYPE_TRAIN = 14

Vehicle is a train.

TYPE_WHEELCHAIR = 15

Vehicle is a wheelchair.

Public Members

optional Type osi3::MovingObject::VehicleClassification::type = 1

The type of the vehicle.

optional LightState osi3::MovingObject::VehicleClassification::light_state = 2

The light state of the vehicle.

optional bool osi3::MovingObject::VehicleClassification::has_trailer = 3

Flag defining whether the vehicle has an attached trailer.

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.

struct LightState

The state of the lights of a vehicle.

Public Types

enum IndicatorState

Definition of indicator states.

Values:

INDICATOR_STATE_UNKNOWN = 0

Indicator state is unknown (must not be used in ground truth).

INDICATOR_STATE_OTHER = 1

Other (unspecified but known) state of indicator.

INDICATOR_STATE_OFF = 2

Indicators are off.

INDICATOR_STATE_LEFT = 3

Left indicator is on.

INDICATOR_STATE_RIGHT = 4

Right indicator is on.

INDICATOR_STATE_WARNING = 5

Hazard/warning light, i.e. both indicators, are on.

enum GenericLightState

Definition of generic light states for light that may be on or off.

Values:

GENERIC_LIGHT_STATE_UNKNOWN = 0

Light state is unknown (must not be used in ground truth).

GENERIC_LIGHT_STATE_OTHER = 1

Other (unspecified but known) state of light.

GENERIC_LIGHT_STATE_OFF = 2

Light is off.

GENERIC_LIGHT_STATE_ON = 3

Light is on.

GENERIC_LIGHT_STATE_FLASHING_BLUE = 4

Light is flashing blue. To be used for emergency vehicles.

GENERIC_LIGHT_STATE_FLASHING_BLUE_AND_RED = 5

Light is flashing blue and red. To be used for emergency vehicles.

GENERIC_LIGHT_STATE_FLASHING_AMBER = 6

Light is flashing amber. To be used for service vehicles.

enum BrakeLightState

Definition of brake light states.

Values:

BRAKE_LIGHT_STATE_UNKNOWN = 0

Brake light state is unknown (must not be used in ground truth).

BRAKE_LIGHT_STATE_OTHER = 1

Other (unspecified but known) state of brake light.

BRAKE_LIGHT_STATE_OFF = 2

Brake lights are off.

BRAKE_LIGHT_STATE_NORMAL = 3

Brake lights are on with normal intensity.

BRAKE_LIGHT_STATE_STRONG = 4

Brake lights are on with extra bright intensity (indicating stronger braking).

Public Members

optional IndicatorState osi3::MovingObject::VehicleClassification::LightState::indicator_state = 1

State of the object’s indicators.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::front_fog_light = 2

State of the front fog light.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::rear_fog_light = 3

State of the rear fog light.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::head_light = 4

State of the head lights.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::high_beam = 5

State of the high beam.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::reversing_light = 6

State of the reversing light.

optional BrakeLightState osi3::MovingObject::VehicleClassification::LightState::brake_light_state = 7

State of the brake lights.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::license_plate_illumination_rear = 8

State of the (rear) license plate illumination.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::emergency_vehicle_illumination = 9

Lighting of emergency vehicles (ambulance, fire engine, police car, etc.). Must be set only if a vehicle is allowed to use this illumination type.

optional GenericLightState osi3::MovingObject::VehicleClassification::LightState::service_vehicle_illumination = 10

Lighting of service vehicles (snow removal, garbage truck, towing vehicle, slow or wide vehicle, etc.). Must be set only if a vehicle is allowed to use this illumination type.