备注

You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at Kilted.

Bouncy Bolson (bouncy)

Bouncy Bolson is the second release of ROS 2.

Supported Platforms

This version of ROS 2 is supported on four platforms (see REP 2000 for full details):

  • Ubuntu 18.04 (Bionic)

    • Debian packages for amd64 as well as arm64

  • Ubuntu 16.04 (Xenial)

    • no Debian packages but building from source is supported

  • Mac macOS 10.12 (Sierra)

  • Windows 10 with Visual Studio 2017

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

Targeted platforms:

Required Support

Recommended Support

Architecture

Ubuntu Bionic (18.04)

MacOS Sierra (10.12)

Windows 10 (VS2017)

Ubuntu Xenial (16.04) [s]

Debian Stretch (9) [s]

amd64

X

X

X

X [s]

X [s]

arm64

X

X [s]

X [s]

" [s] " Compilation from source, the ROS buildfarm will not produce any binary packages for these platforms.

Minimum language requirements:

  • C11[^3]

  • C++14

  • Python 3.5

Dependency Requirements:

Required Support

Recommended Support

Package

Ubuntu Bionic

MacOS**

Windows 10 **

Ubuntu Xenial [s]

Debian Stretch [s]

CMake

3.10.2

3.11.0

3.10.2

3.5.1

3.7.2

EmPY

3.3.2

3.6.5

3.3.2

3.3.2

3.3.2

Ogre

1.10*

1.10*

1.10*

1.10*

1.10*

OpenCV

3.2.0

3.4.1

3.4.1*

2.4.9

3.2*

Poco

1.8.0

1.9.0

1.8.0*

1.8.0*

1.8.0*

Python

3.6.5

3.6.5

3.6.5

3.5.1

3.5.3

Qt

5.9.5

5.10.0

5.10.0

5.5.1

5.7.1

Linux only (used for turtlebot demo)

PCL

1.8.1

N/A

N/A

1.7.2

1.8.0

" * " means that this is not the upstream version (available on the official Operating System repositories) but a package distributed by OSRF or the community (package built and distributed on custom repositories).

" ** " Rolling distributions will see multiple version changes of these dependencies during their lifetime.

" [s] " Compilation from source, the ROS buildfarm will not produce any binary packages for these platforms.

This document only captures the version at the first release of a ROS distribution and will not be updated as the dependencies move forward. These versions are thus a low watermark.

Package manager use for dependencies:

  • Ubuntu Bionic: apt

  • MacOS: Homebrew, pip

  • Windows: Chocolatey, pip

  • Ubuntu Xenial, Debian Stretch: apt

Build System Support:

  • ament_cmake

  • cmake

  • setuptools

Middleware Implementation Support:

  • eProsima Fast-RTPS

  • RTI Connext

  • ADLINK OpenSplice

Features

New features in this ROS 2 release

  • New launch system featuring a much more capable and flexible Python API.

  • Parameters can be passed as command line arguments to C++ executables.

  • Static remapping via command line arguments.

  • Various improvements to the Python client library.

  • Support for publishing and subscribing to serialized data. This is the foundation for the upcoming work towards a native rosbag implementation.

  • More command line tools, e.g. for working with parameters and lifecycle states.

  • Binary packages / fat archives support three RMW implementations by default (without the need to build from source):

    • eProsima's Fast RTPS (default)

    • RTI's Connext

    • ADLINK's OpenSplice

For an overview of all features available, including those from earlier releases, please see the Features page.

Changes since the Ardent release

Changes since the Ardent Apalone release:

  • The Python package launch has been redesigned. The previous Python API has been moved into a submodule launch.legacy. You can update existing launch files to continue to use the legacy API if a transition to the new Python API is not desired.

  • The ROS topic names containing namespaces are mapped to DDS topics including their namespaces. DDS partitions are not being used anymore for this.

  • The recommended build tool is now colcon instead of ament_tools. This switch has no implications for the code in each ROS 2 package. The install instructions have been updated and the read-the-docs page describes how to map an existing ament_tools call to colcon.

  • The argument order of this rclcpp::Node::create_subscription() signature has been modified.

Known Issues