ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

roslaunch Unable to contact my own server

asked 2016-12-02 06:35:44 -0500

MZAIADY gravatar image

updated 2016-12-02 10:47:50 -0500

I have Turtlebot, running Indigo.

I'm able to run rviz on my machine

  rosrun rviz rviz

and able to see camera input and other topics from rviz on my machine,

But running:

roslaunch  turtlebot_rviz_launchers view_navigation.launch

Gives the following error

Unable to contact my own server at [ http://robot.mydomain.mz:35483/ ]. This usually means that the network is not configured properly.

A common cause is that the machine cannot ping itself. Please check for errors by running:

ping robot.mydomain.mz

For more tips, please see

http://www.ros.org/wiki/ROS/NetworkSetup The traceback for the exception was written to the log file

I can ping the robot machine on "robot.domain.com", and from the robot machine it can ping itself and my machine (testing from ssh), also netcat works fine from the two sides !

In my machine I have the following environment variable

export ROS_MASTER_URI=http://robot.mydomain.mz:11311
export ROS_HOSTNAME=robot.mydomain.mz
export ROS_IP=<robot machine IP>

On the Trutlebot machine

ROS_MASTER_URI=http://localhost:11311
ROS_HOSTNAME=robot.mydomain.mz
ROS_IP=<robot machine IP>

I noticed that application/tools running using rosrun works fine from my machine and connect to the Turtlebot without any issues, like:

 rosrun kobuki_dashboard kobuki_dashboard   <Works fine>

While, tools starting using roslaunch all having the same issue

 roslaunch turtlebot_dashboard turtlebot_dashboard.launch   <gives the same error>

EDITED: Replace robot.domain.com by robot.mydomain.mz (to show that this just an example)

edit retag flag offensive close merge delete

Comments

Just to make sure: 66.96.162.92 is an IP you own? And robot.domain.com is also a domain name you own? And your "robot machine" actually has the 66.96.162.92 ip configured?

gvdhoorn gravatar image gvdhoorn  ( 2016-12-02 07:03:29 -0500 )edit

I used only IP before, which I get using ifconfig, but the got the same issues (only roslaunch not working), then I used machine names (after setting hostnames and mapped IP in /etc/hosts), but I had same issue, then i created my own DNS server/ domain mapping and the same issue still there

MZAIADY gravatar image MZAIADY  ( 2016-12-02 10:05:51 -0500 )edit

Note: "robot.domain.com" is just example for the question, not actual domain I'm using, which I have configured in Bind9 DNS server

MZAIADY gravatar image MZAIADY  ( 2016-12-02 10:22:03 -0500 )edit

How do you set the environment variables? Bashrc? manually when you open a terminal? or some other method?

shoemakerlevy9 gravatar image shoemakerlevy9  ( 2016-12-02 12:10:05 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
2

answered 2016-12-02 13:17:42 -0500

tfoote gravatar image

You should not set both ROS_HOSTNAME and ROS_IP. See docs at: http://wiki.ros.org/ROS/EnvironmentVa...

And you appear to be using the same ROS_HOSTNAME/IP for both machines. That should be the address at which to call back to this specific machine not the same address which is likely why you're having trouble.

And lastly you should use an ethernet IP not localhost for multi computer setups.

If you'd like more help please edit your question provide exact outputs and more descriptions about how to reproduce your setup. Such as where are you running the master? What order are you running applications etc. And please show the output of the debugging suggestions at: http://www.ros.org/wiki/ROS/NetworkSetup

edit flag offensive delete link more

Comments

Thank you, The http://wiki.ros.org/turtlebot/Tutoria... is more clear about this.

Specially 4.2 Verify from TurtleBot to Remote PC, this test fails

MZAIADY gravatar image MZAIADY  ( 2016-12-02 13:28:05 -0500 )edit
0

answered 2016-12-02 13:20:02 -0500

MZAIADY gravatar image

updated 2016-12-02 13:20:27 -0500

Solved: I found the issue, the problem with here

On my remote PC:

export ROS_MASTER_URI=http://robot.mydomain.mz:11311
export ROS_HOSTNAME=robot.mydomain.mz

While it should be:

export ROS_MASTER_URI=http://robot.mydomain.mz:11311
export ROS_HOSTNAME=<Remote PC IP>

Same as in this Tutorial : http://wiki.ros.org/turtlebot/Tutoria... On Remote PC " ROS_HOSTNAME=IP_OF_PC" Not the IP of robot machine

> echo export ROS_MASTER_URI=http://IP_OF_TURTLEBOT:11311 >> ~/.bashrc
> echo export ROS_HOSTNAME=IP_OF_PC >> ~/.bashrc

Although most of tools works fine (e.g rosrun / rostopic list ,...) , but setting ROS_HOSTNAME=IP_OF_PC, what maks roslaunch works fine!!

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2016-12-02 06:34:19 -0500

Seen: 5,365 times

Last updated: Dec 02 '16