Lazy loaded image
【读论文006】Attention-Based Map Encoding for Learning Generalized Legged Locomotion
字数 11694阅读时长 30 分钟
2026-6-9
2026-6-18
type
Post
status
Published
date
Jun 9, 2026
slug
summary
tags
category
icon
password
comment
color
😀
认真学习

0. 总结

这篇论文想解决腿足机器人在稀疏落脚点地形上同时做到“踩得准、抗干扰、能泛化”的问题。作者提出一种端到端强化学习控制器,用 CNN + 多头注意力机制把地形高度图编码成与机器人当前状态相关的“可落脚区域”表示。实验表明,该方法在四足机器人 ANYmal-D 和人形机器人 GR-1 上都能迁移到真实世界,并在稀疏地形上比 DTC 和普通 RL 基线表现更好。

1. 研究问题(Research Problem)

论文的核心问题是:如何让腿足机器人在复杂、稀疏、未知地形上,用端到端学习方法实现精确、鲁棒、可泛化的动态行走?
这里的难点不是“能不能走路”,而是三件事要同时满足:
第一,精确落脚。在石块、窄梁、间隙、木托盘等地形上,能踩的地方很少,机器人必须知道下一步踩哪里。第二,鲁棒性。真实机器人有状态估计漂移、地图噪声、打滑、支撑物晃动、模型误差等问题。第三,泛化能力。不能只会训练时见过的几种地形,而要能迁移到新组合、新形状、新硬件。论文明确指出,已有方法还缺少一种端到端学习式方案,能够同时做到 sparse terrain 上的精确、鲁棒和泛化。
这个问题重要,是因为腿足机器人真正有价值的场景往往不是平地,而是废墟、工地、楼梯、石块、狭窄通道、室外非结构化环境。论文开头强调,腿足机器人相比轮式或履带机器人,潜力正在于进入这些复杂地形,但这些地形恰恰要求精确规划、抗干扰和跨地形泛化。

2. 研究背景(Background / Motivation)

以前主要有三类方法。
第一类是纯学习方法,尤其是深度强化学习。
这类方法很擅长通过仿真随机化获得鲁棒性,能处理噪声、模型误差和真实世界扰动。但问题是,在稀疏落脚点地形上,RL 很难自己“发现”有效落脚点;如果用简单 MLP policy,容易只适应少数地形,泛化能力差。论文提到已有 sparse terrain RL 方法需要人工 curriculum 调参,且容易过拟合;另一些方法只在“假踏石”或有限设置中验证,没有展示真实复杂地形泛化。
第二类是模型方法,例如 MPC、轨迹优化、接触规划。
这类方法的优势是精确:它们可以显式考虑动力学、运动学约束和落脚点规划,因此在复杂地形上往往能规划出合理脚步。但缺点也明显:它们依赖准确模型、准确状态估计、完整地图和简化动力学假设;真实部署时遇到模型不匹配、地图噪声、打滑、执行误差,就容易性能下降。
第三类是混合方法,例如 DTC。
混合方法希望用模型规划器提供精确参考,再用学习控制器增强鲁棒性。DTC 的思路就是用模型优化器生成参考轨迹,再训练 RL policy 去跟踪它。它确实结合了一些优点,但代价是系统复杂、训练和部署都依赖模型规划器;论文指出 DTC 训练中要同时跑 CPU 上的模型规划器和 GPU 上的训练流程,完整收敛约需 14 天,部署时还要运行 MPC,计算负担较大。
所以作者的动机很清楚:能不能让一个端到端神经网络自己学出类似“接触规划器”的功能,但又保留 RL 的鲁棒性?

3. 核心方法(Method Overview)

作者提出的方法叫 attention-based map encoding。它不是直接把整张高度图塞进 MLP,也不是外接一个模型规划器,而是让网络学会“在当前机器人状态下,地形图上哪些点最值得关注”。
整体结构可以理解为:
输入:
机器人本体感知信息,也就是 proprioception,例如机身速度、角速度、重力方向、关节位置、关节速度、上一时刻动作等;再加上机器人坐标系下的局部高度图 map scans。
第一步:CNN 提取局部地形特征。
高度图是一个 L×W×3L \times W \times 3L×W×3 的点阵,每个点有 3D 坐标。作者先用 CNN 处理高度值,提取每个地图点周围的局部地形信息,然后再把 CNN 特征和原始 3D 坐标拼接,得到每个地图点的 point-wise feature。
第二步:用机器人状态作为 Query,用地图点作为 Key/Value。
这是论文最核心的设计。机器人当前状态经过线性层变成 query;地图点特征作为 key 和 value;多头注意力模块根据“当前机器人状态 + 运动命令”去选择地图中最相关的区域。换句话说,同一块地形,在不同姿态、速度命令、运动方向下,网络关注的点会不同。
第三步:得到 map encoding,再由 MLP 输出关节动作。
注意力模块输出一个紧凑地形表示,和本体感知信息一起输入 MLP,最终生成关节级动作。整个系统是端到端 RL 训练,不需要人工标注“正确落脚点”。有意思的是,作者发现注意力权重自然集中到未来可能落脚的位置,这使得网络具有一定可解释性。
第四步:两阶段训练。
Stage 1:在基础地形上训练,使用完美感知,让网络先学会基本行走和地图编码。
Stage 2:加入更多复杂地形、感知噪声、地图漂移和扰动,让 policy 适应真实世界的不确定性。论文认为第一阶段对初始化 map encoding 很关键,第二阶段则提升真实部署的鲁棒性和泛化性。

4. 关键创新(Key Contributions)

这篇论文真正的新意不只是“用了 attention”,而是把 attention 放在了一个很关键的位置:让它承担隐式落脚点选择器的角色
第一,作者提出了一个以 proprioception 为条件的地图编码器。普通视觉编码器通常只是把地形图压缩成 latent vector;这篇论文让机器人当前状态主动去“查询”地形点,因此地形理解是状态相关的。比如同样一根梁,如果机器人要前进、侧移或转向,注意力会关注不同区域。
第二,它把模型规划器的一部分功能神经化了。论文在 Discussion 中明确指出,map encoding 模块有点像模型方法里的 contact planner,而后续 policy 像 whole-body controller;但不同的是,这里两者被端到端集成在一个 RL 控制器中,不需要部署时额外运行 MPC。
第三,它展示了较强的跨形态适用性。作者用同一框架分别训练了 12 DoF 四足机器人 ANYmal-D 和 23 DoF 人形机器人 GR-1,并在仿真和真实硬件上测试,包括训练中未见过的地形。
第四,它提供了可视化解释。Figure 7 展示了注意力权重在不同地形上的分布,红色更强的位置通常对应下一步可落脚区域;在一些不合理速度命令下,注意力甚至会“拒绝”跟随命令,而继续关注安全支撑区域。

5. 实验设计(Experiments)

这篇论文没有使用传统意义上的离线数据集,而是使用仿真生成地形 + 真实机器人测试
训练和测试地形包括 stairs、pits、rough ground、pallets、gaps、grid stones、beams,以及 stage 2 中加入的 pentagon stones、single-column stones、narrow pallets、consecutive gaps、rings、rough hills、narrow beams 等。补充材料中列出了 ANYmal-D 和 GR-1 各自的 base terrains 与 fine-tuning terrains。
对比方法主要包括:
  1. DTC:一种模型优化规划器 + RL 跟踪控制器的混合方法。
  1. Baseline-RL:近期用于 risky terrains / stepping stones / beams 的学习式基线。
  1. 消融实验:包括不用两阶段训练、直接从所有地形训练、直接带噪声训练、Transformer encoder、CNN downsampling、Vision Transformer 等结构对比。
主要结果有三类。
第一,和 DTC / Baseline-RL 比较。
在 ANYmal-D 仿真评估中,作者报告本文方法在整体成功率上比 DTC 高 26.5%,比 Baseline-RL 高 77.3%;同时速度跟踪误差整体更低,尤其在较高速度命令下 DTC 因固定步频导致误差变大,而本文方法可以随地形和速度调整步态频率。
第二,泛化实验。
GR-1 在 stage 1 只训练 grid stones、pallets、beams、gaps 等基础地形,却能泛化到 pentagon stones、single-column stones、narrow pallets、consecutive gaps;ANYmal-D 也表现出类似跨地形泛化。
第三,真实机器人实验。
作者将 fine-tuned policies zero-shot 部署到 ANYmal-D 和 GR-1 上,测试了 gaps、stepping stones、beams、随机踏石、带高度差踏石、19 cm 窄梁等真实 sparse terrains。论文还展示了机器人在打滑、支撑物晃动、不合适落脚点等情况下出现的恢复反射行为。
notion image

A. 精确且具有泛化能力的运动

我们在仿真环境中(图 2)以及大量真实世界实验中(图 1 和图 3),分别在 GR-1 和 ANYmal-D 机器人上测试了所学习到的策略,测试地形涵盖了多种不同类型,其中也包括训练阶段从未遇到过的地形。图 2A 展示了 GR-1 控制器的表现,该控制器在第一阶段从零开始训练,并在多种地形类型上表现出精确的落脚能力,例如网格踏石、托盘、横梁和间隙。尽管该控制器只在图 2A 中部分展示的基础地形类型上进行训练,但它仍然展现出对未见地形的泛化能力,包括五边形踏石、单列踏石、窄托盘和连续间隙,如图 2B 所示。这表明我们的控制器能够将学到的行为迁移到训练分布之外的新地形上。
notion image
在 ANYmal-D 控制器上也观察到了类似的泛化现象。尽管该控制器只在图 2E 所示的基础地形上训练,但它仍然能够适应并有效应对图 2D 所示的未见地形。需要注意的是,ANYmal-D 的运动学特性与 GR-1 不同,因此在训练时需要对地形选择进行调整;更多地形细节可见补充方法中的 “Training Details - Terrains” 部分。这说明我们的方法能够适应不同的机器人形态和不同的运动学、动力学特性,即使硬件存在差异,也能实现泛化能力。
notion image
为了进一步提升策略在更广泛地形上的精确性,以及在真实世界实验中的鲁棒性,我们在第二阶段对策略进行了微调,引入了额外的地形类型,并加入扰动和不确定性。这个微调过程提高了控制器在更复杂、更不可预测环境中的导航能力,增强了其在真实世界条件下的稳定性和适应性。我们在图 2C 中展示了最终得到的控制器:GR-1 和 ANYmal-D 都能以 100% 的成功率穿越由 Grandia 等人 [23] 设计的具有挑战性的障碍跑酷场景,该场景包含扰动和不确定性,并且在训练过程中从未出现过。值得注意的是,我们是首次使用在线控制器,使人形机器人能够在这种混合稀疏地形上实现动态运动。同样的控制器在真实世界部署中也表现出很高的鲁棒性,如图 1 和图 3 所示,结合了当前最先进的基于模型方法和基于学习方法的优点。
我们将经过微调的 ANYmal-D 和 GR-1 策略以零样本方式部署到真实硬件上。为了验证控制器的精确性和鲁棒性,我们在多种稀疏地形上进行了测试,包括间隙、踏石和横梁,如图 3 所示。我们的结果代表了机器人运动领域的一项进展,表明这种端到端的基于深度强化学习的控制器能够在广泛的挑战性地形上实现精确且具有泛化能力的表现。在我们之前,还没有其他端到端的基于深度强化学习的控制器达到这种程度的泛化能力。

B. 通过全身协调实现敏捷性和恢复反射

如图 4 所示,我们学习得到的策略在真实机器人上展现出了较高的敏捷性和鲁棒性。通过学习全身运动控制,ANYmal-D 和 GR-1 分别能够主动使用膝部(图 4A)和手臂(图 4C)来增强敏捷性。GR-1 摆臂的幅度和频率不仅会跟随步态变化,还会依赖于地形变化,这一点可以通过比较图 4C 和图 4D 观察到。自发涌现出的恢复行为能够帮助机器人从打滑中恢复(图 4B、E),或者在晃动的支撑物上保持稳定(图 4D)。
最值得注意的是,当当前落脚点和速度指令使下一步难以成功落地时(图 4F),我们观察到 GR-1 在一块踏石上执行了单腿切换跳跃动作:它将之前接触地面的脚抬到空中,并成功到达下一块踏石。所有这些反射行为都能提升系统稳定性,而这类行为通常很难通过基于模型的方法获得,因为基于模型的方法往往依赖接触状态机和人工设计的启发式规则 [23, 24, 37, 38]。
notion image

C. 多样化速度跟踪

我们学习到的策略能够以多样化的方式跟踪速度指令,详细的评估和基准测试见第 D 节。这使我们能够操控 ANYmal-D 在碎石废墟上运动。在图 5A 中,机器人克服了带有可移动支撑物的稀疏地形,并展示了全向运动的灵活性。我们也可以在具有挑战性的地形上,以不同速度指令控制 GR-1,例如一排不平整的踏石或晃动的平衡梁,从而产生不同的步态模式和全身运动行为,如图 5B 和图 5C 所示。这种多样化能力可以扩展机器人在复杂地形和狭窄空间中的作业范围。
notion image

D. 基于仿真的评估

D.1. 与 DTC 和基线 RL 控制器的基准比较

在第一个评估实验中,我们评估了三种不同控制器在 ANYmal-D 上动态穿越稀疏地形的性能:本文提出的方法、DTC [1],以及 baseline-rl [13]。其中 baseline-rl 是近期一种基于学习的控制器,已经在踏石和横梁地形上的真实硬件实验中展示了成功表现。
为此,我们采用了与 [1] 类似的三个比较指标,包括:1)速度跟踪性能;2)在各控制器训练过的地形上的成功率、失败率和卡住率;3)在单个地形上的成功率。所有控制器都被部署在相同的仿真环境中,并使用相同随机种子采样得到的观测噪声和漂移。
由于 baseline-rl 是在目标到达任务设定下设计的,并且目前文献中还没有一种专门针对稀疏地形的、基于学习的速度跟踪控制器能够在硬件性能上与 DTC 相匹敌,因此我们只在速度跟踪方面比较本文方法和 DTC,如图 6Aa 所示。配备不同控制器的智能体被部署在若干两种控制器都能穿越的稀疏地形上,并给定恒定的前进速度指令。速度跟踪误差只针对仍然存活的智能体进行计算。
结果表明,除小速度指令下的间隙地形外,我们的方法表现出明显更低的跟踪误差。在小速度穿越间隙时,两种控制器的智能体都会犹豫是否继续前进。值得注意的是,在较大速度指令下,DTC 表现出较高的跟踪误差。这主要是因为 DTC 使用固定步态频率,当速度指令增大时,目标落脚点会变得更远,也更难跟踪。相比之下,我们的方法能够根据不同地形和不同速度指令调整步态频率。
图 6Ab 展示了三种控制器在完整训练地形集合上的成功率、失败率和卡住率。与 DTC 和 baseline RL 相比,我们的方法成功率分别提高了 26.5% 和 77.3%。DTC 和 baseline RL 整体成功率较低的原因可以通过图 6Ac 解释。DTC 在网格踏石、较小网格踏石和窄梁上的成功率低于 20%,其中网格踏石是随机放置的 20 cm × 20 cm 方形踏石,较小网格踏石是随机放置的 12 cm × 12 cm 方形踏石,窄梁宽度为 15 cm。这主要是因为在这些地形上,支撑面小于基于模型的规划器能够接受为“可踩踏区域”的阈值,因此高层控制器会给出不可行的落脚引导。baseline RL 控制器则过拟合于网格踏石,这解释了它在其他地形上的低成功率。

D.2. 两阶段训练的消融实验

为了验证本文提出的两阶段训练流程,以及第一阶段初始化地图编码学习、第二阶段再引入更多地形和不确定性的必要性,我们详细研究并比较了三个控制器的训练性能和部署性能。
第一个控制器使用本文提出的训练流程:先在基础地形上使用特权观测,也就是 ground truth,进行训练;然后在所有地形上进行微调,包括基础地形和微调地形,同时加入传感器漂移和噪声。
第二个控制器 C2 从零开始在所有地形上训练,并使用特权观测。
第三个控制器 C3 从零开始在基础地形上训练,并加入传感器漂移和噪声。
我们使用 terrain level,即地形等级 [6],来比较它们的训练性能。地形共有 10 个难度等级,编号从 0 到 9。所有机器人都会被随机分配一种地形类型和一个难度等级。如果机器人走出了被分配地形的边界,就会升级到更高难度等级;否则就会降级到较低等级。成功通过最高难度等级的机器人随后会被重置到一个随机等级。如果所有机器人都能解决最困难的地形,那么平均等级会趋近于 6。理想训练过程中的地形等级曲线应当先超过 6,因为机器人尝试升级到更高难度等级;随后再收敛到 6,这是当所有机器人都能解决各自地形时形成的稳定分布。
图 6Ba 表明,我们提出的方法最终收敛到的地形等级显示,大多数机器人都能够解决最高难度等级。然而,C2 无法达到相同的地形等级,这意味着智能体未能升级到更高难度等级。C3 则无法收敛回 6,说明智能体无法解决最困难的等级。
随后,我们部署这些控制器,并比较它们在不同地形上的成功率,如图 6Bb 所示。我们的方法在几乎所有地形上的成功率都显著高于 C2 和 C3。即使在测试时使用完美感知,C2 的表现仍然最差。C3 虽然在楼梯、坑洞和崎岖地形上表现出令人满意的成功率,但在稀疏地形上,例如网格踏石、横梁等,表现较差。
notion image

D.3. 网络结构的消融实验

我们的基于注意力机制的地图编码由两个层次组成:1)一个低层 CNN,用于嵌入局部地形特征;2)一个 MHA 模块,用于查询逐点局部特征,并将其与本体感知观测相结合。
为了证明按照我们提出的方式使用 MHA 模块是有效的,我们将本文方法与类似于 [33] 的 Transformer encoder 进行比较。为了证明逐点注意力的必要性,我们还使用另一个 CNN 对地图输入进行下采样,而不是只提取局部特征且不进行下采样。作为另一个对比,我们还使用了 Vision Transformer encoder [39] 来处理地图扫描。详细结构可见补充方法中的 “Ablation Study Details - network structures” 部分。
与第 D.2 节类似,我们通过地形等级和成功率,比较上述三种网络结构与本文方法的训练性能和部署性能,结果分别如图 6Ca 和图 6Cb 所示。比较结果表明,我们的方法在训练过程中具有更高的收敛地形等级,在部署过程中也具有更高的成功率。更值得注意的是,我们的方法在未见地形上的成功率显著更高,这说明它相比其他潜在网络结构具有更好的泛化能力。

E. 可解释的基于注意力机制的地图编码

为了进一步说明本文提出的基于注意力机制的地图编码所带来的可解释性,我们对 MHA 模块在不同类型地形上的注意力权重进行了详细可视化。MHA 模块会根据机器人的本体感知信息,对可踩踏区域分配更高注意力,并在对应的地图扫描点上赋予更高的注意力权重。这些可视化结果展示了模型如何优先关注环境中的特定区域,从而引导控制器穿越复杂的非连续地形。
图 7A 展示了第二阶段微调后的控制器在混合地形上的注意力权重。该混合地形结合了多种地形元素。注意力权重集中在下一个可踩踏区域附近,这表明 MHA 模块起到了引导作用,能够将控制器指向可行的落脚点,从而保证稳定性。
图 7B 展示了机器人在第一阶段训练中遇到的多种地形上,当被命令朝不同方向运动时的注意力权重。这些地形包括网格踏石、托盘、单根横梁和间隙。具体而言,图 7B 中,B1、B5、B9 分别对应网格踏石上的前进、侧向移动和转向;B2、B6、B10 分别对应托盘上的前进、侧向移动和转向;B3、B7、B11 分别对应单根横梁上的前进、侧向移动和转向;B4、B8、B12 分别对应间隙地形上的前进、侧向移动和转向。
这些地形具有不同的结构特征,会要求模型根据机器人的运动学和动力学特性,将注意力有效分配到关键区域,以支持合理落脚。值得注意的是,注意力机制有时会拒绝跟随不可行的速度指令。例如,如图 7Bk 所示,尽管智能体被命令转向,但注意力仍然停留在横梁上,而不是为了跟随指令转向地面区域。
此外,图 7C 展示了第一阶段控制器如何泛化到未见地形,例如五边形踏石、窄托盘、单列踏石和连续间隙,分别对应 C1、C2、C3 和 C4。这突出了注意力机制在适应新环境时的泛化能力。
这些可视化结果反映出,模型能够根据机器人的本体感知信息和运动指令动态调整关注区域,从而促进机器人在多样且不可预测的地形上实现高效、安全的运动。注意力分配中表现出的一致模式支持了我们的观点:MHA 模块能够增强复杂运动任务中的可解释性和泛化能力。
notion image

6. 优点与局限(Strengths & Limitations)

优点:
最重要的优点是,论文把“精确落脚”和“端到端鲁棒学习”结合得比较自然。过去精确落脚更依赖模型规划器,而鲁棒性更依赖 RL;这篇论文用注意力机制在 RL policy 内部学出一种隐式接触选择能力。
第二,实验说服力较强。它不仅有仿真 benchmark,还有真实 ANYmal-D 和 GR-1 硬件部署;而且既有四足又有人形,说明方法不是只针对单一机器人形态调出来的。
第三,可解释性是一个亮点。注意力权重可视化让我们看到网络大概在“看哪里”,这对机器人学习尤其重要,因为传统黑箱 policy 很难判断它是否真的理解了地形。
局限:
作者自己承认,训练 policy 需要数天,调参效率不高;使用的是 2.5D height map,在狭窄空间或需要完整 3D 理解的场景中可能不适用;另外,本文重点是 locomotion,没有解决手臂同时承担运动辅助和操作任务的权衡问题。
除此之外,我认为还有几个隐含局限。第一,虽然 attention 可视化很有启发,但 attention 高并不严格等于“因果上决定了落脚”,还需要更系统的干预实验验证。第二,真实硬件实验很丰富,但更偏展示式,还不是大规模标准化 benchmark。第三,方法依赖局部高度图质量,如果感知系统在雨雪、反光、遮挡、动态障碍物中退化严重,性能边界还需要进一步研究。

7. 科研启发(Research Insights)

这篇论文的一个重要启发是:可以用 attention 做“可微、可学习、隐式的规划器”。
过去机器人系统往往把感知、落脚点规划、轨迹优化、控制分成多个模块;这篇论文说明,某些规划功能可以嵌入神经网络结构中,通过端到端 RL 学出来,同时还能保留一定可解释性。
可以继续改进的方向包括:
第一,提升训练效率。可以考虑用模型规划器生成数据进行 imitation pretraining,再用 RL fine-tune;或者对地图编码器做自监督预训练,减少从零开始强化学习的成本。
第二,增强 3D 表示。作者目前使用 2.5D height map,未来可以探索点云、体素、occupancy、signed distance field 或多视角 3D 表示,以处理狭窄空间、台阶下沿、悬空结构、洞穴和室内复杂障碍物。
第三,验证 attention 的因果性。可以做 occlusion、attention intervention、counterfactual terrain editing:人为删除高注意力区域或移动可落脚点,看 policy 是否随之改变动作。
第四,扩展到 loco-manipulation。GR-1 的手臂在本文中主要用于平衡和运动辅助,但未来人形机器人需要同时开门、搬物、扶墙、攀爬;如何让 attention 同时关注“脚能踩哪里”和“手能抓哪里”是很自然的下一步。
第五,加入安全约束。端到端 RL 的动作灵活,但安全保证弱。可以研究 attention policy 与控制屏障函数、MPC safety filter、接触可行性约束结合,使其更适合真实部署。

8. 方法

动机

我们可以推导出一个通用的抽象模型,用来描述基于模型的方法、基于学习的方法以及混合方法之间的共同点,如图 8A 所示。总体而言,一个编码器会观测本体感知信息和外部感知信息,并输出一个潜在表示;随后,该潜在表示被输入到后续的策略模块中,用于生成动作。
对于基于模型的控制器来说,编码器可以被理解为一个高层规划器,它会在预测时域内预测机器人基座轨迹、关节角度和落脚点。后续的策略模块则可以被理解为一个全身控制器,用于生成相应动作,以跟踪规划器给出的解。类似地,对于基于学习的控制器,Rudin 等人 [6] 使用单个多层感知机(MLP)来嵌入观测信息并生成动作。Miki 等人 [3] 引入了一个信念编码器,在传感器输入退化时重建外部感知信息,然后将重建后的表示传递给后续模块。对于混合方法,一些工作 [29, 41] 使用神经网络作为编码器来生成落脚点,再由基于模型的全身控制器作为后续模块来跟踪这些落脚点。Jenelten 等人 [1] 则使用 TAMOLS 作为编码器来生成基座轨迹和落脚点,并使用一个 MLP 策略来跟踪 TAMOLS 的解。尽管这些运动控制策略形式各异,但它们在控制流程上具有内在相似性。
基于这一通用抽象框架,我们可以分析上述不同控制策略在鲁棒性、精确性和泛化能力方面产生差异的原因。基于模型的控制器通常表现出很高的精确性,其中基于模型的规划器充当观测编码器。基于模型的规划器利用轨迹优化,根据地图扫描和机器人状态预测落脚点和基座运动,同时满足机器人运动学和动力学约束。然而,由于它们无法有效处理模型不匹配和不确定性,因此往往鲁棒性较差。相比之下,基于学习的方法通常具有更强的鲁棒性,因为它们的编码器采用神经网络;在经过适当的领域随机化训练后,神经网络更擅长处理不确定性。尽管如此,这类方法通常精确性较低,因为很难在神经网络上施加硬约束;同时,由于容易过拟合,它们对新地形的泛化能力也较弱。
基于这些考虑,我们将编码器视为开发一种能够在不同地形上平衡精确性、鲁棒性和泛化能力的控制策略的关键组成部分。在本文中,我们提出了一种基于注意力机制的神经运动控制器架构。该架构使用多头注意力模块,在本体感知信息的条件下对外部感知信息进行编码,因此能够根据机器人当前状态预测精确的落脚位置,如图 8B 所示。
notion image

基于多头注意力的地图编码

多头注意力(Multi-Head Attention, MHA)[32] 是一种神经表示机制,它已经深刻改变了深度学习。其核心思想是,MHA 能够使模型关注输入中重要的部分,并通过生成多个并行的注意力输出,即通常所说的多个 “head”,来丰富表示能力。因此,MHA 可以通过识别重要输入来增强可解释性,并通过减弱不重要输入变化带来的影响来提高泛化能力。这些特性与我们对运动控制器的需求相契合,即控制器需要能够在多样化地形上工作,同时具备可解释性和泛化能力。
从技术上讲,在我们的工作中,MHA 的输入包括一个查询(query)以及一组键值对(key-value pairs)。其输出通过对 value 进行加权求和得到,而每个 value 的权重由 query 与对应 key 之间的匹配程度决定。这个过程可以理解为:模型会对那些 key 与 query 输入最相关的 value 分配更多注意力。
这种解释可以自然地迁移到我们的任务中。在我们的场景下,我们希望 MHA 模块能够基于当前的本体感知数据和运动指令,更加关注最优的可踩踏区域。为此,我们使用本体感知嵌入作为 query,并使用逐点局部地形特征作为 key-value 对,从而得到一种以本体感知信息为条件的地图编码。相比 MLP,这种结构表达能力更强;换句话说,它更适合建模本体感知信息和外部感知信息之间复杂的关系,因为分配给地图扫描点的注意力权重是依赖于机器人状态的。随后,MHA 的输出会被后续策略模块转换为关节级动作。
如图 8B 所示,地图扫描由的点阵组成,其中L表示长度方向上的点数,W表示宽度方向上的点数,每个点都包含机器人坐标系下的三维坐标。这些地图扫描构成外部感知观测。首先,点的 z 值会被一个卷积神经网络(CNN)处理。该 CNN 由两层组成,使用零填充来保持原始维度不变,并采用大小为 5 的卷积核来提取每个点的局部特征。第一层有 16 个隐藏单元,第二层有 个隐藏单元,其中d是 MHA 模块的维度,在我们的设置中为 64。
然后,我们将 CNN 的输出与三维坐标拼接起来,得到形状为的逐点局部特征。这些局部特征提取了每个地图点周围邻域的信息,使后续的 MHA 模块能够进行逐点注意力分配。
与此同时,本体感知信息首先经过一个线性层,输出一个本体感知嵌入。接着,以该本体感知嵌入作为 query,即 Q,其中表示 MHA 的 query 长度;以局部地图特征作为 key 和 value,即 K 和 V。MHA 模块随后输出地图编码,其中每个注意力头处理输入中 d/h 维的信息,h表示注意力头的数量。

两阶段训练流程

为了学习一种鲁棒且具有泛化能力的地图编码,我们设计了一个两阶段训练流程,用于逐步提升控制器的能力。
在第一阶段,控制器在基础地形上训练,并使用完美感知信息。该阶段用于预热地图编码的学习过程,并使控制器能够利用真实值感知信息,即 ground truth sensing,获得基本运动技能。
在第二阶段,我们引入更复杂的地形,并加入扰动和不确定性。这些地形模拟了更真实的环境,在这些环境中,感知信息可能并不完美,从而使学习到的运动更加适应复杂情况并具有更强的恢复能力。通过让机器人接触更广泛的地形,并加入额外扰动,该阶段提升了控制器在多样化地形上的泛化能力,同时增强了其对真实世界不确定性的鲁棒性,从而确保最终学习到的地图编码能够在未见环境中有效工作。

观测空间

策略网络会观测机器人中心基座坐标系下的本体感知信息和地图扫描信息。其中,ANYmal-D 的躯干连杆被视为基座,GR-1 的骨盆连杆被视为基座。
观测信息包括:基座线速度、角速度、重力向量 、关节位置和关节速度 、由控制策略推断出的上一时刻动作,以及围绕机器人基座的向量化地图扫描信息。地图扫描总共包含 个点,其中L和W分别表示长度和宽度。
评论家网络,也就是 critic network,观测相同的信息,但不加入噪声。相关符号在表 1 中进行了说明。
notion image

奖励函数

对于 ANYmal-D,奖励函数由 14 个加权项组成;对于 GR-1,奖励函数由 16 个加权项组成,具体细节见表 2。我们将奖励设置分为三类:任务奖励、调节奖励和风格奖励。
任务奖励包括跟踪给定的线速度和角速度指令,同时避免在地形上发生失败。其中, 定义为特定身体部位与地形发生碰撞的次数,}定义为提前终止的次数。当躯干与地形发生碰撞,或者躯干姿态异常时,我们会终止该回合。
调节奖励用于平滑动作,并避免剧烈运动、过大力矩以及关节过度伸展。
为了生成更加自然的运动,我们还引入了风格奖励,用于惩罚不期望的速度、跺脚、足端打滑、跳跃式步态以及身体部位倾斜等行为。为了限制 GR-1 手臂的运动,我们还引入了一个奖励项:当手臂关节偏离默认关节位置超过特定阈值时,对其进行惩罚。
在使用上述奖励函数获得一个基础控制器之后,我们在第二阶段对控制器进行了微调,以提高站立状态下从仿真到真实世界迁移的性能。在这一阶段,当机器人处于支撑相时,我们会惩罚关节运动;这些奖励项在表 2 中以橙色标出。
notion image

训练环境

我们使用一个自定义版本的近端策略优化算法(Proximal Policy Optimization, PPO)[42] 进行训练,并采用两阶段训练流程。首先,我们使用特权观测信息同时训练 actor 和 critic 的控制器;随后,在微调阶段,对 actor 加入噪声和扰动,而 critic 仍然使用特权信息。
actor 和 critic 使用相同的网络结构,如图 8B 所示。它们共享同一个编码器模块,但使用不同的后续 MLP。actor 的 MLP 将 MHA 的输出映射为关节动作,而 critic 的 MLP 则将其映射为一个价值估计。超参数的详细设置见补充方法中的 “Training Details - PPO parameters” 部分。
领域随机化
我们向非特权观测信息中加入噪声。在每一个仿真步中,都会从均匀分布中采样一个自定义噪声,并将其加入到每个观测项中,但上一时刻动作和速度指令除外。
对于地图扫描信息,我们还会在训练开始时,为每种地形从正态分布中采样随机漂移。这些扰动主要用于提高控制器在部署时抵抗传感器漂移的鲁棒性。
此外,我们还通过在仿真中重置机器人的速度扭量,即 twist,来引入人为推动。为了提高控制器对载荷变化和摩擦变化的鲁棒性,我们还随机化了躯干质量以及每个接触足的摩擦系数。
地形与课程学习
我们在每个训练阶段使用不同的地形设置,具体细节见补充方法中的 “Training Details - Terrains” 部分。对于每个训练阶段,我们都使用了 [6] 中提出的课程学习方法。
在训练开始时,所有机器人都会被随机分配一种地形类型和一个难度等级,难度等级总共有 10 个。在训练过程中,如果机器人成功走出被分配地形的边界,就会升级到下一个难度等级;否则就会降级到较低难度等级。
每种地形的难度等级通过启发式方式进行调整,使支撑面足够大,能够匹配地图扫描分辨率,同时难度不会超过机器人的最大能力。例如,当地图分辨率为 10 cm 时,踏石尺寸应大于 10 cm;间隙宽度不应超过四足机器人的身体长度,或者在人形机器人假设采用行走步态时,不应超过其双脚之间可能达到的最大距离,也就是至少有一只脚始终接触地面。

训练

对于 ANYmal-D 和 Fourier GR-1,网络参数基本相同,唯一的区别是 GR-1 的地图扫描维度为 17×1117 \times 1117×11,小于 ANYmal-D 的 26×1626 \times 1626×16。我们将 MHA 的维度设置为 d=64d = 64d=64,目标序列长度设置为 n=1n = 1n=1,注意力头的数量设置为 h=16h = 16h=16。
随后,我们通过大规模并行化训练 ANYmal 控制器,在第一阶段使用 4096 个机器人训练 18000 个 epoch,在第二阶段训练 3600 个 epoch。每个 epoch 的训练时间为 24 秒,因此在一块 Nvidia Tesla A100-40GB GPU 上的总训练时间为 6 天。与 DTC 相比,训练时间大约减少了 60%。
对于 GR-1 控制器,我们在第一阶段训练 15000 个 epoch,在第二阶段训练 3200 个 epoch,每个 epoch 需要 14 秒。因此,在一块 Nvidia RTX 4090 GPU 上,总训练时间为 3.5 天。

部署

我们使用 ANYmal-D 和 GR-1 进行了实验。对于 ANYmal-D,控制策略的推理在单个 Intel Core i7-8850H CPU 上完成,而高程地图构建 [31] 则运行在机载 Nvidia Jetson 上。
对于 GR-1,策略推理在 Intel Core i7-13700H CPU 上完成。地图扫描则是在预先设计的地形网格上,通过射线投射进行采样;机器人位姿由 Qualisys 运动捕捉系统 [43] 获取。
 

义父,请我喝杯蜜雪冰城吧。
notion image
notion image
 
上一篇
修改NotionNext及HEO主题,支持自定义封面颜色
下一篇
【读论文005】ANYmal parkour: Learning agile navigation for quadrupedal robots

评论
Loading...