Files
worldmodel/plans/PRISM/00_overview.md
T

174 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Chapter 00 — 总览与命名由来
> **PRISM** = **P**rior-**R**egistered **I**ntegrated **S**patial **M**emory
> 一种把"离线扫描的先验地图"与"在线相机的实时感知"统一进机器人大脑的四层空间记忆架构。
---
## 0.1 我们要解决什么问题
机器人要在真实室内环境(酒店客房、家居、办公)里完成任务,它至少要回答 4 个问题:
| 问题 | 解决它需要的信息 | 现有单一传感器够吗 |
|------|------------------|---------------------|
| **Q1 我在哪?** | 全局坐标系下的位姿 | ❌ VIO 漂移;无先验无法重定位 |
| **Q2 我面前是什么?** | 当前视场内的几何与语义 | ✅ ZED 2i 自给 |
| **Q3 那个房间长什么样?** | 没去过的房间的结构 | ❌ 单凭实时相机做不到 |
| **Q4 那把椅子被搬过吗?** | 当下与历史的对比 | ❌ 需要"记忆"而非"感知" |
**单一传感器答不全 Q1+Q3+Q4。**
**PRISM 的答案**:用 iPhone 做一次性的"先验灌入",用 ZED 2i 做持续的"在线感知",两者通过**重定位握手**绑定到同一世界坐标系,并按**四层记忆**分层存放、互相校准。
---
## 0.2 一图看懂 PRISM
```mermaid
flowchart LR
subgraph IN[" "]
direction TB
IPHONE["📱 iPhone<br/>RoomPlan<br/><i>离线一次</i>"]
ZED["📷 ZED 2i<br/>VIO + Depth<br/><i>实时 30 Hz</i>"]
end
subgraph BRAIN["PRISM Brain"]
direction TB
L4["L4<br/>语义图"]
L3["L3<br/>拓扑图"]
L2["L2<br/>度量"]
L1["L1<br/>感知缓冲"]
REG["Registrar<br/>CLIP + ICP"]
CON["Consolidator<br/>(充电时跑)<br/>delta → 写回 LTM + 更新锚点"]
L4 <--> L3
L3 <--> L2
L2 <--> L1
L4 --> REG
L3 --> REG
L2 --> REG
L1 --> REG
end
subgraph OUT[" "]
direction TB
AGENT["🤖 Agent / LLM"]
ACT["Plan / Act"]
AGENT -- 查询 --> ACT
end
IPHONE --> L4
ZED --> REG
L4 --> AGENT
L3 --> AGENT
L2 --> AGENT
L1 --> AGENT
style BRAIN fill:#f6f7fb,stroke:#444,stroke-width:1px
style REG fill:#ffe9b3,stroke:#c97a00
style CON fill:#d4f0d4,stroke:#2e7d32
style IPHONE fill:#e3f2fd,stroke:#1565c0
style ZED fill:#e3f2fd,stroke:#1565c0
```
- **左**:两路输入(iPhone 偶发、ZED 2i 持续)
- **中**:四层记忆 + 配准器 (Registrar) + 巩固器 (Consolidator)
- **右**:上层 Agent 通过统一 API 查询记忆
---
## 0.3 为什么叫 PRISM
| 字母 | 含义 | 在架构中的角色 |
|------|------|----------------|
| **P** Prior | 先验 | iPhone RoomPlan 灌入的离线知识——机器人没去过也"知道" |
| **R** Registered | 已配准 | 实时观测必须先**和先验对齐**才能写入大脑(CLIP→ICP) |
| **I** Integrated | 融合 | 两路数据共享同一 `SpatialMemory` Schema,不分库 |
| **S** Spatial | 空间 | 表达对象是 3D 空间,而非纯文本/纯图像 |
| **M** Memory | 记忆 | 四层 + 巩固机制,明确区分"短期/长期/语义" |
**类比**
- 棱镜把**白光分成七色** ↔ PRISM 把**异构观测分到四层**
- 棱镜也能把**七色合回白光** ↔ 查询时四层信息汇聚为决策
- **不可逆性**:先验是"宪法",在线感知是"补丁"——区分明确才能避免互相污染
---
## 0.4 PRISM 的三条核心设计原则
### 原则 1:**分层而非分库**
不要给 iPhone 数据建一个数据库、ZED 2i 数据建另一个,那样查询时会困惑。
所有数据进入**同一个 `SpatialMemory`**,靠 `level ∈ {L1,L2,L3,L4}``source ∈ {iphone,zed2i,vlm,fused}` 两个字段区分。
### 原则 2:**先验是宪法,实时是补丁**
iPhone 写入的内容默认**只读、高置信**;ZED 2i 发现的变化先写到 `delta/`(补丁区),经多次确认 + 巩固才允许修改 LTM。
这避免"今天客人坐了沙发 → 机器人以为沙发被搬走"这类一次性观测带来的灾难性遗忘。
### 原则 3:**记忆要老化、要巩固**
模仿人脑:
- **工作记忆 (L1)** 几秒内被覆盖
- **短期记忆 (delta/)** 几小时到几天
- **长期记忆 (LTM)** 月级稳定
- 充电时 (`Consolidator`) 像"睡眠"把短期转长期,并淘汰旧锚点
---
## 0.5 一句话定义 PRISM
> **PRISM 是一个把"地图扫描 (iPhone)"和"具身感知 (ZED 2i)"分别落到"长期记忆"和"工作记忆",再用配准握手与巩固机制粘合的,面向室内服务机器人的空间记忆操作系统。**
---
## 0.6 PRISM 不做什么(边界说明)
为了避免范围发散:
| 不做 | 理由 | 推荐换什么 |
|------|------|-----------|
| 自动 SLAM 建图(机器人自己跑一遍把图建出来) | iPhone RoomPlan 已经足够好且 10 分钟搞定 | 如要自动化:可后续接 FAST-LIO2,但**先验主入口仍是 RoomPlan** |
| 训练新的 3D 基础模型 | 重点是"系统"而非"模型",调用现成 CLIP/SAM/YOLO-World 即可 | 模型层放在 [`11_world_model_bridge.md`](11_world_model_bridge.md) 讨论 |
| 户外/大尺度(公里级) | RoomPlan 不支持,ZED 2i 漂移会爆炸 | 户外用 LiDAR-Inertial 替代,整体架构理念可借鉴 |
| 多机器人同步 | 单机版先跑通;多机协同是 v2.0 | 留作 future work |
---
## 0.7 谁是 PRISM 的用户
| 用户 | 用 PRISM 干什么 | 推荐入口章节 |
|------|------------------|--------------|
| **机器人产品经理** | 评估"能不能让酒店机器人记住整层楼" | 00, 01, 09, 12 |
| **机器人工程师** | 实现一个能跑的 demo | 03, 04, 05, 06, 10 |
| **研究者** | 与 hierarchical SLAM / 世界模型对比 | 02, 11, 13 |
| **运维/部署人员** | 部署到新场景、维护先验地图 | 04, 07, 12 |
---
## 0.8 与既有工作的关系(5 分钟版)
PRISM **不是从零发明**,它是把以下三股思想合到一起:
1. **认知科学的"多重记忆系统"**Tulving, 1985)→ 启发四层结构
2. **分层 SLAM (Hydra, Kimera-Multi, Hovsg, ConceptGraphs)** → 启发场景图作为 L4
3. **预扫描先验 + 在线 SLAM 配准** (BIM-aided SLAM, RoomPlan-as-prior) → 启发握手机制
PRISM 的独特贡献:**首次把消费级 iPhone RoomPlan 当成"先验地图源"**,并设计配套的差异检测与巩固机制,使方案在 **3 万元成本以内**可落地。
详细对比见 [`11_world_model_bridge.md`](11_world_model_bridge.md) 末尾的"相关工作"小节。
---
## 0.9 下一步
读完本章,你应该能回答:
- ✅ PRISM 想解决的核心问题是什么
- ✅ "棱镜"比喻在哪里成立
- ✅ 为什么需要分层而非分库
- ✅ 什么不属于 PRISM 的范围
下一章 [`01_capability_decomposition.md`](01_capability_decomposition.md) 会把 iPhone 和 ZED 2i 两个传感器**逐项拆开**,告诉你它们各自只擅长什么、不擅长什么——这是后续所有分层决策的依据。
---
**章节版本**v1.0
**估计阅读时间**8 分钟
**关键收获**:理解 PRISM 命名、目标、边界、设计三原则