一句话定位
HuB(Humanoid Balance)用参考动作精修 + balance-aware 策略学习 + sim-to-real 鲁棒性训练三件套,让 Unitree G1 人形机器人在极限准静态单腿平衡姿态(燕式平衡 Swallow Balance、李小龙侧踢 Bruce Lee’s Kick、哪吒探海 Ne Zha Pose 等)上做到仿真近 100%、真机 24/25 次成功,而 H2O/OmniH2O 基线在同样任务上几乎全部失败;论文为 CoRL 2025 Oral。
背景与定位
范式仍是跟踪式(tracking-based)人形全身控制主流管线:视频动作捕捉(本文用 WHAM)→ 转 SMPL 参数 → retarget 到机器人参考动作 → PPO 训练特权信息 teacher 策略 → DAgger 蒸馏出仅用机载观测的 student 策略 → 部署真机。这条线沿袭 h2o-human2humanoid、omnih2o、exbody2、hover,与同期的 asap 同属人形全身敏捷/表达性控制家族(见 hugwbc 等相关工作)。
但已有工作聚焦的是动态技能——奔跑、跳跃、踢腿、舞蹈、跑酷——这类动作允许瞬时失衡再恢复;本文瞄准一类此前很少被专门处理的子问题:持续性准静态极限平衡(如单腿站立数秒、上身水平前伸的燕式平衡),其支撑多边形极窄、任何参考误差或传感器噪声都可能导致立即摔倒,且必须长时间维持而非”动态穿过”。论文归纳出三个专属障碍并逐一给出对应设计:
- 参考动作误差——视频动作捕捉(WHAM)与优化式 retarget(如 H2O 用零姿态初始化的非凸优化)会产生脚部打滑等违反物理的伪影,静态平衡任务对此零容忍;
- 形态失配导致的训练困难——人体与机器人质心(COM)位置不对齐,严格跟踪参考动作反而无法达到稳定平衡;
- sim-to-real 落地鸿沟——真实 IMU/VIO 噪声与未建模的地面接触动力学,导致此前方法在真机单腿任务上普遍出现晃动/抖动。
模型架构
HuB 不是新的网络结构,而是叠加在 OmniH2O 式 teacher-student RL 跟踪策略之上的一套训练框架;无 VLM/语言条件,纯本体感受 + 关键点目标的 goal-conditioned RL 策略(MDP ⟨S,A,T,R,γ⟩)。
- 网络规模:MLP 隐层 [512, 256, 128](Table 7)。
- Teacher 策略状态空间(Table 3,总维度 1196):刚体位置 87、刚体旋转 180、刚体速度 90、刚体角速度 90、位置差 90、旋转差 180、速度差 90、角速度差 90、局部参考刚体位置 90、局部参考刚体旋转 180、动作 29。可访问特权信息(全局参考轨迹的绝对位置/旋转)。
- Student 策略状态空间(Table 4):单步 201 维(DoF 位置 29、DoF 速度 29、根角速度 3、投影重力 3、局部化参考关键点位置 36、关键点位置差 36、关键点速度差 36、动作 29)+ 25 步历史(每步 93 维:DoF 位置 29、DoF 速度 29、根角速度 3、投影重力 3、动作 29)→ 总维度 2526 = 201 + 93×25。经 DAgger 蒸馏,仅用机载可得观测(无里程计)。
- 跟踪关键点:student 选取 12 个身体关键点(左右髋、膝、踝、肩、肘、腕)。
- 动作空间:29 维目标关节角(Unitree G1 全身 29 DoF:两条 7-DoF 手臂、两条 6-DoF 腿、3-DoF 腰),经低层 PD 控制器执行。
- 三大组件(Figure 2):
- (a) 参考动作精修:① SMPL 初始化 retargeting——不同于 H2O/OmniH2O 用零姿态初始化后做非凸优化(易陷入次优),本文用 SMPL 姿态对应的欧拉角直接初始化机器人各关节,收敛更快更准(Fig.3:500 步优化后 SMPL 初始化在所有任务上 loss 均更低,Deep Squat 降幅尤其大);② 落地脚校正——单腿阶段假设支撑脚不应打滑,据此调整全局根节点位置(关节角不变)使支撑脚在连续帧间保持静止;③ COM 滤波——用 URDF 定义的连杆质量/位置算 COM,丢弃地面投影 COM 偏离支撑脚中心 >0.2m 的轨迹;④ 过渡稳定化——复制参考动作首尾帧,把双支撑阶段时长补齐到与平衡阶段相当,既增加稳定站立的训练时间占比,也给真机部署时更充分的姿态收敛时间。
- (b) Balance-aware 策略学习:① 放松的参考跟踪——把跟踪奖励容差设为较大的 σ=0.6m(而非严格贴合),允许策略在参考轨迹附近自行调整 COM 找到更稳定的姿态;② 平衡塑形奖励三项:COM 奖励(鼓励 COM 水平投影落在支撑多边形内,权重 160,σ_com=0.1)、脚接触失配惩罚(惩罚机器人与参考的脚触地状态不一致,权重 −250)、双脚过近惩罚(防止双脚距离 <0.16m,权重 −1000)。
- (c) Sim-to-real 鲁棒性训练:① 局部化参考跟踪——训练和部署都摒弃里程计信息,把参考根节点对齐到机器人当前根姿态、跟踪目标全部用局部坐标系表达(ExBody2 只在部署时弃用里程计、训练仍用全局坐标,导致训练/部署不一致);② IMU 中心化观测扰动——对根方向欧拉角观测注入 Ornstein-Uhlenbeck (OU) 时间相关噪声(而非此前工作对各观测量独立加均匀噪声),θ=25, σ=250;③ 高频推力扰动——训练时每 1s 注入一次随机根速度偏移(最高 0.5 m/s),而非此前工作(如 OmniH2O)采用的低频大幅值扰动(每 5s、1 m/s)。
数据
- 动作来源:自采视频片段 → WHAM 视频动作捕捉提取人体姿态 → SMPL 参数化 → retarget 到 G1 参考动作。
- 精修/过滤规则:COM 滤波阈值 0.2m(见上);过渡阶段帧复制策略。
- 任务集:论文量化评测覆盖 5 个平衡任务——Swallow Balance、Bruce Lee’s Kick(正文 Table 1)、Ne Zha Pose、Single-leg Stand、Deep Squat(附录 Table 8);项目主页视频还展示了 High Knees(未在定量表中出现)。
- 仿真评测规模:每个任务在扰动测试条件下评估 100 个 episode(perturbed:推力每 1s ≤0.1m/s + OU IMU 噪声)。
- 真机评测规模:每个任务 5 次试验。
- 数据集发布:项目主页提供 Google Drive 数据集链接(Datasets),但论文正文未给出具体片段数/小时数/帧数等训练集规模数字——未披露总量。
- 公平对比设置:baseline(H2O、OmniH2O)与 HuB 使用完全相同的平衡动作数据、从零训练、跟踪同一组关键点,确保方法差异而非数据差异导致的性能差距。
- Sim-vs-real:仿真训练全部在 IsaacGym 中完成,最终 student 策略部署到真实 Unitree G1;仿真评测额外注入与真机相似的推力/IMU 扰动以缩小仿真-评测口径差距。
训练方法
- 两阶段 teacher-student(承袭 OmniH2O):teacher 用 PPO 在特权观测下训练;student 用 DAgger 蒸馏,仅用机载观测 + 25 步历史。
- 奖励设计(Table 5,节选权重):
- 平衡塑形:COM 奖励 +160(σ_com=0.1)、脚接触失配 −250、双脚过近 −1000;
- 跟踪奖励:身体位置 +30(σ=0.6)、身体旋转 +20(σ=0.3)、身体速度 +8(σ=3)、身体角速度 +8(σ=10)、DoF 位置 +32(σ=0.7)、DoF 速度 +16(σ=10);
- 惩罚:力矩越限 −0.5、DoF 位置越限 −30、DoF 速度越限 −12、终止 −60;
- 正则:力矩 −2.5e-5、DoF 速度 −1e-3、DoF 加速度 −3e-6、动作变化率 −1.5、双脚腾空时长 T_air−0.25 权重 250、脚接触力 −0.2、绊倒 −3e-4、打滑 −30、脚朝向 −62.5、双脚同时腾空 −50。
- PPO 超参(Table 7):Adam(β1,β2=0.9,0.999),学习率 1e-3,batch size 64,γ=0.99,clip param 0.2,entropy coef 0.005,max grad norm 0.2,value loss coef 1,初始噪声标准差(RL 阶段)1.0 / (DAgger 阶段)0.001,学习 epoch 数 5,MLP [512,256,128]。
- 域随机化(Table 6):高频推力(间隔 1s,v_xy~U(0,0.5) m/s,训练用;评测降为 0.1m/s);摩擦系数 U(2.5,3.5);躯干 COM 偏移 U(−0.1,0.1)m;连杆质量 U(0.7,1.3)×默认;PD 增益 U(0.75,1.25)×默认;力矩 RFI 0.1×力矩上限 N·m;控制延迟 U(20,60)ms;动作参考偏移 U([−0.02,0.02],[−0.02,0.02],[−0.1,0.1])m。
- IMU 噪声建模:OU 过程 dX_t/dt = −θX_t + σε_t,θ=25,σ=250,作用于根方向欧拉角观测(度),训练 student 时注入。
- 消融实验逐一验证了 σ=0.6m 跟踪容差、三项塑形奖励、局部化跟踪、IMU 噪声注入、高频推力这 6 个设计选择的必要性(详见评测部分)。
Infra(训练 / 推理工程)
- 仿真器:IsaacGym(GPU 并行物理仿真)。论文未披露并行环境数(num_envs)、GPU 型号/数量、GPU-hours、训练总时长——均未披露。
- 真机:Unitree G1,29 DoF(两条 7-DoF 手臂、两条 6-DoF 腿、3-DoF 腰)。机载 NVIDIA Jetson Orin NX 实时推理,控制频率 50 Hz。传感器:机载 IMU(根方向、角速度)+ 关节编码器(关节位置、速度);观测经 DDS(unitree_sdk2_python 实现)传输给策略。部署时不依赖里程计/VIO。
- 未披露具体推理延迟/FPS 数字(只给出 50Hz 控制频率)。
评测 benchmark
仿真主表(Table 1,Swallow Balance / Bruce Lee’s Kick,扰动条件下 100 episodes/任务,指标:Succ 成功率%↑、Cont 接触失配帧↓、Slip 打滑 mm/s↓、Air 双脚腾空帧↓、Act 动作变化率↓、E_pos/E_vel/E_acc 跟踪误差↓):
| 方法 | Swallow Succ | Swallow Cont | Swallow E_pos | Kick Succ | Kick Cont | Kick E_pos |
|---|---|---|---|---|---|---|
| H2O | 0% | 181.85 | 572.82mm | 4% | 4.57 | 328.75mm |
| OmniH2O | 0% | 237.09 | 155.45mm | 3% | 15.54 | 116.21mm |
| HuB | 100% | 0.00 | 83.15mm | 100% | 0.00 | 67.18mm |
附加 3 任务(Table 8:Ne Zha Pose / Single-leg Stand / Deep Squat,同一评测协议):H2O 与 OmniH2O 在前两个高难度任务上成功率均为 0%(Deep Squat 因任务本身简单双脚站立式,H2O 100%/OmniH2O 99%,但跟踪误差远大于 HuB,如 Deep Squat E_pos:H2O 371.76mm、OmniH2O 101.40mm、HuB 62.28mm);HuB 在 Ne Zha Pose、Single-leg Stand 上成功率均达 97%。
消融(均在 Swallow Balance / Bruce Lee’s Kick 上做):
- 跟踪容差 σ:σ=0.15m→Succ 97%/100% 但打滑与动作变化率上升;σ=0.3m→99%/99%;σ=1.2m→73%/99% 但跟踪误差骤增至 223.96mm(Swallow);σ=0.6m(采用值)在成功率与跟踪精度间达到最优平衡(100%/100%)。
- 塑形奖励:去掉 COM 奖励→打滑/腾空上升(99%/98%);去掉脚接触失配惩罚→成功率骤降至 74%/62%(接触失配从 0 升到 0.49/0.87);去掉双脚过近惩罚→96%/100% 但打滑与跟踪误差上升。
- 鲁棒性训练:去掉局部化跟踪(改用 ExBody2 式训练用全局/部署用局部)→成功率降至 92%/99%,Swallow 上 E_pos 从 83.15 骤增到 311.56mm(训练-部署不一致对依赖精确前置动作完成的 Swallow Balance 影响尤其大);去掉 IMU 噪声注入→所有指标恶化(Swallow E_pos 升至 253.77mm);去掉推力扰动→92%→90%/89%,接触失配上升;换成低频大幅值推力(5s 间隔、1m/s,OmniH2O 式)→97%/100% 但稳定性仍不及高频小幅值版本。
真机(Table 2,每任务 5 次试验,仅与 OmniH2O 对比,E_pos-l/E_vel-l/E_acc-l 为局部坐标系跟踪误差):
| 任务 | OmniH2O 成功 | HuB 成功 | OmniH2O E_pos-l | HuB E_pos-l |
|---|---|---|---|---|
| Swallow Balance | 0/5 | 4/5 | 119.73mm | 38.31mm |
| Bruce Lee’s Kick | 0/5 | 5/5 | 80.69mm | 27.87mm |
| Ne Zha Pose | 0/5 | 5/5 | 50.48mm | 30.91mm |
| Single-leg Stand | 0/5 | 5/5 | 32.10mm | 29.58mm |
| Deep Squat | 4/5 | 5/5 | 42.97mm | 29.90mm |
汇总真机总成功率:HuB 24/25(96%) vs OmniH2O 4/25(16%)。
鲁棒性定性测试:真实足球踢击造成的外部扰动下,HuB 能快速小幅修正动作并恢复稳定;Bruce Lee’s Kick 任务在单次连续 rollout 中连续完成 10 次且无需人工干预或复位。
Retargeting 消融(Fig.3):500 步优化后,SMPL 初始化在全部任务上 retargeting loss 均低于零姿态初始化,Deep Squat 上降幅最大。
创新点与影响
- 首次把”极限准静态平衡”从通用人形全身敏捷控制中拆出来,识别出参考误差、形态失配、sim-to-real 三个专属障碍,并针对性给出轻量化修复(叠加在已有 teacher-student RL 管线之上),而非重新设计架构。
- 在真实 Unitree G1 上首次稳定完成燕式平衡、李小龙侧踢等此前基线完全无法完成的单腿极限姿态,真机总成功率 96% vs OmniH2O 16%;并展示对外部扰动(足球踢击)的快速恢复与长时程(10 连击)稳定性。
- 多项设计可直接迁移到其它人形 RL 跟踪管线:SMPL 初始化 retargeting、COM 参考过滤、放松跟踪容差+平衡塑形奖励、训练-部署一致的局部化跟踪、IMU 专属 OU 噪声建模、高频小幅值推力域随机化。
- CoRL 2025 Oral。
- 作者自述局限:(1) 部分组件是为平衡任务专门设计、依赖任务特定假设,未必能直接迁移到跳跃、跑酷等其它任务类别;(2) 训练出的策略泛化有限,适应差异较大的新动作通常需要重新训练;开发能可靠部署、具备多样化运动技能获取能力的策略仍是待解决的方向。
原始链接
- arXiv abs:https://arxiv.org/abs/2505.07294
- arXiv PDF:https://arxiv.org/pdf/2505.07294
- 项目主页:https://hub-robot.github.io/
- 视频(YouTube):https://youtu.be/mzXH4MEypsk
- 视频(Bilibili):https://www.bilibili.com/video/BV11x7ZzaEub/
- 数据集(Google Drive):https://drive.google.com/drive/folders/1ZrF8HFMzJ7jBcHP6qFKgCyErvFDWlkmc
- 会议:Conference on Robot Learning (CoRL) 2025,Oral Presentation
一手源存档(sources/)
- hub-extreme-balance—project-page — 项目主页快照(abstract、作者与机构、任务视频清单、CoRL 2025 Oral、BibTeX)
- arXiv 原文 PDF:https://arxiv.org/pdf/2505.07294 (arXiv 原文 PDF,不入 git)