ROS Matlab I/O Subscribers don't work
Hi All,
I'm trying to use the ROS-Matlab I/O package to publish and subscribe to topics from a roscore on a networked machine. I have gone through the network setup, and this is the current state of the whole system:
Machine A (running ROS)
The /etc/hosts file lists 127.0.0.1 localhost 127.0.1.1 The-Master 192.168.2.7 The-Doctor
The relevant (as far as I know) environment variables are:
$ROS_MASTER_URI=http://The-Master:11311/
$ROS_HOSTNAME=The-Master
Machine B (running Matlab)
The /etc/hosts file lists
127.0.0.1 localhost
127.0.1.1 The-Doctor
192.168.2.3 The-Master
The relevant environment variables are:
$ROS_MASTER_URI=http://The-Master:11311/
$ROS_HOSTNAME=The-Doctor
.
.
I can ping the between the two machines, both by IP and by name. I can netcat between both of them just fine. Using rosmatlab, I can create a node on The-Doctor which is seen by The-Master. I can create a publisher which is also seen by The-Master. The-Doctor can publish data to The-Master and it shows up just fine when I do a "rostopic echo" on The-Master.
The problem is: when The-Doctor tries to subscribe to a topic from The-Master, the callback function defined in the Matlab code never gets called. Just to make sure that I wasn't making any major mistakes, I ran the rosmatlab_basic.m example included with ROS-Matlab I/O, and the subscribers in that example don't work either (even though the publishers do).
Any idea on what might be wrong? I'm running Matlab R2013b, but I have tested this with multiple versions, both Windows and Ubuntu. I see the same problem which leads me to believe that somewhere along the line I'm doing something wrong in the network setup and am too dumb to know what.
Please help :\