Started in 2007, the Robotic Operating System (ROS) is an open-source, collaborative framework of software libraries and tools that assist in building robot applications. ROS isn’t an operating system in the traditional sense and instead works on top of an existing operating system to provide structured communications.
The system was originally built to aid single robot projects for academia research applications. However, as ROS has grown in popularity, applications have expanded. The system has become more common in the industrial sector for uses in manufacturing, agriculture, commercial cleaning and government agencies.
ROS 2 was created to address this shift. The updated system runs separately from ROS 1. As the older program is still used widely, the significant changes in ROS 2 could cause disruptions or functions to break entirely. However, ROS 2 is not meant to replace ROS 1, and is instead designed to be interoperable.
ROS Goes Industrial
In contrast with ROS 1, ROS 2 applies to teams of multiple robots, includes real-time system control, works within degraded network connectivity conditions and provides tools for life cycle management and static configurations.
Specific changes from ROS 1 to ROS 2 include but are not limited to:
- ROS 1 uses programming language C++03. ROS 2 uses C++11 ad some C++14. C++17 might be implemented in the future.
- ROS 1 uses a custom serialization format, transport protocol and central discover. ROS 2 uses Data Distribution Service for serialization, transport and discovery.
- ROS 1 only supports a CMAKE build system. ROS 2 can support other build systems.
- ROS 1 can only use a small subset of Python setup.py files. ROS 2 can use all such files.
- ROS 2 has a more flexible environment setup.
ROS 2 launched its first alpha build in 2015 and continues to update with new features in conjunction with community input and a future road map. ROS 1 also continues to receive updates.
ROS is recognized as a quality standard throughout the robotics industry. New products, like Robotiq’s robot grippers, MARA’s robot arm and many other robots and robot parts are built with the ROS 2 system. NASA uses ROS to run their Robonaut 2 and other projects including laboratory applications, field tests and implementations within the International Space Station. Taiwan held their first large-scale ROS 2.0 event at 2019’s IEEE Internal Industrial Summit. It’s estimated hundreds of thousands of developers are actively using ROS.