How do I connect a dashboard on a remote PC to a working turtlebot?
I have two Ubuntu 14.04 machines with indentically-installed ros/turtlebot packages. One is connected to my bot, and when I launch the dashboard from it, I get all the expected messages and controls. The other has ROS_MASTER_URI=http://$TURTLEBOT_IP:11311
and ROS_IP=$PC_IP
. The dashboard on the remote PC fires up with no errors, but gets no messages. If I try to send commands (e.g. put the bot in passive mode) it will eventually timeout:
Failed to put the turtlebot in passive mode: service call failed with error: unable to connect to service: timed out
I verified with tcpdump on the bot side that it’s getting packets from the remote PC.
I’m sure I’ve just missed something, but I’ve gone over the network setup and ENV a million times and feel dumb. Where else should I look to find out why the dashboard will connect to the turtlebot, but do nothing with it?
No messages show up in the console on the turtlebot when I connect or send commands from the dashboard.
Another reason I'm certain this isn't a connectivity problem is that if I change ROS_MASTER_URI
to a non-existant URI, the dashboard fails with the expected unable to contact ROS master at [URI]
message.
More information as requested:
2 hosts: Turtlebot & remote PC, both on same network. TB is a netbook, PC is a VMware guest on an iMac running Mac OS X Yosemite. Both systems are Ubuntu 14.04 with a single NIC/IP.
Turtlebot IP is 192.168.127.106
Remote PC IP is 192.168.127.109
ENV for Turtlebot:
ROS_MASTER_URI=http://192.168.127.106:11311
ROS_IP=192.168.127.106
Env for remote PC:
ROS_MASTER_URI=http://192.168.127.106:11311
ROS_IP=192.168.127.109
When I run roslaunch turtlebot_dashboard turtlebot_dashboard
on the turtlebot PC, the dashboard starts and I can see messages in the qt window that opens. The buttons work.
When I run the same command on the remote PC, the window opens but all of the buttons/indicators are greyed out.
With the same ENV, if I run roslaunch turtlebot_teleop keyboard_teleop.launch --screen
on the remote PC, I can indeed teleoperate the bot from the keyboard on that remote PC.
Can you tell us a bit more about the network setup? For your working system, the turtlebots and the non-working system?
Also: can you do a
rostopic echo /whatever/topic
and receive msgs? Doesrosnode ping ..
work in all directions?I added more details. I will try the echo/ping commands this evening when I'm near the systems again.
I've deleted my previous answer, as it was based on your original question (which provided incorrect info). Have you tried
rosnode ping ..
already?