102 lines
4.8 KiB
Markdown
102 lines
4.8 KiB
Markdown
|
|
# 机器人能力模型 V1.0
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|------|------|
|
|||
|
|
| 文档编号 | DES-03 |
|
|||
|
|
| 文档名称 | 机器人能力模型 |
|
|||
|
|
| 版本 | V1.0 |
|
|||
|
|
| 状态 | 已评审(Reviewed) |
|
|||
|
|
| 适用系统 | 机器人智慧服务系统 |
|
|||
|
|
| 编写日期 | 2026-08-10 |
|
|||
|
|
| 关联文档 | DOC-08 设备数据字典(§5 能力编码)、DOC-09 控制命令字典 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. 概述
|
|||
|
|
|
|||
|
|
能力模型解决"平台如何知道一台设备能干什么"的问题。设备在注册时声明 `capabilities` 能力列表(见 DOC-08 §5),平台据此:
|
|||
|
|
- 动态渲染控制台可下发命令(能力 → 命令映射);
|
|||
|
|
- 拒绝向不具备能力的设备下发命令(`E2002 命令不支持`);
|
|||
|
|
- 支持能力化扩展:新增设备类型只需声明新能力,无需改平台代码。
|
|||
|
|
|
|||
|
|
## 2. 能力分层架构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────┐
|
|||
|
|
│ 能力层(Capability Layer) │
|
|||
|
|
│ 移动 / 转向 / 拍照 / 视频 / 巡检 / 充电 / 急停 │
|
|||
|
|
├─────────────────────────────────────────────────┤
|
|||
|
|
│ 命令层(Command Layer)· 命令服务 Alpha │
|
|||
|
|
│ 能力 → 命令类型映射(cap.move → move 等) │
|
|||
|
|
├─────────────────────────────────────────────────┤
|
|||
|
|
│ 设备层(Device Layer)· 设备接入服务 Alpha │
|
|||
|
|
│ 注册时声明 capabilities,运行时心跳保活 │
|
|||
|
|
└─────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 3. 能力定义表(CAPABILITY)
|
|||
|
|
|
|||
|
|
| 能力编码 | 能力名 | 能力类型 | 对应命令(DOC-09) | 适用设备 |
|
|||
|
|
|----------|--------|----------|--------------------|----------|
|
|||
|
|
| `cap.move` | 移动 | 执行 | `move` / `stop` | 巡检机器人 |
|
|||
|
|
| `cap.rotate` | 原地转向 | 执行 | `rotate` | 巡检机器人 |
|
|||
|
|
| `cap.photo` | 拍照 | 感知 | `photo` | 巡检机器人/无人机 |
|
|||
|
|
| `cap.video` | 视频回传 | 感知 | (WebRTC 通道) | 巡检机器人/无人机 |
|
|||
|
|
| `cap.patrol` | 自主巡检 | 任务 | `task_start` / `task_cancel` | 巡检机器人/无人机 |
|
|||
|
|
| `cap.charging` | 自动充电 | 执行 | `charge` | 巡检机器人 |
|
|||
|
|
| `cap.emergency_stop` | 急停 | 安全 | `emergency_stop` | 巡检机器人/无人机 |
|
|||
|
|
| `cap.thermal` | 热成像 | 感知 | `photo {camera:'thermal'}` | 巡检机器人/无人机 |
|
|||
|
|
|
|||
|
|
## 4. 能力属性元模型
|
|||
|
|
|
|||
|
|
每个能力包含如下元数据(扩展时按此注册):
|
|||
|
|
|
|||
|
|
| 属性 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `code` | string | 能力编码,全局唯一 |
|
|||
|
|
| `name` | string | 能力显示名 |
|
|||
|
|
| `category` | enum | `execution`(执行) / `perception`(感知) / `task`(任务) / `safety`(安全) |
|
|||
|
|
| `commands` | string[] | 该能力暴露的命令类型 |
|
|||
|
|
| `paramsSchema` | object | 命令参数 JSON Schema(用于前端表单动态生成) |
|
|||
|
|
| `required` | boolean | 设备类型是否强制具备 |
|
|||
|
|
|
|||
|
|
## 5. 能力-设备类型矩阵(CAP-MATRIX)
|
|||
|
|
|
|||
|
|
| 能力 | 巡检机器人 | 无人机 | 充电桩 | 网关 | 传感器 |
|
|||
|
|
|------|:---:|:---:|:---:|:---:|:---:|
|
|||
|
|
| `cap.move` | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|||
|
|
| `cap.rotate` | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|||
|
|
| `cap.photo` | ✅ | ✅ | ❌ | ❌ | ❌ |
|
|||
|
|
| `cap.video` | ✅ | ✅ | ❌ | ❌ | ❌ |
|
|||
|
|
| `cap.patrol` | ✅ | ✅ | ❌ | ❌ | ❌ |
|
|||
|
|
| `cap.charging` | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|||
|
|
| `cap.emergency_stop` | ✅ | ✅ | ❌ | ❌ | ❌ |
|
|||
|
|
| `cap.thermal` | ✅ | ✅ | ❌ | ❌ | ❌ |
|
|||
|
|
|
|||
|
|
> 充电桩/网关/传感器默认能力为空或仅含数据类能力(数据上报由状态服务承载,不属于控制命令)。
|
|||
|
|
|
|||
|
|
## 6. 能力校验规则(CAP-RULE)
|
|||
|
|
|
|||
|
|
| 规则编号 | 规则 | 说明 |
|
|||
|
|
|----------|------|------|
|
|||
|
|
| CAP-R1 | 设备注册时必须声明能力列表 | 缺省视为无控制能力 |
|
|||
|
|
| CAP-R2 | 命令下发前校验能力 | 设备 capabilities 不含命令对应能力 → 拒绝 `E2002` |
|
|||
|
|
| CAP-R3 | 能力声明可变更 | 设备重启/固件升级后可重新上报能力(更新注册信息) |
|
|||
|
|
| CAP-R4 | 能力与命令 1:N | 一个能力可映射多条命令(如 `cap.move` → `move`+`stop`) |
|
|||
|
|
|
|||
|
|
## 7. 能力注册与发现流程
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
设备上电 → 注册(声明 capabilities)→ 设备接入服务建档
|
|||
|
|
→ 控制台拉取设备详情 → 按能力渲染命令面板
|
|||
|
|
→ 操作员下发命令 → 命令服务校验能力 → 通过则下发 / 拒绝 E2002
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**变更记录**
|
|||
|
|
|
|||
|
|
| 版本 | 日期 | 变更内容 | 作者 |
|
|||
|
|
|------|------|----------|------|
|
|||
|
|
| V1.0 | 2026-08-10 | 初稿:能力分层/定义表/矩阵/校验规则 | 系统组 |
|