.. redirect-from:: Beta2-Overview Beta 2 (``r2b2``) ================= .. contents:: Table of Contents :depth: 2 :local: 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 <../../Installation>` 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 <../../How-To-Guides/Working-with-multiple-RMW-implementations>`). * 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 `conceptual article <../../Concepts/Basic/About-Command-Line-Tools>`). * 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): * `ros_astra_camera `__ * `depthimage_to_laserscan `__ * `pcl_conversions `__ * `cartographer `__ * `cartographer_ros `__ * `ceres-solver `__ * `navigation `__ * `teleop_twist_keyboard `__ * `joystick_drivers `__ * `teleop_twist_joy `__ * `Dummy_robot demo <../Tutorials/Demos/dummy-robot-demo>`: * `robot_model `__ * `robot_state_publisher `__ Selected features from previous Alpha/Beta releases ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For the complete list, see `earlier release notes <../index>`. * 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.