type
Post
status
Published
date
Jun 8, 2026
slug
summary
tags
论文笔记
category
论文笔记
icon
password
comment
color
牛逼,还能自主选择skill
0. 总结
这篇论文提出了一个让四足机器人 ANYmal D 完成“跑酷式导航”的全学习框架:机器人不仅要走,还要跳、爬上、爬下、钻过障碍,并在途中自动选择合适技能。作者把系统拆成三个模块:感知模块重建三维环境,运动模块提供多个低层技能,导航模块根据目标和环境选择技能并给出中间指令。核心价值在于:整个系统只在仿真中训练,却能在真实机器人上实时运行,跨越连续复杂障碍,最高速度达到约 2 m/s。

1. 研究问题(Research Problem)
这篇论文要解决的问题是:如何让四足机器人在未知、部分可见、噪声很大的复杂障碍环境中,实时选择合适动作序列并完成敏捷导航。这里的“导航”不是普通避障,而是类似 parkour:机器人可能需要走楼梯、跳过缝隙、爬上箱子、从高处爬下、从桌子下面钻过,还要在这些动作之间平滑切换。
这个问题重要,是因为它把腿足机器人从“能在粗糙地面上走”推进到“能在复杂三维环境中主动利用身体和多种接触方式通过障碍”。作者明确指出,机器人必须在有限机载算力、局部且噪声感知、快速动态运动、接触不确定的情况下完成从感知到动作的闭环决策,这对于搜救、坍塌建筑、复杂自然地形等场景有直接意义。
2. 研究背景(Background / Motivation)
以前主流路线大致有三类。
第一类是模型预测控制 / 轨迹优化 / 接触规划。这类方法可以处理精确落脚和复杂地形,但通常依赖简化动力学模型和较强的接触时序假设;对于腿足机器人频繁“接触—离地—再接触”的混合系统,搜索空间会组合爆炸,所以常常必须简化问题。
第二类是强化学习 locomotion policy。过去已经有不少工作展示了四足机器人的跳跃、攀爬、恢复跌倒、踢球等单项技能,但很多方法仍主要解决“某个技能怎么做”,而不是“在复杂路线中什么时候用哪个技能、如何连续组合技能”。
第三类是感知地图 + 导航规划,例如 elevation map、signed distance field,或者直接把外感知输入策略。问题是 elevation map 对状态估计漂移和噪声敏感,而且本质上是 2.5D,难以表达桌子下方、垂直墙面、高箱子顶部等完整三维结构;这正是跑酷任务中必须理解的内容。
所以这篇论文的动机是:单纯提高低层运动能力不够,单纯做传统规划也不够;必须让机器人同时具备三维场景理解、多技能库、以及知道每个技能能力边界的高层导航策略。
3. 核心方法(Method Overview)
作者的方法是一个层级式、全学习、sim-to-real系统,包含三个互相连接的模块:感知模块、运动模块、导航模块。论文图 2 很关键:感知模块从点云估计场景和 latent;运动模块提供 walk、climb up、climb down、jump、crouch 五种低层技能;导航模块根据目标和感知 latent 选择技能,并给低层技能发送局部位置、朝向、时间指令。

简单理解:
机器人不是学一个“万能动作网络”,而是先学会五种“专项动作”,再训练一个“调度员”。这个调度员看懂周围障碍后,判断“现在该走、该跳、该爬、还是该钻”,并告诉当前技能“往哪里去、朝哪里转、多快完成”。
方法流程可以理解为:
- 感知:深度相机和 LiDAR 产生点云;网络把稀疏、有遮挡、有噪声的点云转成三维环境估计,同时输出一个 compact latent 给导航策略。感知模块采用粗分辨率 + 高分辨率的多尺度结构,粗网络负责较大范围,细网络负责机器人附近的精细重建。
- 低层技能学习:分别训练五个强化学习技能:走、爬上、爬下、跳、钻。每个技能接收本体状态、局部地形、高层给定的位置/朝向/时间命令,输出关节位置命令。
- 高层导航学习:冻结低层技能,在仿真中训练一个导航策略。它每 5 Hz 运行一次,低层运动模块 50 Hz 运行;高层策略输出两类动作:连续的局部目标命令,以及离散的技能选择。
- 真实部署:所有模块只用仿真训练,然后部署到 ANYmal D 真实机器人上,感知、导航、运动全部实时运行。
一个很重要的细节是:导航模块训练时不是用简化运动学模型来估计低层动作效果,而是真正 roll out 已训练好的低层策略。因此导航策略能学到每个技能的真实能力边界,例如“这个箱子太高,不能直接爬;应该先走到低一些的位置”。
4. 关键创新(Key Contributions)
这篇论文真正的新意不在于单个网络结构有多复杂,而在于把感知、技能、导航三者以可迁移到真实机器人的方式组合起来。
第一,作者提出了一个技能感知的层级导航框架。高层策略不是简单规划几何路径,而是学习“哪个技能在什么环境下可用”。论文中一个有趣现象是:导航模块会用 jumping skill 在狭窄通道里原地快速转向,虽然这个技能原本不是专门为转向设计的;这说明高层策略学到了技能的隐含优势。
第二,作者没有把所有技能蒸馏成一个大策略,而是保留离散技能库。这样做的好处是高层模块可以明确选择并利用每个技能的强项;论文也讨论到,技能蒸馏可能带来泛化优势,但也可能丢失单个专家策略的特殊能力。
第三,感知模块从部分点云中重建三维场景,而不是只依赖 elevation map。它可以处理遮挡、稀疏观测、桌子下方空间、高箱子顶部、状态估计漂移等情况;图 7 显示,相比 elevation mapping baseline,该方法能更好恢复垂直结构和被遮挡表面。
第四,整个系统不需要专家演示、离线规划、预先地图,也不显式建模接触序列。这对于腿足机器人很关键,因为显式规划所有接触组合通常非常困难。
5. 实验设计(Experiments)
数据集 / 训练环境
这篇论文没有使用传统公开 benchmark 数据集,而是在仿真中生成 parkour-like 场景。导航训练包含三类地形:A 是箱子组合与跳跃/攀爬目标,B 是带多个障碍的长平台 parkour line,C 是为了真实搭建可行性而设计的简化 parkour line。 感知模块使用仿真数据训练:共 2000 条轨迹,每条 100 个时间步,并平均分配到不同 parkour 场景中;训练时加入点云扰动、随机 blob、点云 patch 删除、机器人位姿噪声和随机障碍物来增强泛化。
实验平台
真实平台是 ANYmal D,约 55 kg,12 个串联弹性驱动器,每个可输出 85 N·m 扭矩,配备 6 个 Intel RealSense 深度相机和一个 Velodyne Puck LiDAR。导航和运动模块在机载计算机上同步运行,感知模块在 NVIDIA Jetson Orin 上异步运行。
对比方法
导航性能主要与人工硬编码轨迹比较:人工方法知道障碍物序列,然后手动放置 waypoints,并指定相邻 waypoint 之间使用哪个技能。感知模块则与一个增强版 elevation mapping baseline 做定性比较。

主要结果
真实机器人能跨越连续障碍,速度最高约 2 m/s;在窄箱子、高平台和复杂连续障碍上,系统能自动选择技能并保持较高控制精度。所有统计结果是在仿真中平均 1000 次 rollout 得到的。
导航成功率方面,论文表 1 中方法相对人工轨迹的提升如下:
场景 | 本文方法 | 手工轨迹 | 绝对提升 |
Fig. 5A | 98.2% | 95.3% | +2.9 个百分点 |
Fig. 5B | 96.3% | 60.9% | +35.4 个百分点 |
Fig. 5C | 97.6% | 75.3% | +22.3 个百分点 |
平均来看,本文方法约 97.4%,手工轨迹约 77.2%,提升约 20.2 个百分点。提升最大的场景是 Fig. 5B,因为手工 waypoint 难以给低层技能提供足够细粒度、动态调整的目标,而高层策略会根据情境自动把目标放得更远或更安全。
运动模块
首先,我们分别分析了每个运动策略在不同难度范围下的性能和涌现行为(图 4)。视频 S2 展示了每个技能的真实部署情况。
跳跃
机器人从一个箱子上出发,必须跳到相邻的另一个箱子上,两者之间的缝隙最大可达 1 m。为了成功完成跳跃,机器人会从侧面接近缝隙,并小心地将脚尽可能靠近边缘,然后利用全部驱动力跃向另一侧。它使用三条腿推动身体,而第四条腿则伸向另一侧用于着陆。随后,机器人会转移两条对角腿,最后再把剩下的一条腿移过缝隙。由于训练中加入了随机化,该策略会让脚与边缘保持安全距离,并且能够通过在非起跳腿之间转移身体重量,从踩空和打滑中恢复。
爬下
机器人从一个高度最高为 1 m 的箱子上出发,必须爬下箱子,到达地面上的目标。由于我们对足端的高冲击进行了惩罚,以防止电机损坏,机器人首先会让膝部落到箱子边缘,并尽可能降低重心。然后,它跳下去,用前腿着地,同时用后膝保持身体重量仍支撑在箱子顶部。接着,它会用前腿向前走几步来重新调整位置,使后腿能够平稳地落下。该策略学会了对感知地形中的小幅偏移保持鲁棒性:它会慢慢把脚推过边缘,直到膝部接触到箱子。随后,它利用机器人小腿和膝部天然形成的 L 形结构,将其像钩子一样挂在箱子边缘。
爬上
机器人从地面出发,必须爬到高度最高为 1 m 的箱子顶部。为了爬上去,机器人会先将一只前脚放在上表面,并利用它把身体抬到接近直立的姿态。随后,它会重新调整自身位置,然后跳起,使一条后腿落到箱子顶部,同时用第四条腿顶住垂直表面来保持平衡。最后,它推动整个身体上升,并将第四条腿也带到箱子顶部。在可能的情况下,机器人只使用足端和小腿;但在需要时,它也学会了使用膝部。例如,当第三条腿打滑或没有踩到边缘时,机器人可以用膝部恢复,而不会重新跌回地面。
下蹲 / 钻行
机器人必须到达狭窄通道另一侧的目标位置,该通道的最小高度为 0.4 m。当机器人穿过桌子时,它会在朝目标方向行走的同时降低机身高度。在较低的机身高度下,它会调整步态,并使用两个髋关节电机将脚抬离地面。
行走
机器人必须穿越多种不规则地形,包括楼梯、斜坡以及随机放置的小障碍物。这些多样化地形与许多感知式腿足运动研究中常用的地形类似。该策略能够上下 40° 的短斜坡,攀爬台阶高度为 0.25 m 的楼梯,并在平地上以 2 m/s 的速度奔跑。由于训练场景具有多样性,该策略能够很好地泛化到未见过的地形,例如狭窄楼梯、斜坡,或者不同障碍物的组合。

图 4F 展示了每种技能在对应障碍物难度逐渐增加时的成功率。图中显示的范围覆盖了训练过程中最大障碍难度的 0 到 120%。所有技能在各自难度达到 90% 之前都表现良好。超过这一难度后,当通道变得比机器人高度还要窄时,下蹲技能的性能下降最快。跳跃、爬上和爬下技能的性能也会急剧下降,这是由于机器人自身物理极限造成的。最后,行走技能能够很好地外推到训练难度范围之外,因为这些地形相对没有那么具有挑战性。
导航模块

导航模块在仿真中使用图 5 所示的三种不同地形进行训练。之所以引入场景 C,是因为在真实世界中搭建场景 B 较为复杂。对于该设置,我们必须加入额外的惩罚项,以防止机器人绕过障碍路线。由于任务形式不同,我们部署了两个独立的导航策略:一个在场景 A 和 B 上训练,另一个仅在场景 C 上训练。
我们研究了导航模块中涌现出的行为(图 3 和图 6)。它能够从感知模块的潜在空间中提取三维信息,并基于对当前地形的即时测量选择合适的子目标。对于相似的环境配置,它会根据障碍物的尺寸调整路径。它还会根据地形选择最合适的策略,并发送正确的指令来控制机器人的轨迹。当训练收敛后,导航策略能够在整个路线中完整控制五种运动技能,从而解决该任务。
这项任务并不简单,因为这些低层策略采用的是基于位置的训练形式。每个低层策略都可以在分配的时间内自由调节机器人的运动,只需要在时间结束时满足位置和朝向指令即可。例如,它可以在轨迹中的任意时刻满足朝向指令。导航策略学会了如何为每个技能恰当地组合位置、朝向和时间指令,从而实现机器人所需的运动。当机器人以高速到达狭窄障碍物时,这一点尤其重要;此时机器人必须快速减速并原地转向,才能到达下一个障碍物。
导航模块会考虑每个技能的能力和局限性,并据此调整轨迹。这一点在爬上、爬下和下蹲技能中尤为明显:根据障碍物的具体配置,它会改变自己的输出(视频 S3 和 S4)。当箱子太高时,策略不会直接让机器人爬上或爬下,因为这样会失败。对于高度过低的桌子,机器人会选择从桌子上方爬过去,而不是从下面钻过。图 6 展示了这种自适应行为:机器人从地面出发,被要求到达后方箱子顶部的目标位置(上行),随后再返回起始位置(下行)。在图 6A 中,我们展示了机器人选择直接路径的概率如何随箱子高度变化。随着箱子高度增加,策略更倾向于选择更长但更安全的路径。对于下行任务,在箱子高度不超过 1 m 时,策略会让机器人直接下去;超过这一高度后,则选择更长的路线。另一方面,在上行任务中,策略会更快地切换到最长路线,因为对于爬上这一动作,扰动和噪声对性能的影响更大。
图 6B 和图 6C 展示了当高度 h = 0.75 m 时真实机器人产生的轨迹;图 6D 和图 6E 展示了当 h = 1.15 m 时的轨迹。另一个例子描述了机器人为了到达远处目标,必须先远离目标的情况,详见补充结果中的“Navigation across long ranges”。
我们在仿真中将本文方法与人工设计轨迹进行了比较(表 1),比较对象为图 5 中所示的不同地形。对于人工轨迹,我们利用已知的障碍物序列,在路径上放置合适的航点,并设置连接相邻航点时最合适的技能。机器人被控制为按顺序到达这些航点。障碍物的难度接近低层训练中定义的最大难度(图 4 中的 100%)。表格显示,人工放置目标在某些场景中表现良好,但在其他情况下会失败,尤其是当运动策略需要更细粒度控制时。此外,我们的高层策略学会了动态调整目标位置,例如将目标放得更远,以提高机器人的速度。相比之下,人工示范通常会把目标放在关键位置,例如障碍物中间,这会导致速度较低,因此需要更长时间才能到达目标。当地形被随机化时,人类示范并不能很好地扩展,因为每一种新情况都需要人工标注。

感知模块
感知模块处理带有噪声和遮挡的点云测量数据,为导航模块生成有意义的潜在表示,并为运动模块生成干净的环境重建。如前所述,在真实部署时,该模块与系统其余部分异步运行。这与我们的训练设置不同,在训练中,潜在表示会在导航策略推理的准确时刻可用。然而,由于这种异步运行带来的延迟小于策略的更新周期,因此性能没有受到影响。
我们分析了感知模块的重建结果,并将其与一个 elevation mapping 基线方法进行了比较。该方法对常用框架进行了多项改进,使其成为跑酷任务中更有竞争力的对比方法。它能够检测 z 方向上的漂移,从而将地图重新对齐到正确高度,并执行额外的可见性检查以去除离群点。我们主要对重建性能进行了定性评估;对于类似方法的定量分析,读者可参考文献(27)。
图 7 和视频 S5 展示了网络在图 3A 和图 6D 场景中的若干输出结果,这些结果来自真实世界数据。第一列对应传感器测量结果,第二列对应以点云形式可视化的基线地图,最后一列对应我们的方法得到的重建结果。由于基线方法使用的是高度图,因此其对应点云不包含垂直表面。为了便于区分,我们的方法中,高分辨率输出,即机器人周围的细化过程,用红色表示;低分辨率输出用蓝色表示。红色区域内显示的蓝色粗分辨率点仅用于帮助理解,并未被系统其余部分使用。
从多个输出结果可以看出,该网络能够处理稀疏测量,并正确估计场景布局。落在箱子边缘上的点被用作证据,从而以正确高度重建箱子的上部区域(图 7A)。机器人右侧的表面被正确识别为墙面,并相应地进行了重建。相比之下,基线方法没有考虑较高箱子顶部的区域,因为这些位置没有可用测量数据。
由于体素分辨率较低,并且部分障碍物边缘存在噪声测量,粗分辨率网络在距离机器人较远的位置会产生精度较低的重建。例如在图 7A 中,机器人左侧箱子的估计高度是正确的,但其宽度大约多出了 8 cm。然而,在机器人附近,细化器能够处理这类不准确性,并进一步增强重建质量。这一点可以在图 7D 中看到:相比粗地图,细化器生成了更加干净的楼梯结构。关于细化器重要性的进一步说明见补充结果中的“Ablation of the perception refinement”。
当机器人在图 7C 中从桌子下方下蹲通过时,自回归反馈发挥了关键作用。尽管桌面上表面的测量非常稀疏,但网络能够记住这一区域,因为机器人在接近桌子时曾在之前的时间步中看到过它。基线方法并不是为处理这种带有悬空结构的场景而设计的。它在某些位置生成了桌面上表面,在另一些位置又生成了地面,最终导致地图错误。
通过与基线方法比较,可以从图 7B 和图 7D 中看到该方法对状态估计漂移的鲁棒性。在图 7B 中,机器人的位置估计突然向左跳变。我们的网络检测到了这种情况,并立即修正了地图。相比之下,高度图无法处理这种漂移,导致机器人的膝部和后腿位于地图内部。类似地,在机器人爬楼梯时,后腿也出现在高度图内部(图 7D)。

6. 优点与局限(Strengths & Limitations)
优点
这篇论文的最大优点是系统完整:它不是只展示一个跳跃控制器,也不是只做一个地图网络,而是把三维感知、多技能强化学习、层级导航和真实机器人部署串成了闭环。其次,它具有很强的工程说服力:所有模块在仿真训练,在真实机器人上实时运行,并能处理高速运动、遮挡、滑动、跌倒恢复、障碍物临时移走等情况。再次,层级结构使导航策略能够学习技能 affordance,也就是“这个技能在什么障碍上有用、有什么限制”。
局限
第一,场景仍然比较结构化,主要是 pallet-sized boxes、桌子、楼梯、斜坡等有限类型障碍;作者也承认,方法能否扩展到坍塌建筑、真实 parkour 场或高度非结构化环境还没有验证。第二,系统训练和调参成本高,总共使用 8 个神经网络,并且模块之间强耦合:改动一个技能或新增障碍,可能需要重新训练感知和导航模块。第三,导航策略需要连续做对很多决策,训练收敛困难,作者使用 curriculum 才能避免机器人卡在大障碍前。
7. 科研启发(Research Insights)
这篇论文带来的一个重要研究启发是:对于复杂机器人任务,端到端单策略未必总是最好;显式保留可解释的技能库,再训练高层策略学习技能组合,可能更稳定、更容易迁移到真实机器人。这和很多“把所有能力塞进一个大网络”的路线不同。
继续研究可以从几个方向改进:
- 联合训练:现在感知、低层技能、高层导航基本分开训练,模块耦合导致修改成本高。未来可以研究分阶段预训练 + 联合微调,让低层技能适应高层实际发出的命令。
- 更开放的技能组合:目前是离散选择五个技能。未来可以研究连续 skill embedding、多个技能混合、动态生成新技能,使机器人不只是在技能之间切换,而能创造过渡动作。
- 不确定性感知与风险规划:感知模块输出的重建并不总是准确。未来可以让导航策略显式利用 occupancy uncertainty,做风险敏感决策。
- 更真实的非结构化环境:当前障碍相对规则。下一步应测试碎石、软地面、可移动物体、狭窄空间、动态障碍和更长路线。
- 更系统的 benchmark:论文展示很强,但对 perception 的定量评估有限,更多是定性对比 elevation map。未来可以建立跑酷式腿足机器人导航 benchmark,评价成功率、速度、冲击力、安全裕度、地图误差等指标。
8. 方法细节
概述
智能体的目标是在环境中进行导航和运动,并在较短时间内到达指定的目标位置。我们将任务限制在由托盘尺寸箱体构成的不同配置中(见图 5),这样可以在一个可行、结构化且可重复的场景中保留敏捷导航的主要挑战。
每个场景都展示了该系统流程的不同能力。场景 A 展示了该方法在真实但相对受约束场景中的一般适用性。导航模块必须理解各个运动技能的能力,并据此选择路径。虽然障碍物的排列方式相当受限,但机器人可以从地形上的任意位置出发,并且必须根据目标位置和障碍物参数选择不同路径。
另一方面,场景 B 展示了该方法对更加随机化场景的泛化能力,其中平台形状和障碍物排列各不相同。障碍物序列会产生多种情况,导航模块和感知模块必须学会正确处理这些情况。最后,场景 C 使我们能够迫使机器人爬上障碍物,同时避免为了真实世界部署而重新搭建一个两侧带有间隙的高架蜿蜒平台。
系统流程
该系统流程由三个基于学习的模块组成,下面的小节将分别介绍这些模块。补充方法中定义了运动策略和导航策略的观测、动作和奖励,并提供了更多实现细节。
感知模块
感知模块以 30 Hz 的频率运行,并赋予机器人场景理解能力。导航模块和运动模块都会使用它的输出,用于路径规划、策略选择、落脚点放置以及接触决策。该模块接收来自深度相机和 LiDAR 的带噪声且严重遮挡的场景点云,并生成以机器人为中心的三维地形估计,以及场景的紧凑潜在表示。
与文献(37)类似,点云数据通过一个全卷积编码器—解码器网络结构在空间和时间上进行处理。编码器接收点云,并将其压缩为一个紧凑表示;解码器则利用该表示补全缺失信息并滤除噪声。
为了准备输入数据,测量结果首先被转换为机器人周围的体素网格。在每个被占据的体素中,一个特征用于描述落入该体素内所有点的质心位置;未被占据体素的特征则被设为 0。尽管文献(37)使用的是稀疏实现,但该库并不能很好地扩展到强化学习通常所需的批量大小。出乎意料的是,密集形式能够以令人满意的速度处理如此大的批量,但代价是较高的显存需求:当批量大小为 4096 时,大约需要 45 GB GPU 显存。
解码器会输出每个单元的体素占据概率以及质心位置。随后,可以通过剪除占据概率低于用户设定阈值的单元,恢复出重建后的点云。与文献(37)不同,我们没有使用跳跃连接,以生成一个信息量更大的潜在表示,使导航模块能够直接使用。尽管这可能会限制泛化性能,但我们发现它在随机化跑酷世界任务中表现良好。
为了在重建精度和地图尺寸之间取得平衡,我们采用了一个多分辨率方案,该方案由两个不同尺度的类似网络组成(见图 2)。
首先,一个粗分辨率网络在 32 × 32 × 32 的网格上运行,体素大小为 12.5 cm,对应 4 m 的地图尺寸,从而能够提供较大范围的场景视野。该网络还受益于自回归反馈机制:前一时刻的输出会被变换到当前坐标系下,并与当前测量结果拼接在一起。这使得模块能够随时间积累证据,并重建那些当前已经不可见的场景部分。
例如,当机器人从桌子下方通过时,即使传感器当前无法看到桌面上表面,该模块也可以利用之前时间步中聚合的信息来估计桌子的布局,并重建其上表面。这对于某些动作也很必要,例如攀爬时,机器人的肢体经常会遮挡左侧和右侧相机的大部分视野;见补充方法中的“Measurement blind spots”。最终得到的潜在张量维度为 2 × 2 × 2 × 64,并被展平后直接输入导航模块的策略中。由于该潜在表示经过训练后包含了重建部分可观测世界所需的全部信息,因此它可以代表场景的置信状态。
其次,一个高分辨率网络在 32 × 32 × 32 的网格上运行,体素大小为 6.25 cm,对应 2 m 的地图尺寸。该网络能够在机器人附近生成质量更高的重建结果,因为这一区域对于运动控制和正确落脚点放置至关重要。该网络不使用自回归反馈,而是将粗分辨率网络最后一层的特征与点云测量结果一起作为输入。该网络输出的点云会被转换为高度图,并发送给运动模块。
我们使用仿真数据以无监督方式训练这些网络,总共包含 2000 条轨迹,每条轨迹有 100 个时间步。我们将数据集平均分配到不同的跑酷场景中。占据输出和质心输出分别使用二元交叉熵损失和到真实值的欧氏距离进行训练。
我们采用了文献(37)中描述的相同数据增强流程。该流程包括扰动点的位置、添加随机 blob、删除部分点云块,以及给机器人的位置加入噪声。实验中我们发现,在训练时有必要在地形周围添加随机物体,例如墙壁和额外的箱子,以增强重建性能,并使系统能够部署到封闭房间和杂乱环境中。
运动模块
运动模块是一个接口,用于向系统流程的其余部分暴露低层技能,并以 50 Hz 的频率运行。它包含一个策略库,可由导航模块激活。每个策略都针对一种特定的运动技能进行训练,包括:行走、爬上、爬下、下蹲和跳跃。这些技能通过强化学习训练得到,并向电机输出关节位置指令。
作为输入,这些策略接收当前的本体感知状态、周围地形的局部地图、位置和朝向指令、计时器,并向电机输出位置指令。训练设置类似于文献(11),并使用基于位置的指令。机器人并不是跟踪速度指令,而是必须在给定时间内到达目标位置并达到目标朝向。计时器输入表示距离完成指定位置和朝向还剩多少时间。跟踪奖励只有在计时器结束时才会被激活,这意味着机器人可以在运动轨迹过程中自由调节自身动作。
这些技能是分别训练的,并共享相同的观测空间和动作空间,但为了高效训练,不同技能需要不同形式的奖励和终止条件。此外,我们实现了对称性增强,并发现它解决了文献(11)中报告的非对称问题,使策略更加鲁棒。该过程在补充方法“Symmetric data augmentation for locomotion training”中有详细描述。
导航模块接收场景的完整三维表示,也就是潜在张量;但对于运动策略来说,由于它们更新频率较高,并且训练时计算成本较大,使用这种表示并不现实。因此,运动策略通过机器人周围的一组高度测量来感知环境,这些高度测量由感知模块输出的高度图计算得到。
在训练期间,这些高度测量可以通过射线投射高效计算,从而避免渲染所有相机并推理感知模块。这显著缩短了训练时间,具体见补充方法“Implementation details”。此外,感知流程中的延迟会对技能性能产生负面影响,见补充结果“Ablation of the measurement delay compensation”,但这种延迟可以被直接补偿。运动模块会将接收到的地图注册到世界坐标系中;在两次地图更新之间,各技能所需的高度扫描会根据机器人在世界坐标系地图中的估计位置来计算。如果技能直接使用潜在表示,则无法实现这种补偿。
为了弥合现实差距,我们在训练过程中扰动高度测量:向单个点添加噪声,并在所有方向上将地图平移最多 7.5 cm。这会迫使策略在关键情况下采取更安全的行为。例如,在爬下动作中,机器人会先沿着小腿向下滑动,直到膝部碰到箱子边缘。该动作较少依赖精确落脚,因此提高了系统对地图重建中轻微误差的鲁棒性。
导航模块
导航模块负责引导机器人在场景中移动,并在分配的时间内到达目标。它是在层级强化学习设置中训练的:外层循环以 5 Hz 的频率运行导航策略,内层循环以 50 Hz 的频率运行运动模块。在整个训练过程中,内层循环中的运动策略保持冻结。
在每个高层时间步,导航策略接收以下输入:目标的相对位置、完成任务的剩余时间、机器人机身速度、姿态,以及感知模块输出的展平潜在张量。策略的输入由这些值拼接而成。随后,它会选择一种运动技能,并通过局部位置、朝向和计时器指令来引导该技能。
正如前一节所述,计时器指令告诉技能何时必须满足位置和朝向指令。通过改变计时器输出,导航策略可以给技能一种“紧迫感”。导航策略必须仔细组合并调整时间、位置和朝向指令,才能实现期望的机器人运动。
与技能训练设置类似,我们使用了文献(11)中描述的时间依赖指令形式。智能体被给予固定时间来抵达目标,只有当时间结束时,距离目标的惩罚才会被激活。这种稀疏形式允许策略探索地形,以寻找更安全的路径,并在需要时放慢节奏。如果机器人跌倒或接触力过大,回合也会被终止。为了加快收敛,我们使用了课程学习:一开始将全局目标放在靠近机器人起始位置的地方,随着奖励提升,再逐渐把目标移动到地形上更远的位置。
为了适应这种形式,我们修改了 PPO 算法,并为 actor 的多层感知机增加了混合输出。最后一层的特征被拆分为两部分:一部分形成用于指令输出的高斯分布,另一部分形成用于技能激活的类别分布。类别分布会为每个低层技能分配一个选择概率。在训练过程中,动作从各自的分布中采样,以支持探索。在部署时,我们使用高斯分布的均值,并选择分配概率最高的策略。尽管这种混合形式为算法增加了一个新的超参数,用于缩放每个分布的熵系数,但我们通过实验发现,这并不会使训练变得更加复杂。
与其他方法相比,例如文献(27)在内层循环中使用简化运动学模型,我们认为在训练中展开真实的低层策略对于实现敏捷导航是必要的。这样,智能体才能在做决策时考虑每个低层控制器的运行方式、能力和局限性。它能够推断出某个箱子过高、无法直接爬上去,因此先移动到较低的位置;它会在狭窄通道上谨慎放置目标,以实现精细落脚;对于较低的箱子,它倾向于使用爬下策略,以通过踏下的方式避免过大的接触力。与感知模块类似,我们在训练过程中加入随机感知干扰物,例如墙壁和箱子,以提高策略在封闭和杂乱房间中的泛化能力。
义父,请我喝杯蜜雪冰城吧。


上一篇
【读论文006】Attention-Based Map Encoding for Learning Generalized Legged Locomotion
下一篇
【读论文004】Learning Robust Autonomous Navigation and Locomotion for Wheeled-Legged Robots
- 作者:LIU Xiao
- 链接:http://liuxiao916.com/article/37958a7f-6b9f-80c1-9e3a-f2cf7effd5a6
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。









