Beta 3 (r2b3)

支持的平台

我们支持三个平台上的ROS 2 Beta 3:Ubuntu 16.04(Xenial)、macOS 10.12(Sierra)和Windows 10。我们提供了三个平台的二进制包和编译源代码的说明(参见`安装说明<../../Installation>`和`文档<https://docs.ros2.org/beta3/>`__)。

特性

与Beta 2版本相比的改进

新的演示应用程序

  • HSR演示

    • 使用ROS 2手柄控制器远程控制HSR机器人

    • 在HSR上使用Docker容器运行``ros1_bridge``(因为机器人在Ubuntu Trusty上运行ROS 1)

    • 运行ROS 2开发版的`rviz <https://github.com/ros2/rviz>`__以可视化来自机器人的传感器数据等(参见`视频 <https://vimeo.com/237016358>`__)

来自先前 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++ 和 Python)

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

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

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

    • 有界数组

    • 默认值

已知问题

  • 在 Windows 上,Python 启动文件可能在尝试使用 Ctrl-C 中止时挂起(请参阅 问题)。为了继续使用被挂起命令阻塞的 shell,您可能希望使用进程监视器结束挂起的 Python 进程。

  • 目前尚不支持在 MacOS 上使用 OpenSplice。此外,尚未实现 访问本机句柄

  • 使用 Connext,不允许具有相同基本名称但不同命名空间的两个主题具有不同的类型(请参阅 问题)。