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 演示
此版本中几乎不包含上面未列出的任何内容。 下一步在“路线图 <../../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 设计文章 <https://design.ros2.org>”。
状态
2016 年 2 月 17 日,我们将发布 ROS 2 alpha4, 代号为 Duct tape。 我们发布此版本的主要目标是添加更多功能,同时解决我们收到的有关以前版本的反馈。 为此,我们构建了一组`演示<../../教程>`,展示了 ROS 2 的一些主要功能。 我们鼓励您试用这些 演示,查看实现它们的代码,并提供`反馈<../../联系>`。 我们特别想知道我们在处理对您来说很重要的用例方面做得好(或不好)。
目标受众
虽然欢迎所有人试用演示并查看代码,但我们将此版本面向已经拥有 ROS 1 开发经验的人员。 目前,ROS 2 文档非常稀疏,并且大部分系统都是通过与 ROS 1 进行比较来解释的。
范围
正如“alpha”限定词所暗示的那样,ROS 2 的这个版本还远未完成。
您不应该期望从 ROS 1 切换到 ROS 2,也不应该期望使用 ROS 2 构建新的机器人控制系统。
相反,您应该尝试一些演示,探索代码,甚至编写自己的演示。
此版本中包含的主要功能包括:
改进的类型支持基础架构,包括对 C 的支持
初步 Python 客户端库,仅支持发布者和订阅。请注意,API 可能会发生变化,并且还远未完成!
在 C API 中添加了 ROS 时间结构(仍需要 C++ API)
ROS 时间的可扩展“时间源”新概念,默认时间源将与 ROS 1 类似(待实施)
此版本中几乎不包含上面未列出的任何内容。 下一步在“路线图 <../../The-ROS2-Project/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 构建新的机器人控制系统。
相反,您应该尝试一些演示,探索代码,并编写自己的演示。
此版本中包含的主要功能包括:
发现、传输和序列化`使用 DDS <https://design.ros2.org/articles/ros_on_dds.html>`__
支持`多个 DDS 供应商 <https://design.ros2.org/articles/ros_on_dds.html#vendors-and-licensing>`__
支持消息传递原语:主题(发布/订阅)、服务(请求/响应)和参数
支持 Linux(Ubuntu Trusty)、OS X(Yosemite)和 Windows(8)
Communicate inter-process or intra-process with the same API
Run ROS 2 on “bare-metal” microcontrollers (no operating system)
上面未列出的所有内容几乎都不包含在此版本中。 下一步在“路线图 <../../The-ROS2-Project/Roadmap>”中描述。