Alphas

这是之前分开的 ROS 2 8 个 alpha 版本页面的合并版本。

我们希望您试用它们并“提供反馈<../../Contact>”。

ROS 2 alpha8 版本(代号 Hook-and-Loop;2016 年 10 月)

对支持的 DDS 供应商的更改

ROS 2 支持多种中间件实现(有关更多详细信息,请参阅“此页面<../../Concepts/Intermediate/About-Different-Middleware-Vendors>”)。 在 Alpha 8 之前,ROS 2 支持 eProsima 的 Fast RTPS、RTI 的 Connext 和 PrismTech 的 OpenSplice 的 ROS 中间件实现。 为了简化我们的工作,从 Alpha 8 开始,将支持 Fast RTPS 和 Connext(静态),其中 Fast RTPS(现在为 Apache 2.0 许可)作为默认配置。

范围

正如“alpha”限定词所暗示的那样,ROS 2 的这个版本还远未完成。

您不应期望从 ROS 1 切换到 ROS 2,也不应期望使用 ROS 2 构建新的机器人控制系统。

相反,您应该尝试一些演示,探索代码,并可能编写自己的演示。

此版本中包含的改进包括:

  • 对 Fast RTPS 及其 rmw 实现的几项改进

  • 支持 Fast RTPS 中的大型(图像)消息

  • Fast RTPS 中的 wait_for_service 功能

  • 支持 Python 和 C 中的所有 ROS 2 消息类型

  • 增加了对 Python 中的服务质量 (QoS) 设置的支持

  • 修复了上一个 alpha 版本中的各种错误

几乎所有未列出的内容都不包含在此版本中。 Roadmap 中描述了后续步骤。

ROS 2 alpha7 版本(代号 Glue Gun;2016 年 7 月)

需要新版本的 Ubuntu

直到 Alpha 6,ROS 2 都以 Ubuntu Trusty Tahr (14.04) 为目标。从此以后,Alpha ROS 2 以 Ubuntu Xenial Xerus (16.04) 为目标,以便从较新版本的编译器、CMake、Python 等中受益。

范围

正如“alpha”限定词所暗示的那样,ROS 2 的这个版本还远未完成。 您不应期望从 ROS 1 切换到 ROS 2,也不应期望使用 ROS 2 构建新的机器人控制系统。 相反,您应该尝试一些演示,探索代码,甚至编写自己的演示。

此版本中包含的主要功能包括:

  • Graph API 功能:wait_for_service

  • 在 rclcpp 中添加接口并在示例、演示和测试中使用它们

  • 改进了对 Connext 和 Fast-RTPS 中大消息的支持(Fast-RTPS 的部分支持)

  • 使用从 ROS 1 移植的代码的 Turtlebot 演示

  • 请参阅:https://github.com/ros2/turtlebot2_demo

上面未列出的几乎所有内容均不包含在此版本中。 下一步将在“路线图 <../../The-ROS2-Project/Roadmap>”中描述。

ROS 2 alpha6 版本(代号 Fastener;2016 年 6 月)

范围

正如“alpha”限定词所暗示的那样,ROS 2 的这个版本还远未完成。

您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望使用 ROS 2 构建新的机器人控制系统。

相反,您应该尝试一些演示,探索代码,甚至编写自己的演示。

此版本中包含的主要功能包括:

  • 图形 API 功能:wait_for_service

  • 为节点添加了图形保护条件,用于等待图形更改

  • 添加了 rmw_service_server_is_available,用于验证服务是否可用

  • 重构 rclcpp 以使用 rcl

  • 改进了对 Python 中复杂消息类型的支持

  • 嵌套消息

  • 数组

  • 字符串

上面未列出的几乎所有内容均不包含在此版本中。 下一步在“路线图 <../../The-ROS2-Project/Roadmap>”中描述。

ROS 2 alpha5 版本(代号 Epoxy;2016 年 4 月)

范围

正如“alpha”限定词所暗示的那样,ROS 2 的这个版本还远未完成。

您不应期望从 ROS 1 切换到 ROS 2,也不应期望使用 ROS 2 构建新的机器人控制系统。

相反,您应该尝试一些演示,探索代码,并可能编写自己的演示。

此版本中包含的主要功能包括:

  • 支持 Fast RTPS 和 Connext Dynamic rmw 实现中的 C 数据结构。

  • 支持 C 语言服务。

  • 添加了 32 位和 64 位 ARM 作为实验支持的平台。

上面未列出的几乎所有内容都不包含在此版本中。

下一步在“路线图 <../../The-ROS2-Project/Roadmap>”中描述。

ROS 2 alpha4 版本(代号 Duct tape;2016 年 2 月)

背景

正如“设计文章 <https://design.ros2.org/articles/why_ros2.html>”中所述, 我们正在开发一个新的主要版本的 ROS,称为“ROS 2”。 虽然底层概念(例如,发布/订阅消息)和目标 (例如,灵活性和可重用性)与 ROS 1 相同,但我们借此机会 对系统进行了重大更改,包括更改 一些核心 API。 如需更深入地了解这些更改及其理由,请查阅其他 ROS 2 design articles.

状态

2016 年 2 月 17 日,我们将发布 ROS 2 alpha4,

代号为 Duct tape

我们发布此版本的主要目标是添加更多功能,同时解决我们收到的有关以前版本的反馈。

为此,我们构建了一组 演示

展示了 ROS 2 的一些主要功能。

我们鼓励您试用这些

演示,查看实现它们的代码,并 `提供

反馈 <../../Contact>`。

我们特别想知道我们在处理对您来说很重要的用例方面做得如何(或

如何)。

目标受众

虽然欢迎所有人试用演示并查看代码,但我们将这个版本的目标受众定位在已经具有 ROS 1 开发经验的人员。

目前,ROS 2 文档非常稀疏,并且系统的大部分内容都是通过与 ROS 1 进行比较来解释的。

范围

正如“alpha”限定词所暗示的那样,这个版本的 ROS 2 还远未完成。

您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望使用 ROS 2 构建新的机器人控制系统。

相反,您应该尝试一些演示,探索代码,并编写自己的演示。

此版本中包含的主要功能包括:

  • 改进的类型支持基础架构,包括对 C 的支持

  • 初步 Python 客户端库,仅支持发布者和订阅。请注意,API 可能会发生变化,而且远未完成!

  • 在 C API 中添加了 ROS 时间结构(仍需要 C++ API)

  • ROS Time 的可扩展“时间源”新概念,默认时间源将与 ROS 1 类似(待实施)

此版本中几乎不包含上面未列出的任何内容。 Roadmap 中描述了后续步骤。

ROS 2 alpha3 版本(代号 Cement;2015 年 12 月)

背景

正如“设计文章 <https://design.ros2.org/articles/why_ros2.html>”中所述, 我们正在开发 ROS 的新主要版本,称为“ROS 2”。 虽然底层概念(例如,发布/订阅消息)和目标(例如,灵活性和可重用性)与 ROS 1 相同,但我们借此机会对系统进行了重大更改,包括更改一些核心 API。 如需深入了解这些更改及其理由,请参阅其他“ROS 2 设计文章 <https://design.ros2.org>”。

状态

2015 年 12 月 18 日,我们将发布 ROS 2 alpha3, 代号为 Cement。 我们发布此版本的主要目标是添加更多功能,同时解决我们收到的有关以前版本的反馈。 为此,我们构建了一组`演示<../../教程>`,展示了 ROS 2 的一些主要功能。 我们鼓励您试用这些 演示,查看实现它们的代码,并提供`反馈<../../联系>`。 我们特别想知道我们在处理对您来说很重要的用例方面做得好(或不好)。

目标受众

虽然欢迎所有人试用演示并查看代码,但我们将此版本面向已经拥有 ROS 1 开发经验的人员。 目前,ROS 2 文档非常稀疏,并且大部分系统都是通过与 ROS 1 进行比较来解释的。

范围

正如“alpha”限定词所暗示的那样,ROS 2 的这个版本还远未完成。

您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望使用 ROS 2 构建新的机器人控制系统。

相反,您应该期望尝试一些演示,探索代码,并编写自己的演示。

此版本中包含的主要功能包括:

  • 更新的“rcl”接口。

  • 此接口将被包装以创建语言绑定,例如“rclpy”。

  • 与我们目前拥有的现有接口(例如“rmw”和“rclcpp”)相比,此接口的文档和测试覆盖率有所改进。

  • 请参阅 rcl headers

  • 在 rclcpp 中添加了对使用 TLSF(两级分离拟合)分配器的支持,TLSF 分配器是专为嵌入式和实时系统设计的内存分配器。

  • 提高了 MultiThreadedExecutor 的效率,并修复了多线程执行的大量错误,现在正在 CI 上进行测试。

  • 添加了从 spin 中调用的回调中取消 Executor 的功能。

  • 通过支持接受对自身的引用作为函数参数的 Timer 回调,增加了计时器取消自身的功能。

  • 添加了禁止多个线程进入 Executor::spin 的检查。

  • 提高了许多偶尔失败的测试的可靠性。

  • 添加了对使用 Fast RTPS(而不是 OpenSplice 或 Connext)的支持。

  • tf2 的部分移植,包括核心库和核心命令行工具。

上面未列出的几乎所有内容均不包含在此版本中。 下一步在“路线图 <../../The-ROS2-Project/Roadmap>”中描述。

ROS 2 alpha2 版本(代号 Baling wire;2015 年 10 月)

背景

正如“设计文章 <https://design.ros2.org/articles/why_ros2.html>”中所述,我们正在开发一个新的主要版本的 ROS,称为“ROS 2”。虽然底层概念(例如,发布/订阅消息)和目标(例如,灵活性和可重用性)与 ROS 1 相同,但我们借此机会对系统进行了重大更改,包括更改一些核心 API。 如需更深入地了解这些更改及其理由,请参阅其他“ROS 2 设计文章 <https://design.ros2.org>”。

地位

2015 年 11 月 3 日,我们将发布 ROS 2 alpha2,代号为 Baling wire。我们发布此版本的主要目标是添加更多功能,同时解决我们收到的有关上一个 alpha 1 版本的反馈。为此,我们构建了一组“演示 <../../Tutorials>”,其中展示了 ROS 2 的一些主要功能。我们鼓励您试用这些演示,查看实现它们的代码,并提供反馈 <../../Contact>。我们特别想知道我们在处理对您来说很重要的用例方面做得如何(好坏)。

目标受众

虽然欢迎所有人试用演示并查看代码,但我们将这个版本的目标受众定位为已经拥有 ROS 1 开发经验的人员。 目前,ROS 2 文档非常稀疏,并且系统的大部分内容都是通过与 ROS 1 进行比较来解释的。

范围

正如“alpha”限定词所暗示的那样,ROS 2 的这个版本还远未完成。

您不应期望从 ROS 1 切换到 ROS 2,也不应期望使用 ROS 2 构建新的机器人控制系统。

相反,您应该尝试一些演示,探索代码,并可能编写自己的演示。

此版本中包含的主要功能包括:

  • 支持 rclcpp 中的自定义分配器,可用于实时消息传递

Windows 与 Linux/OSX 的功能相同,包括工作区管理、服务和参数 * rclcpp API 改进 * FreeRTPS 改进

上面未列出的几乎所有内容均不包含在此版本中。

接下来的步骤在“路线图 <../../The-ROS2-Project/Roadmap>”中描述。

ROS 2 alpha1 版本(代号 Anchor;2015 年 8 月)

背景

正如“设计 文章<https://design.ros2.org/articles/why_ros2.html>`__中所述,我们正在开发一个新的主要版本的 ROS,称为“ROS 2”。虽然底层概念(例如,发布/订阅消息)和目标(例如,灵活性和可重用性)与 ROS 1 相同,但我们借此机会对系统进行了重大更改,包括更改一些核心 API。 如需更深入地了解这些更改及其理由,请参阅其他“ROS 2 设计 文章<https://design.ros2.org>`__。

状态

2015 年 8 月 31 日,我们将发布 ROS 2 alpha1,代号为 Anchor

我们发布此版本的主要目标是让您有机会了解 ROS 2 的工作原理,特别是它与 ROS 1 的不同之处。

为此,我们构建了一组“演示 <../../Tutorials>”,其中展示了 ROS 2 的一些主要功能。

我们鼓励您试用这些演示,查看实现它们的代码,并提供“反馈 <../../Contact>”。

我们特别想知道我们在处理对您来说很重要的用例方面做得如何(或做得如何)。

目标受众

虽然欢迎所有人试用演示并查看代码,但我们将这个版本的目标受众定位在已经具有 ROS 1 开发经验的人员。

目前,ROS 2 文档非常稀疏,并且系统的大部分内容都是通过与 ROS 1 进行比较来解释的。

范围

正如“alpha”限定词所暗示的那样,这个版本的 ROS 2 还远未完成。

您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望使用 ROS 2 构建新的机器人控制系统。

相反,您应该期望试用一些演示,探索代码,并可能编写自己的演示。

此版本包含的主要功能包括:

上面未列出的几乎所有内容均不包含在此版本中。 下一步在“路线图 <../../The-ROS2-Project/Roadmap>”中描述。