osi3::SensorViewConfiguration Struct Reference
The configuration settings for the SensorView
to be provided by the environment simulation.
More...
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
- 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
- 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 boxMovingObject::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
- 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 (e.g. OSMP GroundTruthInit) at initialization time shall be omitted from the SensorView
ground truth information.
Setting the omit_static_information
field allows a clear split between the dynamic simulation data, which is contained in ground truth messages with the omit_static_information
flag, and the static simulation data, which is contained in the (OSMP) GroundTruthInit.
◆ generic_sensor_view_configuration
repeated GenericSensorViewConfiguration osi3::SensorViewConfiguration::generic_sensor_view_configuration |
Generic Sensor View Configuration(s).
◆ radar_sensor_view_configuration
repeated RadarSensorViewConfiguration osi3::SensorViewConfiguration::radar_sensor_view_configuration |
Radar-specific Sensor View Configuration(s).
◆ lidar_sensor_view_configuration
repeated LidarSensorViewConfiguration osi3::SensorViewConfiguration::lidar_sensor_view_configuration |
Lidar-specific Sensor View Configuration(s).
◆ camera_sensor_view_configuration
repeated CameraSensorViewConfiguration osi3::SensorViewConfiguration::camera_sensor_view_configuration |
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).
- osi_sensorviewconfiguration.proto