Robotics StackExchange | Archived questions

What are the drawbacks of running multiple Gazebo simulations using Multimaster FKIE package

I am working on coupling two Gazebo simulations on one computer. I want some messages to travel from one simulation to another.

I have tried to launch the two simulation at the same ROS master by using namespaces, but that have never worked.

So I ended up using the Multimaster FKIE package, that allows me to define /gazebo topics as ignored and this way each of the ROS master can communicate only with its own gazebo process and the two simulations can be launched and control on one computer.

image description

However, I am still running into some problems. For example some services and nodes orks perfectly until only one simulation runs and as soon as I launch the second simulation I start getting errors like

[WARN] [1559057038.764544, 2182.489000] [file:/opt/ros/kinetic/lib/python2.7/dist-packages/tf2_ros/transform_listener.py] [node:/tf_service] [check_for_reset:75]: Detected jump back in time of 14.344000s. Clearing TF buffer.

The simulation are desynchronized. Each has its own simulation time and each run with different RT factor. But even if I toy with pausing the simulation and setting different step size and real time update rate and I get the simulations to run kind of with the same time and RT factor, the warning persists.

So my question is, based on the working of the Multimaster FKIE package and Gazebo, what are the reasons I am having such a hard time to make this work? What is the drawback of using the Multimaster FKIE package with Gazebo like this? is there something that makes it impossible? What approach would solve my problem?

Asked by kumpakri on 2019-05-28 10:31:28 UTC

Comments

Answers

Hello, may I know your experience on multimaster-fkie?

What is the drawback of this package? I know that it enable multi-robot to communicate with each other with their own roscore on localhost. May I know any other advantages?

Thanks

Asked by Beh on 2019-08-29 01:48:37 UTC

Comments

I will be happy to help you with any issue you will be facing while working with this package. Post any specific question as a new question on this discussion server.

The ROS enables you to connect multiple computers to one ROS master as default. The MultimasterFKIE provides a functionality to connect multiple ROS masters. Which I find very useful for Gazebo simulations as I was unable otherwise to launch two Gazebo simulations on one computer.

Asked by kumpakri on 2019-08-30 04:02:23 UTC

I suppose it should be possible by setting namespaces appropriately etc. but I have never been able to achieve that. The gazebo publishes into /gazebo and /gazebo_gui topics no matter at which URI you launch the Gazebo master and so the two gazebo processes would communicate with the ROS master through the same topics and ROS wouldn't know which message comes from which Gazebo process.

Asked by kumpakri on 2019-08-30 04:04:41 UTC

Perhaps there are usecases where you would run two simulations and wouldn't mind ROS cannot distinguish between them, but it was not my case. It really depends on your specific application, so feel free to experiment and post new questions along your way.

Asked by kumpakri on 2019-08-30 04:08:42 UTC