Skip to content

ros2/rmw | DeepWiki

概述

RMW 系统提供了一个 C API,用于定义 ROS 2 生态系统中常见的中间件操作。每个受支持的 DDS 实现都提供了一个 RMW 适配器包,用于在标准化的 RMW 接口和特定供应商的 DDS API 之间进行转换。

RWM 主要功能组:

  1. 初始化和关闭:管理 RMW 实例生命周期
  2. 节点管理:创建、使用销毁 ros graph 中的节点
  3. 通信原语:
    1. Publishers/Subscriptions
    2. Services/Clients
  4. 同步机制:用于同步操作的 wait sets 和 guard conditions
  5. 图查询:查询 ROS 图结构
  6. 服务质量(QoS):配置和管理通信质量参数
  7. 序列化:在 ROS 消息和序列化字节流之间进行转换
类别 功能描述 示例函数
初始化 设置并配置RMW(ROS中间件接口) rmw_init()rmw_shutdown()
节点管理 创建和管理ROS节点 rmw_create_node()rmw_destroy_node()
发布器 创建和使用消息发布器 rmw_create_publisher()rmw_publish()
订阅器 创建和使用消息订阅器 rmw_create_subscription()rmw_take()
服务端 实现请求-响应服务端 rmw_create_service()rmw_take_request()
客户端 实现请求-响应客户端 rmw_create_client()rmw_send_request()
等待集合 多实体活动监控与等待 rmw_create_wait_set()rmw_wait()
拓扑查询 ROS通信图查询 rmw_get_node_names()rmw_count_publishers()
校验验证 验证名称和标识符规范性 rmw_validate_full_topic_name()rmw_validate_namespace()
服务质量(QoS) 配置通信质量策略 rmw_qos_profile_check_compatible()

基于 VitePress 构建