具身智能新手名词表English

ROS 中间件接口

ROS Middleware InterfaceRMW进阶

ROS 2 里把上层 API 和底层通信实现隔开的抽象接口层

RMW 是 ROS 2 的一层 C 接口,位于客户端库(rclcpp、rclpy,经由 rcl)和具体通信中间件之间。ROS 2 默认基于 DDS(数据分发服务,一种发布/订阅通信标准)通信,而 DDS 有多家实现,RMW 让它们以插件形式接入,如 rmw_fastrtps_cpp(Fast DDS)、rmw_cyclonedds_cpp(Cyclone DDS),较新的发行版还加入了基于 Zenoh 的 rmw_zenoh_cpp。用户代码不用改,只要设置环境变量 RMW_IMPLEMENTATION 就能切换。遇到多机发现失败、大数据传输卡顿时,换一种 RMW 实现是常见排查手段;同一系统里的节点最好用同一种实现。

例子export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp 之后再 ros2 run,节点就改用 Cyclone DDS 收发消息。

也叫
rmw、RMW 实现
相关
ROS 2、中间件、数据分发服务、Fast DDS、Cyclone DDS、Zenoh
来源
ROS 2 Docs: About different ROS 2 middleware vendors
ROS 2 Design: ROS 2 middleware interface

在完整名词表里查看 →