--- title: "Chapter 09 — 实施路线图(8 周原型 + 4 个月生产)" date: 2026-05-20 draft: false tags: ["PRISM", "世界模型", "空间记忆", "机器人", "iOS", "评测"] categories: ["PRISM"] --- # Chapter 09 — 实施路线图(8 周原型 + 4 个月生产) > 本章目标:把 PRISM 从"文档"变成"能跑的代码"。给出**8 周原型计划**(达到 demo 可演示)+ **4 个月生产计划**(达到上线可交付)。 --- ## 9.1 总览 ```mermaid gantt title PRISM 实施路线图(8 周原型 + 4 个月生产) dateFormat X axisFormat W%s section 8 周原型 Phase 0:准备 硬件 + 环境 :p0, 0, 1 Phase 1:单边管线 iPhone & ZED :p1, 1, 3 Phase 2:核心握手 重定位 MVP :p2, 3, 5 Phase 3:在线感知 + delta :p3, 5, 7 Phase 4:巩固机制 :p4, 7, 8 Phase 5:端到端 demo :milestone, m1, 8, 8 section 4 个月生产 Phase 6:鲁棒性 / 多房间 / 评测 :p6, 8, 16 Phase 7:集成 LLM Agent / 任务系统 :p7, 16, 20 Phase 8:生产部署 / 文档 / 开源 :p8, 20, 24 ``` --- ## 9.2 Phase 0 — 准备(W0 = 部署前) ### 硬件清单 | 类别 | 物品 | 数量 | 价格 | 用途 | |------|------|------|------|------| | 扫描 | iPhone 15 Pro Max | 1 | ¥10 k | RoomPlan | | 扫描 | DJI OM 6 稳定器 | 1 | ¥0.9 k | 减抖 | | 扫描 | ArUco 标识板(铝) | 3 | ¥0.2 k | 公共原点 | | 机器人 | ZED 2i | 1 | ¥4 k | 在线感知 | | 机器人 | Jetson Orin AGX 64 GB | 1 | ¥18 k | 计算 | | 机器人 | 移动底盘(差速 / 麦轮) | 1 | ¥10–30 k | 载体 | | 机器人 | 2D LiDAR (RPLIDAR S2) | 1 | ¥2 k | 安全冗余 | | 工作站 | RTX 4090 + 64 GB | 1 | ¥25 k | 训练 / 烘焙 | | **合计** | | | **~ ¥73 k** | | ### 软件环境 ```bash # 工作站 Ubuntu 22.04 CUDA 12.2 + cuDNN 8.9 ROS 2 Humble Python 3.10 + conda env "prism" - open3d>=0.18 - pyzed>=4.1 - open_clip - ultralytics (YOLO-World) - nerfstudio - octomap-python - networkx + neo4j (optional) # 机器人 (Jetson Orin) JetPack 6.0 ROS 2 Humble 同上 Python 包(Jetson 编译版) ZED SDK 4.1 ``` ### 团队配置(最小) | 角色 | 人数 | 重点 | |------|------|------| | Robotics 工程师 | 1 | ZED + ROS 2 + 控制 | | ML 工程师 | 1 | CLIP / YOLO / 3DGS | | 系统工程师 | 1 | PRISM 主框架 + Schema | | iOS 开发(兼) | 0.5 | PRISMScanner App | --- ## 9.3 Phase 1 — 单边管线(W1–W2) ### W1:iPhone 端管线打通 **目标**:跑通 [`04_pipeline_A_iphone_offline.md`](04_pipeline_A_iphone_offline.md) 全流程,得到一个房间的 LTM。 | Day | 任务 | 验收 | |-----|------|------| | Mon | 写 `PRISMScanner` Swift App(最小版:调 RoomPlan + 存 USDZ + JSON) | iPhone 真机可扫房间 | | Tue | 实现 `parser_iphone.py` + `align_to_map.py` | 一个房间 → JSON,节点 ≥ 20 | | Wed | 实现 `extract_furniture_mesh.py` + `bake_octomap.py` | 每件家具一份 `.glb`;octomap.bt 可视化通过 | | Thu | 实现 `bake_tsdf.py` + CLIP 计算 | tsdf.vbg + 节点 embedding | | Fri | 实现 `build_anchors.py` + `prism_ingest_iphone` CLI;写单元测试 | `prism ingest` 一行命令完成 | **周末验收**:扫一个真实卧室 → 跑 ingest → `prism viz ltm` 在 RViz 看到房间 + 床 + 桌(带标签)。 ### W2:ZED 2i 端管线打通 **目标**:跑通 ZED 实时数据采集 + VIO + 关键帧保存,与 PRISM Schema 对接。 | Day | 任务 | 验收 | |-----|------|------| | Mon | ZED SDK 安装 + ROS 2 wrapper;输出 RGB+Depth+Pose | rqt 看到三路 topic | | Tue | 实现 `FrameProducer`(环形缓冲 + 关键帧)+ `PerceptualFrame` 序列化 | 关键帧落盘 stm/keyframes/ | | Wed | 实现 TSDF Worker(局部融合,先不接 prior_mask) | RViz 看到实时 mesh | | Thu | 实现 `DetectorWorker`(YOLO-World,开放词表) | `prism viz detection` 在 RGB 上画框 | | Fri | TF 树整理 + 时间戳同步检查 | 所有节点 lag < 100 ms | **周末验收**:手推机器人在一个房间转一圈,得到 stm/ 目录有 100+ 关键帧,TSDF 完整。 --- ## 9.4 Phase 2 — 核心握手:重定位 MVP(W3–W4) ### W3:粗匹配 + 精配准 **目标**:在 1 个房间内实现冷启动重定位成功率 > 90%。 | Day | 任务 | 验收 | |-----|------|------| | Mon | 实现 `CoarseRelocalizer`(CLIP Top-K) | 单次匹配 < 100 ms | | Tue | 实现 `fine_register`(FPFH+RANSAC → ICP) | 单次配准 < 500 ms | | Wed | 串成 `relocalize()` + 在 10 个不同位置测试 | 成功率 ≥ 8/10 | | Thu | 加多帧投票 + DINOv2 重排 | 成功率 ≥ 9/10 | | Fri | 发布 TF `map → zed2i_init`;写 ROS 2 节点 | 完整 ROS 流水线运行 | **周末验收**:把 ZED 在房间内随机放 10 个位置,每次 < 1 s 给出位姿,平移误差 < 15 cm。 ### W4:跨房间 + 异常处理 **目标**:扩到多房间,加入容错。 | Day | 任务 | 验收 | |-----|------|------| | Mon | 扩到 3 个房间 LTM;CLIP 检索 Top-3 房间 → 逐个 ICP | 跨房成功率 ≥ 85% | | Tue | 实现 anchor 级超精配(5.6)作为兜底 | fitness 提升 0.1+ | | Wed | 实现 `OnlineRelocalizer`(在线 anchor 校正) | 巡逻 30 min 漂移 < 30 cm | | Thu | 实现 ArUco 兜底 + 绑架恢复 | 绑架到另一房间 30 s 内恢复 | | Fri | 写自动化重定位评测脚本 | `prism eval reloc` 输出报表 | **周末验收**:[`05_pipeline_B_relocalization.md`](05_pipeline_B_relocalization.md) §5.10 评测协议全部通过。 --- ## 9.5 Phase 3 — 在线感知 + delta(W5–W6) ### W5:完整在线感知 **目标**:实现 Chapter 06 的所有 worker,跑稳。 | Day | 任务 | 验收 | |-----|------|------| | Mon | TSDF Worker 接入 `prior_mask` / `no_update_zone` | 镜面区不被污染 | | Tue | Detector Worker 接入 `associate_hybrid` + EMA 更新 | 已知家具不漂 | | Wed | 实现 `ChangeDetector`(TSDF diff + DBSCAN) | 手动搬走一把椅子,10 s 内出 delta | | Thu | 实现 `DeltaLog`(去重 + JSONL) | 重复事件不重写 | | Fri | 整体压测:跑 2 小时 | 无内存泄漏,30 Hz 稳定 | ### W6:差异检测与告警 | Day | 任务 | 验收 | |-----|------|------| | Mon | 实现"新增物体"提案流程;与现有节点 disambiguate | 新拖鞋出现写 delta,不重复 | | Tue | 隐私过滤(person → 不写语义) | 人入镜不写入 LTM | | Wed | dashboards: `prism viz live` + `prism viz delta` | 两个可视化能跑 | | Thu | 写 ROS 2 launch 文件,整套节点一键启动 | `ros2 launch prism online.launch.yaml` | | Fri | Bug fix + 性能 profile | CPU < 50%,GPU < 60% | **周末验收**:连续运行 4 小时,delta 累积 ≥ 500 条,无崩溃。 --- ## 9.6 Phase 4 — 巩固机制(W7) **目标**:跑通 Chapter 07 的 `prism consolidate` 完整流程。 | Day | 任务 | 验收 | |-----|------|------| | Mon | 实现 `classify` + 晋升规则;单元测试 | 1000 模拟 delta,准确分类率 100% | | Tue | 实现 `arbitrate`(冲突合并) | remove+add 自动合并为 moved | | Wed | 实现 `apply_events`(deepcopy + 整体替换) | 应用后 validate() 0 errors | | Thu | 实现 `incremental_update_tsdf` + warmstart 3DGS | 单房间增量 < 5 min | | Fri | staging + sanity_relocalize + commit;回滚测试 | 注入故意错误能成功回滚 | **周末验收**:跑一次完整 `prism consolidate --mode=full`,前后对比 LTM 健康度提升。 --- ## 9.7 Phase 5 — 端到端 demo(W8) **目标**:完整演示一个 "T0–T4 一天" 剧本(参考 [`08_runtime_timeline.md`](08_runtime_timeline.md))。 | Day | 任务 | 验收 | |-----|------|------| | Mon | 选定真实场景(实验室 + 2 房间),完成 iPhone 扫描 | LTM 节点 ≥ 50,anchors ≥ 6 | | Tue | 部署到机器人 + 完整启动;冷启动 demo | 视频 1:开机 → 重定位 | | Wed | 巡逻 + delta 累积 demo | 视频 2:搬走椅子,10 s 内提示 | | Thu | LLM Agent 集成(GPT-4o 调用 PRISM API);任务 demo | 视频 3:"取遥控器" 任务成功 | | Fri | 充电触发 consolidate + 第二天重启 demo | 视频 4:巩固前后对比 | **周末交付**: - 📹 4 段演示视频(每段 < 2 min) - 📊 性能报告(重定位 / 在线感知 / 巩固指标) - 📚 README + Quickstart 文档 - 🎤 15 分钟 demo PPT **此时 PRISM v0.1 原型可对外展示**。 --- ## 9.8 Phase 6 — 鲁棒性与多房间(M3–M4,2 个月) | 周次 | 主题 | |------|------| | M3-W1 | 扩到 8 房间 + 走廊(真实酒店楼层) | | M3-W2 | 重定位在跨多 session 拼接 LTM 上的稳定性 | | M3-W3 | 镜面 / 玻璃 / 弱纹理的特殊处理(接 [`hotel_scene_implementation_plan_part2.md`](../hotel_scene_implementation_plan_part2.md)) | | M3-W4 | 长时(72 h 不间断)压测 | | M4-W1 | 自动化评测套件(13 章指标) | | M4-W2 | 数据集采集(HotelScene-Bench v0.5) | | M4-W3 | 性能优化(FP16 / TensorRT / nvblox) | | M4-W4 | 第一轮内部用户测试 + 修 bug | --- ## 9.9 Phase 7 — LLM Agent 集成(M5) | 周 | 任务 | |----|------| | W1 | 写 `SpatialMemoryAPI`(高层接口)+ Function-Calling schema | | W2 | GPT-4o / Qwen-VL 接入;任务规划器 | | W3 | 6 类典型任务实现:取物、引路、检查、补货、问询、迎宾 | | W4 | 多轮对话 + 上下文管理 + 错误恢复 | --- ## 9.10 Phase 8 — 生产 / 开源(M6) | 周 | 任务 | |----|------| | W1 | 安装脚本 / Docker 镜像 / 一键部署 | | W2 | 完整文档(API ref + 教程 + FAQ) | | W3 | 开源准备(GitHub 仓库 + README + LICENSE) | | W4 | 发布 v1.0 + 论文撰写启动 | --- ## 9.11 关键里程碑(Go/No-Go gates) | 时刻 | Gate | 通过标准 | 不通过怎么办 | |------|------|----------|--------------| | **W2 末** | 单边管线 | 两条管线各自 demo 成功 | 延期 1 周;不能进 W3 | | **W4 末** | 重定位 | 多房间冷启动 ≥ 85% | 不能进 W5;换 DINOv2 + anchor 兜底 | | **W6 末** | 在线感知稳定 | 4 h 无崩溃 + 资源占用合理 | 优化或简化 worker | | **W8 末** | 端到端 demo | 4 段视频 + 报告 | 缩小 demo 范围 | | **M4 末** | 鲁棒性 | 72 h 压测通过 | 暴露真实问题再迭代 | | **M6 末** | 生产就绪 | 文档 + Docker + 开源 | 推迟 release | --- ## 9.12 风险驱动的调整规则 每周五开 30 min sync,按下表决定下周计划: | 信号 | 调整 | |------|------| | 重定位 fitness 持续 < 0.7 | 暂停新功能,先解决(可能要补 DINOv2 / SuperPoint) | | Detector 误检率高 | 增加训练时间或换 Grounding-DINO | | delta/pending 增长太快 | 提前实现 consolidate 的轻量版 | | iPhone 扫描人工成本太高 | 简化采集 SOP,或试用 Polycam 替代 RoomPlan | | Jetson 资源不足 | 砍 3DGS(用 Mesh 代替)或换 Orin AGX 64 GB | --- ## 9.13 团队任务分配建议 | Sprint | Robotics | ML | System | iOS | |--------|----------|----|----|-----| | W1 | (env setup) | (env setup) | parser_iphone | PRISMScanner | | W2 | ZED ROS2 + FrameProducer | YOLO-World | TSDF Worker | — | | W3 | TF / 控制 | CLIP coarse | fine_register / ICP | — | | W4 | OnlineReloc / Anchor | DINOv2 rerank | ChangeDetector | (ArUco 兜底) | | W5 | Avoidance 接入 | EMA 更新 | DeltaLog | — | | W6 | Launch + 压测 | dashboards | — | — | | W7 | 集成 | 3DGS warmstart | consolidate full | — | | W8 | E2E demo | demo 物料 | docs / quickstart | — | --- ## 9.14 预算(8 周原型阶段) | 类别 | 金额 | |------|------| | 硬件(一次性) | ~ ¥73 k | | 软件订阅(Roboflow / Polycam Pro / OpenAI API) | ¥3 k | | 云 GPU 备用(恒源云) | ¥2 k | | 场地租用(一个酒店楼层 1 周) | ¥10 k | | 人力(3.5 FTE × 2 月) | ¥150 k | | **合计** | **~ ¥240 k** | → 即 8 周原型阶段约需 ¥24 万。生产阶段(M3-M6)再追加约 ¥80 万。 --- ## 9.15 本章小结 | 关键里程碑 | 时刻 | 一句话 | |-----------|------|--------| | **单边可跑** | W2 末 | iPhone & ZED 分别打通 | | **握手成功** | W4 末 | 任意位置 1 s 内重定位 | | **在线稳定** | W6 末 | 4 h 压测无崩溃 | | **巩固闭环** | W7 末 | 充电 → 巩固 → 重启验证 | | **端到端 demo** | W8 末 | 4 段视频 + 报告 | | **生产就绪** | M6 | 开源 + 文档 + Docker | 读完本章你应能: - ✅ 制定一份 PRISM 的 Gantt 图 - ✅ 在每个 gate 决定 Go/No-Go - ✅ 估算预算与团队配置 下一章 [`10_tech_stack.md`](10_tech_stack.md) 细化具体技术栈选型与版本依赖。 --- **章节版本**:v1.0 **估计阅读时间**:12 分钟 **关键收获**:从今天起到 8 周后能演示,每天该做什么