Ardent Apalone (ardent)

欢迎使用名为 Ardent Apalone 的 ROS 2 软件的第一个非测试版!

支持的平台

此版本的 ROS 2 支持三个平台:

  • Ubuntu 16.04 (Xenial)

  • Mac macOS 10.12 (Sierra)

  • Windows 10

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

功能

此 ROS 2 版本中的新功能

  • 分布式发现、发布/订阅、请求/响应通信

  • 由 C API 提供

  • 使用不同的供应商实现:

  • eProsima 的 Fast RTPS 以及 ADLINK 的 OpenSplice(来自二进制和源代码)

  • RTI 的 Connext(仅来自源代码)

  • 用于处理非理想网络的众多服务质量设置

  • DDS 安全支持(使用 Connext 和 Fast RTPS)

  • C++ 和 Python 3 客户端库

  • 共享 C 中的通用代码以统一实现

  • 与节点分离的执行模型、可组合节点

  • 特定于节点的参数(目前仅在 C++ 中)

  • 生命周期(目前仅在 C++ 中)

  • 可选地使用相同 API 进行进程内通信(仅限 C++)

  • 消息定义(具有有界数组和字符串以及默认值)

  • 命令行工具(例如 ros2 run

  • 带有几种显示类型(Windows 版本可能在几周后推出)

  • 基于文件系统的资源索引(无需递归爬取即可查询信息)

  • pub / sub 的实时安全代码路径(仅与兼容的 DDS 实现兼容)

  • ROS 1 和 ROS 2 之间的桥梁

  • HSR 演示`参见 Beta 3 <Beta3-Overview>`

  • Turtlebot 演示`参见 Beta 2 <Beta2-Overview>`

有关更详细的描述,请参阅`功能 <../../The-ROS2-Project/Features>` 页面。

自 Beta 3 发布以来的变化

自 Beta 3 发布以来的改进:

  • rviz

  • C++ 中消息数据结构的不同初始化选项(请参阅 设计文档

  • 日志记录 API 改进,现在也用于演示

  • 使用不同时钟在 C++ 中支持时间

  • Python 客户端库中支持 wait-for-service

  • REP 149 的草案实现,指定包清单文件的格式 3

已知问题

  • 像图像演示一样,在处理较大数据时实现快速 RTPS 性能

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

  • 节点名称列表(例如使用“ros2 节点列表”)在某些 rmw 实现中不起作用。

  • 在 Windows 上,尝试使用“Ctrl-C”中止时,Python 启动文件可能会挂起(请参阅“问题 <https://github.com/ros2/launch/issues/64>”)。为了继续使用被挂起命令阻止的 shell,您可能需要使用进程监视器结束挂起的 Python 进程。