You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Iron.

Features Status

The features listed below are available in the current ROS 2 release. Unless otherwise specified, the features are available for all supported platforms (Ubuntu 22.04 (Jammy), Windows 10), DDS implementations (eProsima Fast DDS, RTI Connext DDS, and Eclipse Cyclone DDS) and programming language client libraries (C++ and Python). For planned future development, see the Roadmap.

Functionality

Link

Fine print

Discovery, transport and serialization over DDS

Article

Support for multiple DDS implementations, chosen at runtime

Concept, How-to Guide

Currently Eclipse Cyclone DDS, eProsima Fast DDS, and RTI Connext DDS are fully supported.

Common core client library that is wrapped by language-specific libraries

Details

Publish/subscribe over topics

Sample code, Article

Clients and services

Sample code

Set/retrieve parameters

Sample code

ROS 1 - ROS 2 communication bridge

Tutorial

Available for topics and services, not yet available for actions.

Quality of service settings for handling non-ideal networks

Demo

Inter- and intra-process communication using the same API

Demo

Currently only in C++.

Composition of node components at compile, link, load, or run time

Demo

Currently only in C++.

Multiple executors (at level of callback groups) in same node

Demo

Only in C++.

Support for nodes with managed lifecycles

Demo

Currently only in C++.

DDS-Security support

Demo

Command-line introspection tools using an extensible framework

Concept

Launch system for coordinating multiple nodes

Tutorial

Namespace support for nodes and topics

Article

Static remapping of ROS names

How-to Guide

Demos of an all-ROS 2 mobile robot

Demo

Preliminary support for real-time code

Demo, demo

Linux only. Not available for Fast RTPS.

Preliminary support for “bare-metal” microcontrollers

Wiki

Content filtering subscription

Demo

Currently only in C++.

Besides core features of the platform, the biggest impact of ROS comes from its available packages. The following are a few high-profile packages which are available in the latest release: