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

Network Setup

asked 2015-03-17 17:17:33 -0500

updated 2015-03-17 19:22:16 -0500

I have two computers, both running Ubuntu 12.04 and ROS Hydro. I have a Pioneer3-DX robot which I am running with p2os on one computer connect to the robot by serial cable. They are connected wirelessly through a dlink router and are able to ping each other by IP address, but not by hostname. I am working through the ROS Multiple Machines Tutorial, and am not able to get the talker/listener working. The error which comes up is:

[ERROR] Unable to immediately register with master node [http://rickoFNP14eedX3:11311]: master may not be running yet.  Will keep trying.

Objective: Control the Pioneer3-DX wirelessly from my laptop with teleop_keyboard.

I am relatively new at ROS and not great at networking, so thanks for your help on this noob question.


Update:

I used export ROS_MASTER_URI=http://192.168.0.100:11311 on both machines rather than export ROS_MASTER_URI=http://rickoFNP14eedX3:11311. Starting talker.py on the onboard machine and listener.py on the laptop, the error no longer comes up; however, the listener.py on the laptop does not produce any results.

rostopic list -v on the laptop shows /chatter as a published topic with a subscriber. However rostopic echo /chatter has no results from the laptop.

rostopic list -v on the onboard machine shows /chatter as a published topic with a subscriber. rostopic echo /chatter shows the expected messages.

The results are the same if switch the nodes running on each computer.


Information of laptop:

jslum@rickoFNP14eedX3:~$ hostname
rickoFNP14eedX3
jslum@rickoFNP14eedX3:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 14:da:e9:bf:50:16  
          inet6 addr: fe80::16da:e9ff:febf:5016/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:220833 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15739 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:39199895 (39.1 MB)  TX bytes:2154737 (2.1 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:157699 errors:0 dropped:0 overruns:0 frame:0
          TX packets:157699 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11060159 (11.0 MB)  TX bytes:11060159 (11.0 MB)

wlan0     Link encap:Ethernet  HWaddr bc:77:37:e7:db:9b  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::be77:37ff:fee7:db9b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10496 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8736 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2626670 (2.6 MB)  TX bytes:1084552 (1.0 MB)

Information of onboard computer:

ecejames01@ECE521:~$ hostname
ECE521
ecejames01@ECE521:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0a:9d:e0:08:e4
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2015-03-17 19:52:29 -0500

tfoote gravatar image

If you do not have full name resolution you will probably need to set your ROS_HOSTNAME.

See the NetworkSetup guide for more info.

edit flag offensive delete link more

Comments

Yes...the ROS Multiple Machine Tutorial refers to Network Setup, and that is how I go tthe first error mentioned above.

sealguy77 gravatar image sealguy77  ( 2015-03-18 09:19:15 -0500 )edit

Using ssh ECE521 or ssh 192.168.0.101 does not work for me by the way.

sealguy77 gravatar image sealguy77  ( 2015-03-18 09:21:46 -0500 )edit

Okay, I tried it again.

export ROS_IP=192.168.0.100 (or 101)
export ROS_MASTER_URI=http://192.168.0.100:11311

worked for me. I think the reason it did not work before is because I didn't have the right combinations.

enter code here

sealguy77 gravatar image sealguy77  ( 2015-03-18 09:52:33 -0500 )edit

Additionally,

export ROS_HOSTNAME=192.168.0.100 (or 101)
export ROS_MASTER_URI=http://192.168.0.100:11311

worked as well.

sealguy77 gravatar image sealguy77  ( 2015-03-18 09:54:11 -0500 )edit

However, setting

export ROS_HOSTNAME=rickoFNP14eedX3 (or ECE521)
export ROS_MASTER_URI=htt[://192.168.0.100:11311

did not work.

sealguy77 gravatar image sealguy77  ( 2015-03-18 09:57:16 -0500 )edit

Thanks for your help.

sealguy77 gravatar image sealguy77  ( 2015-03-18 09:58:25 -0500 )edit

When using rosnode machine, only rickoFNP14eedX3 shows up. Should ECE521 show up as well?

sealguy77 gravatar image sealguy77  ( 2015-03-18 10:05:29 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-03-17 17:17:33 -0500

Seen: 848 times

Last updated: Mar 17 '15