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

Can't get laser_base data on a distant machine

asked 2014-02-17 22:18:49 -0600

updated 2014-11-22 17:05:07 -0600

ngrennan gravatar image


I work with PR2 which runs on ubuntu 12.4 and ros Groovy. I am trying to get Hokuyo base laser data from a machine under ubuntu which is not the base station. I ran a robot start on an admin account (logged with ssh) and then tried to get the laser data using "rostopic echo /base_scan" on my machine. The node waits indefinitly, giving no data. When I run "rostopic echo /base_scan" from the ssh connected to the robot: I correctly receive the data.

I think it may be a setup problem with ROS yet we can see the image_view of the camera from my machine using "$rosrun image_view image_view image=:/wide_stereo/left/image_color"

I checked all the environments variables: ROS_IP=my_IP and ROS_MASTER_URI= robot_IP. On the dashboard, there is no warning messages about lasers.

When I run "roswtf" I get:

ERROR: connection refused to []

ERROR: Unknown host [pr1043s] for node [/two_hd_monitor]

ERROR: Unknown host [pr1043s] for node [/two_cpu_monitor]

ERROR: Unknown host [pr1043s] for node [/joy]

ERROR: Unknown host [pr1043s] for node [/base_hokuyo_node]

ERROR: Unknown host [pr1043s] for node [/tilt_hokuyo_node]

ERROR: Unknown host [pr1043s] for node [/ocean_server]

ERROR: connection refused to []

ERROR: Unknown host [pr1043s] for node [/ntp_c2]

Where I recognize hokuyo laser but I don't know how to solve the problem.

Anyone ever encoutered this problem? What can I do to get more infos about my problem?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-02-17 22:55:02 -0600

ahendrix gravatar image

It sounds like your network isn't set up properly. In particular, due to the way networking is set up on the PR2, and due to the fact that it's doing remote launches for all of the nodes that run on the secondary computer, you absolutely should not be setting ROS_IP on your PR2.

Instead, you should make sure that any machines on your network can resolve the PR2's DNS names (presumably pr1043 and pr1043s) to the IP addresses that are configured in /etc/robot-forward.conf on the basestation.

For more information, take a look at the Basestation Setup Tutorial for an overview of how to set up your basestation, and Chapter 12 of the PR2 Manual for a deeper description of how the network setup on the PR2 works.

edit flag offensive delete link more

answered 2014-02-25 02:51:35 -0600

updated 2014-03-19 07:06:00 -0600

(edited) Hello, Sorry for the long time to answer. So, we manage to set up the vpn through the base station. The robot is now connected in wifi to the building's network and our computer connects it through the building's network

From the base station, everything is working fine but from another computer messages are not received. We tried to publish a topic from the robot and to suscribe from our computers and the base station: we can see that our computer has subscribed to the node on the robot, but we get nothing ( whereas no problem from the base station).

Our ROS_MASTER_URI is pointing on c1's IP through the base station (PRx1 from 14.1.3 of the manual ), no ROS_IP nor ROS_HOSTNAME is set.

We can ping the robot and connect it with ssh from our computer.

We are wondering if it is a ROS configuration problem or still a network problem.

edit flag offensive delete link more


If you're still having trouble, you should contact PR2 support. They will be able to walk you through the network setup process.

ahendrix gravatar image ahendrix  ( 2014-02-25 04:55:48 -0600 )edit

the problem seems to be a dns problem. When explicitly setting c1 and c2's IP through the basestation in our computer /etc/hosts we can access to the data. Is it a good way of solving the problem?

scarlett gravatar image scarlett  ( 2014-03-20 06:03:32 -0600 )edit

That's a reasonable approach. The recommended approach is to have your local DNS server configured properly with the names and IPs of c1 and c2.

ahendrix gravatar image ahendrix  ( 2014-03-20 08:06:37 -0600 )edit

Question Tools



Asked: 2014-02-17 22:18:49 -0600

Seen: 463 times

Last updated: Mar 19 '14