P-BFM-2025 · Behavior Foundation Model for Humanoid Robots
一句话定位:motion prior 线索的当前制高点——把 PHC/UHC 式的 task-specific tracker 升级为大规模预训练的生成式 motor foundation,用 CVAE + masked online distillation 在全 AMASS 上学一个可零样本迁移到多种 WBC 任务的统一策略。
完整引用:Weishuai Zeng, Shunlin Lu, Kangning Yin, Xiaojie Niu, Minyue Dai, Jingbo Wang, Jiangmiao Pang. Behavior Foundation Model for Humanoid Robots. arXiv:2509.13780 (2025-09-17), accepted to ICRA 2026.
机构:PKU / CUHK-Shenzhen / SJTU / Fudan / Shanghai AI Lab 系(第一作者 Weishuai Zeng @ PKU+Shanghai AI Lab,资深作者 Jingbo Wang、Jiangmiao Pang @ Shanghai AI Lab)
代码/项目:截至 2026-07 未开源(project/code 字段空,论文 PDF 与 HTML 在 arxiv.org/abs/2509.13780)
在线索中的位置:见 T04-motion-prior-amp-to-bfm.md 转折 6。
动机:WBC 为何还是 task-specific
PHC/UHC/HOVER 已经能在全 AMASS 上训出通用 motor policy,但作者指出它们仍是「task-specific」:每个下游任务(locomotion / teleop / motion tracking)仍要专门的 reward 工程、专门的 command mode,跨任务泛化有限。作者的核心观察是:所有 WBC 任务共享一个隐藏目标——生成引导机器人趋向 goal state 的恰当行为。把这个共同目标抽出来大规模预训练,就能得到一个不挑任务的 motor foundation。
方法核心
BFM 是一个 generative policy(不是判别器、不是 tracker),用 CVAE + masked online distillation 两件套在大规模行为数据上预训练。
1. RL 形式化:把"behavior"从"control mode"解耦(Sec.III.A)
论文先做了一次重要的形式化重构:把 behavior 定义为 proprioception-action 轨迹 $\tau = [s^{p,\text{real}}_1, a_1, s^{p,\text{real}}_2, \dots, s^{p,\text{real}}_T]$——显式排除 goal state $s^g_t$。goal state 被视为「外部动机」(external motive),不进入 behavior 本身。这样一份 behavior 可对应任意 control mode(速度指令 / VR 信号 / 参考姿态 / 文本指令),从根源上避免「一个任务一个 policy」。
记号上区分 4 种 state:
- $s^{p,\text{sim}}_t$ / $s^{g,\text{sim}}_t$:仿真器中的 privileged proprioception/goal(teacher 看到的);
- $s^{p,\text{real}}_t$ / $s^{g,\text{real}}_t$:真机部署时能拿到的 proprioception/goal(student 看到的)。
预训练目标(Eq.1–4)是最大化 log-likelihood $\max_\theta \mathbb{E}[\log \pi_\theta(a_t | s^{p,\text{real}}_t)]$,通过对 goal state 边缘化 $\mathbb{E}_{s^{g,\text{real}}\sim p(\cdot|s^{p,\text{real}})}[\log\pi_\theta(a_t|s^{p,\text{real}}, s^{g,\text{real}})]$ 用 Jensen 不等式得到 ELBO 下界。
2. CVAE backbone:精确架构与公式(Sec.IV.D,Eq.5–8)
ELBO 用 CVAE 实现:
$$\mathcal{L}_{\text{ELBO}} = \mathbb{E}_{q_\epsilon(z|s^{p,\text{sim}},s^{g,\text{sim}})}\big[\log P(a_t|s^{p,\text{real}}, s^{g,\text{real}}, z)\big] - D_{\text{KL}}\big[q(z|s^{p,\text{sim}}, s^{g,\text{sim}})\,\|\,P(z|s^{p,\text{real}}, s^{g,\text{real}})\big]$$
- prior $P_\rho(z|s^{p,\text{real}}, s^{g,\text{real}})$:高斯 $\mathcal{N}(\mu_\rho, \sigma_\rho)$,输入是真机 proprioception + goal(推断时只用这个)。
- encoder $q_\epsilon(z|s^{p,\text{sim}}, s^{g,\text{sim}}, m_t)$:高斯,输入是仿真器特权 proprioception + 特权 goal + 当前 mask $m_t$;其均值采用 residual 设计:$\mu_\epsilon(s^{p,\text{sim}}, s^{g,\text{sim}}, m_t) + \mu_\rho(s^{p,\text{real}}, s^{g,\text{real}})$(Eq.7)——即 encoder 学的是「相对 prior 的偏移」,这让推断时(无特权信息)仍能用 prior 描述分布。
- decoder $P_D(a_t|s^{p,\text{real}}, z)$:高斯、固定方差 $\sigma_{\text{fixed}}$(不学习)。⚠️ decoder 输入故意不含 $s^{g,\text{real}}$(论文原话:"remove $s^{g,\text{real}}_t$ from the input of decoder"),目的是逼 latent $z$ 必须编码更多 behavioral knowledge,否则 decoder 会偷懒直接从 goal 复制动作。
- MLP 层数 / hidden dim / 总参数量:论文未明确。
3. proxy agent:privileged teacher 的精确配方(Sec.III.C + Table I/II)
Proxy agent $\pi_{\text{proxy}}$ 用 motion imitation 训练(goal-conditioned PPO),跟 PHC/UHC 同源。
Privileged proprioception $s^{p,\text{sim}}_t$ = $[p_t, q_t, \theta_t, \dot{p}_t, \dot{q}_t, \omega_t, a_{t-1}]$:刚体位置 / 关节位置 / 朝向 / 线速度 / 关节速度 / 角速度 / 上一步动作(7 类,全仿真器特权)。
Privileged goal $s^{g,\text{sim}}_t$(Eq.在 Sec.III.C)= $[\hat{p}_{t+1}-p_t,\ \hat{q}_{t+1}-q_t,\ \hat{\theta}_{t+1}\ominus\theta_t,\ \hat{v}_{t+1}-v_t,\ \hat{\omega}_{t+1}-\omega_t,\ \hat{p}_{t+1}-p^{\text{root}}_t,\ \hat{\theta}_{t+1}\ominus\theta^{\text{root}}_t]$——所有项都是与当前帧的差分(局部坐标),让目标对绝对位置不变。
Reward(Table I)= task + regularization + penalty 三类加权和,task 项包括 body position (1.0) / feet position (2.1) / body velocity (0.5) / DoF position (0.75) / keypoint position (1.6) / body rotation (0.5) 等;penalty 项包括 torque limits (−5.0) / DoF position (−10.0) / termination (−200.0);regularization 含 action rate (−0.5) / feet air time (−10.0) / slippage (−1.0) 等十多项。curriculum learning 用于 regularization/penalty(前期只优化模仿,后期逐步加惩罚)。
Domain randomization(Table II):Base CoM offset $\mathcal{U}(-0.1,0.1)$、link mass $\mathcal{U}(0.9,1.1)\times$、摩擦 $\mathcal{U}(0.5,1.2)$、PD gain $\pm10\%$、torque RFI $0.05\times$limit;外部扰动每 $[5,10]$ 秒推一次、最大 $1.0$ m/s。
Hard negative mining + motion filtering(论文独有):当 proxy 在整个数据集上的 success rate 不再提升时,对持续失败样本增加采样概率;同时把"implausible"样本过滤掉。注意:BFM pretraining 不再做二次过滤,直接用原始 AMASS(Sec.III.B 末)。
RL 算法:PPO(论文明确点名),action $a_t$ = PD controller 的目标关节位置。
Reference State Initialization (RSI) + 简化版 early termination:episode 起点从 reference motion 随机采样;终止条件简化为单一:机器人与参考姿态的平均 link 距离超过阈值即终止(不像 PHC/UHC 用多条件如 gravity/height,避免 RSI 后立即终止 getup 等动作)。
4. Real-world proprioception + Control Interface + Mask Strategy(Sec.IV.B–C)
Deployable proprioception $s^{p,\text{real}}_t$ = $[q_{t-25:t}, \dot{q}_{t-25:t}, w^{\text{root}}_{t-25:t}, g_{t-25:t}, a_{t-25:t-1}]$——堆叠 25 步历史(joint pos / joint vel / root ang vel / projected gravity / last action)。没有 root 线速度(真机拿不到)。
Control interface = Root + Kinematic Position + Joint Angle 三类的并集(Sec.IV.C),用 bit-wise binary mask 激活:
- Root Control:target translation / RPY orientation / linear & angular velocity;
- Kinematic Position Control:target rigid-body link 位置(参考帧局部);
- Joint Angle Control:target joint angles。
Mask 采样(论文的关键升级):HOVER 用两阶段(先训一类再训另一类),BFM 改为每个 mask 元素独立从 Bernoulli(0.5) 采样——支持任意 control mode 组合。Mask curriculum(cold-start):Bernoulli 概率从 1.0(全 activate,等价于完整 goal)逐步衰减到 0.5,触发条件是平均 episode 长度超过阈值;论文采用较大 decay factor,cold-start 只持续几百个 episode。
5. Online Distillation 精确公式(Sec.IV.E,Eq.9)
DAgger 框架:每个 episode 用当前 BFM rollout 得到 $(s^{p,\text{real}}, s^{g,\text{real}})$ 轨迹;每个时间步同步计算对应的 privileged $(s^{p,\text{sim}}, s^{g,\text{sim}})$ 并query proxy agent 得到 reference action $\hat{a}_t$。BFM 用以下 loss 更新:
$$\boxed{\;\mathcal{L} = \underbrace{\|\hat{a}_t - a_t\|_2^2}_{\mathcal{L}_{\text{DAgger}}} + \lambda_{\text{KL}}\,\underbrace{D_{\text{KL}}\big(q_\epsilon(z_t|s^{p,\text{sim}},s^{g,\text{sim}})\,\|\,P_\rho(z|s^{p,\text{real}},s^{g,\text{real}})\big)}_{\mathcal{L}_{\text{KL}}}\;}$$
$\lambda_{\text{KL}}$ 具体值:论文未明确(正文只说"maintains balance",Table 里无此项;但 Behavior Modulation 实验扫了 $\lambda \in \{0.5, 1.0, 1.5, 2.0\}$,最佳在 1.0–1.5)。Domain randomization / termination / hard negative mining 策略与 proxy agent 训练时相同。
6. 预训练 → 零样本下游 + 行为组合/调制(Sec.V)
预训练后 BFM 可零样本迁移到三类 WBC 任务:whole-body motion tracking、VR teleoperation、locomotion——只需手动设置 mask,无需重训。还演示了三种 latent 操作:
- Behavior Composition(Fig.3.a):Roundhouse Kick = 线性插值 root-only latent 与 keypoint-only latent(系数 0.5)→ 同时转身+抬腿。
- Behavior Modulation(Eq.10,类 classifier-free guidance):$z = (1+\lambda)\mu_\rho(s^{p,\text{real}}, s^{g,\text{real}}) - \lambda\mu_\rho(s^{p,\text{real}}, \emptyset)$,$\lambda>0$;Butterfly Kick 用 $\lambda=0.5$ 才能落地保持平衡。
- Efficient Behavior Acquisition / Residual Learning(Fig.3.d):冻 BFM 参数,新训一个 residual decoder $\pi(\Delta a_t|s^{p,\text{real}}, z)$,最终 $a'_t = a_t + \Delta a_t$;用于学新动作(如 Side Salto),比从零 RL 收敛快得多。
与 PHC/UHC 的本质区别
| 维度 | PHC/UHC | BFM |
|---|---|---|
| 形态 | deterministic tracker | generative CVAE policy |
| 训练目标 | 模仿某段参考轨迹 | 学下整个行为分布 |
| 多模态性 | 单解 | 显式 latent 多模态 |
| 下游适配 | 常需 fine-tune / 专门 head | inference + 少量适配,零样本为目标 |
| 对 command mode | 单一/任务相关 | 多 mode 统一(masking) |
| 数据使用 | AMASS 当 imitator 训练集 | AMASS 当 behavior 分布预训练集 |
一句话:PHC/UHC 是「学一个能模仿一切的 tracker」,BFM 是「学一个能生成一切行为的 foundation」。
与 HOVER 的关系(论文 Sec.II.A 显式对比)
- Mask 采样策略:HOVER 用两阶段(two-stage)mask strategy,仍"prioritize specific control modes"——即先训常见组合再训罕见组合;BFM 改用每元素独立 Bernoulli(0.5),原生支持任意 control mode 组合,包括训练时没见过的组合。
- 目标平台:HOVER 主要在简化虚拟 avatar 上验证;BFM 直接对接真实 Unitree G1(1.3 m、29 DoF,实验时冻结手腕只用 23 DoF)。
- 生成式 latent space:HOVER 是 deterministic policy;BFM 用 CVAE 提供结构化 latent manifold,支持 behavior composition(线性插值)和 modulation(CFG 式外推)——这些 HOVER 做不到。
论文原话:"HOVER's two-stage mask strategy still prioritizes specific control modes, while our BFM supports arbitrary modes through direct application of sparsity mask."
关键实验细节(Sec.V + Table III/IV)
Setup:IsaacGym,8192 个并行环境;同时报告 IsaacGym 数值、Mujoco sim-to-sim、真机 sim-to-real。机器人 = Unitree G1(1.3 m,29 DoF,实验时冻手腕→23 DoF)。
- HOVER(generalist 通用基线,所有 3 任务都用它);
- Specialist(每任务专门模型:motion tracking 复用 GMT 实现,VR teleop 复用 OmniH2O 实现,locomotion 自研);
- BFM (RL from Scratch):同架构 + 同超参但不用 CVAE pretraining 直接 RL——用于消融验证 pretraining paradigm 的价值(关键 ablation);
- Proxy Agent(teacher 上限)。
数据集(3 个评估集):
- AMASS Train:训练集;
- AMASS Test:同分布 held-out;
- 100STYLE [Mason et al. 2022]:out-of-distribution 风格泛化测试。
Metrics:
- Motion tracking / VR teleop:$E_{\text{mpjpe}}$(rad)、$E_{\text{mpkpe}}$(mm)、$E_{\text{lin}}$(m/s)、$E_{\text{ang}}$(rad/s);
- Locomotion:$E_{\text{lin,xy}}$、$E_{\text{ang,z}}$。
关键结果(Table III/IV 摘录 AMASS Test 列):
| 任务 | HOVER | Specialist | BFM(Ours) | vs HOVER |
|---|---|---|---|---|
| Motion Tracking $E_{\text{mpjpe}}$↓ | 0.2416 | 0.2247 | 0.2226 | -7.9% |
| Motion Tracking $E_{\text{mpkpe}}$↓ | 87.07 | 73.63 | 61.12 | -29.8% |
| VR Teleop $E_{\text{mpkpe}}$↓ | 102.84 | 80.59 | 63.14 | -38.6% |
| Locomotion $E_{\text{lin,xy}}$↓ | 0.2663 | 0.2168 | 0.2116 | -20.5% |
| BFM (RL from Scratch) $E_{\text{mpjpe}}$ | — | — | 1.1689 | 比 ours 差 5×,证明 pretraining paradigm 必要 |
Behavior Modulation 实验(Table III 末尾):扫 $\lambda \in \{0.5, 1.0, 1.5, 2.0\}$,$\lambda=1.0$ 在 AMASS Test 上最佳($E_{\text{mpkpe}}$ 58.7 vs 不调制 61.1),$\lambda=2.0$ 反而恶化(过度外推)——验证 CFG 式调制 sweet spot 存在。
100STYLE 泛化:BFM 在所有指标上均领先 HOVER,证明大规模预训练确实带来跨风格泛化。例(100Style 列,Table III):VR teleop $E_{\text{mpkpe}}$ 119.89 → 87.07(-27.4%),motion tracking $E_{\text{mpkpe}}$ 73.98 → 66.40(-10.2%)。
为什么重要
BFM 把 motion prior 线索的演化逻辑封顶:
AMP 把 MoCap 凝练成 style-reward 函数
→ ASE/CALM 凝练成 latent skill
→ PHC/UHC 学成 controller
→ BFM 放大为大规模预训练 motor foundation model
每一步都把「数据」利用得更充分、把「任务适配」做得更轻。BFM 是第一个明确把 humanoid motor policy 当「foundation model」(生成式、多任务、零样本)来训的工作,且已被 ICRA 2026 接收,预示 2026 年会有一波 BFM 复现/改进潮。
局限与开放问题
- 未开源(最大问题):截至 2026-07,官方代码未公开(项目页
bfm4humanoid.github.io只有视频)。论文也刻意省略多项关键复现细节:
- CVAE latent $z$ 维度(论文未明确);
- MLP 层数 / hidden width / 总参数量(论文未明确);
- $\lambda_{\text{KL}}$ 主训练值(论文未明确,只在 modulation 实验扫了 0.5–2.0);
- AMASS 训练数据规模(论文未明确用多少小时、多少 clip,只说"select the publicly available AMASS dataset");
- 训练时长 / GPU 数量(论文未明确,只说 8192 并行 envs);
- mask curriculum 的 decay factor 与触发阈值(论文未明确)。
复现需从论文 + HOVER/MaskedMimic 代码反推,工程门槛高。
- 跨形态 retarget 损耗:BFM 仍在 SMPL→Unitree G1 retarget 上预训练,真机剧烈动作(Butterfly Kick、Side Salto 落地)的动量/接触损失未充分量化——论文用 behavior modulation 才让 Butterfly Kick 不摔。
- mode collapse 是否真被解决:CVAE 显式建模多模态理论上比 AMP 单判别器更抗 mode collapse,论文用 t-SNE 展示 latent 有方向性/对称性作为间接证据(Fig.3.b),但未直接对比 AMP-style mode collapse 指标。
- 社区 sibling 工作:BFM-Zero [Li et al. 2025, arXiv:2511.04131](LeCAR Lab)用 unsupervised RL + Forward-Backward representations 走另一条「promptable BFM」路线(论文中提到的 "Motivo [15]");MaskedMimic [Wang et al. 2024, arXiv:2409.14393] 是 BFM 的虚拟 avatar 版前身。
复现路线(基于 PDF Sec.III–V 的精确步骤)
- 数据:用 AMASS(SMPL 参数化),两阶段 retarget [参考 19]:先优化 SMPL shape 参数对齐 link 距离,再优化 root translation/orientation/joint positions 全序列;加 temporal smoothness 正则。不做二次过滤(BFM 直接用 raw dataset)。
- proxy agent:PPO + RSI + 单条件 early termination(平均 link 距离阈值);privileged state 7 类、privileged goal 7 维差分;reward 按 Table I 配比;domain randomization 按 Table II;hard negative mining + 数据集动态采样。
- CVAE student:prior/encoder/decoder 三个 MLP 头;encoder 用 residual-to-prior 设计;decoder 固定方差、不接收 goal state 输入;mask $m_t$ 加入 encoder 输入。
- masked online distillation:8192 并行 envs in IsaacGym;每步同步算 privileged state + query proxy 得 $\hat{a}_t$;loss = $\|\hat{a}-a\|^2 + \lambda_{\text{KL}} D_{\text{KL}}$;mask 每元素 Bernoulli(0.5) 采样,cold-start 阶段从 1.0 衰减到 0.5。
- 零样本评估:在 motion tracking(激活 joint angle + kinematic position mode)、VR teleop(同 tracking 接口)、locomotion(仅 root velocity mode)三类任务上设 mask 后直接测,不重训。
- 真机部署:Unitree G1 23 DoF(冻手腕),deployable proprioception 堆叠 25 步历史。
延伸
- 前作:PHC [arXiv:2305.06456]、UHC [arXiv:2310.04582]、OmniH2O [arXiv:2406.08858]、HOVER [arXiv:2410.21229]。
- 合流:BeyondMimic [arXiv:2508.08241](motion tracking + guided diffusion,把 BFM 式 controller 与 action generation 合流)。
- sibling:BFM-Zero [arXiv:2511.04131]、BFM 综述 [arXiv:2506.20487]。