Recently in ros.org Category

Happy 3rd Anniversary, ROS!

| No Comments | No TrackBacks

3yearbirthday_spot2.jpg

It's hard to believe, but it has now been three years since we set out to create an open source software platform for the robotics industry. That effort has come to be known as ROS, which initially began as a collaboration between the STAIR project at Stanford and the Personal Robots Program at Willow Garage. Just a few short years later, we're excited to see how many individuals and institutions have joined in this collaboration. ROS (for Robot Operating System) is completely open source (BSD) and is now in use around the world in North America, Europe, Asia and Australia. There are robots running on ROS indoors and out, above and below the sea, and even flying overhead.

As we celebrate this occasion, we thought it would be a good time to share the "State of ROS" and talk about what's next.

Stats

There are now over 50 public ROS repositories contributing open-source libraries and tools for ROS, and more than 1600 public ROS packages. We are aware of over 50 robots using ROS, including mobile manipulators, quadrotors, cars, boats, space rovers, hobby platforms, and more.

People often ask how many users are there of ROS. Due to the free nature of ROS, we simply don't know. What we do know is that since the ROS C Turtle release this past August, there have been over 15,000 unique visitors to the ROS C Turtle installation instructions, with over 6,000 unique visitors in October.

ROS has grown very quickly this past year. Below are a few charts showing the growth in the number of public ROS repositories and ROS packages. As large as the ROS community is, you can see that things are just getting started.

Universities Using ROS

Academic contributors are the backbone of the ROS community, providing nearly three-fourths of the public ROS repositories. These contributions are helping to push the bleeding edge of ROS capabilities, and are also expanding ROS to new robot platforms. In the process, they are creating new communities within ROS to collaborate at the hardware, software, and research levels.

These individuals and departments have greatly expanded the range of hardware that can be used with ROS. Thanks to their efforts, you can now use ROS with iRobot Creates (Brown University), Aldebaran Naos (Brown, Uni Freiburg), AscTec quadrotors (CCNY), Barrett arms (MIT), Velodynes (UT Austin/ART), Pioneers (USC, AMOR), Parrot AR.Drones (SIUE), and much, much more.

Several core ROS libraries are being built with the help of academic institutions: the ROS motion planning library is being built with contributions from the Kavraki Lab at Rice University, the CLMC Lab at USC, GRASP Lab at Penn, and Willow Garage; the Point Cloud Library is being built with contributions from researchers at TUM, Uni Freiburg, Willow Garage, and MIT; and the visual SLAM library is being built in collaboration with Uni Freiburg and Imperial College of London. There are also individual contributions: Jack O'Quin at UT Austin provided an official Firewire camera driver and René Ladan has done a FreeBSD port of ROS.

At the research level, the contributions are too broad to easily summarize. Whether you're doing research in 3D perception, manipulation, cognitive robotics, mapping, motion planning, controls, grasping, SLAM, HRI, or object recognition, there are ROS packages representing current research. We look forward to a world where "academic publication" refers to code as much as it does papers, and, thanks to the ROS community, we are starting to see that happen. We are also building tools to help researchers cite ROS code used in their publications.

Companies Using ROS

ROS has been adopted by robot hardware manufacturers, commercial research labs, and software companies. These institutions include Meka, Fraunhofer IPA, Shadow Robot, Yujin Robot, Thecorpora, Robotics Equipment Corporation (REC), Skybotix, Kuka (youBot), and Vanadium Labs. All are using ROS as a software platform for their customers to build on. Additionally, several of these companies are using ROS to build their own robot applications. ROS is also being used in research and development at Bosch, re2, Aptima, and Southwest Research Institute.

What's even more exciting than seeing companies using ROS is organizations contributing open source software to the community. There are ROS repositories for Bosch, Shadow Robot, Aptima, Fraunhofer IPA, Robotino (maintained by REC) and Vanadium Labs. Meka and Skybotix are both providing open-source drivers for their hardware, and Thecorpora's Qbo is billed as an "open-source robot." More broadly, Yujin Robot has released their embedded tools for ROS and REC has ported ROS to Windows.

Companies developing software libraries for robotics have also been supportive of open source and ROS. Gostai completed the transition of the Urbi SDK to open source this year, and the 2.1 release added support for ROS. SRI released components from the Karto SLAM SDK as open source on code.ros.org and is supporting ROS integration.

Programs Using ROS

Various research programs are embracing ROS as a platform. ROS was created, in part, to support the PR2 Beta Program and encourage the exchange of ideas through software. This year, in addition to the official start of the PR2 Beta Program, there have been two DARPA programs announced that are using ROS: Maximum Mobility and Manipulation (M3) and ARM-S. The ARM-S program is providing a shared manipulation platform with ROS drivers that will enable participants to work with the ROS community.

And in Europe, there is the BRICS Project, which aims to identify and promote good development practice and reusable components for robotics. The BRICS participants are making use of many ROS packages, and working to integrate them with other robot software systems.

Building Bridges

One of the values of being open source is that it's much easier to collaborate than compete. With so much great open source software out there, it's wonderful that various robot software frameworks can build on each other's strengths rather than forcing users to choose between them. This year we've seen ROS integrated with OpenRTM, Urbi, and PIXHAWK. There is also improved integration with Orocos.

ROS has also been integrated with other programming languages thanks to members of the community. Tim Niemueller has contributed a Lua client library for ROS, which also helps provide integration with the Fawkes Framework. Brown University has contributed a Javascript library for ROS that lets you control ROS-based robots directly from a Web browser.

Hobby and Low-Cost Platforms

ROS now runs on many lower-cost, hobby-friendly platforms. 2010 started off with Andrew Harris providing ROS libraries for the Arduino and was quickly followed by I Heart Robotics's WowWee Rovio drivers. You can now use Lego NXT robots with ROS as well as Taylor Veltrop's drivers for Roboard-equipped humanoids. Companies have also contributed: Vanadium Labs provided ROS drivers for their ArbotiX line of robocontrollers.

The ROS iRobot Create/Roomba community has also expanded greatly this year, with many institutions and individuals now providing drivers and libraries: Brown's RLAB, CU Boulder's Correll Lab, Aptima, Stanford, OTL, and ISR - University of Coimbra.

Making ROS More Open

We strive to make ROS as open as possible. From ROS's early days hosted on SourceForge, to a community-editable wiki, to open code reviews, we've done our best to perform ROS development out in full view of the public. However, we recognize that we can do more and are pursuing two major efforts to do so.

First, we created a new process for proposing changes to ROS. This process, called ROS Enhancement Proposals (REPS), empowers you to contribute to ROS development. It also provides better insight into current efforts.

Our second effort lays the groundwork for a potential ROS Foundation, an organization for the long-term development of ROS. We are inspired by the Mozilla Foundation, Apache Software Foundation, and GNOME Foundation, which act as stewards for public technologies. These foundations were not created overnight, nor were they created alone. We have already received invaluable advice from our friends at Mozilla on how to get started; now we need your help.

We invite you to get involved -- how can you play a role? We need developers for the core libraries, researchers to push the envelope, and companies to bring it together. As a community, these are all things we already have and are already doing. All we need to do is take the next step together.

This third year for ROS has shown us the size and strength of the ROS community. As our community continues to grow, we hope that we can better combine our strengths to meet the challenge of creating an open platform for robotics.

Concluding Thoughts

Just a few short years ago we set out to create an open software platform that lets roboticists focus on innovation, rather than reinventing the wheel; an open source robot operating system that is free for others to use, change and commercialize upon.

Three years later we are really excited by our community and what it has done. Whether you're talking about robots, libraries, companies, or research labs, the growth and breadth that we have seen has been stunning. We are grateful for your participation and have done our best to respond to your needs by making ROS better and more open. We're looking forward to the next three years (and many years after that), working together to build what's next.

ROS Tutorials and Turtles

| No Comments | No TrackBacks

crossposted from willowgarage.com

turtlesim Along with our Texas Robot experimentation, we continue our endeavors to improve the usability of our software and hardware components. By focusing outwards on the ROS and PR2 communities, we've made significant progress towards improving user experience, and we continue to iterate on these changes with the generous help of numerous ROS community members. We've been running software and hardware component tutorials through rigorous user testing, and along the way, discover opportunities to develop new teaching tools.

In an effort to simplify ROS adoption for new users, we developed turtlesim, a LOGO-inspired tool that provides a hands-on approach to learning ROS basics. This tool functions as an entry-level tutorial that takes in velocity commands, and "drives" a turtle according to the input. Turtlesim offers a simple simulator that allows new users to more readily visualize their commands and work with a simulated "robot." Once comfortable with some of the more basic ROS commands, users can try simulators, like Stage and Gazebo, for more advanced experimentation and tutorials.

These tutorials, along with many others, can be found at ros.org. There are currently 19 tutorials available for the core ROS system, and 186 tutorials (and counting) in total, covering much of the functionality available on ROS. To learn how to document a package, check here, and to learn how to write a tutorial for a package, click here. Ros.org has seen great expansion and improved organization. We strongly encourage you to upload your work and share your documentation and tutorials with the ROS community!

Migration to code.ros.org complete

| No Comments | No TrackBacks

code.ros.org

We have successfully completed migration of our ROS (ros.sourceforge.net) and "Personal Robots" (personalrobots.sourceforge.net) code from SourceForge to code.ros.org. Both projects remain available under the same open source licenses as before and use the SourceForge-inspired GForge platform, but they are now hosted on dedicated servers.

As part of this move, we took the opportunity to split personalrobots into two new projects: ros-pkg and wg-ros-pkg. ros-pkg contains software for a general robotics platform and has contributions from many external collaborators. From navigation to drivers to visualizations, this software runs on a variety of robots and enables researchers to focus on cutting-edge capabilities. wg-ros-pkg builds on top of ros-pkg to provide the software for the PR2 robot platform. We hope that the PR2 platform will accelerate collaboration between researchers by providing both common software and hardware. In addition to ros-pkg and wg-ros-pkg, we encourage you to checkout the many other repositories of open source ROS code available from other institutions.

You may be wondering why we chose to move from SourceForge. We were stunned to discover that the Personal Robots project was consistently ranking either #1 or #2 in daily SVN activity, out of more than 230,000 projects hosted at SourceForge. The ROS project was also highly ranked, often in the top 20. This heavy use was putting strain on SourceForge's infrastructure and it was unfair to expect an external organization to support such heavy use. We are grateful to SourceForge for the support they have provided, as well as the tools we have needed to foster the ROS community. Now that we have launched ROS.org, it was time to for us to support the community using our own infrastructure.

The pace of activity with ROS software has increased these past several weeks, which reflects our progress towards completing Milestone 3. We have done initial releases of nearly all the software we expect to deploy with the PR2 robot. We have launched ROS.org as a new home for documentation, tutorials, and news about ROS. And now we have launched code.ros.org, which will strengthen the infrastructure used to share code. There's still much more to do, from hardening the software to improving documentation. We will also need tools to bring all the pieces together with new tools for installing and managing these platforms. We looking forward to sharing more with you as these become ready.

common_msgs simulator_stage visualization_common

Reposting from willowgarage.com, 2009/08/13

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

Welcome to ros.org

ros.org is still coming online as I write this. We hope that this site will become an online hub for the ROS community. Much of the content is driven by you, our users, whether it be the content on the Wiki or the software that you're writing and releasing with ROS.

Things are a bit sparse right now as we get all of our systems in place, but here's a tour of what you see right now:

  • Documentation: Current ROS users will probably recognize the ros.org Documentation Wiki -- we've moved the old wiki to this site so that it would have an easier-to-remember URL. We also removed the non-ROS content and purged much of the out-of-date content. In the coming weeks we will be honing and refining the Wiki here to provide you better and easier-to-find information.
  • Browse Software: You can use this experimental interface to search for ROS software. We are currently indexing all of the various ROS open source repositories on the Web.
  • News: As we release more ROS Stacks, expect to find the release announcements here.