ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Is it possible to run different ros distributions and still communicate with each other in a distributed computing setup?

asked 2017-06-01 09:41:20 -0500

SubMarIN gravatar image

If I have two computers connected to the same network and if computer A has ROS Indigo installed and if computer B has ROS Kinetic installed, can I run the master in computer A and export the ROS_MASTER_URI to the one of computer A in Computer B to communicate with the master?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-06-01 10:35:54 -0500

updated 2017-06-01 10:36:54 -0500

I am currently using such a setup (ROS Indigo on a robot and ROS Kinetic on a laptop) and it works perfectly. On my laptop I just had to export the following variables:

export ROS_MASTER_URI=http://IP.OF.RO.BOT:11311
edit flag offensive delete link more


Thanks! It's working for me now! Just that I had to export the ROS_IP in each of the computers.

SubMarIN gravatar image SubMarIN  ( 2017-06-01 10:46:49 -0500 )edit

Great! If my answer helped you, please click on the gray checkmark on the left to confirm, that the answer was correct.

Andre Volk gravatar image Andre Volk  ( 2017-06-01 17:05:12 -0500 )edit

Just a note: this only works in case message definitions have not changed between ROS releases. For messages in the 'core' (ie: std_msgs, sensor_msgs and similar) that is often the case, but for others it may not be true. You'll get MD5 mismatch errors in case things are not compatible anymore.

gvdhoorn gravatar image gvdhoorn  ( 2017-06-02 04:32:49 -0500 )edit

What is the best way to check if this has happened? For example if I wanted a Indigo and Kinetic distro to talk to each other?

M@t gravatar image M@t  ( 2018-06-08 20:33:59 -0500 )edit

Not sure it's the best way, but rosmg md5 $pkg/$msg will calculate the md5 for you. You could then compare versions in different releases.

Note that you'll automatically get warnings about mismatched MD5s when trying to setup comms though. It's not like things silently fail or ignore it.

gvdhoorn gravatar image gvdhoorn  ( 2018-06-09 05:47:16 -0500 )edit

So an example would be rosmsg md5 $geometry_msgs/Twist? I'm obviously not using the correct syntax because I get invalid type error messages

M@t gravatar image M@t  ( 2018-06-09 22:20:36 -0500 )edit

No. Use this:

rosmsg md5 geometry_msgs/Twist
gvdhoorn gravatar image gvdhoorn  ( 2018-06-10 04:56:51 -0500 )edit

Question Tools



Asked: 2017-06-01 09:41:20 -0500

Seen: 2,406 times

Last updated: Jun 01 '17