精读笔记
Problem Setting
这篇论文不是在解决“四足机器人如何跳跃/攀爬”这个单点技能问题,而是在解决 agile locomotion skills 如何被实时组合成可导航行为的问题。任务的关键矛盾是:parkour 需要接触丰富、动态强、接近执行器极限的动作;但导航层又必须在有限视野、噪声重建和实时算力下做路径与技能决策。传统 planner 需要一个可计算的可行性模型,但这里的可行性由低层神经策略、接触偶然性和机器人形态共同决定,很难手写。端到端 locomotion RL 则容易在局部鲁棒性上有效,但一旦涉及长程目标、障碍选择、技能切换和遮挡场景理解,训练难度和信用分配都会爆炸。因此论文真正处理的是“如何让高层决策对低层真实能力有感知”。
Motivation
已有路线缺的不是更强的单个 controller,而是一个能把 perception、navigation 和 agile skills 对齐的中间层。Model predictive / contact planning 方法在规则接触和可建模地形上很强,但 parkour 中膝盖、胫骨、机身附近接触都可能变成策略自然发现的 affordance,显式建模会非常笨重。学习式 locomotion 已经能在 rough terrain 上跑得很稳,但通常假设导航命令比较简单,或者地形表示足够局部。作者的核心观察是:真正有用的 planner 应该知道“某个 skill 在这个几何关系下能不能完成、会以什么姿态完成、需要多少空间和速度”,而不是只知道几何上能不能过。这个缺口推动了层级 RL:让高层通过 rollout frozen skills 来学习能力边界,而不是人为定义 traversability。
Core Idea
论文的核心思想是把 parkour navigation 从“几何路径规划 + 低层跟踪”改写为“skill-conditioned closed-loop decision making”。低层技能不是被当作理想 motion primitive,而是作为有自己失败模式、速度偏好、姿态调整和接触策略的真实动态系统。高层策略在训练时直接和这些低层策略交互,因此学到的是它们的 empirical affordance:哪些障碍该爬、哪些该绕、什么时候跳跃技能反而适合原地转向、什么时候低桌应爬过而不是钻过。
这个建模方式引入的 inductive bias 很强:把连续接触规划空间离散化为少数可复用技能,同时保留技能内部的高维动态自由度。相比单一端到端 policy,它降低了探索难度和多模态动作冲突;相比传统 planner,它不要求显式接触序列或动力学简化;相比手工 skill graph,它让 skill applicability 由 RL 从真实闭环结果中学习。感知 latent 的作用则是把局部 occluded 3D scene belief 直接供给高层,使高层决策不局限于 elevation map 的 2.5D 假设。
Method
方法上真正必要的机制可以压缩为三层对齐。
第一,低层技能使用 position-based formulation,而不是普通 velocity tracking。它解决的是 agile maneuver 中“过程轨迹不应被过度约束”的问题:只要求在给定时间到达目标位姿,允许策略自己决定接触、蓄力、转身、跪撑和落脚顺序。这给跳跃、爬上、爬下这类动作留下足够动态自由度。
第二,高层输出不是路径点序列,而是 skill id + 局部位置/朝向/时间命令。它解决的是技能组合接口问题:高层既能选择模式,又能调节每个 skill 的 urgency 和局部目标。关键是高层训练时低层 frozen 并真实 rollout,因此高层学到的是低层策略实际能做什么,而不是一个近似运动学模型。
第三,感知不是只做 elevation map,而是学习 3D occupancy/centroid reconstruction,并把 compact latent 给高层。它解决的是 parkour 中 2.5D 表示不足的问题:桌子下方、箱子上表面、垂直面、遮挡后结构都会影响技能选择。多分辨率和 autoregressive feedback 本质是在做局部高精度 foothold 支持与中程 topology belief 的折中。
其余机制如 domain randomization、噪声注入、curriculum、随机 distractors、delay compensation 都是实际 sim-to-real 必需,但从研究贡献看更偏 engineering glue。
Key Insight / Why It Works
最重要的有效性来源不是“用了强化学习”,而是 representation/action abstraction 对齐得比较好。低层技能把难接触动态封装起来,高层只在较低维的 skill/subgoal/timer 空间探索,极大降低了组合任务的搜索难度。与此同时,高层不是在抽象符号 skill graph 上规划,而是在真实低层闭环控制器上学习,所以它隐式获得了每个 skill 的可达域和 failure boundary。这是论文最实质的贡献。
第二个关键点是分离技能反而是优势。很多工作倾向于 distill 成单一 policy 或 latent skill space,但这里保留 discrete experts 让高层能利用每个 skill 的偏置。例如 jumping skill 被训练过随机 heading 的 box-to-box 任务,因此它意外擅长狭窄区域原地转向;高层能发现并复用这个能力。如果 distill 到单一 policy,这类局部优势可能被平均掉,除非精心构造数据和 latent conditioning。
第三,perception latent 的贡献应被理解为“belief compression + topology completion”,不是普通 mapping。它对高层提供的是可用于决策的结构先验:遮挡区域、桌面、箱体、墙面等。这比 elevation map 更适合 parkour。但这里也要谨慎:latent 是否学到可泛化 3D reasoning 文中未充分说明;在有限结构化障碍分布上,它可能主要是在做强先验下的 shape completion。
我认为增益可分三类:核心增益来自层级 action abstraction 与 low-level capability alignment;重要辅助来自 3D learned representation;实际落地增益大量来自 scaling、curriculum、domain randomization 和工程实现。所谓 planner 的 reasoning 不应过度解读,它更像 learned affordance retrieval:看到某类几何 latent,输出训练中有效过的 skill/subgoal 模式。这个并不贬低工作,反而是它能跑在真机上的原因。
Relation To Prior Work
它最接近三条谱系的交叉:Rudin/Hoeller 系列的 position-based advanced locomotion skills、legged robot perceptive locomotion 中的 learned terrain representation、以及 hierarchical RL / multi-skill control。与 MPC/contact-planning 的本质差异是:不再显式求解接触序列,而把接触策略交给低层 RL,并让高层学习 skill-level affordance。与常见 perceptive locomotion 的差异是:导航层不只是给速度命令,而是主动选择跨障碍技能并控制时序。与 latent skill / distillation 方法的差异是:它没有试图把所有技能揉成一个连续空间,而是接受 discrete modularity,并把可组合性放在高层策略里学习。
看似新的地方有一部分是已有思想的重组:技能库、层级 RL、sim-to-real、learned 3D reconstruction、curriculum 都不是新概念。实质创新在于把这些东西组织成一个闭环系统,并且高层训练时直接暴露于真实 low-level policy dynamics,从而让导航策略获得 capability awareness。这比“planner + learned cost”更端到端,比“end-to-end visual locomotion”更结构化,也比“manual waypoint skill sequencing”更可扩展。
Dataset / Evaluation
评估强在真机闭环:ANYmal D 在真实障碍 course 上连续完成走、跳、爬、钻等组合动作,且所有 learned modules 都从仿真训练转移。这对机器人论文很重要,因为很多 agile locomotion 只展示单技能或短 horizon。论文也展示了路径随障碍尺寸变化、技能选择出现非手工策略、以及 learned navigation 优于手工 waypoint 序列,这些证据支撑了“高层学到 skill-aware navigation”的 claim。
但评估范围仍明显受控。障碍主要是 pallet-sized boxes、platforms、tables、stairs/slopes 的组合,几何类型有限,场景是为训练和部署可重复构造的结构化 parkour。它验证的是在该任务族上的 robust composition,不是开放世界搜救环境中的泛化。跨场景是有的,但更像 procedural randomization 内的跨配置;多任务是有的,但都围绕同一组技能与障碍语义。benchmark 没有充分拆分各增益来源,例如 perception latent、skill separation、curriculum、training distribution 覆盖分别贡献多少,文中未充分说明。
Limitation
最核心限制是可扩展性仍未被证明。当前系统依赖一个手工定义的技能集合:walk、jump、climb up、climb down、crouch。只要真实世界障碍超出这些技能的 affordance,导航层没有机制生成新接触策略,只能在已有技能中检索最接近的行为。新增障碍大概率意味着新增 skill、重训 perception、重训 navigation;作者也承认八个网络互相依赖。这说明方法把在线规划复杂性转移到了离线训练、任务设计和技能库维护。
第二,泛化可能主要来自训练分布覆盖,而不是抽象推理。感知网络在结构化 parkour worlds 上做 3D completion,高层在同类 procedural terrains 上学习路径策略;真机实验虽然漂亮,但并不能排除 benchmark overlap 式的 implicit memorization。所谓“scene understanding”更准确地说是 learned shape prior under known obstacle family。
第三,高层策略缺少显式长期状态建模。它使用当前 latent、目标、时间和机器人状态做 reactive decision,虽然 autoregressive perception 提供短期 memory,但 planner 本身没有显式 belief planning 或 uncertainty-aware search。动态障碍被移走时能快速重规划,更多来自高频闭环和感知更新,不代表它具备复杂动态场景推理。
第四,增益归因不清。真机成功可能同时依赖强硬件、丰富传感器、GPU sim scaling、大量 domain randomization、careful curriculum、障碍设计和人工调参。论文没有给出足够系统的 ablation 来说明哪些是不可替代的机制贡献,哪些只是 scaling / engineering。
Takeaway
- 1. 对 agile legged navigation,最有迁移价值的不是端到端视觉到关节,而是把 contact-rich dynamics 封装为可复用 skill,并让高层在真实 low-level dynamics 上学习 affordance。
- 2. Discrete skill library 在复杂机器人任务中仍然很有生命力。
- 只要高层能学习每个 skill 的能力边界,保留专家差异可能比过早 distillation 更稳。
- 3. Learned 3D belief representation 是 parkour 类任务的必要条件之一;2.5D elevation map 对 overhang、vertical surface、occlusion 和 top surface completion 天然不足。
一句话总结
ANYmal Parkour 是一篇把四足 agile locomotion 从“单技能展示”推进到“能力感知的层级导航系统”的工作,真正贡献在于用离散 RL 技能库、learned 3D belief 和高层 skill-aware policy 重组了感知—规划—控制的信息流。
