上篇(《RL 让人形机器人学踢球:13 轮实验、三次仪器级 Bug》)讲到我们修掉了三个仪器级 Bug(球盲训练、condim=3 静默忽略滚动摩擦、yaw 公式实读横滚),让 H1 从"对球全盲"走到"每集 100% 触球"。但当时留了一个尾巴:机器人会碰球了,却不会朝球门踢——方向命中率只有 7.5%。

本篇记录这个尾巴的完整攻坚:18 轮实验(v15→v33b),把方向从 7.5% 打到 88.3%,连续拿下课程表 C6 接球(90%)、C7 劫球(75.4%)、C8 射门(36.7%)三级达标,以及在 C4 上撞出的一个教科书级设计缺口——导航 ≠ 朝向。


0. 课程记分板(本文写完时的状态)

级能力状态关键数字(240 集精评口径)
C1 行走✓m110dr 底座48 扰动 0 跌倒
C3 动态点✓v19b误差 0.85m,93.3% 集内 <1.2m
C5 带球✓v26带球段占比 0.55;dir 88.3%;射门 23 球
C6 接球✓v29stop 90%,停球中位 0.36m
C7 劫球✓v30b拦截 75.4%,拦截中位 0.39m
C8 射门✓v3236.7%(88/240),闸是 13.3%
C4 转向✗v33/v33b对准率 17.4% —— 本文第 6 节

所有评估都是 240 集批量精评(约 2 分钟一轮),所有判据预注册,所有 FAIL 如实入档。


1. 方向攻坚战:五个杠杆的完整证伪链

上篇结束时的事实:机器人 100% 走到球边、49% 的集碰球,但被推的球方向接近随机。我们连打了五个杠杆,全部证伪——而每一次证伪都排除了一类假设,最后剩下的那个解释才是真相。

杠杆一:目标侧绕后(几何直觉,失败)

足球教练都教过:“踢球前先站到球的后面。” 我们让教练层在远球时追"球→门线延长 0.7m"的绕后点。方向命中率 0.8%(基线 2.5%)——没动。

杠杆二:线坐标切换(几何精化,失败)

发现切换时机用"到球距离"会切角(离门线 0.5m 就斜推),改成严格的线坐标切换(在球后方且侧偏 <0.5m 才切入推球)。探针验证几何完全正确。方向 0.4%——还是没动。

几何两次全败,说明问题不在几何。

杠杆三:算一笔账,抓到"推-追老虎机"

把奖励经济学摊开算:

  • 接近势能项 40×Δd:把球推开 2.5m → 球滚走 → 追回 → 这一来一回白拿 +100
  • 朝门推 2m 的方向差分:prog 项 +10

追球比朝门推球赚 10 倍。 势能奖励"接近就给分"的标准性质只对静态参考物成立(telescoping),球会动,它就变成了补贴"推了再追"的老虎机。撤掉接近项(v17),方向立刻从 0.4% 回到 2.5% 基线。

这是上篇"驻营露营"的姊妹课:** camping 是"给接近发钱"的病,churn 是"给接近发钱"的病在可动物体上的变体。同一个奖励语义,两种病。**

杠杆四:接触纪律(diag 诊断驱动,方向开始动)

写了个接触瞬间分类器,把每次触球按"是否在门线上对齐"分成两类,跑了 8 集 39 次接触:

编排推(对齐后推入): 62%,推向门 cos +0.68(88% 高质量)
路过碰撞(斜着蹭到): 38%,推向门 cos −0.39(主动抵消)

净方向得 ≈ 0.62×0.68 + 0.38×(−0.39) ≈ +0.27——38% 的路过碰撞把 62% 的好推给抵消了。修复很朴素:近球(<0.9m)且未对齐时,前进速度降到爬行档(0.05 m/s),不碰就不碰。方向命中率 16.2%——首次越过 15% 的闸。

杠杆五:爬行幅度(单调权衡轴的发现)

爬行 0.2 m/s:方向 57.1%;爬行 0.3 m/s:方向 80%。但跌倒率单调恶化(35% → 92% → 98%)。最终配平(叠加超速惩罚、摔倒罚分等两个被证伪的旁支后)落在 v26:方向 88.3%、向门位移中位 5.5m、射门 23 球。

方向战役的完整弧线:7.5% → 16.2% → 57.1% → 80% → 88.3%。转折点不是某个奖励权重,而是"接触纪律"这个行为语义——让机器人学会不碰不该碰的球。


2. C6 接球:拦截点教练,一发入魂

课程下一级是接球:球以 1.5-2.5 m/s 从 3-4m 外射向机器人(±1.2m 瞄准误差),要求 75% 的来球被停在机-球 1m 内。

新增两件套:

  • 来球模式:reset 时给球初速(瞄准机器人 ±1.2m 随机误差);
  • 吸收奖励:按每步球速下降量计价(STOPK × max(0, Δ球速 − 0.011 摩擦地板)),只在接触瞬间给钱,不乘 dt。

v27 首战 62.9%(停球中位 0.69m),v28 把吸收奖励加倍只买 +2.5pt——激励边际递减。

然后是本日最优雅的一发:拦截点教练。原教练追球的"现在位置",接球的正解是迎向球"将要到达的位置":

ball_coach = ball + bvel * 0.6   # 前置 0.6 秒的预测交点

v29:stop 90%,停球中位 0.36m。65% → 90%,一轮解决。几何正解 vs 参数微调,差距就是 25 个百分点。


3. C7 劫球:同一套机件的迁移

劫球 = 来球改为横穿(瞄准偏移 ±3m,球从身侧掠过,8 次采样 5 次不碰身)——机器人必须主动移动去拦截。拦截点教练机件原样复用,只把前置时间从 0.6 提到 0.8(横穿球需要更早转向)。

v30 首战 72.9%(差 2.1pt),v30b 75.4% 达标,拦截中位 0.39m。

教训:好的任务分解会让技能免费迁移。 C6 的"迎向预测交点"就是 C7 的"沿路径拦截"——课程设计时值得为迁移而设计。


4. C8 射门:专训分布陷阱与 50/50 混合解法

v26 时代射门已经有 23/240(9.6%)——带球的副产品。C8 的闸是 13.3%。看起来只差一步,我们做了一次"射门专训":把球门拉近到 4-7m、球放在机器人-门线上(bg 1.6-5.2m 的直射练习位)。

v31 结果:射门 30 个(+30%),但标准分布上 approach 从 62% 崩到 14.6%——只练过"球在门口"的场景,长距离追球序列废了。这是课程学习文献里最经典的专训灾难在我们手上的复现。

解法是教科书级的:50/50 混合分布(一半集射门练习位,一半集标准分布)。v32:

标准分布评估: shoot 88/240 = 36.7%(闸的 2.3 倍)
              dir 87.9% / 触球 100% / 向门位移中位 6.85m 全部保持

教训:课程分布要么渐进混合,要么别用。 纯专训分布是给通用技能挖坑。


5. C4 未竟:一次"蟹行"发现

C4(跑中转向换向)两次 FAIL(对准率 18% → 17.4%),但诊断挖出了一个设计层面的金矿。

先量物理:换向航向跳变中位 84°,而 H1 实际转向率只有 ~0.12 rad/s(3 秒转 21°)——对 84° 的跳变,"3 秒内朝向新目标"物理上不可行。把换向角限制到 ±45°(锥形重采样)后,<45° 跳变的对准率实测 86%——物理不再是瓶颈,判据还是过不了。

再挖一层,真正的缺口是:导航奖励只付"距离进度",策略学会了侧移(蟹行)到位——它把球追到了、任务完成了,但全程没有一秒是"脸朝目标"的。 "朝向新目标"这个判据语义,在奖励函数里没有任何承载。C3 能过是因为判据只看距离;C4 的判据看朝向,蟹行立刻现形。

这不是 bug,是任务语义与奖励的对齐缺口。三个候选修法已预注册:①cur 模式加朝向对准奖励项;②C4 判据改为到达语义(朝向另列观察指标);③对 DR 底座扩 ω 包线重训(0.12 rad/s 的转向率本身就是底座训练分布决定的,历史测量还受过上篇那个 yaw 公式 Bug 的污染)。


6. 更新版教训清单(在上一版六条之上)

  1. 奖励语义要覆盖判据语义。 判据说"朝向目标",奖励里就必须有朝向项——否则策略会用最便宜的等效行为(蟹行)绕过你的判据。所有"看起来该会"的行为都要问一句:哪一项奖励在为它付钱?
  2. 势能奖励只对静态参考物成立。 参考物会动(球、其他智能体),"接近就给分"立刻变成追逐循环的补贴。
  3. 课程分布要混合,不要纯专训。 专训分布带来的技能增益(+30%)远小于它摧毁的通用技能(-74%),50/50 混合一轮两全。
  4. 几何正解 > 参数微调。 接球从 65% 到 90% 靠的是"追预测交点"这个几何修正,而不是任何奖励权重的再平衡。先问任务的正解几何是什么。
  5. 行为分类器是最好的诊断仪。 "每次接触分成对齐/不对齐两类"这一个统计,把方向问题从玄学变成了 38% 碰撞抵消的算术。
  6. 单调权衡轴要显式承认。 爬行幅度 vs 方向 vs 跌倒是一条单调轴(0.05/0.2/0.3 三档全部实测),承认它之后才能在轴上找工作点,而不是假装存在免费午餐。

7. 已知限制与下一步

  • 跌倒率 91-98%:已定谳为接触瞬间物理(踢击冲击对髋踝的扰动),奖励与教练侧均无法解。三条候选路:H1 起身技能(跌倒可恢复)、足姿预置(接触冲击缓冲)、换更抗冲击的任务语义。
  • C2 定点 / C4 转向:前者需要把位置指令接口移植到物理球环境后重测;后者待第 5 节的语义决策。
  • 大脑接管(S1):教练位 [vx, vy, ω] 接口已稳定支撑六级课程,按项目宪法,下一步是把教练位交给 138,639 个神经元的果蝇全脑——足球线现在的六级成绩单,就是大脑接管时的基线。

上篇:《RL 让人形机器人学踢球:13 轮实验、三次仪器级 Bug,触球率从 0 到 100%》。实验环境:mujoco_playground H1JoystickBall + Brax PPO。22+ 变体、全部负结果与预注册判据随仓库入档。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐