Christian, <br><br>For a slightly lower effort you could run the roscore inside a VM on the windows machine with a known IP.  roscore has a pretty small footprint and overhead so it could use a relatively small VM.   I know it feels a little excessive, but I expect it will get you going quicker. <br>

<br>Tully<br><br><div class="gmail_quote">On Mon, Feb 7, 2011 at 8:44 AM, Ken Conley <span dir="ltr"><<a href="mailto:kwc@willowgarage.com">kwc@willowgarage.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Hi Christian,<br>
<br>
In the 'ronin' and 'rosproxy' package we explore various solutions to<br>
the problem you describe.  In general, all you need to do is have<br>
another program register the remote node on another master.  The<br>
'register.py' script in rosproxy contains code to do this.  What you<br>
need is the IP address of the remote node, plus the port of the TCPROS<br>
server that it is running.  This will let you connect to a remote<br>
publisher; a remote subscriber is more difficult because a subscriber<br>
needs regular callbacks to notify it of a new publisher.  The ronin<br>
node, in Python, is a node that is capable of re-attaching to masters.<br>
<br>
You can force a roscpp node to bind to a particular TCPROS port by using:<br>
<br>
__tcpros_server_port:=<port_num><br>
<br>
as a command-line argument.  Unfortunately this option does exist in<br>
rospy yet, though it could be hacked in.<br>
<br>
In the longer term, we want to explore mDNS/Avahi-based solutions for<br>
doing the network config.  There are some packages that already<br>
experiment with this, such as Jon Fink's bonjour-based multimaster:<br>
<br>
<a href="https://github.com/jonfink/multimaster-ros-pkg" target="_blank">https://github.com/jonfink/multimaster-ros-pkg</a><br>
<br>
It might be a solution to the problems you describe, but I don't have<br>
first-hand experience with it.<br>
<font color="#888888"><br>
 - Ken<br>
</font><div><div></div><div class="h5"><br>
On Mon, Feb 7, 2011 at 3:16 AM, Christian Verbeek<br>
<<a href="mailto:verbeek@servicerobotics.eu">verbeek@servicerobotics.eu</a>> wrote:<br>
> Dear all,<br>
><br>
> It might be quite unusual but I would like to communicate with a ROS<br>
> system without connecting to a roscore. The problem I see is the<br>
> following. My robots run Ubuntu and are perfectly suited to run ROS. The<br>
> app for programming these robots is a Windows program. We already ported<br>
> ROS to Windows (<a href="http://ros-win32.servicerobotics.eu/" target="_blank">http://ros-win32.servicerobotics.eu/</a>). In general we<br>
> would be able to integrate ROS into our Windows app and connect to the<br>
> roscore running on the robots.<br>
><br>
> This will not do for the following reasons:<br>
><br>
> 1) The IP address of the robot is not fixed, i.e. can be change by the<br>
> user. In order to be able to connect from the outside to the robot<br>
> ROS_MASTER_URI and ROS_IP on the robot would have to reflect the current<br>
> IP address. This might not be a general problem but makes things quite<br>
> complicated for the user when the IP address has to be changed. I would<br>
> prefer to set ROS_MASTER_URI and ROS_IP on the robot to 127.0.0.1 as<br>
> this will always work.<br>
><br>
> 2) We also have a simulator for our robot which is also a Windows<br>
> application. If we would use ROS to connect to our robot we would have<br>
> to run a roscore on Windows and connect the simulated robot to this ROS<br>
> master. With a single simulated robot this might work. But when we<br>
> simulate more than one robot we are getting in very big trouble because<br>
> there are many statics in libros. The robots are loaded at runtime to<br>
> the simulator and the statics make it impossible to handle the robots<br>
> individually as it is done right now.<br>
><br>
> What we would need is a point to point communication with a specific ROS<br>
> node. We know the IP address of the robot and we know which nodes are<br>
> running there. Is there a way to connect to a node's topic directly? Or<br>
> is there a better solution to my problem?<br>
><br>
> Regards<br>
> Christian<br>
><br>
> _______________________________________________<br>
> ros-users mailing list<br>
> <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
><br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Tully Foote<br>Systems Engineer<br>Willow Garage, Inc.<br><a href="mailto:tfoote@willowgarage.com">tfoote@willowgarage.com</a><br>(650) 475-2827<br>