Gazebo not updating visual position in gzclient
I've encountered an interesting situation in Gazebo 9.3. I'm not sure if it's a bug or not but when setting the position of my model either via /gazebo/set_model_state topic or via the Gazebo API (using SetWorldPose), the visual position of the model does not change.
Here's a simple example:
1) I have this wooden log with a position of x: 0.0 y: 0.1 z: 0.0.
2) I attempt to change its position to x: 0.0 y: 0.0 z: 0.0. (by using either /gazebo/set_model_state or Gazebo API)
3) When viewing properties of the object in the Gazebo GUI, the position is displayed correctly.
4) However the position of the visual object in the actual world does not display correctly. (it shows the object to still be at y: 0.1)
And the reason why I think this might be a bug is because this does not happen all the time. About 50% of the time, the position in the world changes correctly and the other 50% of the times the object does not change. I haven't noticed any reasonable logic as to when it changes and when it doesn't.
Does anyone have any insight to this?
Here's the sdf I'm using for the wooden log:
<?xml version="1.0"?>
<sdf version="1.4">
<model name="wood">
<static>true</static>
<link name="wood_link">
<visual name="wood_visual">
<geometry>
<cylinder>
<radius>0.03</radius>
<length>0.1</length>
</cylinder>
</geometry>
<material>
<script>
<name>Gazebo/WoodFloor</name>
</script>
</material>
</visual>
</link>
</model>
</sdf>
I've tried different ways of spawning it into the world (or having it already there in the .world file) but it acts the same way.
Is the model selected in the GUI at the moment you send the command? Try making sure the model is not selected and see if you can still reproduce the issue.
I've tried it either way. No difference.
I have the same problem, any updates on this? For my case, it is not a solution to use
<static>false</static>
Any updates on this? I'm facing the same problem.