技术博客
VLA论文解读

Being-H0.5论文详解(上)-机器人为什么需要一门身体通用语

coffee co.2026-08-05 10:12
Being-H0.5论文详解(上)-机器人为什么需要一门身体通用语

机器人为什么需要一门“身体通用语”?Being-H0.5 论文详解(上)

如果一台机器人学会了叠碗,换一条机械臂、换一只灵巧手,它还会吗?

大多数时候,答案并不乐观。

今天的视觉-语言-动作模型(Vision-Language-Action Model,VLA)已经能看图、听指令、输出动作,但它们常常有一种尴尬的“口音”:在训练时使用的机器人上动作娴熟,换到另一种机械结构上,却像突然听不懂话一样。

问题不只在于新机器人数据少。更麻烦的是,不同机器人连“动作”这件事都用不同方式表达:有的输出末端位姿增量,有的输出关节角;有的是单臂夹爪,有的是双臂灵巧手;有的以 10 Hz 控制,有的以 50 Hz 控制。即使它们都在完成“伸手、抓住、拿起来”,保存进数据集以后,也可能变成维度、单位和语义完全不同的向量。

Being-H0.5 的出发点,就是重新理解这个问题:

不同机器人的动作空间,不妨看成不同的“身体语言”。跨本体学习要解决的,不只是增加数据,而是先找到一套可以翻译这些身体语言的共同语法。

这篇论文于 2026 年 1 月发布在 arXiv。作者团队给出的完整方案包括 35,000 小时的 UniHand-2.0 数据配方、统一状态-动作空间、Mixture-of-Flow 架构,以及面向真实部署的 MPG 和 UAC。上篇先从最根本的问题讲起:为什么机器人要向人类动作学习,以及一门“身体通用语”究竟是怎样构造出来的。论文项目主页

一、机器人真正缺的,不只是数据量

VLA 的主流路线很自然:先用大规模视觉语言模型获得看图和理解指令的能力,再接入动作模块,让模型把“看见什么、要做什么”翻译成机器人的控制命令。

这条路线已经证明有效。π0 使用 Flow Matching 生成连续动作块,π0.5 又进一步把多机器人数据、网页数据、目标检测和高层子任务预测放进共同训练中,展示了在陌生家庭环境中执行长程任务的能力。π0π0.5

但机器人世界和语言世界有一个关键区别。

在语言模型里,不同语种至少都能被拆成 token;而在机器人数据里,“动作”没有天然统一的字典。一个 7 自由度机械臂的关节命令,和一个 31 自由度上半身人形机器人的控制向量,并不能因为补几个零就真正对齐。维度对齐不等于语义对齐,数值能够拼接,也不代表知识能够迁移。

这带来三层问题。

第一层是数据稀缺。机器人演示依赖硬件、场地和遥操作人员,采一小时数据远比下载一小时视频昂贵。

第二层是形态异构。单臂、双臂、夹爪、灵巧手、移动底盘各有不同自由度和约束。同一任务在不同机器人上的可行动作集合并不相同。

第三层是负迁移。如果把这些未经对齐的数据直接混合,模型会同时接收到相互冲突的速度场或动作目标。结果可能不是“会得更多”,而是学出一种谁都不像的平均动作。

Being-H0.5 把这三层问题压缩成一句很漂亮的话:机器人在说不同的物理语言。

这也解释了论文为什么会借用多语言预训练的类比。在自然语言处理中,高资源语言可以帮助低资源语言,是因为它们背后共享某些语义和逻辑结构。机器人同样如此:机械结构不同,但“接近物体—建立接触—稳定抓取—移动—释放”这样的交互逻辑,以及碰撞、重力、摩擦等物理规律,并不会随硬件一起改变。

所以,作者真正寻找的不是更大的单一机器人数据集,而是一种能够跨硬件复用的“物理语义”。

二、为什么偏偏把人类动作当作“母语”

如果不同机器人在说不同方言,那么谁最适合作为母语?Being-H0.5 的答案是:人类。

这不是因为人的动作可以原封不动复制到机器人上。事实上,人手与机器人夹爪之间存在明显的形态差异,视频里还没有机器人可直接执行的关节命令。作者看中的,是人类交互轨迹同时拥有三种机器人数据很难兼得的东西。

1. 场景覆盖足够广

实验室机器人数据通常围绕有限物体、固定相机和少量任务采集。人类第一视角视频则天然覆盖厨房、客厅、工厂、工具使用、双手协作和大量长尾物体。它提供的不只是更多画面,而是更丰富的“物体在什么情境下能被怎样操作”。

2. 动作结构足够丰富

二值夹爪大多只有开与合,人手却能捏、拧、拨、托、压、扶和换手。尤其对于灵巧手,直接依靠稀缺机器人演示去覆盖这些动作几乎不现实。人类手部轨迹因此可以提供一种高维、接触密集的行为先验。

3. 意图与动作天然相连

在第一视角视频中,手往往直接指向当前最重要的物体和区域。手的移动同时告诉模型“看哪里”“接下来要发生什么”以及“这个物体怎样被操作”。它比单纯的图像描述更接近动作监督。

这条路线并非凭空出现。Open X-Embodiment 早已证明跨机器人汇聚数据的价值,其公开数据集包含超过 100 万条轨迹和 22 种机器人本体;EgoVLA 也尝试从第一视角人类视频中恢复手腕与手部运动,再迁移到机器人上。Open X-EmbodimentEgoVLA

Being-H0.5 的直接前身 Being-H0,则更明确地把人手视为“基础操纵器”,用大规模人类视频进行 Physical Instruction Tuning,并通过动作 tokenizer 学习手部运动。Being-H0

Being-H0.5 的推进不只是把 H0 的数据扩大,而是把问题从“人类视频能不能帮助某种机器人”推到“人类、单臂、双臂、人形机器人能不能进入同一套动作体系”。

换句话说,H0 更像是在证明人类视频值得学;H0.5 则试图回答,学到的东西怎样跨过不同身体。

三、UniHand-2.0:35,000 小时数据不是简单堆出来的

论文给出的 UniHand-2.0 规模很醒目:超过 35,000 小时、4 亿样本、约 1200 亿训练 token,覆盖 30 种机器人本体。相比 UniHand-1.0,作者称其整体规模扩大约 200 倍。

但真正值得关注的不是总量,而是它刻意维持了三种数据的分工。

数据来源

规模

在训练中承担的角色

人类演示

约 16,000 小时

提供丰富场景、交互意图、手部运动和行为先验

机器人操作

约 14,000 小时

提供可执行的状态与动作监督,锚定真实运动学

视觉-文本理解

约 5,000 等效小时

保住空间理解、语言推理、任务规划和指令跟随能力

这个配方反映了一个容易被忽视的问题:机器人训练会把原本聪明的 VLM 训“笨”。

论文统计,单看机器人交互数据,视觉 token 与文本 token 的比例接近 1000:1。长期在这种数据上训练,模型可能越来越擅长从画面直接反射式输出动作,却逐渐忘掉语言、推理和规划。于是,一个原本能理解复杂指令的 VLM,最后可能退化成对训练分布非常熟练的视觉运动反射器。

UniHand-2.0 因此不是“人类视频 + 机器人轨迹”的二元混合,还加入了三类视觉语言数据:

  • 通用视觉问答,用来保留世界知识和图文理解;

  • 2D 空间定位与 affordance 数据,用来理解“哪个物体在哪里、哪里可以被操作”;

  • 任务规划与推理数据,用来把长指令拆成可执行的子目标。

在机器人数据内部,作者也没有让仿真数据无限扩张,而是将其控制在约 26%。项目主页给出的解释很直白:仿真适合补覆盖范围,但如果占比过高,模型可能会依赖仿真世界自己的捷径,让仿真分布反过来定义动作流形。UniHand-2.0 项目说明

这正是 Being-H0.5 数据设计最值得借鉴的地方:规模不是把所有能找到的数据倒进一个桶,而是让三种数据分别负责会看、会想、会动

四、海量公开视频有了,为什么还要造 UniCraftor

公开人类视频规模大,却往往缺少机器人学习真正想要的信号:

  • 没有可靠深度,手被遮挡或快速运动时,单目深度估计容易失真;

  • 相机戴在头上不断移动,缺少稳定外参,很难把手部轨迹转换到统一世界坐标系;

  • 视频只标出一个动作片段,却没有精确标记接触、抓住、释放发生在哪一帧。

这就是 UniCraftor 数据采集系统存在的原因。它并不追求复杂炫目的硬件,而是用几个很工程化的设计,把公开视频中最难补的信号直接采下来。

首先,头戴 RealSense D435 原生采集 RGB-D,避免所有深度都依赖事后预测。其次,桌面布置 AprilTag,通过 PnP 获得稳定的相机外参;只要至少一个标签可见,额外的外部相机也能灵活调整位置。最后,作者加入一个脚踏板,让演示者在接触、释放等关键事件发生时踩下,得到硬件同步的时间戳。

这个脚踏板看似朴素,却很聪明。它没有让演示者停下来操作复杂界面,也不把关键时刻完全交给事后模型猜测,而是用很低的认知负担换来高质量的事件标注。

作者使用 UniCraftor 采集了 43 个桌面任务、超过 200 小时的多模态数据,随后用 Grounded-SAM2 与 DiffuEraser 去除 AprilTag,利用 HaWoR 和多视角深度修正手部运动,再由 Qwen2.5-VL 根据脚踏事件生成细粒度描述,并进行人工核验。

这里可以看出团队对“规模化”的理解:不是只追求更多小时数,还要把今后难以恢复的几何与时间信息,在采集时就保留下来。

五、最关键的一步:统一状态-动作空间

有了人类视频和 30 种机器人数据,并不意味着它们能直接共同训练。真正把这些数据接起来的,是 Unified State-Action Space。

它的思路可以概括为一句话:

不要按机器人型号分配向量位置,而要按物理语义分配位置。

论文把状态和动作都表示成固定长度向量,并划分成语义明确的槽位,例如:

  • 右臂末端位置与旋转;

  • 左臂末端位置与旋转;

  • 夹爪开合;

  • 左右灵巧手关节;

  • 左右机械臂关节;

  • 头部与腰部;

  • 移动底盘;

  • 人手 MANO 参数。

每种机器人只填自己拥有的槽位,其余位置补零。相同物理部件则尽量落在相同位置。公开代码将这套空间具体实现为 200 维状态和 200 维动作向量。统一动作空间代码文档

例如,单臂末端控制机器人可以这样映射:

UNIFIED_MAPPING = {
    "state.eef_position":      (0, 3),
    "state.eef_rotation":      (3, 6),
    "action.eef_position":     (0, 3),
    "action.eef_rotation":     (3, 6),
    "action.gripper_position": (18, 19),
}

一个带灵巧手的机器人,则可以把机械臂关节放进 50-57,把手指关节放进 20-26。双臂机器人继续使用左臂与左手对应的槽位。人类手部则被当作一种特殊本体:手腕全局位姿与机器人末端位姿对齐,手指的 MANO articulation 放入预留的精细操作槽位。

形式上,它做的是:

s = Phi_e(s_e)
a = Phi_e(a_e)

其中,s_ea_e 是本体 e 原本的状态与动作,Phi_e 是稀疏槽位映射,sa 则进入共同的状态-动作空间。

这和“每个机器人一个动作头”有什么区别

常见做法是给每种机器人配一套独立的 MLP encoder/decoder。这样当然能解决维度不一致,却也把共同知识一并切断了。

如果 Franka 和 Kuka 都在学习末端接近物体,两个独立动作头会分别学习相似结构;如果人手和灵巧手都在做捏取,它们也很难在输出层共享“捏”的物理意义。独立动作头解决的是格式兼容,统一动作空间追求的则是语义共享。

论文还强制统一了若干表示:笛卡尔动作使用世界坐标系下的相对位移,旋转统一用 Axis-Angle,关节位置使用绝对弧度值。目的不是追求某种数学形式上的优雅,而是减少 Euler 角、四元数、不同单位等无关格式差异,让模型把容量花在物理规律上。

这一步是整篇论文真正的地基。没有统一动作空间:

  • 人类手部轨迹只是额外的视觉数据,难以成为直接动作监督;

  • 多机器人混训更容易产生梯度冲突;

  • 后面的共享动作专家、槽位适配和跨本体异步控制都失去共同接口。

六、统一表示之后,还需要统一“训练语言”

Being-H0.5 没有为人类演示、机器人轨迹和 VQA 各建一条独立流水线,而是把所有监督序列化成统一的多模态问答序列。

一个样本可以包含 visiontextstateaction 中的一部分:

视觉 + 指令 + 状态 -> 连续动作
视觉 + 指令 + 历史动作 -> 后续动作
视觉 + 动作 -> 动作描述文本
视觉 + 问题 -> 文本答案

它们共享同一骨干,只在真正有监督的回答片段上计算对应损失:文本段使用 next-token prediction,动作段使用动作损失。

L = lambda_text * L_text + lambda_act * L_act

这件事的重要性在于,Being-H0.5 不再把“感知、描述、行动”视为三套相邻模块,而是把它们改写成同一种序列建模问题。统一动作空间解决“不同身体怎样表达”,统一序列建模解决“不同数据怎样共同学习”。

至此,论文的第一条主线已经完整闭环:

机器人数据昂贵且碎片化
        ↓
人类交互提供规模大、场景广的物理先验
        ↓
统一状态-动作空间把人手与机器人翻译到同一语义槽位
        ↓
统一序列建模把视觉、语言、状态和动作放进一套训练框架

不过,统一并不等于万事大吉。让低自由度夹爪和高自由度灵巧手共享同一个动作专家,很容易再次发生容量竞争;在真实机器人上,光照变化、遮挡、控制频率和推理延迟还会把一个仿真里表现很好的策略拖垮。

这正是下篇要解决的问题:Being-H0.5 如何用 Mixture-of-Flow 在“共享”与“专门化”之间分工,又如何用 MPG 和 UAC 把模型真正送进实时控制环路。我们还会顺着公开代码走一遍训练和推理路径,并说明目前哪些部分可以复现,哪些仍停留在论文或待开放列表中。


Being-H0.5 项目入口
项目主页论文开源代码模型集合

点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发