The open source Robot Operating System (ROS) has been around for over ten years and has thousands of developers building packages for it. In fact, according to a 2019 report by ABI Research, nearly 55% of the world's robots will include a ROS package by 2024. With this language growing in popularity, Neil Ballinger, Head of EMEA at EU Automation, discusses whether ROS is becoming the common automation language for robotics.
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’s 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 enormous flexibility. Organised in packages, this software can contain nodes, datasets, configuration files or anything that constitutes a useful module. This makes ROS useful for several robotic applications and even has the potential to advance its capabilities on already established industrial hardware in factories.
When a plant adds a robot to its operations, it is usually 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.
Unlike proprietary software, open-source software gives users full access to the source code. If a plant manager wants to customise a robot’s programme, then the developer not only has access to the code, they can 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.
Engineers will also be pleased to hear that ROS uses the internet’s standard Transmission Control Protocol/Internet Protocol (TCP/IP). This means that plant managers can rest assured that they can install new robotic hardware on their production line without rendering other parts of their system obsolete, and that all the equipment will still 'talk' to each other, without extensive reprogramming.
Over time, 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 customise a robot’s program to their liking.