I also have problems with multiple machines.
I tried the suggestions of this closed questions:
https://answers.ros.org/question/3869...
I just tried the suggested answer of SamsAutonomy from this questions and it also resulted
in the same result as below (see below):
Master: cmd_vel topic published data can be seen
Slave: cmd_vel is rostopic list listed, but no data is coming in.
I can ping and netcat in both directions.
~/.bashrc is sourced.
Desktop computer: Master running roscore
IP: 192.168.178.34
Hostname: user-MS-7A32
Ubuntu 18.04 - ROS Melodic
/etc/hosts
127.0.0.1 localhost
127.0.1.1 user-MS-7A32
192.168.178.44 raspberrypi
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Ff00::0 ip6-mcastnet
fe00::0 ip6-mcastprefic
~/.bashrc
export ROS_HOSTNAME=user-MS-7A32
export ROS_MASTER_URI=http://user-MS-7A32:11311
export ROS_IP=192.168.178.34
Raspberry Slave Robot: Not running roscore
IP: 192.168.178.44
Hostname: raspberrypi
Debian Buster - ROS Melodic
/etc/hosts
127.0.0.1 localhost
127.0.1.1 raspberrypi
192.168.178.34 user-MS-7A32
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
~/.bashrc
export ROS_HOSTNAME=raspberrypi
export ROS_MASTER_URI=http://user-MS-7A32:11311
export ROS_IP=192.168.178.44
Setup 1:
Master:
$ roscore
$ rostopic echo /cmd_vel
Slave:
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
$ rostopic echo /cmd_vel
Result:
cmd_vel topic published data can be seen on both machines.
Setup 2:
Master:
$ roscore
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
$ rostopic echo /cmd_vel
Slave:
$ rostopic echo /cmd_vel
Result:
Master: cmd_vel topic published data can be seen
Slave: cmd_vel is rostopic list listed, but no data is coming in.
I also tried the suggestion:
Changes on Master:
~/.bashrc
export ROS_MASTER_URI=http://192.168.178.34:11311
Can somebody tell me where my configuration mistake is?
Please show us the exact values you are using for
ROS_HOSTNAME
,ROS_IP
andROS_MASTER_URI
on all machines.And just to make sure: you're setting these variables in all terminals that you open, correct?