Robotics StackExchange | Archived questions

Running ROS across multiple machines

When one runs ROS across multiple machines, do the work spaces need to have the same packages, or does a package run on machine (A) need to be on machine A and visa versa?

Asked by miguel on 2015-06-29 12:13:50 UTC

Comments

No. No limitations.

Asked by yigit on 2015-06-29 15:49:31 UTC

Answers

You need the package/node on the machine you want to run it, but not on the machine executing the launchfile except it is also the machine you want to run the package/node on.

Asked by cyborg-x1 on 2015-06-29 16:39:52 UTC

Comments

There is at least one important limitation related to message definitions. If node_a running on machine (A) publishes a topic with message definition message_a, and then node_b subscribes to this topic on machine (B), then the client library behind node_b needs the definition of message_a

Asked by jarvisschultz on 2015-06-29 21:09:06 UTC

In C++, this is generally easy to detect as an issue because your code won't compile without the necessary headers in your workspace. In Python however, missing message definitions would result in a runtime error. Note that the message definitions must also be the same between machines.

Asked by jarvisschultz on 2015-06-29 21:11:07 UTC

This is one primary issue with running different ROS versions across multiple machines. If the versions don't have the same message definitions, you will end up with checksum mismatches.

Asked by jarvisschultz on 2015-06-29 21:12:07 UTC

@jarvisschultz jep that's correct. That is in fact a limitation. If you want to "communicate" with that node, you need to have the messages (same version). Didn't thought of that one, but you are right. I was just assuming the same versions and standard messages.

Asked by cyborg-x1 on 2015-06-30 01:21:47 UTC

Thank you!

Asked by miguel on 2015-06-30 01:51:15 UTC

Could also accept the answer (round icon with the hook inside beside the question) and close the question (Under your question (X Close) )? Thanks.

Asked by cyborg-x1 on 2015-06-30 05:14:59 UTC

I dont have the option to accept. Possible because im new to this.

Asked by miguel on 2015-06-30 05:40:22 UTC