gazebosim / gz-sim

Open source robotics simulator. The latest version of Gazebo.
https://gazebosim.org
Apache License 2.0
685 stars 262 forks source link

RFC: Sensor Systems: Vulnerability testing, advanced noise models, raw sensor data callbacks, decoupling transport #2367

Open bperseghetti opened 5 months ago

bperseghetti commented 5 months ago

RFC

Sensor Systems: Vulnerability testing, advanced noise models, raw sensor data callbacks, decoupling transport

This is a request for comment on the following suggested implementation method changes for how gz-sensors works with gz-sim systems plugins.

Support for this effort is being brought forward from the DARPA FIRE program through Purdue University for the testing of system robustness to novel sensor attacks/modulation. This requires the ability to dynamically change a gz-sensor noise model that proves difficulty with the current gz-sensor implementation of publishing directly to gz-transport and also only taking the noise model from the passed SDF fragment.

Multiple methods of allowing for dynamic noise models have been considered in two meetings with gz-sim and gz-sensor stakeholders. The methods most discussed were as follows:

  1. Pushing noise back down through the ECM to sensor (gz-sensors)
  2. Create "core sensor models (gz-sensors)" and have system (gz-sim) plugin manage the noise models and sensor data publishing.

From the last discussion method 2 has been so far selected as the preferred approach (benefits discussed below in Objectives).

Objective:

Approach:

traversaro commented 5 months ago

This seems a great idea, especially decoupling gz-sensors and transport. I guess https://github.com/gazebosim/gz-sim/issues/2268 is kind of related.

peci1 commented 4 months ago

All the suggestions sound great. It would however be good to rethink how noise is specified in sdf because currently, adding a new type of noise is quite cumbersome (requiring sdf standard changes).