端侧具身智能参考架构一页纸
学习目标
- 前置知识:读过总纲,知道本知识库分 H/I/S/R/C/M/D/A/X 九个横向层与 01–36 章编号;对「端侧具身智能 = 一个本体上同时跑感知 + 认知 + 动作 + 控制」有直觉即可。无需任何芯片或编译器背景。
- 学完产出:① 能一句话说清参考架构的三条主轴——数据流(感知 → 认知 → 动作 → 控制)、软件栈九层、实时分域(NPU/CPU/安全岛)——并解释为什么「实时分域」不是软件调度选项而是硬件级隔离;② 能把「Edge-Lite / Edge-Pro / Edge-Server 三档 + Dev Kit」的 SKU 分层与「Lite/Pro/Server 能力包」一一对应,并用「内存档 × INT4 模型 footprint」算清「为什么人形必须 Edge-Pro、AMR 可用 Edge-Lite」;③ 能把任意一个客户诉求(如「跑 π0 chunk ≤100ms」)沿一页纸「场景 → SKU → 能力包 → 层级 → 章节」逐跳追溯到具体章节,把这页纸当作全栈导航锤用;④ 能区分「端 / 边 / 中心」三种算力驻留形态,说清哪些职责必须留在端侧本体、哪些可以上移到云。
- 阅读姿势:盯住一句话——「这页纸不生产知识,它是索引」。任何一格(一个 SKU、一个层级缩写、一个里程碑)都应能反射到某一本章的深挖。读的时候不要陷进任何单格的细节,而要练「看到一个诉求,手指沿表格滑到章节号」的肌肉记忆。所有具体数字(TDP、内存、延迟靶标)一律以被指向的深挖章为准,本页只做速览与对齐。
1. 数据流(感知 → 认知 → 动作 → 控制)
- MIPI/GMSL 相机 · 深度 · IMU · 力矩 · (触觉 P1)
- ISP → dmabuf 零拷贝 → ViT/感知前端 (INT8/FP8)
- VLM 前缀 prefill + KV-cache · 动作专家 (流匹配 / DiT)
- INT4/NVFP4 权重 · chunk 目标 ≤100 ms (27 章)
- ros2_control / MoveIt / 轨迹规划
- WBC / MPC / 伺服 · EtherCAT
- 硬实时 p999 (13 章)
具身系统与「纯推理服务」最大的不同:它是一条从物理世界回到物理世界的闭环。相机/触觉/本体感受进来(感知),VLA/VLM 想清楚要干什么(认知),流匹配/扩散动作头吐出动作 chunk(动作),最后关节伺服以 kHz 级频率闭环执行(控制)。这四段跑在完全不同的频率与确定性要求上——正是这 一点,逼出了下面第 2、3 两节的「分层」与「分域」。
2. 软件栈分层(与九层架构映射)
| 层级缩写 | 英文全称 | 中文含义 | 关键组件 | 章节 |
|---|---|---|---|---|
| A | Application & Domain | 应用与领域层 | dsa-sdk · dsa-demo-fold/pick · LeRobot 兼容 | 25–27, 33 |
| D | Deployment & Service | 部署与服务层 | .dsa-bundle · compile farm(24) · CDN · Fleet OTA(23) | 22–24 |
| M | Model | 模型层 | π0/OpenVLA/GR00T-class · PTQ/减步(19) · 模型格式 | 19–21 |
| C | Compiler & Kernel | 编译与算子层 | torch-mlir → DSA Dialect → codegen · kernel/tuning | 15–18 |
| R | Runtime | 运行时层 | IREE + DSA HAL · multi-VM · RTC · 异构调度 | 12–14 |
| S | System Software | 系统软件层 | KMD/UMD · PREEMPT_RT + Zephyr 岛 · 电源热管理 | 09–11 |
| I | Interface | 软硬接口层 | ISA · 弱序 scratchpad · 显式 DMA · 固件 ABI | 07–08 |
| H | Hardware | 硬件层 | DSA · SRAM/LPDDR · NoC · MIPI · 安全岛 | 02–06 |
| X | Cross-Cutting Capabilities | 横向能力 | 安全 · 可观测 · AI-Native · 数据闭环 | 28–31 |
怎么用这张表:它是本知识库的「楼层索引」。任何一本深挖章都能用「层级缩写 + 章节号」定位——例如「π0 的流匹配 loop 编译不出来」这个问题,先落在 M 层(21 章模型难点),再往下追 C 层(15 章 loop 原语) 与 R 层(12 章 while 调度)。分层的价值就是让一个跨栈问题能被拆成「它压在哪几层」。
3. 参考架构分层总览(一图读懂三条主轴)
把数据流(第 1 节)、软件栈(第 2 节)与硬件实时分域(第 4 节)叠在同一张图上,就得到这页纸的核心——一张能顺着看下来的参考架构分层图:
逐层读这张图:应用/部署层面向客户与机群;模型/编译/运行时层把一个 VLA 从 PyTorch 一路降到能在 DSA 上跑的指令;系统/接口层提供确定性操作系统与软硬约定;最底下的硬件实时分域才是具身与「纯推理盒子」真正分道扬镳的地方——它按确定性等级把算力切成三块(详见第 4 节)。
4. 实时分域:NPU / CPU / 安全岛(详见 13 章)
一个纯推理服务只有一种时间要求:吞吐够高就行。具身系统却要在同一颗 SoC 上同时满足三种截然不同的确定性等级——这是「分域」而非「分线程」的根本原因。
| 域 | 承担负载 | 频率 | 确定性要求 | 落在哪 |
|---|---|---|---|---|
| NPU / DSA 域 | VLA/VLM 认知、扩散/流匹配动作头 | 策略 1–50Hz;视觉运动 200Hz | 软实时:chunk 延迟有预算但可抖动 | NPU 大算力单元 |
| CPU 域 | 控制小网、感知前处理、多模型编排 | 数百 Hz | 准硬实时:PREEMPT_RT 有界抖动 | CPU(RT 内核) |
| 安全岛域 | 关节伺服闭环、急停、看门狗 | 1kHz | 硬实时 + 功能安全:物理隔离、独立供电/时钟 | 安全 MCU / Zephyr 分区 |
为什么要物理隔离而非软件优先级:1kHz 伺服与急停一旦被一次 VLA 大算力 burst 抢占,就可能酿成人身安全事故。软件优先级(nice/SCHED_FIFO)无法给出硬性时间保证,共享同一核/同一供电域也无法在「大算力单元跑飞」时独立存活。因此安全岛是一块物理隔离的安全 MCU 或独立分区(独立电源、独立时钟、独立看门狗),跑 Zephyr 类 RTOS——这不是可裁剪的软件开关,而是硬件门槛(32 章:Edge-Pro 安全岛标配、Edge-Lite 可选)。NPU 与 CPU 之间则靠 13 章的分域调度切时间片,各自吃各自的确定性预算。
5. 产品 SKU 三档 + Dev Kit(速览,详见 32 章)
以下与 32 章 SKU 定义 对齐;所有档位数字以 32 章 datasheet 为准,本页只做速览。
| SKU | AI TDP sustained | 峰值 | 内存 | MIPI | 安全岛 | 目标模型 | 验收(27 章) |
|---|---|---|---|---|---|---|---|
| Edge-Lite | 15–25W | 40W | 8GB | 2–4 | 可选 | OpenVLA INT4;小 Diffusion Policy | ≥3Hz;chunk ≤200ms |
| Edge-Pro | 30–80W | 130W | 16–32GB | 4–8 | 标配 | π0 5 步;GR00T-class | chunk p99 ≤100ms |
| Edge-Server | 80–200W | 250W+ | 64GB+ | PCIe 相机 | 分区 | 多路 VLM FP8 | 多租户 batch |
| Dev Kit | = Edge-Pro | — | — | — | — | 全 Model Zoo | M3 CI 同款 |
5.1 SKU 与能力包映射
SKU 是「硬件档」,能力包是「跑在这档上的软件栈组合」。二者一一对应,避免「给 Lite 硬塞 Pro 的能力」这类越档诉求:
| SKU | 能力包 | 核心软件组合 | 典型本体 |
|---|---|---|---|
| Edge-Lite | Lite 包 | 单 VLA INT4 + 控制小网;基础 KV-cache;LOW power profile | AMR / 轻量臂 |
| Edge-Pro | Pro 包 | multi-VM + RTC 异步 chunk + 安全岛驱动;全 KV-cache / chunk 双缓冲;MID/HIGH | 人形 / 双臂 |
| Edge-Server | Server 包 | 多租户 batch + FP8 多路 VLM;分区调度;边侧 SERVER profile | 边缘网关 |
| Dev Kit | = Pro 包 | Pro 能力 + 完整 dsa-sdk + Model Zoo | 算法公司 |
能力包为什么不能越档:能力包的上限被内存这一最硬边界卡死——8GB(Lite)只够一个 INT4 VLA + 控制小网;16–32GB(Pro)才装得下 π0(VLM + 动作专家)或 GR00T-class 双系统;64GB+(Server)才够多路 VLM 并发。给 Lite 塞 Pro 包 = 内存直接爆掉(下方思考题 2 算一遍)。
6. 端 → 边 → 中心(详见 36 章)
- VLA + 控制闭环
- ≤100ms 认知 chunk
- 15–80W AI 域
- 共享 VLM
- compile farm
- Fleet OTA
- QAT / 蒸馏
- 非 1kHz 闭环
- 多租户模型仓
| 形态 | 算力驻留 | 云侧职责 |
|---|---|---|
| 端侧本体 | 全 VLA + 控制 | compile farm · OTA · 聚合遥测 |
| 边 | 共享 VLM | 模型分区 · 多 robot 网关 |
| 中心 | 训练/蒸馏/QAT | 非 1kHz 闭环 |
不可上移的红线:1kHz 伺服闭环与急停永远留在端侧安全岛——网络往返抖动无法满足硬实时。云能做训练、蒸馏、编译、机群管理这些「非实时」职责,但任何直接决定电机是否停转的控制回路都不能过网络。这条红线同时解释了第 4 节「安全岛物理隔离」的必要性。
7. 里程碑 traceability(M1–M5)
| 里程碑 | 洞察验收 | Demo 仓库 |
|---|---|---|
| M1 | 07/08 接口 stub · 01 负载基线 | tiny-gemm · ISS |
| M2 | 15 前端 import · 20 manifest | 05-importer |
| M3 | 21+27 π0/OpenVLA E2E · 19 PTQ | bundle + bench CI |
| M4 | 09/11 硅后 bring-up | War Room profiling |
| M5 | 26 SDK · 32 SKU 量产 | Model Zoo + POC |
8. 2026 现状锚点(时效:2026-07)
一页纸的「靶标数字」必须钉在最新业界现状上,否则导航会指错方向。以下为截至 2026 年 7 月的公开锚点(roadmap 项以官方为准):
| 锚点 | 现状 | 对本架构的含义 |
|---|---|---|
| NVIDIA Jetson Thor | 128GB 量产;GR00T E2E ~92ms/10.9Hz | 端侧 VLA 频率/延迟公开靶标(Edge-Pro 对标) |
| NVIDIA GR00T N1.7 | GA(正式可用) | 双系统 VLM+DiT 的量产参考栈 |
| Physical Intelligence π0.7 | 流匹配 VLA 迭代款 | 「VLM + 动作专家」部署模式事实标准 |
| 华为昇腾边缘 310B | 边缘推理档 | 国产端侧对标基线(对齐 21 章横评) |
| Rubin / 下一代路线图 | 已发布路线、以官方为准 | 远期演进接口,不作当前验收锚点 |
深入思考
下面三题每题先给题干,再用
<details>折叠一份图文并茂的参考答案。建议先合上答案自己想 3 分钟,再展开对照。所有 SKU/延迟数字以 32 章为准。
思考题 1:参考架构的实时分域(NPU/CPU/安全岛)为何这样划
具身 SoC 为什么不把所有负载都丢给一个高优先级的实时线程池,而非要在硬件层面切出 NPU / CPU / 安全岛三个域?结合 第 4 节的三种确定性等级,论证「软件优先级无法替代物理隔离」,并说明如果把 1kHz 伺服和 VLA 认知放进同一个域会踩什么坑。
展开参考答案(含三域确定性分层图 + 算一遍)
结论:三种负载的确定性等级差了两三个数量级,且安全域必须在「大算力单元跑飞」时独立存活——软件优先级只能排序不能隔离,只有物理分域(独立供电/时钟/看门狗)才能给出硬实时与功能安全的硬保证。
用具体数字算一遍(为什么共域会翻车):
- 安全岛的伺服周期是 1kHz = 每 1000 微秒必须完成一次闭环,允许的抖动通常在几十微秒量级。
- 一次 VLA 的 chunk 认知在 NPU 上要 ~76–100ms(π0 5 步,见 21 章),也就是 76000–100000 微秒。
- 若二者共享同一执行域:VLA 一次 burst 就占住计算/内存带宽 ~100ms——相当于连续错过约 100 个伺服周期。哪怕给伺服最高软件优先级,只要它和 VLA 抢同一块内存带宽或同一供电域的功率上限,抖动就会超标。
- 后果:机器人关节在这 100ms 里失去闭环控制,急停也可能被拖延——这是人身安全事故,不是性能问题。
共域会踩的坑:① 软件优先级(SCHED_FIFO)只能决定「谁先跑」,无法保证「大算力单元跑飞时安全域还有电、还有时钟」;② 共享内存带宽 → VLA 的 DMA 洪水会饿死伺服的取数;③ 共享供电/散热域 → 一次去噪 burst 冲峰值功率,安全域跟着掉压。因此把伺服/急停放进物理隔离的安全岛(独立 MCU + Zephyr + 独立看门狗)是唯一能给硬保证的做法——这正是第 4 节「分域而非分线程」的根因,也是 32 章「安全岛是硬件门槛非软件开关」的由来(回链 §4 + 32 章思考题 1)。
思考题 2:SKU 三档与能力包映射(内存档 × 模型 footprint)
一个宇树类人形 OEM 说「我要跑 GR00T-class 双系统」,一个 Agility 类 AMR 客户说「我跑单个 OpenVLA」。为什么前者必须 Edge-Pro、后者 Edge-Lite 就够?请用「内存档 × INT4 模型 footprint」算一遍,并说明「给 AMR 硬塞 Edge-Pro 包」会踩什么坑。
展开参考答案(含 SKU × 能力包映射图 + 内存算一遍)
结论:内存是最硬的功能边界——单 VLA 恰好卡进 Edge-Lite 的 8GB,而 GR00T-class 双系统(VLM + DiT 并驻)翻倍到 12–16GB 直接顶穿 8GB 天花板,只有 Edge-Pro 的 16–32GB 装得下;给 AMR 硬塞 Pro 包则会因无风扇壳体压不住 30–80W sustained 而批量热降频。
用具体数字算一遍(对齐 32 章 §5 内存表):
| 本体 | 模型组合 | footprint 估算 | 合计 | 落档 |
|---|---|---|---|---|
| AMR | 单 VLA(OpenVLA 7B INT4)+ 控制小网 | 权重 ~1.7–3.5GB + KV ~1GB + 系统 ~2GB | ~4–7GB | Edge-Lite 8GB ✅ |
| 人形 | π0 双模块 或 GR00T 双系统(VLM+DiT 并驻) | 两模型 ~7–10GB + KV/双缓冲 ~2–3GB + 系统 ~2GB | ~12–16GB | Edge-Lite ❌ / Edge-Pro 16–32GB ✅ |
数量级很清楚:AMR 的单 VLA 恰好卡进 8GB;人形的双系统直接翻倍顶穿 8GB 天花板,内存这一条就把人形挡在 Edge-Pro。SKU 与能力包一一对应——Lite 档只配 Lite 包(单 VLA),Pro 档才解锁 Pro 包(multi-VM + RTC + 安全岛驱动)。
给 AMR 硬塞 Edge-Pro 包会踩的坑:① AMR 多为无风扇被动散热,壳体压不住 Edge-Pro 的 30–80W sustained → 装机后批量热降频(32 章 §2 的真实业务症状);② 为用不到的安全岛与更高功耗档多付成本,甜点区尽失。反过来给人形省掉安全岛则违反功能安全硬门槛。结论:SKU 选型的第一约束是内存 footprint,第二约束是散热档能否压住 sustained(回链 §5.1 + 32 章思考题 1)。