Struct SensorData¶
Defined in File osi_sensordata.proto
Struct Documentation¶
-
struct
SensorData¶ The sensor information derived from
GroundTruthand processed by sensor-models.The sensor information is supposed to imitate the output of real sensors. All information regarding the environment is given with respect to the virtual sensor coordinate system specified in
SensorData::mounting_position, except for feature data, which is given with respect to the physical sensor coordinate system specified in the corresponding physical sensor’s coordinate system.When simulating multiple distinct sensors, each sensor can produce an individual copy of the
SensorDatainterface. This allows an independent treatment of the sensors.Sensor fusion models can consolidate multiple
SensorDatainterfaces into one consolidatedSensorDatainterface. This can happen either in seperate logical models, consuming and producingSensorDatainterfaces, or it can happen as part of a combined sensor/logical model, that consumesSensorViewinterfaces and directly produces one consolidatedSensorDataoutput.Public Members
-
optional InterfaceVersion osi3::SensorData::version = 1 The interface version used by the sender.
-
optional Timestamp osi3::SensorData::timestamp = 2 The timestamp of the sensor data. Zero time is arbitrary but must be identical for all messages. Zero time does not need to coincide with the unix epoch. Recommended is the starting time point of the simulation.
The time that the actual measurement was performed (which will usually correspond with the timestamp of the
GroundTruththe sensor model processed to arrive at these results) can be found in the additional fieldSensorData::last_measurement_time.- Note
This is the point in time that the sensor data message becomes available to the rest of the system (i.e. the driving functions), so it corresponds with the sending time and thus takes the latency of internal processing of the sensor into account. Latencies of bus communications, etc., that occur after the sensor output have to be applied on top of this, if needed.
For an ideal zero latency sensor the two timestamps would be the same and would correspond with the timestamp from the current
GroundTruthmessage.For a sensor model that does not know its own internal latencies (e.g. a dumb sensor with no internal time concept), the two timestamps might also be identical, but delayed from the
GroundTruthtimestamp.
-
optional BaseMoving osi3::SensorData::host_vehicle_location = 3 The sensors estimated location of the host vehicle
- Note
This value is only set by sensors that are able to provide an own estimation of the host vehicle location.
- Note
Note that dimension and base_polygon need not be set.
- Note
The parent frame of
host_vehicle_locationis the sensor frame.
-
optional BaseMoving osi3::SensorData::host_vehicle_location_rmse = 4 The sensors estimated location error of the host vehicle
- Note
This value is only set by sensors that are able to provide an own estimation of the host vehicle location.
- Note
Note that dimension and base_polygon need not be set.
- Note
The parent frame of
host_vehicle_location_rmseis the sensor frame.
-
optional Identifier osi3::SensorData::sensor_id = 5 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.
-
optional MountingPosition osi3::SensorData::mounting_position = 6 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
- References:
[1] DIN ISO 8855:2013-11
- Note
This field is usually static during the simulation.
- 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.
-
optional MountingPosition osi3::SensorData::mounting_position_rmse = 7 The root mean squared error of the mounting position.
-
repeated SensorView osi3::SensorData::sensor_view = 8 Sensor view w.r.t. the sensor coordinate system
This provides a copy of the
SensorViewdata received by the sensor for reference purposes. For complex sensors or logic models this can be multiple copies.- Note
OSI uses singular instead of plural for repeated field names.
-
optional Timestamp osi3::SensorData::last_measurement_time = 9 The timestamp of the last real-world measurement (e.g. GT input) that this set of sensor data takes into account. This in effect is the last time instance of reality the measurements correspond to. See field
SensorData::timestampfor a detailed discussion. This value is also the upper bound to theDetectedEntityHeader::measurement_timeand the feature dataSensorDetectionHeader::measurement_timefields.
-
optional DetectedEntityHeader osi3::SensorData::stationary_object_header = 10 General information about the
DetectedStationaryObject.
-
repeated DetectedStationaryObject osi3::SensorData::stationary_object = 11 The list of stationary objects (e.g. landmarks) detected by the sensor.
-
optional DetectedEntityHeader osi3::SensorData::moving_object_header = 12 General information about the
DetectedMovingObject.
-
repeated DetectedMovingObject osi3::SensorData::moving_object = 13 The list of moving objects detected by the sensor as perceived by the sensor.
- Note
OSI uses singular instead of plural for repeated field names.
-
optional DetectedEntityHeader osi3::SensorData::traffic_sign_header = 14 General information about the
DetectedTrafficSign.
-
repeated DetectedTrafficSign osi3::SensorData::traffic_sign = 15 The list of traffic signs detected by the sensor.
- Note
OSI uses singular instead of plural for repeated field names.
-
optional DetectedEntityHeader osi3::SensorData::traffic_light_header = 16 General information about the
DetectedTrafficLight.
-
repeated DetectedTrafficLight osi3::SensorData::traffic_light = 17 The list of traffic lights detected by the sensor.
- Note
OSI uses singular instead of plural for repeated field names.
-
optional DetectedEntityHeader osi3::SensorData::road_marking_header = 18 General information about the
DetectedRoadMarking.
-
repeated DetectedRoadMarking osi3::SensorData::road_marking = 19 The list of road markings detected by the sensor. This excludes lane boundary markings.
- Note
OSI uses singular instead of plural for repeated field names.
-
optional DetectedEntityHeader osi3::SensorData::lane_boundary_header = 20 General information about the
DetectedLaneBoundary.
-
repeated DetectedLaneBoundary osi3::SensorData::lane_boundary = 21 The list of lane boundary markings detected by the sensor.
- Note
OSI uses singular instead of plural for repeated field names.
-
optional DetectedEntityHeader osi3::SensorData::lane_header = 22 General information about the
DetectedLane.
-
repeated DetectedLane osi3::SensorData::lane = 23 The list of lanes detected by the sensor
- Note
OSI uses singular instead of plural for repeated field names.
-
optional DetectedEntityHeader osi3::SensorData::occupant_header = 24 General information about the
DetectedOccupant.
-
repeated DetectedOccupant osi3::SensorData::occupant = 25 The list of occupants of the host vehicle
- Note
OSI uses singular instead of plural for repeated field names.
-
optional FeatureData osi3::SensorData::feature_data = 26 Low level feature data interface.
Low Level feature data is optionally provided by sensor models that model sensors giving access to this low level data, i.e. data prior to object hypothesis and tracking.
-