open_simulation_interface  master (560d23a)
osi3::SensorViewConfiguration Struct Reference

The configuration settings for the SensorView to be provided by the environment simulation. More...

Collaboration diagram for osi3::SensorViewConfiguration:

Public Attributes

optional InterfaceVersion version = 1
 The interface version used by the sender (simulation environment). More...
 
optional Identifier sensor_id = 2
 The ID of the sensor at host vehicle's mounting_position. More...
 
optional MountingPosition mounting_position = 3
 The virtual mounting position of the sensor (origin and orientation of the sensor coordinate system) given in vehicle coordinates [1]. More...
 
optional MountingPosition mounting_position_rmse = 4
 The root mean squared error of the mounting position. More...
 
optional double field_of_view_horizontal = 5
 Field of View in horizontal orientation of the sensor. More...
 
optional double field_of_view_vertical = 6
 Field of View in vertical orientation of the sensor. More...
 
optional double range = 7
 Maximum range of the sensor. More...
 
optional Timestamp update_cycle_time = 8
 The update cycle time of the sensor model. More...
 
optional Timestamp update_cycle_offset = 9
 Initial update cycle offset of the sensor model. More...
 
optional Timestamp simulation_start_time = 10
 Simulation Start time. More...
 
optional bool omit_static_information = 11
 Omit Static Information. More...
 
repeated GenericSensorViewConfiguration generic_sensor_view_configuration
 Generic Sensor View Configuration(s). More...
 
repeated RadarSensorViewConfiguration radar_sensor_view_configuration
 Radar-specific Sensor View Configuration(s). More...
 
repeated LidarSensorViewConfiguration lidar_sensor_view_configuration
 Lidar-specific Sensor View Configuration(s). More...
 
repeated CameraSensorViewConfiguration camera_sensor_view_configuration
 Camera-specific Sensor View Configuration(s). More...
 
repeated UltrasonicSensorViewConfiguration ultrasonic_sensor_view_configuration = 1004
 Ultrasonic-specific Sensor View Configuration(s). More...
 

Detailed Description

The configuration settings for the SensorView to be provided by the environment simulation.

This message can be provided by the sensor model to the environment simulation, in which case it describes the input configuration that is desired by the sensor model. In response the environment simulation will configure the input and provide a new message of this type, which describes the actual configuration that it is going to employ. The two can and will differ, when either the environment simulation does not support a given requested configuration, and/or when the requested configuration allowed for multiple alternatives, in which case the set configuration will only contain the alternative chosen.

It should be noted that this message is not intended to provide for parametrization of a generic sensor model, but rather for the automatic configuration of an environment simulation in order to supply the necessary input to it, depending on its actual configuration. Mechanisms to parametrize sensor models are currently packaging-specific, i.e. they depend on the packaging mechanism chosen: For FMU-packaging the parametrization can be implemented using normal FMU parameters, and the requested SensorViewConfiguration can depend on those parameter values by being defined as a calculatedParameter.

The sensor-technology specific configurations are intended to allow sensor models to use useful sensor modeling base capabilities of the environment simulation (e.g. ray tracing engines, camera/lens image generation), which need configuration by the sensor model to supply suitable data. The specified details are not directly related to sensor details, but rather provide the necessary base machinery setup so that the data provided is suitable to model the sensor to a sufficient degree of fidelity internally. For example the number of rays parameters for the Lidar configuration does not match one to one with the number of laser rays a lidar sensor might cast, but rather specifies the number of rays being cast by a ray casting/tracing engine, which might be many more than the physical rays being cast at any point in time.

This also implies that for sensors that have dynamically varying characteristics (e.g. switching between wide and narrow focus, switching update rates, etc.), the basic approach is to specify the maximum amount of data needed at all times here, and internally select the data that is needed at any point in time.

In order to optimize the workload and bandwidth needed for sensor simulation, OSI packaging mechanisms can specify the ability to exchange SensorViewConfiguration messages not only prior to simulation startup, but also dynamically during simulation runs, thereby allowing dynamic input configuration switching to only request data that is needed in the current sensor mode. However this is more or less only a resource optimization strategy, and since providing fine-grained information like this can reveal internal characteristics of the sensor and/or sensor model, will not always be the preferred approach for reasons of IP protection.

Member Data Documentation

◆ version

optional InterfaceVersion osi3::SensorViewConfiguration::version = 1

The interface version used by the sender (simulation environment).

Rules\n\code{.unparsed}
is_set

◆ sensor_id

optional Identifier osi3::SensorViewConfiguration::sensor_id = 2

The ID of the sensor at host vehicle's mounting_position.

This is the ID of the virtual sensor, to be used in its detected object output; it is distinct from the IDs of its physical detectors, which are used in the detected features.

The ID is to be provided by the environment simulation, the sensor model is not in a position to provide a useful default value.

Rules\n\code{.unparsed}
is_set

◆ mounting_position

optional MountingPosition osi3::SensorViewConfiguration::mounting_position = 3

The virtual mounting position of the sensor (origin and orientation of the sensor coordinate system) given in vehicle coordinates [1].

The virtual position pertains to the sensor as a whole, regardless of the actual position of individual physical detectors, and governs the sensor-relative coordinates in detected objects of the sensor as a whole. Individual features detected by individual physical detectors are governed by the actual physical mounting positions of the detectors, as indicated in the technology-specific sub-views and sub-view configurations.

  • x-direction of sensor coordinate system: sensor viewing direction
  • z-direction of sensor coordinate system: sensor (up)
  • y-direction of sensor coordinate system: perpendicular to x and z right hand system
Reference:
[1] DIN Deutsches Institut fuer Normung e. V. (2013). DIN ISO 8855 Strassenfahrzeuge - Fahrzeugdynamik und Fahrverhalten - Begriffe. (DIN ISO 8855:2013-11). Berlin, Germany.
Note
The origin of vehicle's coordinate system in world frame is ( MovingObject::base . BaseMoving::position + Inverse_Rotation_yaw_pitch_roll( MovingObject::base . BaseMoving::orientation) * MovingObject::VehicleAttributes::bbcenter_to_rear) . The orientation of the vehicle's coordinate system is equal to the orientation of the vehicle's bounding box MovingObject::base . BaseMoving::orientation.
A default position can be provided by the sensor model (e.g. to indicate the position the model was validated for), but this is optional; the environment simulation must provide a valid mounting position (based on the vehicle configuration) when setting the view configuration.

◆ mounting_position_rmse

optional MountingPosition osi3::SensorViewConfiguration::mounting_position_rmse = 4

The root mean squared error of the mounting position.

◆ field_of_view_horizontal

optional double osi3::SensorViewConfiguration::field_of_view_horizontal = 5

Field of View in horizontal orientation of the sensor.

This determines the limit of the cone of interest of ground truth that the simulation environment has to provide. Viewing range: [- field_of_view_horizontal/2, field_of_view_horizontal/2] azimuth in the sensor frame as defined in Spherical3d.

Unit: rad

◆ field_of_view_vertical

optional double osi3::SensorViewConfiguration::field_of_view_vertical = 6

Field of View in vertical orientation of the sensor.

This determines the limit of the cone of interest of ground truth that the simulation environment has to provide. Viewing range: [- field_of_view_vertical/2, field_of_view_vertical/2] elevation in the sensor frame at zero azimuth as defined in Spherical3d.

Unit: rad

◆ range

optional double osi3::SensorViewConfiguration::range = 7

Maximum range of the sensor.

This determines the limit of the cone of interest of ground truth that the simulation environment has to provide.

Unit: m

Rules\n\code{.unparsed}
is_greater_than_or_equal_to: 0

◆ update_cycle_time

optional Timestamp osi3::SensorViewConfiguration::update_cycle_time = 8

The update cycle time of the sensor model.

This specifies the rate at which the sensor model is provided with new input data.

Unit: s

Note
In the case of FMU packaging this will correspond to the communication step size.

◆ update_cycle_offset

optional Timestamp osi3::SensorViewConfiguration::update_cycle_offset = 9

Initial update cycle offset of the sensor model.

This specifies the initial offset (i.e. initial delay) of the sensor model update cycle that the simulation should take into account. It is defined against a simulation start time of 0: i.e. an initial offset of 0.008s would mean, that the initial update of sensor input data to the model should occur at 0+0.008s, and then update_cycle_time after that, etc. If the simulation start time of the simulation is non-zero, then the offset still has to be interpreted against a 0 start time, and not simply added on top of the start time: e.g. if the simulation starts at 0.030s, and the update cycle time is 0.020s, then the first update to the sensor input should happen at 0.048s, or 0.018s after simulation start. This convention is needed to ensure stable phase position of the offset in the case of changing simulation start times, e.g. for partial re-simulation.

Unit: s

◆ simulation_start_time

optional Timestamp osi3::SensorViewConfiguration::simulation_start_time = 10

Simulation Start time.

This specifies the simulation start time that the Simulation has chosen. This field has no defined meaning if provided by the sensor model.

Unit: s

◆ omit_static_information

optional bool osi3::SensorViewConfiguration::omit_static_information = 11

Omit Static Information.

This flag specifies whether GroundTruth information that was already provided using a GroundTruthInit parameter at initialization time shall be omitted from the SensorView ground truth information.

◆ generic_sensor_view_configuration

repeated GenericSensorViewConfiguration osi3::SensorViewConfiguration::generic_sensor_view_configuration
Initial value:
=
1000

Generic Sensor View Configuration(s).

◆ radar_sensor_view_configuration

repeated RadarSensorViewConfiguration osi3::SensorViewConfiguration::radar_sensor_view_configuration
Initial value:
=
1001

Radar-specific Sensor View Configuration(s).

◆ lidar_sensor_view_configuration

repeated LidarSensorViewConfiguration osi3::SensorViewConfiguration::lidar_sensor_view_configuration
Initial value:
=
1002

Lidar-specific Sensor View Configuration(s).

◆ camera_sensor_view_configuration

repeated CameraSensorViewConfiguration osi3::SensorViewConfiguration::camera_sensor_view_configuration
Initial value:
=
1003

Camera-specific Sensor View Configuration(s).

◆ ultrasonic_sensor_view_configuration

repeated UltrasonicSensorViewConfiguration osi3::SensorViewConfiguration::ultrasonic_sensor_view_configuration = 1004

Ultrasonic-specific Sensor View Configuration(s).


The documentation for this struct was generated from the following file: