Hey,

I'm doing a bit of experimenting with getting ros_comm running on an embedded Linux platform. For the moment, I'm ignoring roscpp (and the roscpp-based eros project), and just concentrating on a rospy-based client, since the platform already has a working Python 2.6 environment with expat and yaml. This is similar work to what has been done to get rospy running on Android devices: http://www.ros.org/wiki/android.

It seems to be basically working. The one major frustration at this point stems from rospack being a compiled utility. Has there been any work (or desire) to port this program to Python? I note that in roslib/packages.py, there's a note to move the get_pkg_dir function to something not based on rospack---would there be the possibility of them both deriving from common library code? The ROS-android project would benefit from this as well---manifests are currently unsupported there, possibly for this reason?

What I've done so far to get it up at all is dump the packages and stacks I need into the root directory, and then implement a trivial stub rospack, like so:

#!/usr/bin/env python

import sys, os

cmd = sys.argv[1]

if cmd == 'find':
  paths = ["/root/", "/root/messages/", "/root/common_msgs/", "/root/ros/core/"]
  pkg = sys.argv[2]

  for path in paths:
    if os.path.exists(path + pkg):
      print(path + pkg)
      exit()

Doesn't look like much, but with manual dependency resolution and running of genmsg_py.py, that's enough to launch a rospy node which communicates to an offboard roscore.

Any thoughts?


--

Mike Purvis | Software Architect | Clearpath Robotics, Inc.

295 Hagey Blvd. Waterloo, Ontario N2L 6R5 Canada
T:  +1 (800) 301-3863 x805 | E: mpurvis@clearpathrobotics.com | W: clearpathrobotics.com


Your Unmanned Experts TM


This electronic communication (including any attachments) is CONFIDENTIAL AND LEGALLY PRIVILEGED. Any unauthorized use or disclosure is strictly prohibited. If you are not the intended recipient, you are hereby notified that any review, retransmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. Thank you.