Simply spawning a world in Gazebo 11 with a ROS 2 launcher (quoted at the end of this question) gives me the following error:

[gzserver-1] [WARN] [1702564069.868177023] [gazebo]: New subscription discovered on topic '/clock', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY

If I then spawn my robot then all hell breaks loose since the tf tree timings are all messed up, i.e.:

Warning: TF_OLD_DATA ignoring data from the past for frame wheel_right_link at time 57.086000 according to authority Authority undetectable
[component_container_isolated-3] Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[component_container_isolated-3]          at line 292 in ./src/buffer_core.cpp
[component_container_isolated-3] [WARN] [1702564890.894654043] [tf2_buffer]: Detected jump back in time. Clearing TF buffer.

The strange thing is that if I disable my ethernet interface (essentially pull the ethernet plug from my pc), everything is ok. How may I solve this issue?

Edit: this behaviour is not deterministic

from os.path import join
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import LaunchConfiguration

def generate_launch_description():

  # ============================================================================
  world = join(a_pkg_name, "worlds", "world_name.world")

  gazebo_ros_dir = get_package_share_directory("gazebo_ros")

  # ============================================================================
  # Gazebo server
  gzserver_cmd = IncludeLaunchDescription(
          join(gazebo_ros_dir, "launch", "gzserver.launch.py")
      launch_arguments={"world": world}.items(),

  # ============================================================================
  # Gazebo client
  gzclient_cmd = IncludeLaunchDescription(
          join(gazebo_ros_dir, "launch", "gzclient.launch.py")

  # ============================================================================
  return LaunchDescription([gzserver_cmd, gzclient_cmd])

Gazebo version: 11.10.2


1 Answer 1

    parameters=[{'robot_description': robot_description_raw,'use_sim_time': True}],

adding the line above to my nodes definition worked for me.

  • 1
    $\begingroup$ Maybe edit your answer to show where this line would be inserted, in a small example? $\endgroup$ Commented Jan 4 at 19:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.