Jazzy Jalisco 版本
Jazzy Jalisco 是 ROS 2 的第十个发行版本。 以下是自上一个发行版本以来,Jazzy Jalisco 中重要变更和新特性的概要。 有关自 Iron 以来所有变更的完整列表,请参阅完整变更日志(Complete Changelog)。
根据平台支持层级(Platform Support Tiers),Jazzy Jalisco 支持以下平台:
Tier 1 平台:
- Ubuntu 24.04(Noble):
amd64和arm64 - Windows 10(Visual Studio 2019):
amd64
Tier 2 平台:
- RHEL 9:
amd64
Tier 3 平台:
- macOS:
amd64 - Debian Bookworm:
amd64
目标平台:
| 架构 | Ubuntu Noble(24.04) | Windows 10(VS2019) | RHEL 9 | Ubuntu Jammy(22.04) | macOS | Debian Bookworm(12) | OpenEmbedded / Yocto Project |
|---|---|---|---|---|---|---|---|
| amd64 | Tier 1 [d][a][s] | Tier 1 [a][s] | Tier 2 [d][a][s] | Tier 3 [s] | Tier 3 [s] | Tier 3 [s] | Tier 3 [s] |
| arm64 | Tier 1 [d][a][s] | Tier 3 [s] | Tier 3 [s] | ||||
| arm32 | Tier 3 [s] | Tier 3 [s] | Tier 3 [s] |
以下标记表示每个平台可用的交付方式:
“[d]” 表示为该平台提供特定于发行版的软件包(Debian、RPM 等),适用于提交到 rosdistro 的软件包。
“[a]” 表示提供二进制发行版,每个平台一个归档文件,包含 Jazzy ROS 2 repos 文件中的所有包。
“[s]” 表示从源码编译。
中间件实现支持:
| 中间件库 | 中间件提供商 | 支持级别 | 平台 | 架构 |
|---|---|---|---|---|
| rmw_fastrtps_cpp* | eProsima Fast-DDS | Tier 1 | 所有平台 | 所有架构 |
| rmw_cyclonedds_cpp | Eclipse Cyclone DDS | Tier 1 | 所有平台 | 所有架构 |
| rmw_connextdds | RTI Connext | Tier 1 | Ubuntu、Windows 和 macOS | 除 arm64 外的所有架构 |
| rmw_fastrtps_dynamic_cpp | eProsima Fast-DDS | Tier 2 | 所有平台 | 所有架构 |
| rmw_gurumdds_cpp | GurumNetworks GurumDDS | Tier 3 | Ubuntu 和 Windows | 除 arm32 外的所有架构 |
”*” 表示默认 RMW 实现。
中间件实现支持取决于平台支持级别。例如,Tier 2 平台上的 Tier 1 中间件实现只能获得 Tier 2 级别的支持。
最低语言要求:
- C++17
- Python 3.8
依赖要求:
| 必须支持 | 推荐支持 | ||||||
|---|---|---|---|---|---|---|---|
| 包 | Ubuntu Noble | Windows 10** | RHEL 9 | Ubuntu Jammy | macOS** | Debian Bookworm | OpenEmbedded** |
| CMake | 3.28.3 | 3.22.0 | 3.20.2 | 3.22.1 | 3.20.0 | 3.25.1 | 3.22.3 |
| EmPY | 3.3.4 | 3.3.2 | 3.3.4 | ||||
| Gazebo | Harmonic* | N/A | N/A | Harmonic* | Harmonic* | Harmonic* | N/A |
| NumPy | 1.26.4 | 1.18.4 | 1.20.1 | 1.21.5 | 1.18.4 | 1.24.2 | N/A |
| Ogre | 1.12.10 | N/A | |||||
| OpenCV | 4.6.0 | 3.4.6* | 4.6.0 | 4.5.4 | 4.2.0 | 4.6.0 | 4.1.0 / 3.2.0*** |
| OpenSSL | 3.0.13 | 1.1.1l | 3.0.7 | 1.1.1l | 1.1.1f | 3.0.11 | 1.1.1d / 1.1.1b*** |
| Python | 3.12.3 | 3.8.3 | 3.9.16 | 3.10.4 | 3.10.8 | 3.11.2 | 3.8.2 / 3.7.5*** |
| Qt | 5.15.10 | 5.12.12 | 5.15.3 | 5.15.3 | 5.12.3 | 5.15.8 | 5.14.1 / 5.12.5*** |
| 仅限 Linux | |||||||
| PCL | 1.14.0 | N/A | 1.12.0 | 1.12.1 | N/A | 1.13.0 | 1.10.0 |
| RMW DDS 中间件 | |||||||
| Cyclone DDS | 0.10.4 | ||||||
| Fast-DDS | 2.14.0 | ||||||
| Connext DDS | 6.0.1 | N/A | |||||
| Gurum DDS | 4.2.0 |
”*” 表示这不是上游版本(官方操作系统仓库中提供的版本),而是由 OSRF 或社区分发的软件包(在自定义仓库中构建和分发的软件包)。
”**” 表示该依赖可能会经历多次版本变更,因为该依赖使用的包管理器会在没有稳定 API 的情况下持续更新该依赖。
”***” webOS OSE 提供了此不同版本。
本文档仅记录 ROS 发行版首次发布时的版本,不会随依赖版本的推进而更新。因此,这些版本代表的是最低基线。
依赖项使用的包管理器:
- Ubuntu、Debian:apt、pip
- Windows:Chocolatey、pip
- macOS:Homebrew、pip
- RHEL:dnf
- OpenEmbedded:opkg
构建系统支持:
- ament_cmake
- cmake
- setuptools
安装 Jazzy Jalisco,请参阅安装指南。
ROS 2 与 Gazebo 集成方式的变更
Section titled “ROS 2 与 Gazebo 集成方式的变更”从 Jazzy Jalisco 开始,ROS 2 与 Gazebo 的集成方式得到了简化。对于每个 ROS 2 发行版本,都会有一个推荐的、受支持的 Gazebo 发行版本与之配套。对于 Jazzy Jalisco,推荐的 Gazebo 发行版本是 Harmonic。
为了方便 ROS 2 包使用 Gazebo 包,现在引入了 gz_*_vendor 包。这些包包括:
- gz_common_vendor: https://github.com/gazebo-release/gz_common_vendor
- gz_cmake_vendor: https://github.com/gazebo-release/gz_cmake_vendor
- gz_math_vendor: https://github.com/gazebo-release/gz_math_vendor
- gz_transport_vendor: https://github.com/gazebo-release/gz_transport_vendor
- gz_sensor_vendor: https://github.com/gazebo-release/gz_sensor_vendor
- gz_sim_vendor: https://github.com/gazebo-release/gz_sim_vendor
- gz_tools_vendor: https://github.com/gazebo-release/gz_tools_vendor
- gz_utils_vendor: https://github.com/gazebo-release/gz_utils_vendor
- sdformat_vendor: https://github.com/gazebo-release/sdformat_vendor
ROS 2 包可以通过在 package.xml 中添加依赖来使用这些包中的功能,例如:
<depend>gz_math_vendor</depend>然后在 CMakeLists.txt 中使用它们,例如:
find_package(gz_math_vendor REQUIRED)find_package(gz-math)
add_executable(my_executable src/exe.cpp)target_link_libraries(my_executable gz-math::core)注意:仍然可以在 Jazzy Jalisco 中使用其他版本的 Gazebo,但这些版本与 ROS 2 的集成和测试不够充分。更多信息请参阅 https://gazebosim.org/docs/harmonic/ros_installation。
本 ROS 2 发行版本的新特性
Section titled “本 ROS 2 发行版本的新特性”common_interfaces
Section titled “common_interfaces”新的 VelocityStamped 消息
Section titled “新的 VelocityStamped 消息”新增了一个消息,包含定义速度以及对其应用坐标变换所需的全部字段。
更多详情请参阅 https://github.com/ros2/common_interfaces/pull/240。
向 Marker.msg 添加 ARROW_STRIP
Section titled “向 Marker.msg 添加 ARROW_STRIP”向 Marker.msg 添加了一种新类型的 Marker——ARROW_STRIP。
更多详情请参阅 https://github.com/ros2/common_interfaces/pull/242。
image_transport
Section titled “image_transport”支持惰性订阅者
Section titled “支持惰性订阅者”更多详情请参阅 https://github.com/ros-perception/image_common/issues/272。
公开设置回调组的选项
Section titled “公开设置回调组的选项”更多详情请参阅 https://github.com/ros-perception/image_common/issues/274。
启用允许列表
Section titled “启用允许列表”添加了参数,允许用户在运行时选择性地禁用 image_transport 插件。
更多详情请参阅 https://github.com/ros-perception/image_common/issues/264。
使用自定义 QoS 进行发布和订阅
Section titled “使用自定义 QoS 进行发布和订阅”允许用户在创建 image_transport 发布者和订阅者时传入自定义的服务质量(QoS)设置。
更多详情请参阅 https://github.com/ros-perception/image_common/issues/288。
向 Republish 添加 rclcpp 组件
Section titled “向 Republish 添加 rclcpp 组件”用户现在可以将 image_transport 重发布节点作为 rclcpp 组件启动。
更多详情请参阅 https://github.com/ros-perception/image_common/issues/275。
message_filters
Section titled “message_filters”TypeAdapters 支持
Section titled “TypeAdapters 支持”允许用户在 message_filters 中使用类型适配(Type Adaptation)。
更多信息请参阅 https://github.com/ros2/message_filters/pull/96。
添加获取类型描述服务
Section titled “添加获取类型描述服务”实现了 ~/get_type_description 服务,允许外部用户获取节点提供的每种类型的描述。该服务由每个节点根据 REP 2016 提供。
更多详情请参阅 https://github.com/ros2/rcl/pull/1052。
rclcpp
Section titled “rclcpp”服务的类型支持辅助工具
Section titled “服务的类型支持辅助工具”新增了服务的类型支持辅助工具 rclcpp::get_service_typesupport_handle,用于提取服务类型支持句柄。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2209。
ParameterEventHandler
Section titled “ParameterEventHandler”新类 ParameterEventHandler 可以监控参数事件并响应参数变更。
更多详情请参阅 https://github.com/ros2/rclpy/pull/1135。
ros2cli
Section titled “ros2cli”添加了 --log-file-name 命令行参数
Section titled “添加了 --log-file-name 命令行参数”现在可以使用 --log-file-name 命令行参数来指定日志文件名前缀。
ros2 run demo_nodes_cpp talker --ros-args --log-file-name filename更多信息请参阅 https://github.com/ros2/ros2cli/issues/856。
向订阅选项添加 QoS
Section titled “向订阅选项添加 QoS”在 TopicStatisticsOptions 中添加了用户可设置的 QoS 参数,允许统计信息具有与订阅本身不同的 QoS。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2323。
添加客户端和服务计数
Section titled “添加客户端和服务计数”现在可以获取服务创建的客户端数量。
ros2action
Section titled “ros2action”支持 type 子命令
Section titled “支持 type 子命令”现在可以使用 type 子命令来检查 action 类型。
$ ros2 action type /fibonacciaction_tutorials_interfaces/action/Fibonacci更多信息请参阅 https://github.com/ros2/ros2cli/pull/894。
rosbag2
Section titled “rosbag2”服务录制和回放
Section titled “服务录制和回放”现在可以使用 ros2bag 命令行界面录制和回放服务数据。
此功能建立在 Service Introspection 之上,该功能自 Iron Irwini 起已可用。服务录制与显示功能使服务数据可以录制到 bag 文件中。服务回放功能可以从 bag 文件中回放服务数据。
录制所有服务数据:
ros2 bag record --all-services录制所有服务和所有话题数据:
ros2 bag record --all从 bag 文件回放服务数据:
ros2 bag play --publish-service-requests bag_path更多信息请参阅设计文档:https://github.com/ros2/rosbag2/blob/rolling/docs/design/rosbag2_record_replay_service.md。
新的过滤模式
Section titled “新的过滤模式”现在可以按话题类型进行过滤。
ros2 bag record --topic-types sensor_msgs/msg/Image sensor_msgs/msg/CameraInforos2 bag record --topic-types sensor_msgs/msg/Image更多详情请参阅 https://github.com/ros2/rosbag2/pull/1577 和 https://github.com/ros2/rosbag2/pull/1582。
Player 和 Recorder 现在作为 rclcpp 组件提供
Section titled “Player 和 Recorder 现在作为 rclcpp 组件提供”这样在进程内通信(intra-process communication)期间进行数据录制或回放时就能实现”零拷贝”。在处理高带宽数据流时,这可以显著降低录制或回放期间的 CPU 负载,并有助于避免传输层中的数据丢失。此外,它还为 rosbag2_transport::Player 和 rosbag2_transport::Recorder 可组合节点提供了使用 YAML 配置文件的能力。
更多详情请参阅 https://github.com/ros2/rosbag2/tree/jazzy?tab=readme-ov-file#using-with-composition。
添加了禁用录制器键盘控制的选项
Section titled “添加了禁用录制器键盘控制的选项”更多详情请参阅 https://github.com/ros2/rosbag2/pull/1607。
录制时使用 message_info 中的中间件发送和接收时间戳
Section titled “录制时使用 message_info 中的中间件发送和接收时间戳”在可用的情况下,rosbag2 现在会使用中间件提供的发送和接收时间戳。这些时间戳更能反映数据实际发送和接收的时间。请注意,将时间戳保存到 bag 中目前仅支持 MCAP 格式(默认格式)。
更多详情请参阅 https://github.com/ros2/rosbag2/pull/1531。
向录制选项添加压缩线程优先级
Section titled “向录制选项添加压缩线程优先级”现在可以指定执行压缩的线程的优先级。
更多详情请参阅 https://github.com/ros2/rosbag2/pull/1457。
添加了按时间拆分已有 ros2 bag 的功能
Section titled “添加了按时间拆分已有 ros2 bag 的功能”向 StorageOptions 添加了 start_time_ns 和 end_time_ns,以在 ros2 bag convert 操作期间排除不在 [start_time;end_time] 范围内的消息。
更多详情请参阅 https://github.com/ros2/rosbag2/pull/1455。
直接在 bag 文件中存储序列化的元数据
Section titled “直接在 bag 文件中存储序列化的元数据”rosbag2 过去一直将元数据存储在与 bag 文件关联的 metadata.yaml 文件中。现在元数据也会直接存储在每个 bag 文件中——分别在打开文件和关闭写入的 bag 文件时各写入一次。这样 bag 文件就可以自包含,即使没有 metadata.yaml 文件也能在 rosbag2 player 或第三方应用中使用。如果需要,仍可使用 ros2 bag reindex 恢复 metadata.yaml 文件。
在元数据中存储 ROS_DISTRO 名称
Section titled “在元数据中存储 ROS_DISTRO 名称”更多详情请参阅 https://github.com/ros2/rosbag2/pull/1241。
向 Python 绑定添加内省 QoS 方法
Section titled “向 Python 绑定添加内省 QoS 方法”现在可以从 Python 绑定中内省 QoS 设置。
更多详情请参阅 https://github.com/ros2/rosbag2/pull/1648。
rosidl
Section titled “rosidl”添加了支持键标注的接口
Section titled “添加了支持键标注的接口”key 标注用于指定某个数据成员作为键的一部分。一个结构体可以有零个或多个键字段,并且该标注可以应用于各种类型的结构体字段。
更多详情请参阅 https://github.com/ros2/rosidl/pull/796 和 https://github.com/ros2/rosidl_typesupport_fastrtps/pull/116。
为 TF 显示添加正则表达式过滤字段
Section titled “为 TF 显示添加正则表达式过滤字段”当 /tf 上有很多坐标系时,在 RViz 中很难正确地将它们可视化,尤其是坐标系重叠的时候。通常的做法是在 TF 显示的 Frames 字段中逐个启用和禁用所需的坐标系。现在可以使用正则表达式来过滤坐标系了。
更多详情请参阅 https://github.com/ros2/rviz/pull/1032。
向话题状态追加测量的订阅频率
Section titled “向话题状态追加测量的订阅频率”可以在话题状态小部件中可视化 Hz。
更多详情请参阅 https://github.com/ros2/rviz/issues/1113。
可以使用新的服务或键盘快捷键 R 来重置时间。
更多详情请参阅 https://github.com/ros2/rviz/issues/1109 和 https://github.com/ros2/rviz/issues/1088。
添加了对 point_cloud_transport 的支持
Section titled “添加了对 point_cloud_transport 的支持”可以使用 point_cloud_transport 包来订阅点云。
更多详情请参阅 https://github.com/ros2/rviz/pull/1008。
与 ROS 1 版 RViz 功能对等
Section titled “与 ROS 1 版 RViz 功能对等”可以使用 ROS 1 版 RViz 中可用的相同插件。
- DepthCloud
- AccelStamped
- TwistStamped
- WrenchStamped
- Effort
相机信息显示
Section titled “相机信息显示”可以在 3D 场景中可视化 CameraInfo 消息。
更多详情请参阅 https://github.com/ros2/rviz/pull/1166。
rcpputils
Section titled “rcpputils”添加了 tl_expected
Section titled “添加了 tl_expected”std::expected 是 C++23 特性,目前 ROS 2 尚不支持。但是,可以通过向后移植实现从 rcpputils 中使用 tl::expected。
更多详情请参阅 https://github.com/ros2/rcpputils/pull/185。
rcutils
Section titled “rcutils”向日志格式添加人类可读的日期
Section titled “向日志格式添加人类可读的日期”现在可以使用 RCUTILS_CONSOLE_OUTPUT_FORMAT 环境变量中的 {date_time_with_ms} 标记,在控制台日志中输出人类可读格式的日期。
更多详情请参阅 https://github.com/ros2/rcutils/pull/441。
自 Iron 发行版本以来的变更
Section titled “自 Iron 发行版本以来的变更”common_interfaces
Section titled “common_interfaces”向 geometry_msgs/Polygon 和 PolygonStamped 添加 ID
Section titled “向 geometry_msgs/Polygon 和 PolygonStamped 添加 ID”多边形通常用于表示特定对象,但由于目前没有任何标识字段,很难对不同多边形进行区分。此功能添加了一个 ID 字段来消除歧义。
更多详情请参阅 https://github.com/ros2/common_interfaces/pull/232。
geometry2
Section titled “geometry2”移除了已弃用的头文件
Section titled “移除了已弃用的头文件”在 Humble 中,以下头文件已被弃用:tf2_bullet/tf2_bullet.h、tf2_eigen/tf2_eigen.h、tf2_geometry_msgs/tf2_geometry_msgs.h、tf2_kdl/tf2_kdl.h、tf2_sensor_msgs/tf2_sensor_msgs.h,取而代之的是:tf2_bullet/tf2_bullet.hpp、tf2_eigen/tf2_eigen.hpp、tf2_geometry_msgs/tf2_geometry_msgs.hpp、tf2_kdl/tf2_kdl.hpp、tf2_sensor_msgs/tf2_sensor_msgs.hpp。在 Jazzy 中,tf2_bullet/tf2_bullet.h、tf2_eigen/tf2_eigen.h、tf2_geometry_msgs/tf2_geometry_msgs.h、tf2_kdl/tf2_kdl.h、tf2_sensor_msgs/tf2_sensor_msgs.h 头文件已被完全移除。
更改了 wait_for_transform_async 和 wait_for_transform_full_async 的返回类型
Section titled “更改了 wait_for_transform_async 和 wait_for_transform_full_async 的返回类型”以前 Buffer 类的 wait_for_transform_async 和 wait_for_transform_full_async 返回一个包含 true 或 false 的 future。在 Jazzy 中,该 future 将包含正在等待的变换信息。
启用 Twist 插值器
Section titled “启用 Twist 插值器”包含了新的 API,用于查找运动坐标系相对于参考坐标系的速度。
更多信息请参阅 https://github.com/ros2/geometry2/pull/646。
定时器调用时的实际和预期调用时间
Section titled “定时器调用时的实际和预期调用时间”新增了定时器 API rcl_timer_call_with_info,用于收集定时器实际调用时间与预期调用时间。这样用户就能同时获取定时器预期触发和实际触发的信息。
更多详情请参阅 https://github.com/ros2/rcl/pull/1113。
改进了 rcl_wait 在超时计算和虚假唤醒方面的表现
Section titled “改进了 rcl_wait 在超时计算和虚假唤醒方面的表现”添加了对启用了时间覆盖(time override)的时钟定时器的特殊处理。对于这些定时器,不需要计算超时,因为等待集会被关联的守卫条件(guard condition)唤醒。
更多详情请参阅 https://github.com/ros2/rcl/issues/1146。
rclcpp
Section titled “rclcpp”修复了数据竞争条件
Section titled “修复了数据竞争条件”修复了执行器中的数据竞争条件。
更多详情请参阅 https://github.com/ros2/rclcpp/issues/2500。
将 rclcpp::WaitSet 作为执行器的一部分使用
Section titled “将 rclcpp::WaitSet 作为执行器的一部分使用”通过使默认的单线程/多线程执行器在实体集合重建方面像静态单线程执行器一样工作,减少了 rcl_wait_set 的创建和销毁次数。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2142。
由于此变更,执行器中的回调顺序不再保证一致,即使在同一实体内也是如此。
更多详情请参阅 https://github.com/ros2/rclcpp/issues/2532。
rclcpp::get_typesupport_handle 已弃用
Section titled “rclcpp::get_typesupport_handle 已弃用”提取消息类型支持句柄的 rclcpp::get_typesupport_handle 已弃用,并将在未来的发行版本中移除。应改用 rclcpp::get_message_typesupport_handle。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2209。
移除了已弃用的 rclcpp/qos_event.hpp 头文件
Section titled “移除了已弃用的 rclcpp/qos_event.hpp 头文件”在 Iron 中,头文件 rclcpp/qos_event.hpp 已被弃用,取而代之的是 rclcpp/event_handler.hpp。在 Jazzy 中,rclcpp/qos_event.hpp 头文件已被完全移除。
移除了已弃用的订阅回调签名
Section titled “移除了已弃用的订阅回调签名”早在 Humble 中,形如 void callback(std::shared_ptr<MessageT>) 和 void callback(std::shared_ptr<MessageT>, const rclcpp::MessageInfo &) 的订阅签名已被弃用。
在 Jazzy 中,这些订阅签名已被移除。用户应改用 void callback(std::shared_ptr<const MessageT>) 或 void callback(std::shared_ptr<const MessageT>, const rclcpp MessageInfo &)。
定时器调用时的实际和预期调用时间
Section titled “定时器调用时的实际和预期调用时间”向定时器回调添加了 rclcpp::TimerInfo 参数,用于收集定时器实际调用时间与预期调用时间。这样用户就能同时获取定时器预期触发和实际触发的信息。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2343。
rclcpp_action
Section titled “rclcpp_action”取消后的回调
Section titled “取消后的回调”添加了一个函数,用于在目标句柄超出作用域后停止其回调。该函数允许你在锁定上下文中安全地丢弃句柄。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2281。
rclcpp_lifecycle
Section titled “rclcpp_lifecycle”添加新的节点接口 TypeDescriptionsInterface
Section titled “添加新的节点接口 TypeDescriptionsInterface”添加了新的节点接口 TypeDescriptionsInterface 以提供 GetTypeDescription 服务。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2224。
rclpy.node.Node.declare_parameter
Section titled “rclpy.node.Node.declare_parameter”rclpy.node.Node.declare_parameter 不再允许在没有默认值的情况下声明静态类型的参数。
更多详情请参阅 https://github.com/ros2/rclpy/pull/1216。
向方法参数添加类型
Section titled “向方法参数添加类型”添加了类型检查以改善使用静态类型检查的用户的体验。
更多详情请参阅 https://github.com/ros2/rclcpp/pull/2224、https://github.com/ros2/rclpy/issues/1240、https://github.com/ros2/rclpy/issues/1237、https://github.com/ros2/rclpy/issues/1231、https://github.com/ros2/rclpy/issues/1241 和 https://github.com/ros2/rclpy/issues/1233。
rosbag2
Section titled “rosbag2”--exclude CLI 选项的重命名
Section titled “--exclude CLI 选项的重命名”--exclude CLI 选项被重命名为 --exclude-regex,以更好地反映其功能。
更多信息请参阅 https://github.com/ros2/rosbag2/pull/1480。
offered_qos_profiles 表示方式的变更
Section titled “offered_qos_profiles 表示方式的变更”在代码中,offered_qos_profiles 现在使用枚举值表示;而在元数据和用于覆盖 QoS 配置文件的 YAML 文件中,则改用人类可读的字符串值。
示例请参阅 https://github.com/ros2/rosbag2/tree/jazzy?tab=readme-ov-file#overriding-qos-profiles。
向读写 bag 拆分事件消息添加节点名称
Section titled “向读写 bag 拆分事件消息添加节点名称”更多详情请参阅 https://github.com/ros2/rosbag2/pull/1609。
在 bag 关闭时添加 BagSplitInfo 服务调用
Section titled “在 bag 关闭时添加 BagSplitInfo 服务调用”更多详情请参阅 https://github.com/ros2/rosbag2/pull/1422。
解决了与 rosbag2 中 SIGINT 和 SIGTERM 信号处理相关的多个问题
Section titled “解决了与 rosbag2 中 SIGINT 和 SIGTERM 信号处理相关的多个问题”更多详情请参阅 https://github.com/ros2/rosbag2/pull/1557、https://github.com/ros2/rosbag2/pull/1301 和 https://github.com/ros2/rosbag2/pull/1464。
将存储返回的 topic_id 添加到 TopicMetadata
Section titled “将存储返回的 topic_id 添加到 TopicMetadata”更多详情请参阅 https://github.com/ros2/rosbag2/pull/1538。
为 CompressionOptions 和 CompressionMode 结构添加 Python 绑定
Section titled “为 CompressionOptions 和 CompressionMode 结构添加 Python 绑定”更多详情请参阅 https://github.com/ros2/rosbag2/pull/1425。
改进 SqliteStorage::get_bagfile_size() 的性能
Section titled “改进 SqliteStorage::get_bagfile_size() 的性能”这最大限度地减少了使用 SQLite3 存储插件录制时,在 bag 拆分操作期间丢失消息的概率。
更多详情请参阅 https://github.com/ros2/rosbag2/pull/1516。
rqt_bag
Section titled “rqt_bag”改进的性能和更新的 rosbag API
Section titled “改进的性能和更新的 rosbag API”rosbag2 API 和 Ubuntu Noble 库版本中存在一些破坏性变更,需要对 rqt_bag 进行一些修改。
更多详情请参阅 https://github.com/ros-visualization/rqt_bag/pull/156。
有关 Jazzy Jalisco 的开发进展,请参阅此项目看板。
有关 Jazzy Jalisco 遵循的总体流程,请参阅流程描述页面(Release Process)。
待补充。
-
2023 年 11 月 — 平台决策 更新 REP 2000 中的目标平台和主要依赖版本。
-
2024 年 1 月前 — Rolling 平台迁移 构建农场更新为 Jazzy Jalisco 的新平台版本和依赖版本。
-
2024 年 4 月 8 日(周一)— Alpha + RMW 冻结 ROS Base [1] 包的初步测试和稳定化,以及 RMW 提供者包的 API 和功能冻结。
-
2024 年 4 月 15 日(周一)— 冻结 Rolling Ridley 中 ROS Base [1] 包的 API 和功能冻结。此后只应进行 bug 修复发行。新包可以独立发行。
-
2024 年 4 月 22 日(周一)— 分支 从 Rolling Ridley 分支。
rosdistro重新开放 Rolling PR 以处理 ROS Base [1] 包。Jazzy 开发从ros-rolling-*包转向ros-jazzy-*包。 -
2024 年 4 月 29 日(周一)— Beta 提供更新的 ROS Desktop [2] 包发行版。号召广泛测试。
-
2024 年 5 月 1 日(周三)— 教程活动启动 托管在 https://github.com/osrf/ros2_test_cases 的教程向社区测试开放。
-
2024 年 5 月 13 日(周一)— 发行候选版本(Release Candidate) 构建发行候选版本包。提供更新的 ROS Desktop [2] 包发行版。
-
2024 年 5 月 20 日(周一)— 发行版冻结 冻结所有 ROS 2 桌面包和
rosdistro上的所有 Jazzy 分支。不会合并任何针对jazzy分支或rosdistro仓库中jazzy/distribution.yaml的拉取请求。 -
2024 年 5 月 23 日(周四)— 正式发布(General Availability) 发行公告。ROS 2 桌面包的源码冻结解除,
rosdistro重新开放 Jazzy 拉取请求。
[1]
ros_base变体在 REP 2001(ros-base)中描述。[2]
desktop变体在 REP 2001(desktop-variants)中描述。