MITB Banner

New Version Of Robot Operating System (ROS) Released After 14 Years. What Changed?

Robot Operating System is a collection of libraries and tools that assist software developers in developing robot applications.

Recently, a new robot operating system (ROS)2 distribution was launched on 23 May 2021. Since the launch of ROS in 2007, a great deal has evolved in the robotics and ROS communities. ROS is a collection of software frameworks and tools for developing robot applications. 

List of ROS2 Distributions

ROS 2 Distro NameRelease DateEOL Date
Galactic Geochelone23rd May, 2021November 2022
Foxy Fitzroy5th June, 2020May 2023
Eloquent Elusor22nd November, 2019November 2020
Dashing Diademata31st May, 2019May 2021
Crystal Clemmys14th December, 2018December 2019
Bouncy Bolson2nd July, 2018July 2019
Ardent Apalone8th December, 2017December 2018
beta313th September, 2017December 2017
beta25th July, 2017September 2017
beta119th December, 2016Jul 2017
alpha1 – alpha831st August, 2015December 2016

The expectation is that new ROS 2 distributions will be released once a year. Likewise, Humble Hawksbill is expected to release in May 2022.

The most significant change introduced by ROS 2 was the adoption of the data distribution service (DDS) middleware as the communication layer. Its initial release was mostly employed in academic applications, and it was created with the intention of being used in commercial ventures. Simultaneously, ROS 2 has expanded its application base through multi-robot communication, real-time communication, and platform support. At the moment, ROS 2 is used in a variety of applications, ranging from humanoid robots to industrial robots and autonomous vehicles. Apart from that, the OpenCV library is a detection library for ROS 2. Additionally, the QT graphic library is used to create the user interface in ROS 2 applications and is available as an add-on.

Why not enhance ROS?

Generally, the modifications described above can be included in the existing ROS core code. Given the intrusive nature of the changes, there is far too much danger connected with replacing the current ROS system so many people rely on. ROS should serve as a reminder of the same as it does today. As a result, ROS2 will be developed as a set of parallel packages that may be deployed alongside and interact with ROS.

The Architecture of ROS 2

ROS 2 is based on a distributed real-time system architecture. Sensors on robots, motion controllers, detection algorithms, artificial intelligence algorithms, and navigation algorithms are all components of this distributed architecture (referred to as nodes). DDS middleware, which was chosen for data interchange in ROS 2, enables these components to communicate in a distributed environment.

Instead of directly utilising the DDS middleware, ROS 2 provides its own abstraction layer on top of it. Thus, the user is abstracted from the specifics of the DDS middleware interface. The ROS 2 binary releases for currently supported distros include out-of-the-box compatibility for numerous RMW implementations (Fast DDS, RTI Connext Pro, Eclipse Cyclone DDS). Since Galactic, the default is Cyclone DDS, which runs automatically as part of our binary packages. Prior to Galactic, the default was Fast DDS. Apart from that, several DDS products support rmw. The user can use any DDS library they choose, and thanks to network-level compatibility, many DDS libraries can be used in the same project.

Design goals for ROS 2 compared to ROS 1

  • Support for multiple robot systems: ROS 2 adds support for multiple robot systems and improves the network performance of multi-robot communication. The ROS community will see an increase in multi-robot systems and applications.
  • Bridging the gap between prototypes and products: ROS 2 is not only concerned with scientific research but also with the transition of robots from research to application, enabling more robots to carry ROS 2 systems directly to the market.
  • Support for embedded microcontrollers: ROS 2 is compatible with existing X86 and ARM platforms and with embedded microcontrollers such as MCUs (ARM-M4, M7 cores).
  • Support for real-time control: ROS 2 has support for real-time control, which can increase control timeliness and overall robot performance.
  • Multi-platform support: ROS 2 not only operates on Linux computers but also on Windows, macOS, RTOS, and other platforms, providing developers with additional options.

ROS 2 and Its Application in Projects

ROS 2 has garnered considerable attention in recent years, particularly from creators of autonomous vehicles. These companies have begun developing prototypes using ROS 2, which provides numerous infrastructures for their design systems. Apex.ai has released a ROS 2 distribution that is functionally safe and ISO 26262 certified. Additionally, businesses have begun developing ROS 2 libraries that may be utilised in safety-critical projects, together with the associated tests and documentation.

Access all our open Survey & Awards Nomination forms in one place >>

Picture of Dr. Nivash Jeevanandam

Dr. Nivash Jeevanandam

Nivash holds a doctorate in information technology and has been a research associate at a university and a development engineer in the IT industry. Data science and machine learning excite him.

Download our Mobile App

CORPORATE TRAINING PROGRAMS ON GENERATIVE AI

Generative AI Skilling for Enterprises

Our customized corporate training program on Generative AI provides a unique opportunity to empower, retain, and advance your talent.

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox
Recent Stories