open_simulation_interface
v3.4.0 (2021-11-18)
|
The configuration settings for the SensorView
to be provided by the environment simulation.
More...
Public Attributes | |
optional InterfaceVersion | version = 1 |
optional Identifier | sensor_id = 2 |
optional MountingPosition | mounting_position = 3 |
optional MountingPosition | mounting_position_rmse = 4 |
optional double | field_of_view_horizontal = 5 |
optional double | field_of_view_vertical = 6 |
optional double | range = 7 |
optional Timestamp | update_cycle_time = 8 |
optional Timestamp | update_cycle_offset = 9 |
optional Timestamp | simulation_start_time = 10 |
optional bool | omit_static_information = 11 |
repeated GenericSensorViewConfiguration | generic_sensor_view_configuration |
repeated RadarSensorViewConfiguration | radar_sensor_view_configuration |
repeated LidarSensorViewConfiguration | lidar_sensor_view_configuration |
repeated CameraSensorViewConfiguration | camera_sensor_view_configuration |
repeated UltrasonicSensorViewConfiguration | ultrasonic_sensor_view_configuration = 1004 |
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.
repeated CameraSensorViewConfiguration osi3::SensorViewConfiguration::camera_sensor_view_configuration |
Camera-specific Sensor View Configuration(s).
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
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
repeated GenericSensorViewConfiguration osi3::SensorViewConfiguration::generic_sensor_view_configuration |
Generic Sensor View Configuration(s).
repeated LidarSensorViewConfiguration osi3::SensorViewConfiguration::lidar_sensor_view_configuration |
Lidar-specific Sensor View Configuration(s).
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.
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
. optional MountingPosition osi3::SensorViewConfiguration::mounting_position_rmse = 4 |
The root mean squared error of the mounting position.
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.
repeated RadarSensorViewConfiguration osi3::SensorViewConfiguration::radar_sensor_view_configuration |
Radar-specific Sensor View Configuration(s).
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 \endrules
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.
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
repeated UltrasonicSensorViewConfiguration osi3::SensorViewConfiguration::ultrasonic_sensor_view_configuration = 1004 |
Ultrasonic-specific Sensor View Configuration(s).
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 resimulation.
Unit: s
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
optional InterfaceVersion osi3::SensorViewConfiguration::version = 1 |
The interface version used by the sender (simulation environment).