Beta 2(r2b2

支持的平台

我们在三个平台上支持ROS 2 Beta 2:Ubuntu 16.04(Xenial)、macOS 10.12(Sierra)和Windows 10。我们为这三个平台提供二进制包以及源代码编译的说明(请参阅 安装说明文档)。

特性

自Beta 1发布以来的改进

  • DDS_Security支持(又名SROS2,请参阅 sros2

  • Ubuntu Xenial的Debian软件包

  • Typesupport已重新设计,您只需构建一个可执行文件,并通过设置环境变量选择可用的RMW实现之一(请参阅`文档 <../../How-To-Guides/Working-with-multiple-RMW-implementations>`)。

  • 节点和主题的命名空间支持(请参阅`设计文章 <https://design.ros2.org/articles/topic_and_service_names.html>`__,请参阅下面的已知问题)。

  • 一组使用可扩展的 ros2 命令的命令行工具(请参阅`概念性文章 <../../Concepts/Basic/About-Command-Line-Tools>`)。

  • 用于在C/C++中记录消息的一组宏(请参阅`rcutils的API文档 <https://docs.ros2.org/beta2/api/rcutils/index.html>`__).

来自先前 Alpha/Beta 版本的选定功能

有关完整列表,请参阅 之前的发布说明

  • 包括C++和Python实现的ROS 2客户端库及其API:

    • 发布和订阅ROS主题

    • 请求和回复ROS服务(同步(仅限C++)和异步)

    • 获取和设置ROS参数(仅限C++,同步和异步)

    • 定时器回调

  • 支持多个DDS/RTPS实现之间的互操作性

    • eProsima Fast RTPS是我们的默认实现,并包含在二进制包中

    • RTI Connext 受支持:从源代码构建以尝试使用

    • 我们最初支持 PrismTech OpenSplice,但目前对其的支持已经暂停

  • 一个用于网络事件的图形 API

  • 分布式发现

  • 实时安全的发布和订阅的代码路径,与兼容的 DDS 实现相匹配(目前仅支持 Connext)

    • 支持自定义分配器

  • ROS 1 <-> ROS 2 动态桥接节点

  • 执行器线程模型(仅适用于 C++)

  • 组件模型,用于在编译/链接/运行时组合节点

  • 使用标准生命周期来管理组件

  • 扩展的 .msg 格式,具有新功能:

    • 有界数组

    • 默认值

已知问题

  • 我们正在跟踪各个仓库中的问题,但主要入口是 ros2/ros2问题跟踪器

  • 我们希望强调一个`已知问题<https://github.com/ros2/rmw_connext/issues/234>`__,我们正在研究该问题,当使用``rmw_connext_cpp``时,不允许具有相同基本名称但不同命名空间的两个主题具有不同的类型。

  • 长响应的服务在Fast-RTPS上无法正常工作。修复方法尚未包含在beta2版本中,但在上游已经可用,所以您可以通过使用Fast-RTPS的主分支从源代码构建来解决此问题。