Beta 2 (codename r2b2; July 2017)¶
Welcome to the latest release of ROS 2 software! We hope that you try it out and provide feedback.
We support ROS 2 Beta 2 on three platforms: Ubuntu 16.04 (Xenial), Mac OS X 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).
Improvements since the Beta 1 release:
- DDS_Security support (aka SROS2, see sros2)
- Debian packages for Ubuntu Xenial (see Debian install instructions).
- 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
ros2command (see tutorial).
- A set of macros for logging messages in C / C++ (see API docs of rcutils).
New demo application:
- Turtlebot 2 demos using the following repositories that have been (partially) converted to ROS 2 (Linux only):
- Dummy_robot demo:
Selected features from previous Alpha/Beta releases (for the complete list, see the 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 FastRTPS 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
.msgformat with new features:
- Bounded arrays
- Default values
- 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
- 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.