Bouncy Bolson (bouncy
)
Bouncy Bolson 是 ROS 2 的第二个版本。
支持的平台
此版本的 ROS 2 支持四个平台(有关完整详细信息,请参阅 REP 2000):
Ubuntu 18.04 (Bionic)
适用于 amd64 和 arm64 的 Debian 软件包
Ubuntu 16.04 (Xenial)
没有 Debian 软件包,但支持从源代码构建
Mac macOS 10.12 (Sierra)
带有 Visual Studio 2017 的 Windows 10
提供了二进制软件包以及如何从源代码编译的说明(请参阅 安装说明 以及 `文档<https://docs.ros2.org/bouncy/>`__)。
功能
此 ROS 2 版本中的新功能
新启动系统 具有更强大、更灵活的 Python API。
参数可以作为 命令行参数 传递给 C++ 可执行文件。
通过 命令行参数 进行静态重新映射。
对 Python 客户端库进行了各种改进。
支持发布和订阅序列化数据。
这是即将开展的实现原生 rosbag 工作的基础。 * 更多 命令行工具,例如用于处理参数和生命周期状态。 * 二进制包/fat 存档默认支持三种 RMW 实现(无需从源代码构建):
eProsima 的 Fast RTPS(默认)
RTI 的 Connext
ADLINK 的 OpenSplice
有关所有可用功能的概述(包括早期版本的功能),请参阅 功能 页面。
自 Ardent 发布以来的变化
自 Ardent Apalone 发布以来的变化:
Python 包
launch
已重新设计。
以前的 Python API 已移至子模块 launch.legacy
。
如果不希望过渡到新的 Python API,您可以更新现有的启动文件以继续使用旧版 API。
* 包含命名空间的 ROS 主题名称已映射到 DDS 主题(包括其命名空间)。
DDS 分区不再用于此目的。
* 推荐的构建工具现在是 colcon
,而不是 ament_tools
。
此切换对每个 ROS 2 包中的代码没有 影响。
安装说明已更新,read-the-docs 页面 描述了如何将现有的 ament_tools
调用映射到 colcon
。
* ``此 rclcpp::Node::create_subscription() 签名 <https://docs.ros2.org/bouncy/api/rclcpp/classrclcpp_1_1_node.html#a283fb006c46470cf43a4ae5ef4a16ccd>`__ 的参数顺序已修改。
已知问题
对于某些平台和 RMW 实现的组合,新样式的启动文件`可能会在关机时挂起 <https://github.com/ros2/launch/issues/89>`__。
当寻址到特定节点时,命名空间的静态重新映射`无法正常工作<https://github.com/ros2/rcl/issues/262>`__。
使用``ros2 param``和``ros2 lifecycle``命令行工具时,`Opensplice 错误消息可能会被打印<https://github.com/ros2/rmw_opensplice/issues/237>`__。