type
Post
status
Published
date
Jun 8, 2026
slug
summary
tags
论文笔记
category
论文笔记
icon
password
comment
color
仔细学习
0. 总结
这篇论文解决的是:四足机器人如何在真实野外环境中既利用视觉/深度感知提前规划步态,又不被错误感知害死。作者提出一个基于特权学习 + 学生策略蒸馏 + 注意力式循环 belief encoder的方法,让机器人能在外感知可靠时大胆用视觉,在视觉失败时退回本体感知。最终系统在 ANYmal-C 上实现了很强的真实部署效果,包括复杂地形、雪地、楼梯、洞穴环境,以及瑞士 Etzel 山 2.2 km 徒步路线。

1. 研究问题(Research Problem)
论文想解决的核心问题是:如何让四足机器人在真实世界中鲁棒地使用外感知信息进行高速运动控制。
外感知,比如深度相机、LiDAR、地形高度图,可以让机器人在脚落地之前知道前方是不是台阶、坑、坡或障碍物,从而提前抬腿、调整身体姿态、选择落脚方式。但真实世界里的外感知很不稳定:雪、植被、水、反光地面、透明物体、低光照、遮挡、雾、灰尘都会让深度感知或高度图出现缺失、噪声或误导信息。作者指出,过去最鲁棒的腿式运动方案往往干脆不用视觉,只依赖本体感知,但这样机器人必须“踩到之后才知道地形”,速度和优雅性都受限。
这个问题重要,是因为腿式机器人真正有价值的应用场景往往是矿洞、灾害现场、山地、工业巡检、地下空间等非结构化环境。单纯能在实验室走楼梯不够,真正难的是:感知不准时不能摔,感知准时又要走得快。
2. 研究背景(Background / Motivation)
以前主要有三类方法。
第一类是基于模型和地图的规划方法:先构建地形高度图,再基于手工代价函数或优化器选择落脚点、生成轨迹。离线方法通常假设有完整预扫描地图;在线方法则用 onboard 传感器实时建图并重规划。问题是这些方法普遍假设地图质量足够好,而真实环境中的高度图会受反光、遮挡、软地面、定位误差等影响。
第二类是强化学习的盲行或本体感知 locomotion。这类方法可以通过 sim-to-real 训练出很鲁棒的运动控制器,典型优点是能处理接触、不规则地形和一定扰动;但很多方法不使用视觉,因此无法提前预判台阶或大障碍,只能靠身体接触后再适应。
第三类是结合外感知的学习式或混合式方法,例如学习落脚点规划器再配合模型控制器。但作者认为这些方法通常仍依赖较可靠的地图,在实验室或规则刚性地形上表现较好,到了野外就容易受地图质量限制。
所以本文的动机不是“给机器人加视觉”这么简单,而是要解决更难的问题:视觉可靠时用视觉,视觉不可靠时不要盲目信视觉。
3. 核心方法(Method Overview)
作者的方法可以理解为三阶段。
第一阶段,训练一个Teacher policy。Teacher 在仿真中训练,有“作弊信息”或特权信息,比如真实地形高度、摩擦系数、接触力、外部扰动等。它用 PPO 强化学习学会在各种随机地形上按照目标速度行走。Teacher 的作用是学出“如果我知道真实世界状态,最优动作大概应该是什么”。
第二阶段,训练一个Student policy。Student 不能看到特权信息,只能看到真实机器人上能获得的信息:本体感知和带噪声的高度扫描。Student 的核心是一个循环 belief encoder,它把过去一段时间的本体感知和外感知融合成一个 belief state,再用这个 belief state 输出动作。训练时有两个损失:一个是模仿 Teacher 动作的 behavior cloning loss,另一个是从 belief state 重构真实高度和特权信息的 reconstruction loss。
第三阶段,把 Student 直接部署到真实 ANYmal-C 上,不做 fine-tuning。真实机器人通过 LiDAR 或 RealSense 构建机器人中心的 2.5D elevation map,策略以 50 Hz 运行,从地图中采样高度点,同时结合本体感知输出关节目标。第10页的流程图清楚展示了 Teacher 训练、Student 蒸馏和真实部署三部分。
最关键的结构是带注意力门控的 recurrent belief encoder。它用 GRU 保存历史信息,并通过 gate/attention 控制外感知信息进入 belief state 的程度。直观理解是:网络学会判断“眼睛看到的东西现在值不值得信”。第13页的图展示了高度扫描噪声模型、不同地图失败模式,以及 belief encoder/decoder 的结构。
作者还专门设计了外感知噪声随机化:包括采样点横向偏移、高度扰动、每个点/每只脚/每个 episode 的噪声,以及三种地图质量模式:正常噪声、大偏移、极大噪声;三种模式在训练 episode 中按 60%、30%、10% 采样。这使 Student 在训练时就见过类似野外的地图失败。
4. 关键创新(Key Contributions)
这篇论文真正的新意在于:它不是简单把高度图输入策略网络,而是把“使用外感知”变成一个不确定条件下的 belief estimation 问题。
第一,作者提出了一个能融合本体感知和外感知的循环 belief encoder。它不是用人工规则判断地图可信度,而是端到端学习什么时候该信视觉、什么时候该退回本体感知。
第二,作者把 privileged learning 用得很合适:Teacher 在仿真中看到真实世界状态,Student 只能看到噪声观测,但通过模仿和重构学习到近似 Teacher 的行为。这相当于让 Student 学会从不完整观测中“猜出”对 locomotion 有用的隐藏状态。
第三,论文系统性地模拟了真实外感知失败,而不是只做普通 domain randomization。比如地图漂移、深度缺失、遮挡、软地面导致的高度误差,这些都被纳入训练。
第四,实验不是只在仿真或实验室完成,而是大量真实部署:自然地形、城市楼梯、地下洞穴、雪地、湿滑地面、植被、低光照等都覆盖到了。第2页的图展示了多季节、多环境测试,并声称这些复杂环境中没有失败。
5. 实验设计(Experiments)
这篇论文没有传统意义上的固定公开数据集。它的“数据集/环境”主要包括:RaiSim 中随机生成的训练地形,以及真实 ANYmal-C 机器人在野外、城市、地下、楼梯、雪地等环境中的测试。补充材料中还包含随机地形仿真评估,例如 300 次 trial,用固定 0.7 m/s 前进速度测试是否能无失败穿越 4 m。
主要对比方法是 Lee et al. [4] 的纯本体感知 baseline,也就是不使用外感知的强化学习四足 locomotion 控制器。论文还对 Boston Dynamics Spot 的楼梯模式做了定性对比:Spot 需要专门楼梯模式和正确朝向,而本文控制器可以不切模式地以不同方向走楼梯。
核心实验结果很有说服力:
在固定高度台阶实验中,baseline 在 20 cm 左右成功率明显下降,而本文方法可以可靠跨越最高约 30.5 cm 的台阶。
在障碍路线实验中,本文方法 33 秒无人工帮助完成;baseline 需要人工帮助,花了 75 秒,并且在三个障碍处都卡住。
在速度实验中,本文方法在平地前进/侧向速度达到约 1.2 m/s,而 baseline 约 0.6 m/s;转向速度本文约 3 rad/s,baseline 约 0.6 rad/s,也就是约 5 倍差距。

在 Etzel 山徒步实验中,ANYmal 完成 2.2 km、120 m 爬升、最大坡度约 38% 的路线;到山顶用时 31 分钟,快于路牌给的人类 35 分钟参考时间;全程 78 分钟,接近徒步规划器给出的 76 分钟,并且没有摔倒。


作者还做了感知失败实验:软泡沫障碍看起来像实体但不能支撑,透明障碍看不见,传感器被遮挡,湿滑平台导致里程计漂移。第9页的可视化显示,belief state 会在接触后修正对地形高度或摩擦的估计,说明网络确实学到了一种“边走边修正认知”的机制。

6. 优点与局限(Strengths & Limitations)
这篇论文的优点很明显。
它解决了腿式机器人中一个很实际的问题:外感知有用但不可靠。很多论文只证明“有视觉可以走得更快”,但本文更关注“视觉错了怎么办”。这也是它比普通 perceptive locomotion 更有价值的地方。
第二,方法工程闭环完整:仿真训练、特权学习、噪声建模、真实 elevation mapping、50 Hz 控制、不同传感器部署都串起来了,不只是一个网络结构创新。
第三,真实实验非常强。山地、楼梯、雪地、洞穴、湿滑、植被、反光、遮挡等环境覆盖面很广,这让论文的说服力明显高于只在仿真或实验室台阶上验证的方法。
局限也值得注意。
第一,belief state 中的不确定性目前主要是隐式使用。作者自己提到,在窄悬崖、踏脚石等场景中,高度图因遮挡无法提供足够信息,策略可能错误地假设前方是连续地面,导致踩空。
第二,系统仍依赖中间 elevation map,而不是直接吃原始点云或图像。这样虽然带来传感器无关性,但也会丢掉材质、纹理等信息;比如雪、草、泡沫、湿滑地面,本质上不只是几何高度问题。
第三,地图构建和位姿估计模块不是和控制策略端到端联合训练的。真实系统中,打滑或软地面会破坏里程计假设,从而让地图漂移。论文的方法能一定程度容忍这种失败,但没有从根本上解决 perception-state estimation-control 的联合优化问题。
第四,它仍然主要处理“正常行走范式”内的问题。作者指出,像腿卡进窄洞、爬上很高平台这类需要完全不同机动动作的任务,目前还做不了。
7. 科研启发(Research Insights)
这篇论文给人的最大启发是:机器人感知控制不应只问“地图准不准”,而应让策略学习“地图什么时候可信”。
可以继续做的方向包括:
一是显式不确定性建模。当前 belief state 隐式包含不确定性,但策略没有显式输出“我不确定这里能不能踩”。未来可以让机器人在不确定时主动探测,比如先用脚轻触地面再决定是否承重。这个方向与作者在 Discussion 中提到的 uncertainty-aware behavior 很一致。
二是从 elevation map 走向原始多模态输入。高度图适合几何,但对材质、湿滑、松软、透明、植被等信息表达不足。未来可以融合 RGB、点云强度、触觉、足端力、事件相机或热成像,让策略不仅知道“哪里高”,还知道“那里能不能踩”。
三是把 state estimation、mapping 和 control 联合起来。本文的控制器能忍受地图漂移,但地图仍来自传统位姿估计和 elevation mapping。如果后续能端到端地把接触、滑移、视觉和控制联合优化,可能进一步提升野外可靠性。
四是把 locomotion 与高层导航结合。本文更关注局部运动控制;未来可以研究如何让高层 planner 理解低层控制器的可通行性、不确定性和风险,从而规划更安全的路线。
8. 方法
概述
我们首先在仿真中训练一个神经网络策略,然后进行零样本的仿真到现实迁移。我们的方法包含三个阶段,如图 6 所示。

首先,使用强化学习训练一个教师策略,使其能够在随机生成的地形上、面对随机扰动时,跟踪随机目标速度。该策略可以访问特权信息,例如无噪声的地形测量、地面摩擦系数,以及被引入的扰动信息。
第二阶段,训练一个学生策略,使其在不使用这些特权信息的情况下复现教师策略的动作。学生策略使用一个循环编码器构建信念状态,以捕捉不可直接观测的信息,并基于该信念状态输出动作。在训练过程中,我们使用两种损失函数:行为克隆损失和重构损失。行为克隆损失的目标是模仿教师策略;重构损失则鼓励编码器产生信息丰富的内部表示。
最后,我们将训练好的学生策略迁移到实体机器人上,并使用机载传感器在真实世界中部署。机器人通过整合机载传感器获得的深度数据来构建高程图,并从构建出的高程图中采样高度读数,作为策略的外感知输入。这个外感知输入与本体感知数据结合后,一起输入神经网络,神经网络随后生成执行器控制指令。
问题定义
我们将控制问题表述为离散时间动力学问题。在时间步t,环境由状态完全定义。策略执行动作 ,并通过观测来观察环境,其中观测来自观测模型:
随后,环境以转移概率 转移到下一个状态,并返回奖励。
当所有状态都是可观测的,即 时,这可以被视为一个马尔可夫决策过程,即 MDP。然而,当存在不可观测信息时,例如在我们的任务中存在外部力或完整地形信息不可见的情况,动力学就被建模为部分可观测马尔可夫决策过程,即 POMDP。
强化学习的目标是找到一个策略,使其最大化未来轨迹上的期望折扣奖励:
目前已经有许多强化学习算法可以解决完全可观测的 MDP,并且可以直接用于训练。然而,POMDP 的情况更具挑战性,因为状态并不是完全可观测的。常见的解决方法是根据历史观测序列 构造一个信念状态,试图用它来捕捉完整状态。在深度强化学习中,这通常通过堆叠一段过去的观测序列来实现,或者使用能够压缩历史信息的网络结构,例如循环神经网络 RNN 或时间卷积网络 TCN。
从零开始直接训练一个能够处理序列数据的复杂神经网络策略,可能会非常耗时。因此,我们采用特权学习。具体来说,我们首先训练一个能够访问特权信息的教师策略,然后通过监督学习将教师策略蒸馏为学生策略。
训练环境
我们使用 RaiSim 作为仿真器来构建训练环境。在该环境中,我们并行仿真多个 ANYmal-C 机器人,让它们在随机生成的崎岖地形上运动,并集成执行器模型,以缩小仿真与现实之间的差距。
地形
我们定义了参数化地形,如图 6.1 所示。地形被建模为高度图;更多细节见补充材料 S4。
除了由各种坡面和台阶组成的地形外,我们还在训练环境中建模了四种不同类型的楼梯:标准楼梯、开放式楼梯、带边缘的楼梯和随机楼梯。我们使用盒子来构成楼梯,因为如果用高度图来建模楼梯立面,立面并不会是完全垂直的;我们观察到,策略会在仿真中利用这些非垂直边缘,导致较差的仿真到现实迁移效果。
域随机化
在每个 episode 中,我们会随机化机器人身体和腿部的质量、初始关节位置和速度,以及初始机体姿态和速度。此外,我们还会向机器人机身施加外部力和力矩,并偶尔将足端摩擦系数设置为较低值,以引入打滑现象。
终止条件
当机器人达到不期望的状态时,我们会终止当前训练 episode,并开始新的 episode。终止条件包括:机身与地面发生碰撞、机身出现较大倾斜,以及超过执行器的关节力矩限制。这些终止条件有助于塑造机器人的运动行为,并获得满足约束的运动策略。
教师策略训练
在训练的第一阶段,我们的目标是找到一个最优的参考控制策略。该策略能够访问完美的特权信息,并使 ANYmal 在随机生成的地形上跟踪期望的速度指令。期望指令被随机生成为一个向量:
其中,、分别表示机器人机体坐标系下的纵向速度和横向速度,w表示偏航角速度。
我们使用近端策略优化算法,即 PPO,来训练教师策略。教师策略被建模为一个高斯策略:
其中,由一个多层感知机 MLP 实现,并由参数θ参数化;σ表示每个动作的方差。
观测与动作
教师策略的观测被定义为:
其中,表示本体感知观测,表示外感知观测,表示特权状态。 包含机体速度、机体姿态、关节位置和速度历史、动作历史,以及每条腿的相位。 是一个高度采样向量,包含每只脚周围五个不同半径范围内的高度样本。特权状态 包括接触状态、接触力、接触法向量、摩擦系数、大腿和小腿的接触状态、施加在机体上的外力和外力矩,以及摆动相持续时间。
我们的动作空间受到中央模式发生器,即 CPG 的启发。每条腿都保持一个相位变量,并根据该相位定义一个名义轨迹。这个名义轨迹是足端的迈步运动。我们使用逆运动学为每个关节执行器 计算名义关节目标:
策略输出的动作包括相位差和残差关节位置目标。关于观测空间和动作空间的更多细节见补充材料 S5。
策略结构
我们将教师策略建模为一个 MLP。它由三个 MLP 组件组成:外感知编码器、特权编码器和主网络,如图 6 所示。
外感知编码器接收,并输出一个更小的潜在表示:
特权编码器接收特权状态,并输出一个潜在表示:
这些编码器将各自的输入压缩为更紧凑的表示,并且便于学生策略复用教师策略中的部分组件。每一层的更多细节见补充材料 S6。
奖励函数
我们为跟踪速度指令定义正奖励,并为违反某些约束定义负奖励。速度指令跟踪奖励定义如下:
其中, 是期望的水平速度,是机器人当前相对于机体坐标系的水平机体速度。相同的奖励形式也被应用于偏航角速度指令。
我们还会惩罚与期望速度方向正交的速度分量,以及机体绕滚转、俯仰和偏航方向的角速度。此外,我们使用了一些塑形奖励项,涉及机体姿态、关节力矩、关节速度、关节加速度、足端打滑,以及小腿和膝部碰撞。
机体姿态奖励用于避免机器人身体出现奇怪姿态。与关节相关的奖励项用于避免过于激进的运动。足端打滑和碰撞相关奖励项则用于减少打滑和碰撞。我们通过观察仿真中策略的行为来调节这些奖励项。除了穿越地形的性能外,我们还检查了运动的平滑性。所有奖励项的具体定义见补充材料 S7。
课程学习
随着策略性能提升,我们使用两种课程学习机制来逐步增加任务难度。一个课程学习机制使用自适应方法调整地形难度;另一个课程学习机制使用 logistic 函数改变一些元素,例如奖励项或施加的扰动。
对于地形课程学习,一个粒子滤波器会更新地形参数,使得在策略训练的任意阶段,地形都保持“具有挑战性但仍然可以完成”。
第二个课程学习机制会将域随机化的幅度,以及部分奖励项,包括关节速度、关节加速度、姿态、打滑、大腿和小腿接触,乘以一个单调递增并渐近趋近于 1 的因子:其中,是第k次迭代时的课程因子,0<d<1是收敛速率。
学生策略训练
在训练好一个能够借助特权信息穿越各种地形的教师策略之后,我们将其蒸馏为一个学生策略。这个学生策略只能访问真实机器人上实际可获得的信息。我们使用与教师策略相同的训练环境,但会向学生策略的高度采样观测中加入额外噪声:
其中,是施加在高度采样输入上的噪声模型。该噪声模型用于模拟机器人在野外部署时经常遇到的各种外感知失败情况,后文会详细说明。
当外感知中存在较大噪声时,外部环境信息会变得不可观测,因此该动力学问题可以被视为一个部分可观测马尔可夫决策过程,即 POMDP。此外,由于缺少能够直接测量这些量的传感器,特权状态也是不可观测的。因此,策略需要考虑观测序列之间的相关性,以估计这些不可观测状态。我们提出使用一个循环信念状态编码器,将外感知和本体感知的序列信息结合起来,并将不可观测状态估计为一个信念状态。
如图 6.2 所示,学生策略由一个循环信念状态编码器和一个 MLP 组成。我们用表示循环网络的隐藏状态。信念状态编码器以和作为输入,并输出一个潜在向量,我们称其为信念状态。目标是让该信念状态匹配教师策略中的特征向量:
该特征向量编码了所有与运动相关的信息。随后,我们将和输入到 MLP 中,由 MLP 计算输出动作。
MLP 的结构与教师策略保持相同,因此我们可以复用教师策略已经学习到的权重来初始化学生网络,从而加快训练速度。
训练以监督学习的方式进行,通过最小化两个损失函数来完成:行为克隆损失和重构损失。行为克隆损失被定义为:在给定相同状态和指令的情况下,学生策略动作与教师策略动作之间的平方距离。重构损失则被定义为:无噪声高度采样和特权信息与其从信念状态中重构结果之间的平方距离。为了提高鲁棒性,我们通过 rollout 学生策略来生成训练样本。
高度采样随机化
在学生策略训练期间,我们使用一个参数化噪声模型向高度样本中注入随机噪声:
如图 7A 所示,在采样高度时,我们施加两类不同的测量噪声:
- 横向移动扫描点;
- 扰动高度值。
每个噪声值都从高斯分布中采样,噪声参数z定义其方差。这两类噪声会在三个不同范围内施加,并且每个范围都有各自的噪声方差:每个扫描点、每只脚、每个 episode。每个扫描点和每只脚对应的噪声值会在每个时间步重新采样,而 episode 级别的噪声在整个 episode 中对所有扫描点保持不变。
此外,如图 7B 所示,我们定义了三种带有对应噪声参数z的建图条件,用来模拟地图质量变化和不同误差来源:
- 正常噪声:假设常规运行时地图质量较好;
- 大偏移噪声:通过较大的每只脚级别噪声,模拟由于位姿估计漂移或可变形地形导致的地图偏移;
- 大幅噪声:对每个扫描点施加较大的噪声幅值,用来模拟由于遮挡或建图失败导致的地形信息完全缺失。
这三种建图条件会在每个训练 episode 开始时被选择,其比例分别为 60%、30% 和 10%。
最后,我们将每个训练地形划分为若干网格单元,并根据高度样本来自哪个网格单元,为该高度样本添加额外偏移。这用于模拟不同地形特性区域之间的过渡,例如从普通地面进入植被或深雪区域。参数向量z也是课程学习的一部分,其幅值会随着训练过程线性增加。
高度采样表示的更多细节见补充材料 S8。

信念状态编码器
循环信念状态编码器用于编码那些无法被直接观测到的状态。为了融合本体感知数据和外感知数据,我们引入了一个门控编码器,如图 7C 所示。该设计受到门控 RNN 模型以及多模态信息融合方法的启发。
编码器会学习一个自适应门控因子,用来控制有多少外感知信息能够通过。首先,本体感知 、来自带噪声观测的外感知特征
以及隐藏状态,会被 RNN 模块编码成一个中间信念状态。然后,根据计算注意力向量。该向量控制有多少外感知信息会进入最终的信念状态:
其中,和是全连接神经网络,是 sigmoid 函数,表示逐元素相乘。
同样的门控机制也被用于解码器中,用来重构特权信息和高度样本,如图 7D 所示。这一过程用于计算重构损失,从而鼓励信念状态捕捉关于环境的真实信息。
我们使用门控循环单元,即 GRU,作为 RNN 架构。关于门控结构有效性的评估见补充材料 S9。
部署
我们将控制器部署在 ANYmal C 机器人上,并使用了两种不同的传感器配置:一种是两个 Robosense Bpearl 半球形 LiDAR 传感器,另一种是四个 Intel RealSense D435 深度相机。我们使用 PyTorch 训练策略,并将其零样本部署到机器人上,不进行任何微调。
我们通过估计机器人的位姿,并相应地配准来自传感器的点云读数,以 20 Hz 的频率构建以机器人为中心的 2.5D 高程图。策略以 50 Hz 的频率运行,并从最新的高程图中采样高度信息;如果某个查询位置没有地图信息,则用随机采样的数值进行填充。
我们还开发了一个用于快速地形建图的高程图构建流程,在图形处理器 GPU 上并行处理点云数据。我们采用了与 Fankhauser 等人类似的方法,以卡尔曼滤波的方式更新地图,并额外执行漂移补偿和射线投射,以获得更加一致的地图。这种快速建图实现对于维持较高处理频率、并跟上我们控制器所实现的高速运动非常关键。
义父,请我喝杯蜜雪冰城吧。


上一篇
【读论文004】Learning Robust Autonomous Navigation and Locomotion for Wheeled-Legged Robots
下一篇
【读论文002】Learning Quadrupedal Locomotion over Challenging Terrain
- 作者:LIU Xiao
- 链接:http://liuxiao916.com/article/37958a7f-6b9f-8064-95ed-f602428eb69e
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。









