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

Revision history [back]

click to hide/show revision 1
initial version

It always helps me to draw a diagram for networking questions, so here is one:

network

(note that it was a bit unclear from your description whether Computer 1's IP is .1 or .2. I'm guessing .2, as you have ROS_IP set to .1 for Computer 2, but it doesn't really matter. I'll update the diagram if/when you clarify)

To get Computer 2 to communicate with Computer 3, you should probably setup Computer 1 to route between the two networks. Routing will let any host on the wired network communicate with any host on the wireless network bi-directionally. Port forwarding is possible (that would be masquerading), but is a bit brittle when both sides of the device doing the masquerading want open connections to each other at random ports, as it is (in it's default configuration) a one-way affair.

For routing, see this answer on Ask Ubuntu for an example configuration. Provided you have everything else setup correctly on the ROS side, things should just work.

Note that I've completely ignored any security issues here that could arise when linking two networks together like this, so do make sure to check up on that as well.

It always helps me to draw a diagram for networking questions, so here is one:

network

(note that it was a bit unclear from your description whether Computer 1's IP is .1 or .2. I'm guessing .2, as you have ROS_IP set to .1 for Computer 2, but it doesn't really matter. I'll update the diagram if/when you clarify)

To get Computer 2 to communicate with Computer 3, you should probably setup Computer 1 to route between the two networks. Routing will let any host on the wired network communicate with any host on the wireless network bi-directionally. Port forwarding is possible (that would be masquerading), but is a bit brittle when both sides of the device doing the masquerading want open connections to each other at random ports, as it is (in it's default configuration) a one-way affair.

For routing, see this answer on Ask Ubuntu for an example configuration. Provided you have everything else setup correctly on the ROS side, things should just work.

Note that I've completely ignored any security issues here that could arise when linking two networks together like this, so do make sure to check up on that as well.


Edit: an alternative would be to bridge the two network together. That would essentially make the wired and the wireless network a single network. This might work better for things that rely on broadcasts.