OpenSimulationInterface / open-simulation-interface

A generic interface for the environmental perception of automated driving functions in virtual scenarios.
Other
265 stars 124 forks source link

Transfer visibility information #406

Open clemenshabedank opened 3 years ago

clemenshabedank commented 3 years ago

Describe the feature

We want to enable that different recipients which can be imagined (e.g. sensor models, traffic participants, image-generators / graphic engines) can receive information if certain objects are visible to them or not.

Describe the solution you would like

In the discussion of WP11, we agreed that it would be great to allow for different inputs for each recipient (e.g. something could be visible to the graphic engine, but not to a traffic participant).

Describe alternatives you have considered

Different designs can be thought of: 1) add a boolean for each "GroundTruth-item" (MovingObject, StationaryObject, LaneBoundary, TrafficSign, ...) (visible / not visible) 2) add an enum for each GroundTruth-item (visible / not visible + recipient) 3) add a repeated field in the specific sub-messages of OSI::SensorView (e.g. camera_sensor_view, lidar_sensor_view, global_ground_truth, ...) for IDs, of which the corresponding item shall not be visible -> depending on ID-Concept (WP of Harmonization) 4) transport the information via OSI::TrafficCommand -> repeated field for IDs, which shall not be visible

Any other alternatives? I would tend towards alternative 3, because different visiblities for different recipients would be possible on a GroundTruth-item level. And the GroundTruth-items would not need to have extra flags. What would WP Sensormodelling think?

Describe the backwards compatibility

depending on chosen solution

Additional context

In our current approach at WP11 (regarding Control of Traffic Participants) we are mapping different Actions from OpenSCENARIO 1.0 to OSI, mainly with the message OSI::TrafficCommand in the branch https://github.com/OpenSimulationInterface/open-simulation-interface/blob/feature/osi-traffic-participants-combined. We are discussing, how the VisibilityAction can be transferred to OSI, most elegantly. The description in the user manual of OpenSCENARIO 1.0 is quite short ("Enabling/disabling detectability by sensors or other traffic participants and visibility in the image generator."), so we are in clarification with OSC 1.x project, what is exactly meant (e.g. what shall be configurable to visible / not visible -> objects, lanes, ...?)

clemenshabedank commented 3 years ago

On hold while watching issue in OpenSCENARIO 1.x project: https://code.asam.net/simulation/standard/openscenario/-/issues/213. 5th alternative (discussed in regular meeting): just not transfer invisible IDs within OSI::SensorView

clemenshabedank commented 3 years ago

Decided in WP11 that it is not in the scope of TrafficParticipants, because the VisibilityAction in OpenSCENARIO will probably not be associated with a control strategy. @kmeids we should discuss it in SensorModeling at some point (I wouldn't judge it as very urgent).

mander76 commented 1 year ago

Just wanna add that we are interested in this topic aswell.