警告
您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.
ROS 2 alpha 版本(2015 年 8 月 - 2016 年 10 月)
这是以前分开的 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
.与我们现有的接口相比,该接口改进了文档和测试覆盖范围,例如
rmw
和rclcpp
.参见 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 构建一个新的机器人控制系统。相反,您应该期望试用一些演示、探索代码,或许还可以编写自己的演示。
该版本的主要功能包括
发现、传输和序列化 使用 DDS
支持 多个 DDS 供应商
支持消息传递基元:主题(发布/订阅)、服务(请求/响应)和参数
支持 Linux(Ubuntu Trusty)、OS X(Yosemite)和 Windows(8)
以上未列出的内容基本都不包含在此版本中。接下来的步骤在 路线图.