Gazebo uses separate threads for the physics and several groups of sensors. The sensor threads currently throttle their updates to wait for the physics to advance to the proper simulation time, but physics does not wait for the sensor threads if they are too slow. This will cause sensors to not reach the specified update rates.
We should work on a design document about how to implement this. It may cause simulation to be slower, but it will be more consistent and repeatable.
Original report (archived issue) by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
Gazebo uses separate threads for the physics and several groups of sensors. The sensor threads currently throttle their updates to wait for the physics to advance to the proper simulation time, but physics does not wait for the sensor threads if they are too slow. This will cause sensors to not reach the specified update rates.
We should work on a design document about how to implement this. It may cause simulation to be slower, but it will be more consistent and repeatable.