ROS the new way to use robotics
The open-source framework ROS (Robot Operating System) eliminates the obstructive confusion of different programming languages. It offers operating system functions and software tools for easy programming of robots – independent of the robot manufacturer. This guide explains what is behind it.
Programming is problematically
Robotics are part of our life everyday. They help with the production of cars in the factory, they transport goods or support research work under water. And these are just some of the jobs they now do for us humans.
All these activities require the robots to be programmed accordingly. The program tells it where to move and what to do where – for example, to head for a box in order to reach for a component there.
In principle, every robot supplier has developed its own programming language for this purpose. Anyone who wants to use a robot must therefore have a command of the relevant language. Companies that work with robots from different manufacturers therefore need special experts for each type who are able to program it. Manufacturers offer their own training courses for this purpose, which can last several days.
This can make the use of robots time-consuming and costly. One-third of the cost of a robot cell is caused by software engineering – that is, teaching the robot.
In addition, applications cannot simply be reproduced. This is because an application created for the robot of a particular manufacturer cannot be easily transferred to that of another supplier. Instead, the entire code has to be rewritten.
This is not only inefficient for users who want to work with different robots. It also makes it difficult to transfer knowledge between different types of robots. New applications, which would improve the work with the technology, for example, can only spread slowly. This hinders progress in robotics in general.
The solution: open source, meta operating system including middleware
The solution to this, in a sense, is to open up the language barriers. This is the fundamental idea behind it – an open source framework for programming robots. ROS was developed in 2007 by the robotics institute Willow Garage in Silicon Valley for the development of the in-house service robot PR2. This was followed in 2009 by its release as open source so that anyone could use it. Since 2012, it has been coordinated, maintained and further developed by the Open Source Robotics Foundation (OSRF).
It is also called a meta operating system including middleware. In concrete terms, this means that it is not an operating system itself, but is based on an existing operating system. Originally, this was only Linux, but Windows and MacOS are now also supported. However, ROS itself also offers operating system features. These include package management, hardware abstraction, process management and device drivers, with which the program created on the computer is transferred to the robot.
In addition, ROS provides software tools to write programs for robots. Users can take advantage of software libraries that simplify program creation and provide flexibility for customization.
ROS an open source
As is usual with open source, ROS is supported by a large community. Around 35,000 users are currently active on the corresponding platforms. The community develops a large number of packages with specific functions for ROS. Users can then fall back on these to implement corresponding applications with their robot. For example, there are packages for path planning, navigation and image processing.
Since 2012, the ROS Industrial Consortium has been driving the development of it within the community. The goal is to make the framework, which was originally geared toward service robotics, usable for industrial robots as well. The consortium now comprises more than 80 members. These include research institutions, robot manufacturers, technology groups, companies from the automotive industry and IT providers.
The Industrial Consortium provides packages is that are designed to meet industrial standards. This means the packages are tested and documented, and the quality is assured. This ensures that they are robust enough to be used in industrial environments. In addition, the consortium offers trainings.
Supporting programming languages for ROS
Those who rely on ROS to operate their robots benefit from a number of advantages. For example, modern programming languages such as Python, Java and C++. And these are languages that are already taught at university or even at school. This lowers the hurdles for creating robot programs. Software libraries that were not written specifically for robots – for example, for image processing – can also be integrated.
In addition, the lack of reproducibility is no longer a problem. A robot is able to understand a program – even if this was originally written for a colleague from another manufacturer. So applications can be rolled out on a large scale without language barriers.
Basically, ROS simplifies the creation of robot programs because users can draw on the know-how of a large developer community. Anyone who wants to teach their robot a particular task can draw from the large pool of packages for this purpose. And vice versa, self-developed solutions for a specific problem can be made available to the worldwide community.
Does ROS already meet real-time requirements?
The possibilities of ROS are constantly expanding. In 2017, a further development it was released with ROS 2, which brings with it a number of improvements. These include support for multi-robot systems – that is, the coordinated use of multiple robots. ROS 1 lacks a standard method for building such systems.
Another limitation concerns the real-time behavior. Especially in the industrial sector, there are many applications with real-time requirements for the robots that are not supported by ROS 1. Such and other limitations have been removed with ROS 2. The ROS 2 Technical Steering Committee is responsible for further development.
The advantages of ROS can now be used in many different scenarios. For example, corresponding drivers exist for over 140 robots. Already three years ago, the market research house ABI Research predicted that almost 55 percent of all commercial robots will use at least one package by 2024.
An ecosystem has also emerged around the system, providing various technologies and services. Experts from the Fraunhofer Institute for Manufacturing Engineering and Automation (IPA), for example, have developed navigation software with ROS modules for automated guided vehicles (AGVs) used in automotive production. The institute is one of the driving forces behind the development of ROS and coordinates the activities of the ROS Industrial Consortium Europe.
Who is relying on ROS?
Safety specialists such as Pilz are also involved with mobile robots. The supplier has developed a safety laser scanner that ensures that an AGV travels its path without colliding. However, the information from the scanner can also be used to navigate the AGV directly or to plan a new path. In an example application, the scanner sends its data to a ROS PC running a so-called SLAM algorithm. This takes care of the navigation and the creation of the map. With a digital twin, which also runs on ROS, the application can also be planned in advance.
ROS is also interesting for network companies. Ericsson, for example, is working to use ROS 2 in combination with 5G to advance distributed real-time systems. Companies that want to use ROS for industrial robots can also call on the advice of relevant service providers.
ROS has also boosted the startup scene. In robotics in general, there are currently a great many young companies developing new solutions. The International Federation of Robotics estimates that about two-thirds of them use the open source framework.
One of them is Drag&Bot. Like several other startups, the company has set itself the goal of simplifying the handling of robots. Drag&Bot is a spin-off of Fraunhofer IPA and offers companies a package of ready-made software modules. These can be easily assembled into the desired robot program using drag-and-drop. Special robotics know-how is not necessary. Thanks to ROS, the Drag&Bot software can be used for robots from different manufacturers.
Major IT providers such as Google and Amazon have also recognized the advantages of ROS. Development platforms for ROS are now available in the cloud. Those who take advantage of this offer can therefore run their robot application directly in the cloud.
ROS: from quadrupeds to robotic arms
The examples show the bandwidth of ROS. And in addition to AGVs and industrial robots, many other different types of robots can be programmed based on ROS – from drones to four-legged robots.
Among the latter are the Quadruped Go2 Air series robots from Unitree. The Quadruped robots are suitable for research and development of autonomous systems in the fields of robot-human interaction, SLAM and transportation. Due to their four legs, they can move in many different terrains. In doing so, they reach a speed of 3.7 m/s or 11.88 km/h.
A mobile robot is also the TB3 BURGER 4 2GB, which is equipped with a Raspberry Pi 3, a LiDAR system, an OpenCR control unit and two Dynamixel servo motors. Thanks to the components, reliable measurement data can be generated and processed. Furthermore, the controller board offers a number of expansion options, for example to control a robot arm or to implement further sensor technology. This makes the robot suitable for SLAM and navigation applications. Turtlebot3 is the official ROS.org development platform for companies, research institutes and universities.
Desktop robot arms can also be controlled with ROS. These include the UFactory xArm, which has a payload of up to 5 kg and a reach of up to 700 mm.
Conclusion
The potential of ROS has many constraints and thus could decisively drive development in this area. The framework makes it possible for the technology to be used independently of manufacturers and for corresponding applications to be created relatively easily. In this way ROS is helping to ensure that a lot of users will be able to benefit from the possibilities of robot use in the future.
Image: Adobe Stock