You're reading the documentation for a version of ROS 2 that has reached its EOL (end-of-life), and is no longer officially supported. If you want up-to-date information, please have a look at Iron.

Beta 2 (codename ‘r2b2’; July 2017)

Supported Platforms

We support ROS 2 Beta 2 on three platforms: Ubuntu 16.04 (Xenial), macOS 10.12 (Sierra), and Windows 10. We provide both binary packages and instructions for how to compile from source for all 3 platforms (see install instructions as well as documentation).

Features

Improvements since Beta 1 release

  • DDS_Security support (aka SROS2, see sros2)

  • Debian packages for Ubuntu Xenial

  • Typesupport has been redesigned so that you only build a single executable and can choose one of the available RMW implementations by setting an environment variable (see documentation).

  • Namespace support for nodes and topics (see design article, see known issues below).

  • A set of command-line tools using the extensible ros2 command (see tutorial).

  • A set of macros for logging messages in C / C++ (see API docs of rcutils).

New demo application

Selected features from previous Alpha/Beta releases

For the complete list, see earlier release notes.

  • C++ and Python implementations of ROS 2 client libraries including APIs for:

    • Publishing and subscribing to ROS topics

    • Requesting and replying ROS services (synchronous (C++ only) and asynchronous)

    • Getting and setting ROS parameters (C++ only, synchronous and asynchronous)

    • Timer callbacks

  • Support for interoperability between multiple DDS/RTPS implementations

    • eProsima Fast RTPS is our default implementation, and is included in the binary packages

    • RTI Connext is supported: build from source to try it out

    • We initially supported PrismTech OpenSplice but support for it is currently on hold

  • A graph API for network events

  • Distributed discovery

  • Realtime safe code paths for publish and subscribe with compatible DDS implementation (only Connext at the moment)

    • Support for custom allocators

  • ROS 1 <-> ROS 2 dynamic bridge node

  • Executor threading model (C++ only)

  • Component model to compose nodes at compile / link / runtime

  • Managed component using a standard lifecycle

  • Extended .msg format with new features:

    • Bounded arrays

    • Default values

Known issues

  • We’re tracking issues in various repositories, but the main entry point is the ros2/ros2 issue tracker

  • We’d like to highlight a known issue that we are looking into which doesn’t allow two topics with the same base name but different namespaces to have a different type when using rmw_connext_cpp.

  • Services with long responses are not working with Fast-RTPS. The fix, while not being part of beta2, is available upstream so you can work around this issue by building from source using Fast-RTPS master branch.