Beta 3 (r2b3)

支持的平台

我们在三个平台上支持 ROS 2 Beta 3:Ubuntu 16.04 (Xenial)、macOS 10.12 (Sierra) 和 Windows 10。我们为所有 3 个平台提供了二进制软件包和源代码编译说明(请参阅 安装说明 以及 文献资料).

特点

Beta 2 发布后的改进

  • Python 中的执行模型,对 Python C 扩展中内存管理的许多修正

  • 实验性重写 ros_control

  • 向用户公开特定于 DDS 实现的符号(针对 Fast RTPS 和 Connext)(见 范例)

  • 记录 应用程序接口 在 Python 中

  • 修复了多个软件包中的内存泄漏和竞赛条件

  • PrismTech 提供对 OpenSplice(在 Linux 和 Windows 上)的内置支持

  • 使用 bloom(不打补丁)发布 ROS 2 版本

新演示应用程序

  • 高铁演示

    • 使用 ROS 2 操纵杆控制器远程控制 HSR 机器人

    • 运行 ros1_桥 在 HSR 上的 Docker 容器中(因为机器人在 Ubuntu Trusty 上运行 ROS 1)

    • 运行 ROS 2 开发版本的 rviz 可视化机器人的传感器数据等(见 视频)

先前 Alpha/Beta 版本的部分功能

完整列表请参见 早期版本说明.

  • ROS 2 客户端库的 C++ 和 Python 实现,包括以下应用程序接口:

    • 发布和订阅 ROS 主题

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

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

    • 计时器回调

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

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

    • 支持 RTI Connext:从源代码构建试用

    • PrismTech OpenSplice:请参阅下面的限制条件

  • 网络事件图应用程序接口

  • 分布式发现

  • 发布和订阅的实时安全代码路径与兼容的 DDS 实现(目前仅有 Connext)

    • 支持自定义分配器

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

  • 执行器线程模型(C++ 和 Python)

  • 在编译/链接/运行时组成节点的组件模型

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

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

    • 有界数组

    • 默认值

已知问题

  • 在 Windows 环境下,当尝试使用 Ctrl-C (见 问题).为了继续使用被挂起命令阻止的 shell,您可能需要使用进程监视器结束挂起的 Python 进程。

  • MacOS 目前不支持 OpenSplice。另外 访问本地句柄 尚未实施。

  • 在 Connext 中,目前不允许基名相同但名称空间不同的两个主题具有不同的类型(参见 问题).