Using ROS on restricted network
I'm attempting to connect two computers across a restricted network, we can call them server with IP 192.168.1.75 and robot with IP 192.168.1.67.
The current restrictions in the network I have are as follows:
- no use of
ping
- can only
ssh
from server to robot not vice versa - only have 1 port allowed through the firewall
- connections can only be established from robot to server
I'm aware some of the restrictions won't work for ROS so I'm evaluating the changes required. Unfortunately I don't have control over the network so any change can take a few weeks to take effect. Given that consideration, I'm trying to understand which changes I need to make ROS work.
On the server I set things up as follows:
export ROS_MASTER_URI=http://192.168.1.75:44555
export ROS_IP=192.168.1.75
roscore -p 44555
On the robot side I set it up as follows:
export ROS_MASTER_URI=http://192.168.1.75:44555
export ROS_IP=192.168.1.67
When doing rostopic list
I get in return the expected:
/rosout
/rosout_agg
Although I'm having trouble launching any nodes, if I run roswtf
on robot I get the following:
Loaded plugin tf.tfwtf
No package or stack in the current directory
================================================================================
Static checks summary:
No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take a while...
analyzing graph...
... done analyzing graph
running graph rules...
connection to [/rosout] timed out
... done running graph rules
Online checks summary:
Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault
WARNING The following node subscriptions are unconnected:
* /rosout:
* /rosout
Found 2 error(s).
ERROR Could not contact the following nodes:
* /rosout
ERROR Errors connecting to the following services:
* service [/rosout/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/rosout/set_logger_level], address [rosrpc://192.168.1.75:35928]
* service [/rosout/get_loggers] appears to be malfunctioning: Unable to communicate with service [/rosout/get_loggers], address [rosrpc://192.168.1.75:35928]
From the server side I get the following out of roswtf
:
Loaded plugin tf.tfwtf
No package or stack in the current directory
================================================================================
Static checks summary:
No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take a while...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules
Online checks summary:
Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault
WARNING The following node subscriptions are unconnected:
* /rosout:
* /rosout
I tried also running a test with turtle_tf2
doing roslaunch turtle_tf2 turtle_tf2_demo.launch
on the robot side, this is the output from it:
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://192.168.1.67:46161/
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.10
* /scale_angular: 2.0
* /scale_linear: 2.0
* /turtle1_tf2_broadcaster/turtle: turtle1
* /turtle2_tf2_broadcaster ...
Could you please update the title of your question? Right now it's not very descriptive.
It looks like you posted a similar/duplicate of your question earlier in #q370898. Why did you delete that one?
I went a different route and though the prior question didn’t make sense to implement, I’ll put it back up.