OSI KPIs definitions
SensorViewConfiguration Class Reference

The configuration settings for the SensorView to be provided by the environment simulation. 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.

Requirements
Field Type Repeated Requirements
version InterfaceVersion No Must be set and valid
sensor_id Identifier No Must correspond to the id of a virtual sensor
mounting_position MountingPosition No Must be set and valid
mounting_position_rmse MountingPosition No Must be set and valid
field_of_view_horizontal double No Must be set, positive, in radians [rad]
field_of_view_vertical double No Must be set, positive, in radians [rad]
range double No Must be set, positive, in seconds [s]
update_cycle_time Timestamp No Must be set, positive, in seconds [s]
update_cycle_offset Timestamp No Must be set, positive, in seconds [s]
simulation_start_time Timestamp No Must be set in seconds [s]
generic_sensor_view_configuration GenericSensorViewConfiguration Yes Must be set and valid
radar_sensor_view_configuration RadarSensorViewConfiguration Yes Must be set and valid
lidar_sensor_view_configuration LidarSensorViewConfiguration Yes Must be set and valid
camera_sensor_view CameraSensorView Yes Must be set and valid
ultrasonic_sensor_view UltrasonicSensorView Yes Must be set and valid
Details on update_cycle_offset
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.

Details on mounting_position

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.

References:
  • [1] DIN ISO 8855:2013-11
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.