ROS 2 Server and ROS 1 Client (#124)

Posted by @mathiasmantelli:

Hi,

I’m trying to use the “free_fleet” system, and if I understood it correctly, the Server only runs based on ROS 2 whereas the Client supports both ROS 1 and 2.
Is that correct?
If so, can I have the ROS 2 Server running somewhere, and connect multiple robot clients (based on ROS 1) to it? Because that’s the scenario that I have, multiple robots running ROS 1 that have to work together in a warehouse, and I’m looking for a flee management system to control them.

Thank you for your attention.

Chosen answer

Answer chosen by @mathiasmantelli at 2022-01-18T14:41:09Z.
Answered by @aaronchongth:

Hey there @mathiasmantelli! You are correct, and the server is able to work with multiple ROS 1 clients. This configuration is shown in the minimal example of running multiple turtlebot3s in simulation.

Posted by @aaronchongth:

Hey there @mathiasmantelli! You are correct, and the server is able to work with multiple ROS 1 clients. This configuration is shown in the minimal example of running multiple turtlebot3s in simulation.


This is the chosen answer.

Posted by @mathiasmantelli:

Hey @aaronchongth ,
Thank you for your prompt and helpful reply.
That’s great to know.

At this exact moment, I’m trying to run the ROS 2 server and the multi-robot ROS 1 client on the same computer, but it seems I can’t run both ROS versions simultaneously. Is that true? (This is my first experience with ROS 2, so sorry for my naive questions.)

The last question: I would like to test the free_fleet with multiple computers, in which the computers would represent the robots. The scenario would be some like computers A, B, C, and D all connected together by a network. Computer A runs the ROS 2 server, while each of the other ones runs the ROS client. Do you know where I could get information to make this work (or even if it’s possible)?

Thank you so much in advance.

Posted by @aaronchongth:

At this exact moment, I’m trying to run the ROS 2 server and the multi-robot ROS 1 client on the same computer, but it seems I can’t run both ROS versions simultaneously. Is that true?

You will be able to run both versions simultaneously, as long as the workspaces are sourced correctly. The example is a good way to try it out.

I would like to test the free_fleet with multiple computers, in which the computers would represent the robots. The scenario would be some like computers A, B, C, and D all connected together by a network. Computer A runs the ROS 2 server, while each of the other ones runs the ROS client. Do you know where I could get information to make this work (or even if it’s possible)?

Yes that is entirely possible. The communication between the clients and the server is done via CycloneDDS, so as long as the network is not any sophisticated setup, it should work out of the box. You can try it out by running the talker and listener demo across your setup, with one computer the talker while the other the listener.

If all else fails, you can start playing with the configuration of CycloneDDS to suit your needs.