ROS 2 Feature 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 16.04, OS X 10.12.x, Windows 10), DDS implementations (eProsima Fast RTPS, RTI Connext and PrismTech 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 | Tutorial | Currently eProsima Fast RTPS, RTI Connext and PrismTech Opensplice are fully supported. |
Common core client library that is wrapped by language-specific libraries | Tutorial | |
Publish/subscribe over topics | Sample code | Namespacing limitation for Connext. |
Clients and services | Sample code | Python support experimental. |
Set/retrieve parameters | Sample code | Parameters not yet available in rcl /Python. |
ROS 1 - ROS 2 communication bridge | Tutorial | Only 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 | |
Namespace support for nodes and topics | Article | |
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 |