Ros service-call SetVisualProperties overrides old changes

Activity

Show:
erdisayar
February 18, 2021, 1:50 PM

I haven't encountered this kind of behavior for NRP 3.0.5 and NRP 3.1.0.

Report
The report is related to calling a ros service /gazebo/set_visual_properties to set colors for the model's link.

Reported Bug

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.

Result

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.

Fabrice Morin
February 18, 2021, 4:48 PM

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“?

erdisayar
February 19, 2021, 8:27 PM

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?

Ugo Albanese
February 22, 2021, 3:29 PM
Edited

Let’s continue the discussion on bitbucket .

Assignee

erdisayar

Reviewer

None

Components

Priority

High