Multiplatform-dotNet-ROS workflow / redistribution issues
Hi all,
I have been looking into ROS during the last couple of weeks, understanding how it works. I've ran it in Ubuntu (the pre-installed VirtualBox), then got it installed in OSX (Mountain Lion) and Windows 7. So for so good, things seem to work as described, and ROS looks promising.
My interest in ROS is to use it as a communication layer between several things we've been developing at my research lab (and yes, those 'things' include robots :)
However, we are not a robotics team, but an intelligent agents and synthetic characters groups, so we are used to develop on high-level platforms.
So the thing is, we develop everything in dotNet, both in Windows and OSX, and now we would like to try to link everything using ROS, because ROS offers exactly the communication mechanisms that we need. We have actually nearly built our own communication layer with the same kind of subscribe/publish mechanisms for independent 'plug-in-play' modules until we found out ROS does this and much more (like all the tools you have, and also modules for the NAO robot, which we also use)
So what I ask is suggestions for a workflow on this - making several libraries that were developed in C# to communicate over ROS.
My first bet was that I could use IronPython to get my dotnet classes to communicate with the python script that launches the ros node. The python script would add a callback to the dotnet class' events in order to publish ros messages when a certain dotnet event was launched, and would run a method on the same class with the msg information whenever a subscribed message was received.
So issue #1: I have failed to load roslib into IronPython. Does anyone know if this can be solved? Here is my execution. I first run it with python, so you see it works, things are set up correctly. However, with ipy it doesn't find roslib.
Tiago-Ribeiros-MacBook-Pro:~ tiagoribeiro$ roscd SimplePerception/
Tiago-Ribeiros-MacBook-Pro:SimplePerception tiagoribeiro$ python nodes/SimplePerceptionEffector.py
/opt/ros/fuerte/lib/python2.7/site-packages/ros_comm-1.8.12-py2.7.egg/rospy/topics.py:758: UserWarning: '\Perception\SimplePerception' is not a legal ROS graph resource name. This may cause problems with other ROS tools
[INFO] [WallTime: 1349574242.992873] hello world 1349574242.99
[INFO] [WallTime: 1349574243.994326] hello world 1349574243.99
^C
Tiago-Ribeiros-MacBook-Pro:SimplePerception tiagoribeiro$ ipy nodes/SimplePerctionEffector.py
Traceback (most recent call last):
File "nodes/SimplePerceptionEffector.py", line 5, in <module>
ImportError: No module named roslib
Tiago-Ribeiros-MacBook-Pro:SimplePerception tiagoribeiro$
Issue #2: Even if I got this running, the WinRos Sdk is not working with python, as ROS doesn't find my package.
I failed to find a workflow on using ROS with python on windows - the tutorials point only to using cpp modules. So what should I run on windows to get ROS to find the package (assuming it's written in python)?
Issue #3: The previous issues make me realize that I might have to work with C++ and ...