ROS 2 Ardent Apalone (codename 'ardent'; December 2017)

Welcome to the first non-beta release of ROS 2 software named Ardent Apalone!

Supported Platforms

This version of ROS 2 is supported on three platforms:

  • Ubuntu 16.04 (Xenial)
  • Mac OS X 10.12 (Sierra)
  • Windows 10

Binary packages as well as instructions for how to compile from source are provided for all 3 platforms (see install instructions as well as documentation).

Features

  • Distributed discovery, publish / subscribe, request / response communication
    • Provided by a C API
    • Implemented using different vendors:
      • eProsima's FastRTPS as well as ADLINK's OpenSplice (from binary and source)
      • RTI's Connext (only from source)
    • Numerous quality of service settings for handling non-ideal networks
    • DDS Security support (with Connext and FastRTPS)
  • C++ and Python 3 client libraries
    • Sharing common code in C to unify the implementation
    • Execution model separated from the nodes, composable nodes
    • Node-specific parameters (only in C++ atm)
    • Life cycle (only in C++ atm)
    • Optionally intra-process communication using the same API (only in C++)
  • Message definitions (with bounded arrays and strings as well as default values)
  • Command line tools (e.g. ros2 run)
  • rviz with a few display types (the Windows version will likely follow in a few weeks)
  • File system-based resource index (querying information without recursive crawling)
  • Realtime safe code paths for pub / sub (with compatible DDS implementations only)
  • Bridge between ROS 1 and ROS 2
  • HSR demo see Beta 3
  • Turtlebot demo see Beta 2

For a more detailed description please see the Features page.

Changes since Beta 3 release

Improvements since the Beta 3 release:

  • rviz
  • Different initialization options for message data structures in C++ (see design doc)
  • Logging API improvements, now also used in the demos
  • Time support in C++ with different clocks
  • wait-for-service support in the Python client library
  • Draft implementation of REP 149 specifying format 3 of the package manifest files

Known Issues

  • FastRTPS performance with larger data like the image demo
  • 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).
  • Listing of node names (e.g. using ros2 node list) does not work across some rmw implementations.
  • 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.

results matching ""

    No results matching ""