Edit on Github

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 18.04, OS X 10.12.x, Windows 10), DDS implementations (eProsima Fast RTPS, RTI Connext and ADLINK Opensplice) 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

Tutorials

Currently eProsima Fast RTPS, RTI Connext and ADLINK OpenSplice 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- or dlopen-time

Demo

Currently 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

Tutorial

Launch system for coordinating multiple nodes

Tutorial

Namespace support for nodes and topics

Article

Static remapping of ROS names

Tutorial

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

Beside features of the platform the most impact of ROS comes from its available packages. The following are a few high profile packages which are available in the latest release: