How do I connect a dashboard on a remote PC to a working turtlebot?

asked 2015-10-15 20:04:31 -0500

FarrisGoldstein gravatar image

updated 2015-10-16 13:05:17 -0500

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.

edit retag flag offensive close merge delete

Comments

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? Does rosnode ping .. work in all directions?

gvdhoorn gravatar image gvdhoorn  ( 2015-10-16 02:59:08 -0500 )edit

I added more details. I will try the echo/ping commands this evening when I'm near the systems again.

FarrisGoldstein gravatar image FarrisGoldstein  ( 2015-10-16 09:51:33 -0500 )edit

I've deleted my previous answer, as it was based on your original question (which provided incorrect info). Have you tried rosnode ping .. already?

gvdhoorn gravatar image gvdhoorn  ( 2015-10-18 05:54:55 -0500 )edit