April 2009 Archives

Lots of ROS package repositories

| No Comments | No TrackBacks

Update: the personalrobots repository is now ros-pkg and wg-ros-pkg

A lot of people ask, "How is ROS different from X?" where X is another robotics software platform. For us, ROS was never about creating a platform with the most features, though we knew that the PR2 robot would drive many requirements. Instead, ROS is about creating a platform that would support sharing and collaboration. This may seem like an odd goal for a software framework, especially as it means that we want our code to be useful with or without ROS, but we think that one of the catalysts for robotics will be broad libraries of robotics drivers and algorithms that are freely available and easily integrated into any framework.

We're excited to see so many public ROS package repositories have already emerged. Here's the list that we know of:

  • personalrobots.sourceforge.net: (see update) focused on Personal Robotics applications. Willow Garage is helping to maintain this repository with contributions from many others (Stanford, UPenn, TUM, CMU, MIT, etc...).
  • sail-ros-pkg.sourceforge.net: started by ROS lead developer Morgan Quigley to house code from the Stanford AI Lab (SAIL) code.
  • cmu-ros-pkg.sourceforge.net: maintained by Rosen Diankov of CMU, who has also integrated OpenRAVE with ROS.
  • tum-ros-pkg.sourceforge.net: contains several drivers released by Radu Rusu of TUM, who has also been busy with his many contributions to the personalrobots repository (e.g. point_cloud_mapping).
  • code.google.com/p/lis-ros-pkg: contains an interface for the Barrett WAM and Hand, written by Kaijen Hsiao of MIT's Learning and Intelligent Systems Group

An ecosystem of federated package repositories is as important to ROS as the ROS node is for powering the distributed system of processes. Just as the ROS node is the unit of a ROS runtime, the ROS package is the unit of code sharing and the ROS package repository is the unit of collaboration. Each provides the opportunity for independent decisions about development and implementation, but all can be brought together with ROS infrastructure tools.

One of the tools we've written to support these federated repositories is roslocate. roslocate solves the problem of "where is package X?" For example, you can type "svn co `roslocate svn imagesift`" to quickly checkout the source code for the "imagesift" package from cmu-ros-pkg. As more ROS repositories emerge, we will continue to refine our tools so that multiple repositories can easily be an integral component of ROS development.

If you have any public repositories of your own that you'd like to share, drop us a note on ros-users and we'll add it to our list.

ROS on the iPod Touch/iPhone

| No Comments | No TrackBacks

Josh Faust and Rob Wheeler recently got ROS working on the iPod Touch/iPhone and put together a quick demo that uses an iPod Touch as a joystick for the PR2 robot. The iPod Touch and iPhone combine a high-quality display with different modes of interaction that make it appealing for robotics interfaces, and they are a platform to test cross-compilation of ROS. The difficult challenge in getting ROS running on the iPod Touch was solving the cross-compilation issues. Once they had those figured out, they were able to add about twenty lines of code to the standard iPod Touch accelerator demo to translate the accelerator input into commands to drive the PR2.

This is still a proof of concept, but we hope in the coming months to make it a stable platform for ROS development. We've put up a ROSPod wiki page so you can track our efforts and contribute your own.

Find this blog and more at planet.ros.org.


Monthly Archives

About this Archive

This page is an archive of entries from April 2009 listed from newest to oldest.

February 2009 is the previous archive.

May 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.