Learning Agile Locomotion on Risky Terrains

2026/5/28

可以。我们先从"这篇文章到底解决什么问题"讲起。

这篇 IROS 2024 文章的核心问题是:四足机器人如何在"高风险地形"上高速运动,比如稀疏踏脚石、窄平衡木、带间隙的梁。所谓高风险,是指可踩区域很少,一脚踩空就可能摔倒,所以机器人不仅要会走,还要会精确落脚、动态调整速度、甚至在踩空后恢复。作者的目标是证明:这种任务不一定非要依赖模型预测控制、轨迹优化、显式落脚点规划,也可以用端到端强化学习学出来。

它的主要贡献可以概括成三点。第一,把传统的"速度跟踪"问题改成"导航任务":不给机器人固定速度命令,而是给它目标位置和目标朝向,让它自己决定什么时候快、什么时候慢、什么时候跳。第二,为了解决稀疏奖励和探索困难,设计了课程学习、好奇心奖励和对称数据增强。第三,采用"两阶段训练":先在相对通用的稀疏踏脚石上训练 generalist policy,再在更难的特定地形上微调 specialist policy。

这篇文章最关键的思想是:不要让机器人追踪一个人为指定的速度。因为在踏脚石和平衡木上,合适的速度不是固定的。比如在平衡木上,它可能要先慢慢对准中心线,然后突然加速冲过去;在踏脚石上,它可能要连续跳跃。如果你强行给它 0.8 m/s 或 1.0 m/s 的速度命令,反而会限制策略的行为空间。所以作者把任务写成:只要在 episode 快结束时接近目标位置和目标朝向,就给高奖励。这样中间过程完全交给策略自己发现。

可以把它理解成:速度跟踪是"老师要求你每秒走多快",导航 formulation 是"老师只告诉你终点在哪,你自己决定怎么过去"。对于普通平地,速度跟踪很自然;但对于危险地形,导航式目标更合理。

第二个关键点是探索策略。因为这些地形太容易失败,随机策略几乎走不了几步,奖励又很稀疏,所以直接训练很难。作者做了三件事:一是改进课程学习,不轻易把机器人降级到简单地形,而是让它在当前难度多尝试;二是加入 RND 好奇心奖励,鼓励策略访问不熟悉的状态-动作对;三是利用四足机器人的左右、前后对称性,把一个样本扩增成多个对称样本,提高数据效率,并让动作更平衡。

第三个关键点是 generalist-specialist 两阶段训练。作者发现,即使用了上面的探索策略,直接从零开始训练某些 specialist policy 仍然学不出来。所以他们先在 Stones-Everywhere 这种稀疏、杂乱但相对通用的踏脚石地形上训练一个 generalist policy,让它学会基本的感知-运动技能,比如找落脚点、跳跃、调整身体姿态。然后再把这个策略迁移到 Stones-2Rows、Balance-Beams、Stepping-Beams 等更具体的地形上微调。

这篇文章的系统输入也很重要。策略输入包括机身线速度、角速度、重力方向、目标位置、目标朝向、剩余时间、关节位置和速度、上一时刻动作,以及 heightmap scan。输出是电机位置命令,也就是目标关节位置。控制频率是 50 Hz,用 PPO 在 Isaac Gym 里大规模并行训练。

实验地形一共有四类。Stones-Everywhere 用来训练 generalist policy,也是消融实验的主地形;Stones-2Rows 更接近实验室能搭建的踏脚石;Balance-Beams 是窄梁加间隙;Stepping-Beams 是一系列窄梁,只在仿真中测试。最难的 Stones-Everywhere 中,石块只有 20 cm 宽,稀疏度达到 81.1%,也就是说绝大多数区域都不能踩。

结果上,导航 formulation 明显优于速度跟踪。图 7 显示,速度跟踪在难度升高后成功率快速下降,而导航 formulation 能保持较高成功率。图 8 进一步说明,在最高难度地形上,作者提出的完整策略最稳,其中对称数据增强最关键,课程学习和好奇心奖励也有帮助。

真实机器人实验也比较亮眼。ANYmal-D 在真实踏脚石上峰值前进速度达到约 2.7 m/s,在平衡木上达到约 2.5 m/s。踏脚石实验中机器人会连续向前上方跳跃;平衡木实验中机器人先慢慢对准梁中心,然后用一段速度爆发通过。真实测试里,Stones-2Rows 成功率 8/10,生存率 10/10;Balance-Beams 成功率和生存率都是 5/5。

不过这篇文章也有明显限制。第一,它没有真正解决 onboard perception,真实实验中用了 motion capture 和 ground-truth map。第二,不同地形需要不同 specialist policy,统一策略还没做好。第三,奖励函数调参仍然很繁琐,而且 RL 策略的失败原因不容易解释。作者还提到,5 cm 的里程计漂移就可能让机器人摔倒,这说明系统对地形定位精度仍然很敏感。

所以这篇文章的价值不在于"完全解决了真实复杂地形自主运动",而在于它证明了一个方向:对于稀疏落脚点、高风险、需要动态速度调节的地形,端到端 RL 也能学出非常敏捷的运动,而且不一定需要显式落脚点规划。它的核心方法可以记成一句话:用导航目标替代速度跟踪,用探索策略解决稀疏奖励,用 generalist-to-specialist 训练解决困难地形迁移。