Beta 3 (r2b3)

支持的平台

我们在三个平台上支持 ROS 2 Beta 3:Ubuntu 16.04 (Xenial)、macOS 10.12 (Sierra) 和 Windows 10。

我们提供了二进制包和如何从源代码编译所有 3 个平台的说明(请参阅“安装说明 <../../Installation>”以及“文档 <https://docs.ros2.org/beta3/>”__)。

功能

自 Beta 2 发布以来的改进

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

  • ros_control 进行了实验性重写

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

  • Python 中的日志记录 API

  • 修复了各种软件包中的几个内存泄漏和竞争条件

  • 重新添加PrismTech 提供对 OpenSplice 的支持(目前在 Linux 和 Windows 上)

  • 使用 bloom(无补丁)制作​​ ROS 2 版本

新的演示应用程序

  • HSR 演示

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

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

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

从以前的 Alpha/Beta 版本中选择的功能

有关完整列表,请参阅“早期版本说明 <../index>”。

  • ROS 2 客户端库的 C++ 和 Python 实现,包括以下 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 上,尝试使用 Ctrl-C 中止时,Python 启动文件可能会挂起(请参阅 问题)。为了继续使用被挂起命令阻止的 shell,您可能需要使用进程监视器结束挂起的 Python 进程。

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

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