Beta3 Overview

csukuangfj edited this page Dec 9, 2017 · 3 revisions

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.

Supported Platforms

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).

Features

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
    • Remote control a HSR robot using a ROS 2 joystick controller
    • Running the ros1_bridge in a Docker container on the HSR (since the robot is running ROS 1 on Ubuntu Trusty)
    • Run a ROS 2 development version of rviz to visualize sensor data from the robot etc. (see video)

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
  • Extended .msg format with new features:
    • Bounded arrays
    • Default values

Known issues:

  • 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)..
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.