接口目录
本目录罗列 Robonix 在 capabilities/ 下随仓库分发的标准能力约定。能力约定描述接口名称、数据类型和交互方式,不指定由哪个提供方实现,也不记录某次运行中的网络地址。完整概念见命名空间与能力约定。
每条能力约定由 capabilities/<kind>/ 下的一份 TOML 和 capabilities/lib/ 下的消息或服务定义共同描述。rbnx codegen 根据软件包的构建目标生成 gRPC 接口、模型上下文协议(Model Context Protocol,MCP)类型辅助代码或 ROS 2 消息包;一次构建只生成明确请求的产物。详见软件包构建与代码生成。
按命名空间组织
标准业务能力约定按原语、服务和系统接口组织;robonix/skill/* 由技能软件包自行定义。生命周期管理使用一个跨类别共享命名空间:
| 命名空间 | 含义 | 域 |
|---|---|---|
robonix/primitive/* | 原语:低层设备抽象 | 机械臂 · 音频 · 相机 · 底盘 · 设备健康 · 惯性测量单元 · 激光雷达 · 机器人描述 |
robonix/service/* | 服务:可替换的通用能力 | 空间地图 · 导航 · 语音 · 声纹 · 记忆 |
robonix/system/* | 系统服务:Robonix 自身组件 | 规划器 · 执行器 · 交互服务 · 场景服务 · 本体服务 · 健康服务 |
robonix/lifecycle/* | 跨原语、服务和技能复用的生命周期管理接口 | robonix/lifecycle/driver |
完整的 12 个系统组件(含不对外暴露能力约定的)见 系统组件。
怎么读每张表
每个域页面都是一张接口表:
- 能力约定 ID:接口名称,例如
robonix/primitive/camera/rgb。多个提供方可以暴露同一个接口;运行时由提供方 ID 区分具体设备。Atlas 按能力约定 ID 合并接口定义,重复定义会保留后加载者并给出警告。 - 模式:调用方与提供方的交互方式,包括一次请求响应、流式请求响应和单向话题。表中保留运行时使用的
rpc、rpc_server_stream、rpc_client_stream、rpc_bidirectional_stream、topic_out与topic_in原值;语义见命名空间与能力约定。 - 载荷(IDL):接口定义语言(Interface Definition Language,IDL)描述的消息或服务类型,解析到
capabilities/lib/下的.msg或.srv。Robonix 自带的 ROS 2 消息定义也从这里生成,使不同 ROS 2 发行版上的 Robonix 组件使用同一套数据结构。 - 能力约定 TOML:能力约定描述文件相对
capabilities/的路径;绝对路径见rbnx path capabilities。
robonix/lifecycle/driver 是提供方共享的生命周期入口,不是业务数据接口。新软件包省略 Driver 条目时由框架自动使用该约定,不创建自己的 Driver TOML;显式声明共享 Driver 也受支持。
后向兼容:已有命名空间 Driver
各领域页面仍列出的 <provider-namespace>/driver 是已有软件包自己维护的兼容接口。目前仍可使用,但计划迁移到共享 Driver,且不能与共享 Driver 同时注册。完整兼容与迁移流程见软件包与部署清单规范。