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 20.04, macOS 10.14.x, 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 |
||
Support for multiple DDS implementations, chosen at runtime |
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 |
||
Publish/subscribe over topics |
||
Clients and services |
||
Set/retrieve parameters |
||
ROS 1 - ROS 2 communication bridge |
Available for topics and services, not yet available for actions. |
|
Quality of service settings for handling non-ideal networks |
||
Inter- and intra-process communication using the same API |
Currently only in C++. |
|
Composition of node components at compile, link, load, or run time |
Currently only in C++. |
|
Multiple executors (at level of callback groups) in same node |
Only in C++. |
|
Support for nodes with managed lifecycles |
Currently only in C++. |
|
DDS-Security support |
||
Command-line introspection tools using an extensible framework |
||
Launch system for coordinating multiple nodes |
||
Namespace support for nodes and topics |
||
Static remapping of ROS names |
||
Demos of an all-ROS 2 mobile robot |
||
Preliminary support for real-time code |
Linux only. Not available for Fast RTPS. |
|
Preliminary support for “bare-metal” microcontrollers |
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: