Robotics StackExchange | Archived questions

Networking issues with tmux

If I run roslaunch within a tmux session on a remote machine, I get the following error when attempting to do a remote service call (i.e. rosservice call foo):

ERROR: Unable to communicate with service [/foo], address [rosrpc://remote-machine:42565]

I am running roslaunch using ssh root@$192.168.1.20 "tmux new-window 'source /opt/ros/indigo/setup.bash && roslaunch some_pkg some_launch_file.launch'" (where 192.168.1.20 is the IP of the remote-machine).

If, instead, I just run ssh root@192.168.1.20 "source /opt/ros/indigo/setup.bash && roslaunch some_pkg some_launch_file.launch" then everything works just fine, and I am able to make service calls.

Interestingly enough, in both cases I am able to list services just fine using rosservice list. But I cannot actually make service calls if roslaunch is running under tmux.

Any idea why this is happening?

Asked by duffany2 on 2015-04-30 16:35:27 UTC

Comments

Answers

There is probably a difference in what implicitly gets sourced such as your .bashrc files etc. You should check what env looks like in both and do a diff.

It looks like the remote machine is advertising itself as remote-machine but you're sshing by IP. You should make sure you can reach it by it's name or else set it up to advertise it's IP via ROS_IP

See the Network Setup wiki page

Asked by tfoote on 2015-05-01 02:41:06 UTC

Comments

Ah, I think you are right. I'll try this tomorrow. Thanks!

Asked by duffany2 on 2015-05-01 03:59:03 UTC