您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.

字母

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

我们希望您尝试一下,并 提供反馈.

ROS 2 alpha8 版本(代码名 钩扣式2016年10月)

支持的 DDS 供应商变更

ROS 2 支持多种中间件实现(见 本页 了解更多详情)。在 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 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的改进包括

  • 快速 RTPS 及其 rmw 实现的若干改进

    • 在快速 RTPS 中支持大型(图像)信息

    • 等待服务 快速 RTPS 的功能

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

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

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

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.

ROS 2 alpha7 版本(代码名 胶枪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 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的主要功能包括

  • 图 API 功能:wait_for_service

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

  • 在 Connext 和 Fast-RTPS 中改进了对大型报文的支持(Fast-RTPS 的部分支持)

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

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.

ROS 2 alpha6 版本(代码名 紧固件(2016年6月)

范围

正如 "alpha "这个限定词所暗示的,ROS 2 的发布还远未完成。您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望用 ROS 2 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的主要功能包括

  • 图 API 功能:wait_for_service

    • 为节点添加了图形保护条件,以等待图形变化

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

  • 重构 rclcpp 使用 rcl

  • 改进了对 Python 复杂报文类型的支持

    • 嵌套信息

    • 数组

    • 弦乐

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.

ROS 2 alpha5 版本(代码名 环氧树脂2016年4月)

范围

正如 "alpha "这个限定词所暗示的,ROS 2 的发布还远未完成。您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望用 ROS 2 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的主要功能包括

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

  • C.中的支持服务

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

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.

ROS 2 alpha4 版本(代码名 胶带(2016年2月)

背景介绍

正如一份 设计文章现在,我们正在开发一个新的 ROS 重要版本,称为 "ROS 2"。虽然其基本概念(如发布/订阅消息)和目标(如灵活性和可重用性)与 ROS 1 相同,但我们借此机会对系统进行了重大改动,包括更改一些核心应用程序接口。要深入了解这些改动及其理由,请查阅其他 ROS 2 设计文章.

现状

2016 年 2 月 17 日,我们将发布 ROS 2 alpha4,代号为 胶带.我们发布此版本的主要目的是增加更多功能,同时解决我们在之前版本中收到的反馈。为此,我们构建了一套 演示 我们鼓励您试用这些演示,查看实现这些演示的代码,并且 提供反馈.我们特别想知道我们在解决对您很重要的用例方面做得如何(或做得不好)。

预期受众

虽然我们欢迎所有人试用演示版并查看代码,但我们的目标群体是那些已经拥有 ROS 1 开发经验的人。在这一点上,ROS 2 的文档非常稀少,系统的大部分内容都是通过与 ROS 1 的比较来解释的。

范围

正如 "alpha "这个限定词所暗示的,ROS 2 的发布还远未完成。您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望用 ROS 2 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的主要功能包括

  • 改进了类型支持基础设施,包括对 C 语言的支持

  • 初步的 Python 客户端库,仅支持发布者和订阅。请注意,应用程序接口可能会更改,而且远未完成!

  • 在 C 应用程序接口中添加了 ROS 时间结构(仍需要 C++ 应用程序接口)

    • ROS Time 的可扩展 "时间源 "新概念,默认时间源将与 ROS 1 相同(正在实施中)

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.

ROS 2 alpha3 版本(代号 水泥(2015年12月)

背景介绍

正如一份 设计文章现在,我们正在开发一个新的 ROS 重要版本,称为 "ROS 2"。虽然其基本概念(如发布/订阅消息)和目标(如灵活性和可重用性)与 ROS 1 相同,但我们借此机会对系统进行了重大改动,包括更改一些核心应用程序接口。要深入了解这些改动及其理由,请查阅其他 ROS 2 设计文章.

现状

2015 年 12 月 18 日,我们将发布 ROS 2 alpha3,代号为 水泥.我们发布此版本的主要目的是增加更多功能,同时解决我们在之前版本中收到的反馈。为此,我们构建了一套 演示 我们鼓励您试用这些演示,查看实现这些演示的代码,并且 提供反馈.我们特别想知道我们在解决对您很重要的用例方面做得如何(或做得不好)。

预期受众

虽然我们欢迎所有人试用演示版并查看代码,但我们的目标群体是那些已经拥有 ROS 1 开发经验的人。在这一点上,ROS 2 的文档非常稀少,系统的大部分内容都是通过与 ROS 1 的比较来解释的。

范围

正如 "alpha "这个限定词所暗示的,ROS 2 的发布还远未完成。您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望用 ROS 2 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的主要功能包括

  • 已更新 rcl 接口。

    • 该接口将被封装,以便创建语言绑定,例如 rclpy.

    • 与我们现有的接口相比,该接口改进了文档和测试覆盖范围,例如 rmwrclcpp.

    • 参见 rcl 标头.

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

  • 提高了多线程执行器(MultiThreadedExecutor)的效率,修复了多线程执行中的许多错误,现在已在 CI 上进行测试。

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

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

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

  • 提高了许多测试的可靠性,这些测试曾偶尔出现故障。

  • 已添加对使用快速 RTPS(而不是 OpenSplice 或 Connext 等)的支持。

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

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.

ROS 2 alpha2 版本(代号 打包线(2015年10月)

背景介绍

正如一份 设计文章现在,我们正在开发一个新的 ROS 重要版本,称为 "ROS 2"。虽然其基本概念(如发布/订阅消息)和目标(如灵活性和可重用性)与 ROS 1 相同,但我们借此机会对系统进行了重大改动,包括更改一些核心应用程序接口。要深入了解这些改动及其理由,请查阅其他 ROS 2 设计文章.

现状

2015 年 11 月 3 日,我们将发布 ROS 2 alpha2,代号为 打包线.我们发布此版本的主要目的是增加更多功能,同时解决我们在上一个 alpha 1 版本中收到的反馈。为此,我们构建了一套 演示 我们鼓励您试用这些演示,查看实现这些演示的代码,并且 提供反馈.我们特别想知道我们在解决对您很重要的用例方面做得如何(或做得不好)。

预期受众

虽然我们欢迎所有人试用演示版并查看代码,但我们的目标群体是那些已经拥有 ROS 1 开发经验的人。在这一点上,ROS 2 的文档非常稀少,系统的大部分内容都是通过与 ROS 1 的比较来解释的。

范围

正如 "alpha "这个限定词所暗示的,ROS 2 的发布还远未完成。您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望用 ROS 2 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的主要功能包括

  • 支持 rclcpp 中的自定义分配器,对实时消息传递非常有用

  • Windows 与 Linux/OSX 的功能相同,包括工作区管理、服务和参数

  • rclcpp API 改进

  • FreeRTPS 的改进

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.

ROS 2 alpha1 发布(代号 (2015 年 8 月)

背景介绍

正如一份 设计文章现在,我们正在开发一个新的 ROS 重要版本,称为 "ROS 2"。虽然其基本概念(如发布/订阅消息)和目标(如灵活性和可重用性)与 ROS 1 相同,但我们借此机会对系统进行了重大改动,包括更改一些核心应用程序接口。要深入了解这些改动及其理由,请查阅其他 ROS 2 设计文章.

现状

2015 年 8 月 31 日,我们将发布 ROS 2 alpha1,代号为 .我们发布此版本的主要目的是让您有机会了解 ROS 2 的工作原理,尤其是它与 ROS 1 的不同之处。 演示 我们鼓励您试用这些演示,查看实现这些演示的代码,并且 提供反馈.我们特别想知道我们在解决对您很重要的用例方面做得如何(或做得不好)。

预期受众

虽然我们欢迎所有人试用演示版并查看代码,但我们的目标群体是那些已经拥有 ROS 1 开发经验的人。在这一点上,ROS 2 的文档非常稀少,系统的大部分内容都是通过与 ROS 1 的比较来解释的。

范围

正如 "alpha "这个限定词所暗示的,ROS 2 的发布还远未完成。您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望用 ROS 2 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。

该版本的主要功能包括

以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.