Beta 3 (codename r2b3; September 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 3 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 2 release:
- Execution model in Python, many fixes to memory management in Python C extension
- Experimental rewrite of ros_control
- Exposure of DDS implementation-specific symbols to users (for FastRTPS and Connext) (see example)
- Logging API in Python
- Fixed several memory leaks and race conditions in various packages
- Readded support for OpenSplice (on Linux and Windows atm) provided by PrismTech
- Use bloom (without patches) to make ROS 2 releases
New demo application:
- HSR 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
- PrismTech OpenSplice: see limitations below
- 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++ and Python)
- Component model to compose nodes at compile / link / runtime
- Managed component using a standard lifecycle
.msgformat with new features:
- Bounded arrays
- Default values
- On Windows Python launch files might hang when trying to abort using
Ctrl-C(see issue). In order to continue using the shell which is blocked by the hanging command you might want to end the hanging Python process using the process monitor.
- OpenSplice support is currently not available for MacOS. Also access to native handles is not yet implemented.
- Using Connext it is currently not allowed for two topics with the same base name but different namespaces to have a different type (see issue)..