0
$\begingroup$

Rosanswers logo

I have 2 computers running ROS and I'm trying to connect them via an Ethernet cable. Both machines are also connected to the Internet via wireless connection.

An intel NUC as the master at 10.0.0.2 An Tegra-k1 as the client at 10.0.0.3

NUC (Master at 10.0.0.2)

export ROS_IP=10.0.0.2
export ROS_HOSTNAME=10.0.0.2
export ROS_MASTER_URI=http://10.0.0.2:11311
roscore

Tegra (Client at 10.0.0.3)

export ROS_IP=10.0.0.3
export ROS_HOSTNAME=10.0.0.3
export ROS_MASTER_URI=http://10.0.0.2:11311
roscore

roscore output from Master

... logging to /home/ubuntu/.ros/log/e8292188-4152-11e6-9eb6-00c2c6b4df39/roslaunch-nuc-16093.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://10.0.0.2:40088/
ros_comm version 1.12.2


SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.2

NODES

auto-starting new master
process[master]: started with pid [16104]
ROS_MASTER_URI=http://10.0.0.2:11311/

setting /run_id to e8292188-4152-11e6-9eb6-00c2c6b4df39
process[rosout-1]: started with pid [16119]
started core service [/rosout]

roscore output from Client

... logging to /home/ubuntu/.ros/log/014001fe-4154-11e6-85b6-60601f199a6b/roslaunch-tegra-ubuntu-3583.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://10.0.0.3:35762/
ros_comm version 1.11.19


SUMMARY
========

PARAMETERS
 * /rosdistro: indigo
 * /rosversion: 1.11.19

NODES

WARNING: ROS_MASTER_URI [http://10.0.0.2:11311] host is not set to this machine
auto-starting new master
process[master]: started with pid [3594]
ROS_MASTER_URI=http://10.0.0.3:11311/

setting /run_id to 014001fe-4154-11e6-85b6-60601f199a6b
process[rosout-1]: started with pid [3607]
started core service [/rosout]

I have have multiple network interfaces on both machines

ifconfig output from Master

eno1      Link encap:Ethernet  HWaddr b8:ae:ed:e9:81:d9  
          inet addr:10.0.0.2  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::d43d:9fd2:6b7e:6161/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1070691 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2245 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1478861461 (1.4 GB)  TX bytes:234854 (234.8 KB)
          Interrupt:16 Memory:df200000-df220000 

enx00e08f007010 Link encap:Ethernet  HWaddr 00:e0:8f:00:70:10  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:93462668 errors:0 dropped:0 overruns:0 frame:0
          TX packets:93462668 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:843898338519 (843.8 GB)  TX bytes:843898338519 (843.8 GB)

wlp1s0    Link encap:Ethernet  HWaddr 00:c2:c6:b4:df:39  
          inet addr:192.168.2.101  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::db69:417b:b13f:fe0c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:188727 errors:0 dropped:0 overruns:0 frame:0
          TX packets:73771 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:143274712 (143.2 MB)  TX bytes:12915443 (12.9 MB)

ifconfig from client

eth0      Link encap:Ethernet  HWaddr 60:60:1f:19:9a:6b  
          inet addr:10.0.0.3  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6260:1fff:fe19:9a6b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1763 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1070511 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:172255 (172.2 KB)  TX bytes:1474299487 (1.4 GB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2803 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2803 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:360418 (360.4 KB)  TX bytes:360418 (360.4 KB)

wlan0     Link encap:Ethernet  HWaddr 7c:5c:f8:73:59:dd  
          inet addr:192.168.2.111  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::7e5c:f8ff:fe73:59dd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8674 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1837 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4127822 (4.1 MB)  TX bytes:253977 (253.9 KB)

I had the network working earlier this month, but right now it doesn't want to work.

The computers definitely do see each other.

On Master the following works

ping 10.0.0.3 

On Client the following works

ping 10.0.0.2

Also, I have UDP client server that has no problems transferring images over the Ethernet cable between the two computers.


Originally posted by uwleahcim on ROS Answers with karma: 101 on 2016-07-03

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

You only need to run one roscore, on the master. Nodes and launch files that you run on your client will connect to this roscore; you shouldn't run a roscore on the client.

After setting up the environment and starting roscore on the master, you should be able to do rostopic list on both master and client to confirm that the network is working.


Originally posted by ahendrix with karma: 47576 on 2016-07-03

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by uwleahcim on 2016-07-03:
You're correct. For some reason I kept thinking you had to launch ROS nodes on both ends to get them communicating.

Comment by uwleahcim on 2016-07-03:
Now that I have the machines talking to each other, I noticed the performance of passing topics is asymmetrical. In this case my client has no problem streaming topics from the master. However, the other way around I'll constantly lose messages and images will just stall out.

Comment by ahendrix on 2016-07-04:
It sounds like your network bandwidth or your ability to send or receive images is not the same on both computers. I'd suggest that you try debugging a bit, and if you can't figure it out, ask a new question and carefully describe your setup.

Comment by uwleahcim on 2016-07-04:
Using Tegra K1 and intel NUC. Both have 1Gb ethernet. Both have wifi interfaces, which are connected to the internet and operate on 192.168.2.xx 255.255.255.0 network (all info in ifconfig above). Anyways I got the system to work by disabling wifi and rebooting and deleting & re-adding connections.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.