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.
Leave a comment