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