大脑-小脑分层架构是什么
一句话速记
具身机器人主流的”大脑-小脑-本体”三层架构:大脑 = LLM/VLM/VLA 做慢思考(任务规划、对话、推理),10 Hz 以下;小脑 = skill / motion controller 做快反应(动作生成、平衡、避障),50-1000 Hz;本体 = 电机/关节/传感器,毫秒级伺服。核心动机:把”思考慢但聪明”和”反应快但简单”分两层,避免高频实时控制等大模型推理。是从 Daniel Kahneman “系统 1 / 系统 2”思维引来的工程范式。
通俗解释(5 分钟版)
为什么需要分层:
- LLM 推理一次几百 ms 到几秒
- 机器人平衡控制要 1000 Hz(每毫秒一次)
- 不可能让控制环等 LLM——机器人会摔
- 所以必须分层:上面慢,下面快
经典三层架构:
┌────────────────────────────────────────────────────────┐
│ 大脑 (Brain) — 慢思考 / 任务级 / 0.1-10 Hz │
│ ──────────── │
│ - LLM Agent(任务理解、对话、规划) │
│ - VLM(场景理解、状态判断) │
│ - VLA(如果用 end-to-end) │
│ - 长期记忆 / RAG │
│ - 输出:高级 task graph 或 skill 序列 │
│ │
│ 例:用户说"把杯子放到桌上" │
│ → 大脑生成 task graph: │
│ [find_cup, plan_grasp, move_to_table, place] │
└────────────────────────────────────────────────────────┘
│
▼ task graph / skill name + 参数
┌────────────────────────────────────────────────────────┐
│ 小脑 (Cerebellum) — 快反应 / 技能级 / 10-100 Hz │
│ ──────────── │
│ - Skill 库 (grasp / pick / place / navigate / open) │
│ - Motion planner (RRT / OMPL / cubic / IK) │
│ - VLA action chunk 生成 │
│ - 实时感知反馈 (IMU / 视觉) │
│ - 输出:关节角 / 末端位姿目标 │
│ │
│ 例:grasp("cup") skill 启动 │
│ → 视觉定位杯子 → 规划抓取轨迹 → 输出关节序列 │
└────────────────────────────────────────────────────────┘
│
▼ joint targets / EE pose / velocity
┌────────────────────────────────────────────────────────┐
│ 本体 (Body) — 实时执行 / 伺服级 / 100-1000 Hz │
│ ──────────── │
│ - 关节伺服控制器 (PID / impedance / torque) │
│ - 平衡控制 (双足 ZMP / 力反馈) │
│ - 紧急停止 / 安全限位 │
│ - 传感器读取 (encoder / IMU / F/T sensor) │
│ - 输出:电机 PWM / 力矩 │
└────────────────────────────────────────────────────────┘
和系统 1/2 的对应:
- 系统 2(慢思考):刻意、推理、复杂——大脑的 LLM
- 系统 1(快本能):自动、反射、高频——小脑/本体的控制
关键细节 / 数学直觉
1)三层频率约束
层 频率 延迟 不达标后果
──────────────────────────────────────────────
大脑 0.1-10 Hz 100ms-10s 交互卡顿(用户感知)
小脑 10-100 Hz <100ms 动作不连贯
本体 100-1000 Hz <1-10ms 平衡丢失 / 摔倒
关键设计原则:任何一层都不能等下一层比它慢的事情——所以下层永远比上层快至少 10x。
2)大脑-小脑接口(API 设计)
工程上最关键的事是怎么从大脑给小脑下指令。两种风格:
a) Symbolic skill API(推荐入门):
# 大脑输出
plan = [
{"skill": "navigate_to", "args": {"target": "kitchen_table"}},
{"skill": "find_object", "args": {"description": "red cup"}},
{"skill": "grasp", "args": {"object_id": "$last"}},
{"skill": "navigate_to", "args": {"target": "living_room_table"}},
{"skill": "place", "args": {"on_top_of": "table_surface"}},
]
# 小脑暴露 skill API:
class SkillAPI:
def navigate_to(self, target: str) -> Result: ...
def find_object(self, description: str) -> ObjectId: ...
def grasp(self, object_id: ObjectId) -> Result: ...
...好处:可调试、可记录、可审计;很多公司就这么搭。
b) End-to-end VLA:
大脑直接输出动作 token 或连续动作,小脑只做平衡/伺服。这是 OpenVLA / π0 的玩法。好处:泛化好;坏处:黑盒难调,工程不稳。
3)分层带来的工程红利
┌─────────────────────────────────────────────────┐
│ 好处 │
│ ───── │
│ ① 可调试:每层独立测试 │
│ ② 可替换:换大脑模型、换小脑 skill 不影响其他 │
│ ③ 可优化:小脑可以传统优化(OMPL/MPC),不必 LLM │
│ ④ 安全:小脑层加 hard guard 不依赖大脑判断 │
│ ⑤ 资源:大脑可上云,小脑必本机 │
└─────────────────────────────────────────────────┘
4)大脑放云 or 放本机的取舍
云端大脑:
✅ 大模型能力强、易升级、不耗本机算力
❌ 网络延迟(200ms+)、断网就废
本机大脑:
✅ 离线可用、低延迟
❌ 本机 GPU 算力有限,模型大小受制约
主流方案:混合
- 复杂规划/对话 → 云端大模型
- 实时感知判断 → 本机小模型 (VLM 7B)
- 控制 → 本机硬实时
5)小脑 skill 的”原子粒度”是关键设计
太粗:
- skill = “完成做菜” → 大脑只调一次,小脑做不了(你要我怎么完成?)
太细:
- skill = “关节 1 角度变 0.1 度” → 大脑要管几千次调用,浪费
经验值:原子 skill 完成时间 1-30 秒,对应人类”一个明显动作”——pick_up、open_door、pour_water、navigate_to。
6)感知-决策-执行和大脑-小脑有什么不同
- 感知-决策-执行:是机器人信息流的描述——按数据流向
- 大脑-小脑-本体:是架构层级的描述——按抽象层级
┌───────────────────────────────┐
│ 大脑: 高级感知 + 高级决策 │
│ 小脑: 低级感知 + 低级决策 │
│ 本体: 执行 + 原始感知 │
└───────────────────────────────┘
"感知-决策-执行"在每一层都重复
不矛盾——一个是”系统设计架构”,一个是”信息流模式”。
7)失败模式与降级
大脑挂了(云端不可达):
→ 小脑用最后一个有效计划走完
→ 没计划就停在安全姿态等待
小脑挂了(skill 报错):
→ 大脑收到错误 observation → re-plan
→ 反复失败 → 升级人工
本体异常(电机过载、过热):
→ 立即急停,不依赖大脑/小脑判断
→ 这是硬件层 hard guarantee
重点:安全护栏放在最低层——本体硬件级急停不能依赖大脑/小脑做决策。
延伸追问
- Q: 大脑用 LangGraph 这种 Agent 框架是否合适? → 合适——LangGraph 节点天然适合”任务规划 → skill 调用 → observe → 重新规划”的循环。但要注意:LangGraph 节点执行的”工具”在具身里就是 skill,工具描述就是 skill API。
- Q: 大脑输出的 task graph 谁来执行调度? → 通常一个专门的 task executor / behavior tree 模块在大脑/小脑之间。它负责按顺序触发 skill、收集结果、错误处理、HITL。LangGraph 也可以做这个。
- Q: 小脑的 skill 是手写还是端到端学出来? → 当前实战是混合:① 移动 / 抓取 / 开门 等成熟 skill 偏手写或专门 model(精准) ② 长尾任务用 VLA 学习 ③ 失败 case 标注 → 反哺 VLA finetune。
- Q: 这套架构和自动驾驶的”感知-规划-控制”对应吗? → 大致对应:大脑 ≈ 高级规划(路由 + 行为决策) + V2X;小脑 ≈ 局部规划 + 控制;本体 ≈ 油门刹车方向盘。但具身要应对接触和操控,比自动驾驶更复杂。
我的记法
- 三层:大脑(10Hz 以下)/ 小脑(10-100Hz)/ 本体(100-1000Hz)
- 慢思考 vs 快反应 = 系统 2 vs 系统 1
- 大脑可云、小脑必本机、本体硬实时
- 大脑-小脑接口:symbolic skill API(推荐)vs end-to-end VLA
- skill 粒度:1-30 秒一个原子动作
- 安全护栏放最低层——硬件级急停不依赖软件判断
- 一句话:「分层架构是工程上唯一稳的解——别让 LLM 控制电机」
状态
- 已背速记
- 能讲通俗版
- 能答追问
- 看一遍某具身公司的架构图(Figure、1X 等)
参考资料
- Daniel Kahneman 《思考,快与慢》 — 系统 1/2 思维
- Figure 02 系统架构博客 — 商业人形参考
- Habitat / Stretch Robotics 架构资料 — 学术架构参考