scene_info does not reflect older changes to visuals of objects
I am using Gazebo 4.1 under Ubuntu 14.04.2 LTS and I am experiencing the following behavior: If I change the visual of an object (via pygazebo) this change is immediately reflected in the client (gzclient) – but when I request the scene ("scene_info"), also via pygazebo, this change is not visible in the returned answer.
The code for changing the visual appearance of the object (a virtual screen) looks as follows:
manager = yield From(pygazebo.connect())
publisher = yield From(
manager.advertise('/gazebo/default/visual',
'gazebo.msgs.Visual'))
scriptMsg = material_pb2.Material.Script(name="Gazebo/Red")
materialMsg = material_pb2.Material(script=scriptMsg)
msg = visual_pb2.Visual(name="vr_screen::body::screen_glass",
parent_name="vr_screen::body",
material=materialMsg)
yield From(publisher.publish(msg))
If I request the scene again still the old value is shown ("Gazebo/Blue" in this case). For me this is a bug, since I am expecting the scene information to get me what is currently on the scene. And this is also already the case for e.g. pose information.
So: Is this behavior intended or is it a bug? I could not find anything related on the bug tracker.
Any hint on this is appreciated! :)
Asked by philonous on 2015-04-15 09:15:55 UTC
Answers
This is indeed a bug. Here is the issue that was created for this question.
Asked by nkoenig on 2015-04-22 09:56:13 UTC
Comments
Thanks for your response! Let's continue then on the issue tracker.
Asked by philonous on 2015-04-22 10:14:17 UTC
Comments
I also found out that "entity_info" requests are suffering from the very same problem. If the current material script is for instance "Gazebo/Red" the answer will still be "Gazebo/Blue" if it was "Gazebo/Blue" in the beginning of the simulation.
Asked by philonous on 2015-04-16 07:52:54 UTC