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: