Ask Your Question

rilke's profile - activity

2015-01-30 02:59:00 -0500 received badge  Taxonomist
2014-03-21 09:18:59 -0500 received badge  Famous Question (source)
2014-03-16 22:32:05 -0500 received badge  Famous Question (source)
2014-03-13 10:26:20 -0500 received badge  Good Question (source)
2014-03-10 18:55:49 -0500 received badge  Notable Question (source)
2014-03-10 11:21:11 -0500 received badge  Supporter (source)
2014-03-10 10:19:20 -0500 received badge  Nice Question (source)
2014-03-10 10:12:10 -0500 received badge  Popular Question (source)
2014-03-10 09:46:42 -0500 received badge  Student (source)
2014-03-10 05:29:53 -0500 asked a question How does ros execute my nodes on a remote machine?

When specifying the machine-tag for a ros-node in a launch-file one is principally able to run a ros-node on any reachable machine in the network that is configured for ros. Do I get this right? If yes, I am wondering about the following questions:

  1. How does this work when I developped the code for my node on machine A and I execute it on machine B. Somehow, the binary must be transmitted, doesn't it?
  2. What happens, if machine B contains a conflicting older version of the same node, which version will be executed?
  3. Given the case that a team of programmers develops ros-nodes on different machines and all nodes are finally executed using a launch-file on another machine - let's name it master-machine - that runs the roscore: Although they merge their changes using a VCS and this could theoretically be checkout and built on the master-machine in advance of every execution of the launch-file, is there a possibility to simply update the code on the master-machine (e.g. using roscp)?

(the wiki told me to include this: )

2013-11-25 22:51:04 -0500 commented answer Is it possible to connect machines with different ros versions?

I tried to set either ROS_IP or ROS_HOSTNAME but it did only produce further errors. What solved it for me was to define the mapping between ip and hostname in /etc/hosts

2013-11-25 22:50:03 -0500 received badge  Scholar (source)
2013-11-25 03:39:39 -0500 received badge  Notable Question (source)
2013-11-23 03:14:45 -0500 received badge  Popular Question (source)
2013-11-22 04:31:42 -0500 asked a question Is it possible to connect machines with different ros versions?

I am running a robot pc (NUC) with ros-fuerte and my laptop with ros-hydro. I want to run the main nodes on the robot and the debugging nodes like rqt_plot and some hand made GUIs that use services on my laptop. Following the instructions from the ros wiki on NetworkSetup and MultipleMachines everything gets started and I can see all services and topic doing rostopic/rosservice list on both machines. But if I start my debugging nodes on the laptop (the robot fuerte is running the roscore) the topics and services from the robot seem not reachable. It just doesn't work, I mean there is no output saying connection failed or anything. Only if I try rosservice info <my_service> it says:

Node: /motor_control URI: rosrpc://NUC:47241 ERROR: Unable to communicate with service [/motor_control/SpeedLeftGainControl], address [rosrpc://NUC:47241]

Can this be due to discompabilities between fuerte and hydro? I have no other idea, since everything else works like described.