Open source robotics is working. For the past three years, the Robot Operating System (ROS) has served as one of the premier libraries for robotics code in the world. Software shared through ROS is available for anyone to use, edit, and update. This creates a positive feedback loop as engineers leverage ROS to develop better robotics code which they then share via ROS. Not only is the Robot Operating System growing, it’s growing exponentially. The packages of available code have more than doubled each year, starting at just 5 and now surpassing 1600. There are over 50 different robot models that use ROS, including Willow Garage’s PR2, Aldebaran’s Nao, and Shadow’s robotic hand. Willow Garage, the major force behind ROS, put together a fun video to celebrate the system’s third anniversary. Check it out after the break. Seeing how quickly it has grown in the past few years gives me hope that ROS will be one of the tools that enables robotics to continue as an accelerating technology.
I’ve praised ROS many times because it keeps robot engineers from having to “reinvent the wheel“. With open source code, robot researchers don’t have to build their command software from scratch. If someone else already figured out a good way to get a wheeled robot to rotate left, you don’t have to worry about it. You can focus on the next step – rotating right. Other researchers, in turn, can use your development and work on rolling backwards, etc, etc. Open source software development for robotics is rarely so back and forth – teams tend to develop larger chunks of code before sharing – but you get the idea. Distribution releases for ROS (Box Turtle in March and C Turtle in August) have helped spread the most useful code packages to developers all around the world. In the anniversary video for ROS below you get a sense of how diverse and powerful its programs have proven to be. Robots of every caliber, shape, and purpose have found parts of ROS they can use, improve, and share.
To be fair, open source robotics is bigger than ROS. Much bigger. There are many other libraries out there – Open CV and Orocos were around for years before ROS while Urbi went open source fairly recently (maybe inspired by the recent success of ROS?). Any central repository of open source robotics code can, in theory, do what ROS is doing – helping engineers develop new and better robot software faster. All that a repository really needs to succeed is interest and involvement from the robotics community.
Why then, do I focus so much on ROS rather than Orocos or other open source robotics libraries? Well, partially because I don’t have time to be as thorough as I would like to be, but also because of the explosive growth of ROS. That growth is the result of thousands of robotics researchers, of course, but Willow Garage has been instrumental among them. The Silicon Valley robotics company has been a tireless proponent of the Robot Operating System and has constantly released new and valuable packets for the ROS community. The PR2, Willow Garage’s flagship robot, is almost entirely (or entirely?) run via ROS code. Willow Garage has dedicated countless man hours to develop ROS packets that will attract users of all caliber and interests, including support for Lego NXT Mindstorms – hardware largely favored by amateurs and students. It is with Willow Garage’s leadership that ROS has been able to earn the acceptance of the global robotics community at large. As that acceptance grows, so will ROS.
It seems likely that such growth will continue to be exponential. As more users contribute to ROS the value of ROS itself increases, attracting more participants. That positive feedback loop will increase the Robot Operating System’s pull until eventually it gains enough critical mass to keep sucking in new engineers without proselytizing from Willow Garage. Who knows, it may have already reached that point. As ROS succeeds, so does open source robotics as a whole, and other efforts will unite with it to improve it further. Orocos and ROS were partially integrated last summer (note to self: I really need to cover Orocos on its own). Open CV is easily downloaded through ROS, and is also handled/maintained by Willow Garage.
What’s on the horizon for ROS besides unfettered growth? Better feedback from the community and stewardship. The system now features ROS Enhancement Proposals (REPS) to understand what ROS developers want and need in its structure. There will also be a ROS Foundation patterned after the likes of the Mozilla Foundation, Apache Software Foundation, and GNOME Foundation. The ROS Foundation will guide, protect, and improve ROS so that it can continue to grow and serve the global robotics community as a whole. Now is an exciting time for robotics. The tools for accelerated change are in place – with ROS, the software of today will be improved and form the foundation of the code of tomorrow. Open source development is a very powerful force, and if we harness it well the robots we create a decade from now will seem implausible by our current standards. Given enough time, ROS or its successors will help usher in the age of personal robots. Quick, someone upload a “keep humans safe and happy” packet to ROS. Best to have that firmly in place, just in case.