First ROS Stack Releases: common_msgs 0.9, visualization_common 0.9, simulator_stage 0.1


It took over a year of development and our first Milestone to develop and release the first stable version of ROS, our robot software framework. Now, six months later and with another Milestone behind us, we're ready to start committing to same level of stability with the software we're building on top of ROS. Today we are launching the first of our ROS "Stack" releases: common_msgs 0.9 (download/SVN tag), simulator_stage 0.1 (download/SVN tag), and visualization_common 0.9 (download/SVN tag). In the coming weeks there will be many more releases, including our navigation software, drivers, controller and geometry libraries. This is all part of our Milestone 3 efforts, which focus on the ROS and PR2 User Experience.

Stacks can be thought of as libraries for ROS. Some will be specific to our PR2 robot, but many are already in use on other robot hardware as diverse as the iRobot Create, Kawada HRP2-V, and Videre Erratic. This first set of releases contains some of the most general libraries that we are developing. common_msgs defines many basic ROS message types that are useful in robotics-related software. visualization_common defines ROS message types for use in our visualization tools as well as providing wrappers around the popular open-source 3D engine, Ogre. simulator_stage allows you to use the popular open-source 2D simulator, Stage, with ROS.

The release of these stacks begins a shift in how we expect ourselves and others to develop on top of ROS. ROS started off as experimental software in how a robot software framework could take advantage of networked computer resources. The various ROS stacks started off as research, with a far-off goal of an integrated software platform on a brand new robot platform. Now both the software and hardware have taken shape: the lab to build the final PR2s is nearly complete and we are starting the first of our many stack releases. As we've experienced with our own prototypes, it's hard to develop against a moving target, but now we are transitioning to stable platforms. These stable platforms will help accelerate development and make it easier to share and exchange code.

For these initial releases, we will be using two version number indicators: 0.1 and 0.9. We are using 0.9 for stacks that are stable. They will be released as 1.0 when they have more complete documentation. We are using 0.1 for stacks that are still undergoing review. While we believe that they are mostly stable, we are also conducting user testing here at Willow Garage to verify that this is true. These, too, will receive 1.0 designation once our user testing is complete and feedback is integrated into our APIs and documentation.

If you were an early adopter of ROS, you might be asking, "so what do I do with these releases?" The answer for most is: if you are using code from a stack that has hit 0.9, now is a good time to migrate any out-of-date code. Otherwise, we recommend waiting until we have made some of our higher-level stack releases (e.g. navigation stack) before changing your installation process to use these releases instead. We will also be releasing tools soon to help you manage and install stack-based releases.

 -- your friendly neighborhood ROS and ROS Stacks team


navigation stack

Any time line on when it would be coming out? We've (We being Cornell Minesweeper) been tinkering with the idea of using ROS for our robot and a big part of it would be navigation. Our hardware base would be significantly different than PR2, but I think that the changes we will have to make will help ROS become a more hardware independent system. Thanks--Ironman

The stable release of the

The stable release of the navigation stack is scheduled for early September. An 0.1 release of it will come out before that and will be good enough for early integration testing. -- kwc