gazebosim / gz-sensors

Provides numerous sensor models designed to generate realistic data from simulation environments.
https://gazebosim.org
Apache License 2.0
63 stars 58 forks source link

Turn on bias factor #415

Open frede791 opened 8 months ago

frede791 commented 8 months ago

Desired behavior

The IMU plugin in old gazebo used a factor called turn_on_bias_sigma factor for modelling noise. https://github.com/PX4/PX4-SITL_gazebo-classic/blob/33ac87a37676fb597de110e926bbf0a080169ffe/src/gazebo_imu_plugin.cpp#L173C3-L180C4 As far as I can tell there is currently no way to model this in any way? Would it be possible to add this as a specifiable tag that can be used in the noise model?

Implementation suggestion

Add an additional tag that can be read out in GaussianNoiseModel.cc and added as a factor in the Load() function

azeey commented 8 months ago

Is this different from the bias_mean and bias_stddev parameters?

frede791 commented 8 months ago

Yes, as far as I understand, the noise model that is employed is slightly different to the old one that was used previously.

azeey commented 8 months ago

Could you elaborate more? Based on the lines of code you linked to, it seems to me that we can set bias_mean=0 and bias_stddev=<turn_on_bias_sigma> to get the same results. cc @mjcarroll

mjcarroll commented 8 months ago

Based on the lines of code you linked to, it seems to me that we can set bias_mean=0 and bias_stddev=1.0 to get the same results

Yes, this should accomplish the same results. With the IMU, we model both a static (turn-on) bias as well as a dynamic (time varying) bias.

The turn on bias is drawn from a gaussian distribution modelled with mean bias_mean and stddev bias_stddev when the sensor is loaded.