Powering the world’s robots—10 years of ROS
- Lin Zhang1,
- Robert Merrifield1,
- Anton Deguet2 and
- Guang-Zhong Yang1,*
See all authors and affiliations
Science Robotics 25 Oct 2017:
Vol. 2, Issue 11, eaar1868
Robot Operating System (ROS) celebrates its 10th anniversary on 7 November 2017.
From space robot challenges to autonomous driving, industrial assembly, and surgery, the mission of Robot Operating System (ROS) (1) is to power the world’s robots. The open-source robotics middleware (rather than an operating system, as its name suggests) was initially developed 10 years ago on the basis of work at the Stanford Artificial Intelligence Laboratory and additional efforts by the Willow Garage. Since 2013, ROS has been managed by the Open Source Robotics Foundation (OSRF), now called Open Robotics, which supports “the development, distribution, and adoption of open-source software for use in robotics research, education, and product development.”
The great flexibility of ROS has promoted code sharing and contributions from researchers covering all major aspects of robotics. ROS helps the robotics community progress faster by sharing solutions to common problems. The development process of a robotic application can be simplified by utilizing ROS modules for sensing, navigation, motion planning, collision detection, and simulation (Fig. 1). For example, in the early years, ROS was adopted for the development of mobile robots such as the PR2 robot, which was built along with ROS by Willow Garage. By using ROS, PR2 can perform household chores such as serving drinks and folding laundry (2). ROS now comes with drivers for a wide range of sensors, simulators, and algorithms for navigation tasks that allow users to focus on their own unique aspects of research rather than worry about mundane component implementation. Support for different hardware manipulators has also been pursued in parallel, with recent efforts on standardizing the application program interfaces via ROS Industrial (ROS-I) and motion-planning tools such as MoveIt. Recently, ROS has been used to build open-source self-driving platforms (e.g., the Baidu Apollo project) that provide comprehensive, secure, and reliable solutions for autonomous vehicles.
Fig. 1Ten years of ROS developments supporting research and development including mobile, industrial, surgical, and space robotics, as well as autonomous cars.There have been 11 ROS distributions released in the past 10 years, and the bar graph shows the number of ROS binary downloads in each year. The ROS-I Consortium launched in 2013 with the aim of transforming real-time ROS capabilities for industrial robots. ROS 2.0 is currently under heavy development, and a beta version has just been released.
[IMAGE CREDITS: PEPPER THE ROBOT, SOFTBANK ROBOTICS EUROPE/WIKIMEDIA COMMONS; ROS LOGO, OSRF; ROBOTIC ARM TRIO, PHONLAMAI PHOTO/WWW.SHUTTERSTOCK.COM; DRONE, PROSTOSVET/WWW.SHUTTERSTOCK.COM; ROBOTNAUT2, NASA; SURGICAL ARMS, 3ALEXD/WWW.ISTOCK.COM; ROBOT TOY, ALEXANDER TOLSTYKH/WWW.SHUTTERSTOCK.COM; AUTOMOBILE, ANATOLIY MESHKOV/http://WWW.SHUTTERSTOCK.COM]
Although OSRF has been instrumental in the development and the support of ROS, the success of ROS also relies on contributions from a vibrant and highly productive community that has gathered critical momentum (Fig. 2). Since 2012, ROSCon has been an annual conference where ROS developers of all levels can learn from and communicate with the community. ROS users can also connect via abundant online resources—such as forums, a wiki, and blogs—where they can receive latest announcements and resolve specific technical questions. The latest community metrics report (3) shows that the number of registered ROS forum users has grown by 65% in 2017, attracting developers from all over the world, with North America, Europe, and Asia having the most users. The wiki page edits and views have risen by 36 and 29%, respectively, in recent months, showing an increasingly active community.
Fig. 2Some key ROS statistics.(Left) Countries of visitors for the ROS wiki in the past 4 years, showing an increasing shift of researchers from Far East countries (from ROS annual metric report). (Middle) The top 20 ROS repositories based on the number of forks and stars (from Github, 10 October 2017). (Right) Newly published papers that have cited the original ROS paper (1) (from Google Scholar search, keywords “ROS Robot Operating System”) and the number of registered wiki users.
[IMAGE CREDIT: FLAGS, LBRANDIFY/http://FREEPIK.COM]
ROS also supports distributed systems, where dozens of processes can be run in parallel across multiple machines. A new protocol named ROSLink has been proposed to integrate ROS-enabled robots with the Internet of Things, which aims to build a network of physical objects, vehicles, and other devices such as sensors and actuators. With ROS, accurate physical simulation can be used to test different algorithms, including deep learning, without costly hardware investment. ROS is compatible with different robot simulators, which is essential for prototyping, new algorithms validation, and training of intelligent behavior of the robots in different usage scenarios and environment contexts. One of the most commonly used simulators is Gazebo (4), which is part of ROS. Gazebo has been used extensively in both academia and industry to accelerate the robotics development from the research stage to the real-world scenarios.
The impact of ROS on academic research is evident from the steady increase of publications that benefited from the software platform. These studies include but are not limited to space robotics, service robots, medical robots, humanoid robots, robotic manipulators and grippers, unmanned aerial vehicles and autonomous underwater vehicles. Robonaut 2 (R2) (5), for example, uses ROS for its control and safety system. R2 has satisfied stringent requirements for space robotics and passed a series of rigorous tests on board the ISS (International Space Station).
The medical robotics research community is a relatively late ROS adopter, largely due to the lack of open and affordable development platforms. In 2012, the Raven II (6) was one of the first medical robots with ROS support. In 2014, the da Vinci Research Kit (7) was made available to the research community with support for ROS. Recently, major robot manufacturers such as Kuka have proposed versions of their robotic arms targeting medical applications with ROS support.
The ROS-I (http://rosindustrial.org/) initiative was launched in 2012. Industrial robots have been used extensively for repetitive and high-volume manufacturing tasks, such as welding and material dispensing. However, there are only a small amount of applications developed for low-volume mixed-part production due to cost considerations. Because of limited software architectures of current industrial robots, it is too expensive to apply advanced robotics capabilities to improve industrial productivity. ROS-I provides interfaces for common industrial robots and sensory devices along with software libraries specific to the manufacturing automation. A growing number of industrial hardware, such as robots produced by ABB, Fanuc, and Yaskawa, has been supported by ROS-I. Furthermore, the ROS-I Consortium exists to develop the ROS-I community by providing technical supports, organizing training courses and workshops, and setting the roadmap for ROS-I. The ROS-I Consortium has more than 50 worldwide members, including research institutes and government agencies, system integrators and end users, and original equipment manufacturers. Additionally, the upcoming release of ROS 2.0 should address one of the major limitations that has slowed down ROS adoption in the industry—that it is an in-house middleware implementation. ROS 2.0 now relies on data distribution service for interprocess communication, which brings much better reliability with quality-of-service protocols and security with encryption.
With such a strong community, it seems certain that the next 10 years of ROS will be filled with exciting new developments, transforming from a utility-based middleware to the engine that drives the future development of robotics and allied software tools.
This is an article distributed under the terms of the Science Journals Default License.
M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, A. Y. Ng, ROS: An open-source Robot Operating System, in ICRA Workshop on Open Source Software (ICRA, 2009), p. 5.
A list of ROS-enabled robotic platforms is available athttp://robots.ros.org.
, Inside the virtual robotics challenge: Simulating real-time robotic disaster response. IEEE Trans. Autom. Sci. Eng. 12, 494–506 (2015).
- C. E. Agüero,
- N. Koenig,
- I. Chen,
- H. Boyer,
- S. Peters,
- J. Hsu,
- B. Gerkey,
- J. L. Rivero,
- J. Manzo,
- E. Krotkov
M. A. Diftler, J. S. Mehling, M. E. Abdallah, N. A. Radford, L. B. Bridgwater, A. M. Sanders, R. S. Askew, D. M. Linn, J. D. Yamokoski, F. A. Permenter, B. K. Hargrave, Robonaut 2–The first humanoid robot in space, in IEEE International Conference on Robotics and Automation (ICRA, 2011), pp. 2178–2183.
, Raven-II: An open platform for surgical robotics research.IEEE Trans. Biomed. Eng. 60, 954–959 (2013).
- B. Hannaford,
- J. Rosen,
- D. W. Friedman,
- H. King,
- P. Roan,
- L. Cheng,
- J. Ma,
- S. N. Kosari,
- L. White
P. Kazanzides, Z. Chen, A. Deguet, G. S. Fischer, R. H. Taylor, S. P. DiMaio. An open-source research kit for the da Vinci® Surgical System, in 2014 IEEE International Conference on Robotics and Automation (ICRA, 2014), pp. 6434–6439.