A robot operating system (ROS) delivers the services that would be expected from an OS – such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes and package management.

The open-source robot operating system (ROS) has been around for over ten years. There are thousands of developers building packages for it. A 2019 report from ABI Research, stated that, by 2024, almost 55% of the world’s robots will include a ROS package.
Developed in 2007, at the Stanford University Artificial Intelligence Laboratory, ROS is a layer of middleware that can run on several operating systems or without one. Although it is not an operating system (OS) ROS delivers the services that would be expected from an OS – such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes and package management.
The software in ROS offers flexibility. Organized in packages, it can contain nodes, datasets, configuration files or anything that constitutes a useful module. This makes it useful for several robotic applications and even has the potential to advance its capabilities on already established industrial hardware in factories.
Traditionally, when a robot is added to an operation, it is set up with the closed-source software that comes with the robot hardware. This proprietary software, of which the software’s publisher or another person retains intellectual property rights, offers modules that lets robots adapt to dynamic environments.
For example, it is applied to automated guided vehicles (AVGs) to avoid collisions with nearby machinery in warehouses, and pick-and-place robots for changeable motions to manipulate objects and execute preprogramed tasks. However, these adaptive functionalities are often quite limited.
Open-source benefits
Unlike proprietary software, open-source software gives users full access to the source code. If a plant manager wants to customize a robot’s program, then the developer not only has access to the code, but is able to edit it within the licensing agreement. In fact, ROS-based code engineers, of the ROS-Industrial program initiated by Southwest Research Institute (SwRI), is using open-source software for non-preprogramed robotic actions.
SwRI researchers recently developed a module that lets two robots collaborate on a handling task. The function of these robots is based on point-cloud data from cameras imparting stereo vision and depth perception for environmental understanding. Therefore, the robotic application’s possibilities with ROS-based code is endless, as manufacturers could, for example, install 3D cameras around a work cell to gather data on interactions between robots and the parts being worked on.
Minimizing obsolescence
Engineers will also be pleased to hear that ROS uses the internet’s standard transmission control protocol/internet protocol (TCP/IP). This means that new robotic hardware can be installed on a production line without rendering other parts of the system obsolete, and that all the equipment will still ‘talk’ to each other, without the need for costly reprogramming.
Since it creation over 10 years ago, ROS has become a widely used platform across various robotic applications. It is because of this, that there are now thousands of developers working with ROS to build the future of robotics, allowing manufacturers to reduce obsolete equipment and customize a robot’s program to their liking.
This article originally appeared on Control Engineering Europe’s website.