I haven't encountered this kind of behavior for NRP 3.0.5 and NRP 3.1.0.
The report is related to calling a ros service /gazebo/set_visual_properties to set colors for the model's link.
The reporter claims that calling the aforementioned ros-service multiple times in quick succession for different links in the same model does not set the color for all callings except the last call.
To test the reported bug, I wrote a script model_set_visual_test.sh to call ros-service /gazebo/set_visual_properties for different links in rapid succession.
Here videos for NRP 3.0.5
Here videos for NRP 3.1.0
Here is the files used for testing purpose.
Thanks. Could it be that it works in your case because the simulation is not running, or not intensive? Maybe the user is applying those changes on the fly during a load-heavy simulation on a weak machine, and the computational load slows down the execution, which in turn triggers the faulty behavior… So to be on the safe side, can you modify the function as the user suggested. “Wait for change to happen before exiting from service call“?
I reproduced the issue. The issue appears when I call ros-service with python script in quick succession.[There is no problem when calling with bash-script]
To fix the issue I added a while loop to wait until the color is implemented.
Do you think It is a good solution ?
I haven’t come up with any other solution?