XLeRobot · 学习 / 路线 · 2026-08-27
走向移动 bartender:
同类系统怎么泛化、怎么训练
skill decompositionobject-centricclassical navco-training
一个真实担心:如果要「取杯 → 走到另一处 → 按客人位置放下」,取放位置每次都不一样,现在这套端到端模仿会不会学不会?这一页先讲结论性的思路(我们自己的分析),再看 10 个真实系统怎么训练、追什么创新目标、给我们哪条可迁移教训。采集规范细节见 GOAL 文件 §43。
答案不是「录更多长轨迹」,是【拆成位置无关的可复用技能 + 独立经典导航】。
一、我们的思路(为什么拆)
- 端到端学不动: 取位置 × 路 × 放位置 × 客人位置 = 组合爆炸,示范覆盖不完。
- PICK 做成对象中心: 「相对杯子把它抓起来」,和杯子在桌面绝对坐标无关。腕部相机是天然的对象中心输入,头相机(绝对姿态)不是 —— 所以录制时锁头(WORKSPACE_LOCK)。
- PLACE 做成目标中心: 相对检测到的目标放下,目标在哪都能放。
- 移动=独立经典模块: 底盘导航(SLAM)不进策略、不乘进数据量;它只把底盘开到技能训练过的规范站位。
- 选哪一侧=一句 if: 用人检测判断客人在左/右,选对应放置目标,交给 target-centric 的 PLACE 执行。
二、10 个真实系统怎么训练的
1. ACT / ALOHA — 动作分块基线(你最接近的)
arXiv 2304.13705 · RSS 2023 · LeRobot 有实现
- 训练: 行为克隆 + CVAE Transformer 一次预测约 100 步动作块 + 推理时时序集成;每任务约 50 条示范/10 分钟遥操。
- 创新目标: 用极小真实数据打败精细操作里的误差累积 —— 分块缩短有效时域,误差不滚雪球。
- 对我们: 你「最后 3cm 不准」很可能是时域问题,不只是数据问题。先确认 SmolVLA/ACT 用了足够大的 chunk + 集成。
🔎 展开:为什么「最后 3cm 不准」可能是时域问题
模仿学习若一步一预测,每步的小误差会把机器人带到示范没覆盖的状态,越错越偏 —— 这叫误差累积(covariate shift)。最后 3cm 精度要求最高,误差在这里最显形(抖/漂/抓空)。所以「抓不准」可能不是「示范不够」,而是「顺序决策太多、误差滚雪球」。两味药:
图 · 上=逐步预测,误差累积、末端漂;下=动作分块一次预测一整段(决策点少 K 倍)+ 时序集成(重叠块对同一时刻加权平均),路径贴着目标、末端稳。这就是为什么「最后 3cm」先查 chunk 与集成,而不只是补数据。
- 药一 · 动作分块(ACT 核心): 一次预测未来约 100 步一整段再执行 → 顺序决策次数 ÷K → 误差累积机会大减,也去掉逐步抖动。
- 药二 · 时序集成: 相邻块重叠,同一时刻有多个块各预测一次,加权平均 → 更平滑、末端更稳。
- 照做: 查 ACT 的
chunk_size(默认约 100)、执行时域 / 时序集成开关;SmolVLA 查 chunk_size/n_action_steps + 异步推理(别让延迟吃掉末端)。参数名以你的 config 为准。不是「与数据无关」 —— 而是别默认是数据问题,这个更便宜的旋钮先查。来源:ACT/ALOHA arXiv 2304.13705。
2. Diffusion Policy — 更鲁棒的策略头
arXiv 2303.04137 · RSS 2023 · 代码
- 训练: 把策略做成动作序列上的条件去噪扩散模型(滚动时域、视觉条件);数据量同 ACT 量级(每任务约 100–200 条,视任务而定)。
- 创新目标: 表达多峰动作分布(一个任务有多种正确做法)而不塌成平均。
- 对我们: 值得同数据集 A/B 换扩散/flow 头。抓取接近段和倾倒本就多峰;ACT 若把杯子附近示范平均成一坨,扩散/flow 常能恢复清晰动作。
3. Mobile ALOHA — 和你终极形态最像
arXiv 2401.02117 · Stanford 2024 · 项目页
- 训练: 全身遥操(底盘+双臂一起)→ ACT 行为克隆;每任务约 50 条,但关键是联合训练:把新移动数据和大量旧的静态数据混训 → >80% 成功、比不混训绝对提升 34%。
- 创新目标: 用便宜的全身遥操 + 简单联合训练配方,让长时域移动双臂任务数据高效。
- 对我们: 现有静态桌面杯子数据是资产,不是废料 —— 将来上移动时把它和新移动数据混训,别从零重采(有量化证据)。
4. RT-1 — 大规模多任务、语言条件 BC
arXiv 2212.06817 · Google 2022
- 训练: 监督 BC,约 13 万条示范、700+ 指令、13 台机器人、17 个月;图像+语言 token 进 Transformer,输出离散动作。
- 创新目标: 证明单个 Transformer 吸收大规模多任务数据后能泛化到已见技能/物体的新组合 —— 容量 + 数据多样性买来泛化。
- 对我们: 位置泛化来自数据广度,不是架构魔法。杯子只在几个点 → 只会那几个点。这正是你 memory 那条「示范分布即课程表」。
5. RT-2 — 视觉-语言-动作,借网络知识泛化
DeepMind blog · arXiv 2307.15818 · 2023
- 训练: 拿预训练 VLM(PaLI-X / PaLM-E)在网络图文数据 + RT-1 机器人数据上联合微调,把动作当文本 token 输出。不额外采数据。
- 创新目标: 从网络继承语义/视觉泛化 —— 对遥操里没见过的新物体、初步推理也能反应。
- 对我们: SmolVLA(小 VLA)是合理的一步——「把杯子放客人那侧」这种语义靠预训练撑,不靠你的数据。规模上别越界:RT-2 那种能力用的是巨型 VLM,SmolVLA 的语义上限低得多。
6. SayCan / PaLM-E — LLM 规划 + 有把握的低层技能
arXiv 2204.01691 · 项目页 · PaLM-E arXiv 2303.03378
- 训练: 两层。LLM 给自然语言目标提候选技能;每个技能有可供性/价值函数说「此时此地能不能做」。得分=LLM 概率 × 可供性。技能各自单独训(BC/RL)。101 任务,规划 84%/执行 74%。
- 创新目标: 把「下一步做什么(LLM)」和「此时此地能不能做(grounding)」分开,长时域指令跟随出错减半。
- 对我们: 这就是移动 bartender 大脑的模板:高层排命名技能(PICK/MOVE/PLACE/POUR),每个技能自报能不能做。不需要一个大一统策略决定一切。
7. Transporter Networks / kPAM — 对象中心、位置等变的取放
Transporter arXiv 2010.14406 · CoRL 2020 · kPAM: Manuelli 等, ISRR 2019
- 训练: Transporter 把取/放学成俯视图上的空间等变模板匹配(全卷积、把抓到的 patch 在场景里互相关找该放哪),极省样本 —— 桌面重排常约 1–100 条。kPAM 改为检测语义 3D 关键点、把操作定义成关键点上的几何约束。
- 创新目标: 结构上就位置/姿态无关 —— 表示是空间等变或基于关键点,物体一挪答案跟着挪,几条示范就有位置/类别泛化。
- 对我们:这条是你泛化问题的核心。 对象中心的抓取表示(杯沿/把手关键点、或等变的抓取热图)比端到端 pixels→joints 省样本得多。可以把 PICK 做成关键点/抓取位姿模块,让学出来的策略只管最后贴近的柔顺闭合和倾倒。
8. TidyBot / TidyBot++ — LLM 个性化 + 好用的移动底盘
TidyBot arXiv 2305.05658 · IROS 2023 · TidyBot++ arXiv 2412.10447 · CoRL 2024
- 训练: TidyBot 用 LLM few-shot 把用户偏好总结成放置规则,叠在标准感知+取放上(未见物体 91%)。TidyBot++ 是全向(holonomic)底盘 + 手机遥操采数据,学扩散/ACT 式家务移动策略。
- 创新目标: TidyBot —— 个性化放置(这个用户想放哪)。TidyBot++ —— 普及一个稳、全向的移动操作平台,让底盘别和手臂打架。
- 对我们(两条挑一): (a)「放客人那侧」是个放置目标决策,LLM/规则层就能便宜地做,和运动技能分开;(b) 全向底盘让底盘+手臂协调容易得多 —— 非全向底盘会逼出别扭的耦合走位。上移动前先想清底盘几何。
9. HomeRobot / Stretch — 开放词汇移动操作,设计上就是模块化
arXiv 2306.11565 · Meta CoRL 2023 · 代码
- 训练/架构: 参考 OVMM agent 明确是分层/模块化的:ObjectNav 导航模块(经典/RL 导航 + 语义建图)+ 独立的抓、放技能策略,用状态机串起来。低成本 Stretch 机器人上的 benchmark(Habitat 仿真 + 真机)。
- 创新目标: 定义「在任意陌生家里抓任意物体、放到指定容器」问题,并给一个可复现的模块化基线。
- 对我们: 「取→导航→放」最经典、被多家复现的开放基线,就是把导航和操作拆成独立模块、中间隔一层建图,不是端到端移动策略。你的移动路线该照这个参考架构。
10. LeRobot / SmolVLA — 你实际用的这套
arXiv 2506.01844 · HF 2025 · lerobot/smolvla_base
- 训练: 4.5 亿参数 VLA = 精简 SmolVLM-2(SigLIP 视觉 + SmolLM2)骨干 + 约 1 亿的 flow-matching 动作专家;只用社区 LeRobot 数据集训练;单 GPU/CPU 可跑;异步推理(预测与执行解耦)省约 30% 时间。
- 创新目标: 把 VLA 能力带到消费级硬件 + 社区规模数据 —— RT-2/π0 的平价版。
- 对我们两条: (1) SmolVLA 是围绕异步推理设计的 —— 确认开了,否则控制延迟会吃掉最后几厘米的精度;(2) 它从社区分布学,你自己数据集对杯位/光照的覆盖决定泛化 —— 至今没抓起过杯子,最可能是示范覆盖 + 时域/精度问题,不是架构。
三、一条共识:为什么「拆」比「端到端」强
文献(HomeRobot 的模块化 OVMM、SayCan 的技能 grounding、Transporter/kPAM 的等变表示、Mobile ALOHA 的联合训练)收敛到同一个理由:每个子问题有各自天然的对称性和最便宜的监督来源,拆开后各自在它天然泛化的表示里解决。导航是 2D 度量地图/SE(2) 问题,经典 SLAM+规划零示范就稳、还能覆盖证明;抓取是物体位姿等变问题,关键点/热图表示几条示范就跨位置泛化。硬塞进一个 pixels→joints 网络,等于逼模型从遥操示范里重新学建图、避障、位姿不变性——恰恰是最费数据、最难泛化的部分——还把误差耦合起来:底盘一抖,抓取就崩。拆开还给你可单独测试的接口。
例外:紧耦合、富接触的底盘+手臂动作端到端能赢。规则=拆松耦合的缝,只把真正必须耦合的留一起。
四、对我们的落地(7 条)
- 先把精度当时域问题修: 确认 ACT/SmolVLA 用了足够大的动作块 + 时序集成 / 滚动时域;SmolVLA 要开异步推理,别让延迟吃掉最后几厘米。
- PICK 做成对象中心(关键点/抓取位姿),别 pixels→joints —— 这是位置泛化最高杠杆、且省样本。
- 拆成命名技能 + 明确边界态(PICK/MOVE/PLACE/POUR,每个起止在可复现位姿)—— 也是「最后 3cm」最便宜的修法:每个技能只见窄的、分布内的起始态。
- 现有静态杯子数据是联合训练燃料,别丢 —— Mobile ALOHA 量化:混训 +34% 绝对。
- 导航 = 独立经典模块(SLAM+规划+语义地图),不从示范学;「哪侧最近客人」是地图上的目标计算/规则层,喂给 PLACE 当目标,别进运动策略。
- 底盘几何要早定: 全向底盘去掉逼你做耦合走位的运动学约束 —— 决定移动方案前先想清。
- 高层规划器最后加: SayCan 式 LLM 排技能(带每技能可行性检查)是对的大脑,但每个底层技能单独验证可靠之前它没用 —— 自底向上建。
排序不变:① 先把单个 right-pick 弄可靠(当前 0/N;先修时域/精度 + 对象中心 + 数据覆盖)→ ② 加 PLACE、拼 PICK→PLACE(边界连续)→ ③ 上 SLAM 导航 + 找人,扩成移动 bartender。移动是最后一层,不是现在搭。采集规范见 GOAL 文件 §43。
来源均经检索核对(2026-08)。kPAM 的 arXiv 编号未逐一核验,引用其标题/作者/会议(Manuelli 等, ISRR 2019)。RT-2 以 DeepMind 官方博客为准。