Robotics StackExchange | Archived questions

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

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

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