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

Using roslaunch to run rviz over distributed system

asked 2013-04-02 02:14:58 -0600

Sanket_Kumar gravatar image

Hi,I'm trying to run rviz over distributed system using roslaunch file.

Roslaunch file is as follows :-

<launch>

<include file="$(find urdf_tutorial)/display.launch">
<arg name="model" value="/home/sanket/ros_workspace/humanoid.urdf" />
</include>

<machine name="primary" address="172.16.2.159" user="san" default="false"/>

<machine name="secondary" address="172.16.3.182" user="san1" default="true" password="ai"/>



<node name="modelvisualisation" pkg="rviz" type="rviz" output="screen" args="-d /home/sanket/ros_workspace/h1.vcg" />

</launch>

when i run above launch file i get following errors :-

started roslaunch server http://localhost:39646/
remote[172.16.3.182-0] starting roslaunch
remote[172.16.3.182-0]: creating ssh connection to 172.16.3.182:22, user[ai]
launching remote roslaunch child with command: [env ROS_MASTER_URI=http://172.16.2.159 /opt/ros/fuerte/env.sh roslaunch -c 172.16.3.182-0 -u http://localhost:39646/ --run_id c51e4eb8-9b8b-11e2-b91e-848f69c0fd9c]
remote[172.16.3.182-0]: ssh connection created
remote[172.16.3.182-0]: Exception while registering with roslaunch parent [http://localhost:39646/]: Traceback (most recent call last):
 File "/opt/ros/fuerte/lib/python2.7/dist-packages/roslaunch/server.py", line 498, in _register_with_server
code, msg, _ = server.register(name, self.uri)
 File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__
return self.__send(self.__name, args)
 File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request
verbose=self.__verbose
 File "/usr/lib/python2.7/xmlrpclib.py", line 1264, in request
return self.single_request(host, handler, request_body, verbose)
 File "/usr/lib/python2.7/xmlrpclib.py", line 1292, in single_request
self.send_content(h, request_body)
 File "/usr/lib/python2.7/xmlrpclib.py", line 1439, in send_content
connection.endheaders(request_body)
 File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
self._send_output(message_body)
 File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
self.send(msg)
 File "/usr/lib/python2.7/httplib.py", line 776, in send
self.connect()
 File "/usr/lib/python2.7/httplib.py", line 757, in connect
self.timeout, self.source_address)
 File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
 error: [Errno 111] Connection refused


 [172.16.3.182-0] killing on exit
 remote roslaunch failed to launch: secondary

can anyone help??

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2013-04-02 02:53:43 -0600

Eric Perko gravatar image

updated 2013-04-02 02:53:58 -0600

In a nutshell, it looks like secondary cannot talk back to the roslaunch server on primary.

Try setting ROS_HOSTNAME=172.16.2.159 on primary so that, when it spawns the roslaunch server, it does so with an externally accessible address (I assume you are running this launch file from primary). According to that output, it is being spawned on localhost which is obviously different for each machine (the first line started roslaunch server http://localhost:39646/ tells you what address the roslaunch server is listening on).

edit flag offensive delete link more

Comments

thanks..it solved my problem.

Sanket_Kumar gravatar image Sanket_Kumar  ( 2013-04-03 21:03:54 -0600 )edit

Question Tools

Stats

Asked: 2013-04-02 02:14:58 -0600

Seen: 5,340 times

Last updated: Apr 02 '13