type
Post
status
Published
date
Jun 8, 2026
slug
summary
tags
category
icon
password
comment
color
0. 总结
这篇论文想让轮足机器人在真实城市环境中完成长距离自主导航,同时兼顾轮式机器人的高速高效和腿式机器人的越障能力。作者提出了一个两层强化学习系统:低层控制器学习轮足混合运动,高层控制器学习局部导航与避障,并把它接入城市级导航框架。实验显示,该系统能在苏黎世和塞维利亚完成公里级任务,在 Glattpark 任务中行驶 8.3 km,平均速度 1.68 m/s,机械 COT 为 0.16,比对照 ANYmal-C 约快三倍且能耗指标低 53%。

1. 研究问题(Research Problem)
这篇论文要解决的问题是:如何让轮足机器人在真实城市环境中既快、又省能、又能安全通过复杂地形和动态障碍物。具体包括三件事:第一,机器人要自动决定什么时候用轮子“开”、什么时候用腿“走”或“爬”;第二,机器人要在楼梯、台阶、草地、窄通道、行人等复杂场景中做局部导航;第三,运动控制、局部避障和城市级路径规划不能割裂,而要组成一个可实地部署的完整系统。
这个问题重要,是因为最后一公里配送需要机器人在城市中长距离移动:普通轮式机器人效率高但难以上楼梯和越障,纯腿式机器人越障能力强但速度和续航不足。论文指出,轮足机器人有潜力兼具两者优势,但前提是控制系统能真正理解“轮足混合运动”的动态特性,而不是把它当成普通轮式或普通腿式机器人。
2. 研究背景(Background / Motivation)
以前的主流方法大致有三类。
第一类是手工设计轮足运动策略,例如用启发式规则决定何时走、何时开,或预定义 gait / CPG / motion primitive。问题是轮足机器人没有自然界中的直接模板,不同地形、速度、方向下最优 gait 很复杂,手写规则容易低效或不鲁棒。
第二类是优化式或轨迹优化方法,可以直接优化复杂动作,例如轮腿结合、打滑、地形感知 gait 等。但论文指出,这类方法通常计算昂贵、依赖较好的初始化,有时还会为了计算速度简化轮子动力学,导致真实机器人上的效果受限。
第三类是传统导航规划方法,通常先构建 traversability / cost map,再用采样规划器生成路径,再交给低层控制器跟踪。这类方法的问题在于,它往往只做“几何可通行性”判断,不考虑机器人当前全身状态、实际跟踪误差、不同 gait 的效率,以及粗糙地形下控制器是否真的能执行该路径;同时采样规划器可能需要秒级计算,在高速轮足机器人面对行人等动态障碍物时反应不够快。
3. 核心方法(Method Overview)
作者的方法是一个分层强化学习 + 城市级导航系统。
整体结构可以理解为:
高层控制器 HLC负责“往哪儿走、怎么绕障碍”,每 10 Hz 输出目标速度;低层控制器 LLC负责“腿和轮子怎么动”,每 50 Hz 输出 12 个关节位置命令和 4 个轮速命令。HLC 不是显式规划未来姿态,而是直接给 LLC 速度指令,因此把传统的局部规划、路径跟踪和模块间通信合并成一个学习控制器。
用简单语言说:
低层像“身体本能”,学会在不同地形上滚、走、爬、混合运动;高层像“局部驾驶员”,看前方地形、目标点、过去走过的位置,以及低层控制器内部状态,然后实时决定下一步该往哪个方向、多快移动。
方法流程大致是:
- 训练低层 locomotion policy:先用 PPO 训练 teacher policy,让它在仿真粗糙地形中跟踪随机速度命令;teacher 可以看到仿真中的 privileged information,如真实速度、接触力、地形属性等。随后训练 student policy,让它只根据真实部署时能获得的 noisy IMU、关节编码器和高度扫描来模仿 teacher。
- 训练高层 navigation policy:固定低层 student policy,再训练高层 HLC。高层输入包括局部高度图、LLC 的 RNN hidden state、两个 waypoint、过去访问过的位置和停留时间;输出为 bounded velocity command。
- 构造训练环境:作者用 Wave Function Collapse 生成带楼梯、地面、障碍、走廊等结构的仿真地图,并构造 navigation graph;用 Dijkstra 在图上采样可行路径,让智能体学习沿着可行路径前进,而不是盲目追逐直线目标。
- 真实部署:城市环境先用手持激光扫描仪扫描,生成参考点云和人工设计的导航图;机器人部署时用 LiDAR、IMU、编码器在点云中定位,global graph 给出路径,HLC/LLC 完成局部导航和运动。
4. 关键创新(Key Contributions)
这篇论文真正的新意不只是“用了强化学习”,而是把强化学习用于轮足机器人的完整自治系统闭环。
第一,作者提出了一个mobility-aware local navigation controller。传统局部规划通常不知道低层控制器真实能力,而本文的 HLC 直接使用 LLC 的 hidden state,相当于让导航器知道“身体现在能不能这样走、地形感觉如何、低层控制器是否能跟得上”。这比单纯基于 cost map 的导航更贴近真实机器人动力学。
第二,低层控制器能够在没有手工 gait 规则、没有 CPG 的情况下学习出轮足混合运动:平地多用轮子,高台阶或楼梯自动切换到步态,复杂障碍上甚至会出现膝部辅助爬行等行为。
第三,高层控制器加入了显式位置记忆,记录过去访问过的位置和停留时间,从而能在局部被遮挡或路线堵塞时探索替代路径,而不是陷入重复绕圈。作者的对比实验显示,去掉 memory 后失败率显著上升。
第四,训练环境不是随机堆障碍,而是用 navigation graph 和 WFC 生成“可解但有挑战”的导航问题。补充实验中,去掉 path sampling 或 WFC features 后,长距离目标的成功率明显下降,说明训练数据结构本身是贡献之一。
5. 实验设计(Experiments)
这篇论文没有使用传统意义上的公开 benchmark 数据集,而是使用了三类实验环境:仿真中程序生成的 WFC/navigation graph 训练环境;真实城市部署场景,包括苏黎世和塞维利亚;以及用于对比的扫描重建局部导航场景。
主要对比对象有三类:一是与 ANYmal-C 的速度和机械 COT 对比;二是与传统采样式局部导航规划器 Wellhausen et al. 的方法对比;三是与若干消融版本对比,包括 no path sampling、no WFC features、memoryless、no temporal abstraction、end-to-end policy。
主要结果如下:
实验 | 结果 |
Glattpark 城市任务 | 总距离 8.3 km,平均速度 1.68 m/s,机械 COT 0.16 |
与 ANYmal-C 对比 | 约 3 倍速度,机械 COT 低 53% |
局部导航对比 | 本文 HLC 平均计算时间 0.34 ms;传统 baseline 有时超过 1 s |
跟踪误差 | 本文 0.24 m/s,baseline 0.45 m/s |
碰撞 | 图 7 实验中只有本文完整方法实现 collision-free;baseline 碰撞率约 100% |
消融实验长距离 10–20 m | 本文 success rate 0.763;no WFC features 0.305;end-to-end 0.046 |
这些结果说明,论文的提升主要来自两个方面:低层运动效率高,平地能大量使用轮式驱动;高层导航足够快,并且知道低层控制器的能力边界,因此不容易给出低层跟不上的危险命令。
6. 优点与局限(Strengths & Limitations)
优点很明显。第一,真实机器人验证非常强,不只是仿真或室内 demo,而是在城市环境中完成公里级任务。第二,系统设计抓住了轮足机器人的本质:导航不能脱离 locomotion,必须理解 gait、地形、速度和跟踪误差。第三,方法的反应速度很快,HLC 推理只需 0.34 ms,适合高速移动和动态障碍。第四,learned gait switching 减少了手工规则,使机器人能在平地、楼梯、草地、沙地、碎石和复杂障碍间自适应切换。
局限也比较清楚。第一,系统仍依赖预扫描地图和人工设计 navigation graph;在 Glattpark 任务中,扫描 245 m × 345 m 区域约需 90 分钟,还需要人工放置导航图和目标点。第二,语义理解很弱,主要依赖几何高度图;对人只是在高度图中加安全缓冲,并没有真正理解人行道、草坪、交通规则、可通行区域语义。第三,感知视野有限,HLC 前方高度图视野约 3 m,这限制了高速自治部署;论文明确说硬件可到约 6.2 m/s,但由于 mapping 延迟和视野限制,自治部署无法展示最高速度。
另外,系统仍有安全和鲁棒性边界:真实任务中作者在人群儿童、路径被高草阻挡、长走廊定位退化等情况下进行了人工干预;HLC 的位置记忆也有限,当探索路径超过记忆容量时可能卡住。
7. 科研启发(Research Insights)
这篇论文最有启发的地方是:移动机器人导航不应只看地图,还要看身体能力。对于轮足机器人、腿式机器人、飞行机器人甚至软体机器人来说,局部规划器如果不了解低层控制器的实际动态能力,就容易产生不可执行路径。
未来可以沿几个方向继续做:
- 语义感知导航:加入视觉语义分割、道路/人行道识别、草坪/私人区域识别,让机器人不仅知道“几何上能不能过”,还知道“社会规则上该不该过”。
- 更快、更原始的感知输入:论文自己也指出,去掉 elevation mapping,直接用深度图、点云或事件流等 raw sensory stream,可能减少延迟并扩大高速导航能力。
- 自动构建和更新 global graph:目前 graph 需要预扫描和人工设计,未来可以研究在线建图、在线语义标注、地图变化检测和自动重规划。
- 安全约束与可验证 RL:真实城市中有儿童、行人、自行车等复杂主体,单靠 learned policy 不够;可以结合 control barrier function、runtime monitor、formal safety layer。
- 更长时程记忆与局部地图学习:本文的位置记忆只有有限长度,复杂建筑或街区导航需要更强的局部拓扑记忆。
- 跨机器人迁移:本文系统针对特定轮足平台,未来可以研究同一 HLC/LLC 框架如何迁移到不同尺寸、轮径、腿长和负载的机器人。
8. 系统
系统概述
我们首先详细介绍构成自主导航系统的各个组件。图 2 展示了整个系统的概览。

机器人
本文使用的轮足机器人如图 2A 所示。该机器人搭载了多种负载设备,包括三个激光雷达(Light Detection and Ranging, LiDAR)传感器、前置 RGB 双目相机、配送箱、5G 路由器和 GPS 天线。这些设备分别用于定位、地形建图和人体检测等任务,并共同构成系统的安全层。
我们集成了一个具备高频目标检测能力的 RGB 相机,因为基于点云的地形建图方法无法很好地捕捉动态障碍物。这使得机器人能够在 20 米范围内实时跟踪行人。随后,我们会在检测到的人体位置周围添加偏移量,从而在高程地图中创建一个缓冲区;相关细节将在后文“局部导航”部分介绍。更多技术细节见补充材料。
导航系统
我们的导航系统如图 2B 所示。给定一条由图节点序列表示的全局导航路径后,我们提取两个航点,分别记为 WP1 和 WP2。受纯追踪跟踪算法(pure-pursuit tracking algorithm)[25] 的启发,我们将机器人当前位置投影到路径上,然后在该投影点和后续图节点之间进行插值,并基于固定的前视距离设置两个中间航点。
我们的机器人通过低层控制器(low-level controller, LLC)跟随这些中间航点,而低层控制器由高层控制器(high-level controller, HLC)进行指挥。HLC 和 LLC 都是通过强化学习训练得到的神经网络。HLC 以航点作为输入,并以 10 Hz 的频率为 LLC 生成目标速度,这一频率与机载高程地图更新频率一致 [26]。随后,LLC 以 50 Hz 的频率生成关节位置命令和轮速命令。
本文的主要技术贡献在于 HLC 的开发。该控制器同时解决了局部导航规划和路径跟踪控制问题,而在传统方法中,这两个任务通常需要由不同模块分别完成。
运动控制器(LLC)
我们利用无模型强化学习,为轮足机器人开发了一种鲁棒且多功能的运动控制器。我们的 LLC 由基于循环神经网络(Recurrent Neural Network, RNN)的策略驱动,并建立在 Miki 等人 [16] 提出的感知式运动控制器基础之上。我们对观测空间和动作空间进行了修改,以提高鲁棒性,并移除了工程化设计的运动基元,即 [16] 中的 CPG。技术细节见“材料与方法”部分。
在尽量减少对人类直觉依赖的情况下,我们实现了一个能够自主决定步态,并在步行模式和轮式行驶模式之间切换的运动控制器。该运动控制器通过特权学习 [15, 23, 24] 在仿真环境中进行训练。在训练过程中,智能体可以利用一些只在训练阶段可获得的额外信息,以提升模型性能。我们将机器人的运动信息,包括速度和加速度、地形属性,以及无噪声的外感知测量,作为特权信息。
在实际部署时,最终策略只依赖惯性测量单元(Inertial Measurement Unit, IMU)、关节编码器和机载地形高程建图所提供的原始测量数据。类似于 Ji 等人 [27] 的方法,我们使用原始 IMU 和编码器测量,而不是传统状态估计器。这减少了用于噪声滤波的启发式规则,同时消除了对精确姿态和速度状态估计的依赖。该方法增强了机器人在复杂地形上运行时的鲁棒性,也减少了运动控制中的潜在故障点。
具备机动性认知的导航控制器(HLC)
HLC 取代了传统导航系统中由路径规划、路径跟踪和模块间通信层组成的结构 [2]。我们的 HLC 并不显式规划未来姿态,也不先计算参考速度,而是以较高频率直接计算目标速度。
HLC 处理多种输入模态,包括 LLC 策略的隐藏状态、机器人周围的地形高度值,以及机器人此前访问过的位置序列及其对应的访问时间。HLC 并不使用标准的本体感知观测,而是访问 LLC 的信念状态。根据 [15, 16] 的研究,这种潜在状态能够捕捉地形属性、外部扰动等环境信息。
此外,HLC 还处理机器人先前访问过的 20 个位置,这些位置以 50 cm 的间隔记录。它们最多覆盖约 10 m 的距离,大致对应通常的航点间距。这种历史信息使 HLC 能够根据机器人此前的导航经验做出更合理的决策。
我们的 HLC 在图 2C 所示的仿真环境中进行训练。在每个训练回合中,系统都会生成新的无障碍路径,并沿路径以随机间隔采样两个航点。
训练环境
我们借鉴了电脑游戏中的“导航图”(Navigation Graph)概念 [28, 29],在训练过程中为智能体提供既可解又具有挑战性的导航问题,见图 2。仿真环境使用一种名为波函数坍缩(Wave Function Collapse, WFC)[30] 的程序化内容生成算法构建,同时还会根据地形生成一张表示可行路径和安全区域的图。
该训练环境提供了多样化的导航挑战,包括绕行、动态障碍物、崎岖地形和狭窄通道。正如“材料与方法”部分所详细介绍的,我们以可控方式组合不同障碍物,并在训练过程中奖励强化学习智能体沿最短路径向目标点移动。与使用随机放置障碍物和目标点训练得到的策略相比,这种方法带来了更好的性能。
公里级自主部署
我们在不同的城市环境中进行了自主导航任务。这些实验在瑞士苏黎世和西班牙塞维利亚进行。我们的系统能力总结于 Movie 1。此外,我们在 Movie S1 中展示了一次完整任务,以展示每次实验的规模。
图 3 总结了我们在苏黎世 Glattpark 进行的模拟配送任务。我们的机器人在极少人工干预的情况下覆盖了总计 8.3 km 的距离。
我们首先在图 3A 中展示我们的工作流程。首先,我们使用手持激光扫描仪捕获实验区域的稠密彩色点云。扫描过程大约花费 90 分钟,覆盖了一个 245 m × 345 m 的城市区域。随后,我们对点云进行地理配准,并将数据转换为网格表示,从而便于由人类专家创建导航图并放置目标点(见图 3A-iii 和图 3B-ii)。导航图的目的是提供拓扑引导,并指示社会偏好,例如避开景观绿化和私人财产。

在机器人部署期间,它使用 LiDAR、IMU 和关节编码器读数,相对于预先扫描的参考点云进行自身定位。在这种设置下,可以向机器人提供一个单一的 GPS 目标,机器人会自主导航到目标位置。选定的目标点通过移动网络发送给机器人,并使用最短路径算法 [31] 在机载端计算参考路径。生成的路径通过在预先扫描点云地图中的 LiDAR 定位,被转换为相对于机器人的坐标,以供我们的导航策略使用。请注意,点云纯粹用于定位,除此之外不用于导航 [32]。我们发现,在高层建筑之间,这种定位方法比基于 GPS 的方法更鲁棒。
图 3B-i 展示了我们的机器人在多次长距离实验中行驶过的路径,每次实验持续超过 30 分钟。在这些实验中,我们手动选择了 13 个远距离目标点,以最大化对实验区域的覆盖。这种设置要求机器人导航通过多种障碍物,才能成功到达每个目标点。
图 3B-iii 展示了机器人运动时速度和机械 COT 的直方图。我们将机械 COT 定义为
其中 τ 表示关节扭矩,θ̇ 是关节速度,mg 是总重量,|| 是机器人基座的水平速度。该量表示执行器每单位重量和单位运动速度所输出的正机械功率 [6, 15]。
我们的机器人实现了 1.68 m/s 的平均速度,机械 COT 为 0.16。作为比较,我们提供了一个 ANYmal 机器人在 DARPA 地下挑战赛期间主要穿越平坦城市地形时的平均速度和 COT 数据 [2]。该数据来自 [33] 中的 ANYmal 4。我们的机器人表现出三倍的速度,同时 COT 降低了 53%。请注意,我们只比较了输出机械功率。其他导致能量损失的主要因素,例如热损失和执行器传动中的机械损失,在持续步行运动中也会发挥作用,因此可能会降低整体效率。
这种提升主要归因于行驶模式,该模式将重量均匀分布在四条腿上,使腿部关节保持相对静止。持续迈步会导致负载集中在较少的腿上,需要更高的关节扭矩和速度。在行驶过程中,关节执行器贡献的机械 COT 几乎为零(≈ 0.01)。与典型 ANYmal 机器人在运动过程中相比,我们机器人的轮子输出了约 1.2 倍的总机械功率,同时实现了 3.4 倍的平均运动速度。仅对腿部关节的平均 ∑τ² 进行评估时,尽管我们的机器人更重(≈12 kg)且更快,但其数值低了 16%。该量与热损失直接相关 [34, 35]。
图 4 展示了我们的机器人遇到的主要挑战,包括行人、各种障碍物以及非平坦地形。如 Movie 1 和 Movie S1 所示,我们的机器人展示了在多种情况下绕开行人的能力,甚至能够在斜坡或楼梯上做到这一点。

此外,我们的机器人能够避开细长障碍物,例如图 4A-ii 第一张图中所示的柱子,也能够通过台阶和楼梯等多种离散地形。
由于 HLC 和 LLC 的训练目标是最小化 COTmech 和 ∑τ²,机器人在平坦地形上大多采用行驶方式。然而,当遇到不平整表面时,机器人会切换到迈步步态。重要的是,这种步态切换是在没有手工设计启发式规则的情况下学习得到的,例如没有使用中央模式发生器(Central Pattern Generator, CPG)或预定义步态序列。此外,我们的控制器在处理草地、沙地或碎石等多种表面时表现出鲁棒性,这可以归因于 LLC 的特权训练 [15]。
在任务过程中,我们在三种情况下进行了干预,如图 4B 所示。首先,有些情况下儿童位于机器人的路径上。尽管我们的导航模块很可能会像绕开成年人一样安全地绕开儿童,但我们优先考虑安全,因此主动停止了机器人。
其次,我们遇到了一些航点位于不可通行区域中的情况。例如,在创建导航图和机器人部署之间,一条小径上长出了高草,阻挡了路径。因此,它在用于导航的局部高度图中表现为一个障碍物。机器人在高草前安全停止,我们手动触发全局重新规划,以绕过该障碍物。
最后,我们在几何退化环境中遇到了定位挑战,例如长走廊。这意味着参考路径变得无效,并提供了不可行且可能有危险的航点。我们的机器人控制器能够依靠机载局部地形建图安全运行,但在定位恢复之前无法到达目标点。
局部导航
在图 5 中,我们展示了最能体现我们系统局部导航能力的示例场景。这些场景的序列可以在 Movie S2 中查看。
在第一个案例中(图 5A),我们展示了机器人遇到被阻挡路径时的探索行为。机器人倒退并沿墙移动,寻找开口,直到找到通向最终航点的楼梯。机器人的显式位置记忆使其能够基于此前访问过的位置进行推理,并导航通过复杂障碍物。
图 5B 展示了我们的机器人在狭窄走廊中导航的能力。它安全地穿过两扇门,中间站着一名人类,而间隙宽度与机器人宽度相当。尽管在此次部署中没有启用人体检测,机器人仍然无碰撞地通过了狭窄空间。这个例子展示了我们的导航控制器的精确性和实时轨迹调整能力,使其适用于空间有限和通道狭窄的环境。
我们使用图 5C1 所示的复杂障碍物进行了一项测试。该障碍物一侧由一个小楼梯组成,另一侧是一个高度从 0 到 50 cm 变化的台阶。当在台阶上方提供一个航点时,我们的机器人展示了两种不同的方法。

最初,当面对被阻挡的路线时,机器人向后行驶并开始探索。在这一阶段,它可以找到楼梯并爬上去,或者继续探索以寻找更低的台阶高度。在第二种情况下,机器人沿着台阶行驶后,发现了一个约 20 cm 的可通过高度。这个例子展示了我们的分层控制器的有效性,它能够根据地形无缝调整步态,并在复杂路径导航中表现出多功能性。
我们观察到,在上下台阶时,HLC 对可通行性具有非对称理解(图 5D)。具体而言,机器人在下台阶时能够通过更高的台阶,这表明与用于可通行性估计的代价地图方法 [21, 26] 相比,它对地形具有更高级的理解。传统方法通常使用与运动方向无关的对称可通行性地图,而我们的方法则基于当前地形、机器人状态以及低层控制器的特性进行决策。
在图 5E 中,我们可视化展示了用动态障碍物增强静态局部高程地图的策略。我们采用基于相机的人体检测,在个体周围半径 50 cm 范围内引入高度偏移。当机器人遇到一个沿其路径移动的人时,经过训练能够处理各种尺寸动态障碍物的 HLC 与该人保持恒定距离,使机器人能够安全超越。
混合运动
我们在各种真实世界地形上评估了我们的 LLC,以观察涌现出的步态并评估其鲁棒性。我们在 Movie S3 中提供了运动实验的精彩片段。LLC 会根据指令速度和地形调整步态。我们在多种真实世界地形上测试了该策略,如图 6 所示。我们之前基于模型预测控制(Model Predictive Control, MPC)的控制器 [10] 缺乏鲁棒性,无法在图 6 所示的环境中运行。此外,我们的控制器在平坦地形上达到了 5.0 m/s 的峰值速度。硬件限制允许的最大速度为 6.3 m/s,这是由 45 rad/s 的最大关节速度乘以 0.14 m 的轮子半径决定的。
图 6A 展示了机器人根据地形表现出的不同行为。当穿越一个大的离散障碍物时(图 6-i),机器人表现出一种结合爬行 [36] 和行驶的非对称步态。当爬楼梯或陡坡时,机器人像普通点足四足机器人 [16] 一样小跑(图 6-ii 和图 6-iii)。相反,当机器人穿越高度偏差与轮子半径相当的崎岖地形时,它会直接行驶过去(图 6-iv)。该策略会调整每条腿的伸展范围,以保持主体稳定,并使轮子与地形保持接触,从而起到主动悬架的作用。步态模式会根据地形条件变化,例如坡度或摩擦力。此外,该策略还会根据具体情况调整主体高度。例如,当下坡时,该策略会降低机体高度,以增强稳定性并防止翻倒(图 6-v)。
在图 6B 中,我们展示了两个涉及高离散障碍物的场景。在图 6B-i 中,我们命令 LLC 从一张约 60 cm 高的桌子上行驶下来。当前腿下降时,机器人向下伸展前腿,并蜷曲后腿,以保持主体水平。一旦前腿接触地面,前轮就向前滚动以恢复平衡。在图 6B-ii 中,我们展示了机器人穿越一个约 40 cm 高的方块。在方块中间位置(ii-2),所有轮子都悬空。随后机器人用膝盖向前爬行,直到其中一个轮子重新接触地面。这个例子展示了使用无模型强化学习的优势 [37]。
图 6C 展示了运动性能的定量评估。在图 6C-i 中,我们展示了最大可通过台阶高度随指令速度变化的情况。与上台阶相比,我们的机器人在下台阶时能够通过更高的台阶。这一观察结果与图 5CD 中的结果一致,在那里我们的 HLC 会避开较高的台阶,以避免膝部碰撞并确保安全。在图 6C-ii 中,我们在仿真中以固定摩擦系数 0.7 在斜坡上测试 LLC。机器人被命令以固定线速度爬坡,并以其是否能够向上爬行 2 米作为成功标准。我们观察到,如图 6A-iii 所示的迈步行为只会在陡坡且指令速度超过 0.5 m/s 时出现。通过迈步步态,机器人能够爬上更陡的斜坡。该分析展示了我们的 LLC 在步态模式和可通行性方面的复杂特性。传统的基于模型的规划和路径跟踪方法将很难识别并适应这种复杂性。

与传统导航方法的比较
我们将我们的方法与 Wellhausen 等人 [4] 提出的传统采样式导航规划器进行了比较。该局部导航规划器曾被 Cerberus 团队用于地下挑战赛 [2],是为普通腿式机器人设计的。对于两种方法,我们使用了相同的 LLC。
我们在点目标导航设置中进行了实验,如图 5A 所示。该区域使用激光扫描仪进行扫描,以创建一个仿真环境,如图 7A 所示,并设置固定的起点和目标点。
图 7B 展示了我们的 HLC 和基线方法的视野。为了适应物理部署期间的限制,我们将地图范围限制为 x 和 y 两个方向上各 3.5 米。当机器人以高达 2 m/s 的高速移动时,这一决定尤其重要。使用更大的地图会减慢高程建图的更新速度,并导致较高延迟以及地图中出现未更新区域。
图 7C 展示了两种方法成功到达目标时的轨迹。我们的方法会探索环境,直到发现楼梯。当遮挡区域被假设为可通行时,基线方法也能够解决该问题。然而,由于延迟问题,基线方法一直发生碰撞,这将在下文解释。
图 7D 展示了失败案例。我们的方法有时会在探索一个宽阔开放区域后卡住(图 7D-i)。位置记忆被填满,智能体不再继续探索。此外,我们还训练了一个不带记忆的方法,以验证位置记忆的重要性。无记忆策略表现出重复行为,并且难以逃离局部极小值(图 7D-ii)。
基线方法面临两个挑战:遮挡处理和运动控制器的跟踪误差。尽管若干启发式方法可以帮助缓解遮挡问题,但由于重新规划中的延迟,基线方法处理变化情况的能力有限。关于第二个问题,大多数现有方法假设完美跟踪;然而,实际运动控制器会出现延迟和跟踪误差。图 7D-iv 展示了这一问题,其中较远的姿态目标导致高速度命令和超调。机器人无法准确跟踪下一个航点并发生碰撞。当处理在崎岖地形上快速移动的机器人时,这一问题会变得更加明显。
在图 7E-i 所示的定量分析中,带有完整记忆的我们的方法表现出最低的失败率。我们不带记忆的方法表现出最高的失败率。失败率的比较突出了在部分可观测场景中探索行为的优势。与采样式基线方法不同,后者只能在给定地图内进行探索,而我们的方法使机器人能够动态探索新区域,从而获得更高的成功率。此外,从“无记忆的我们的方法”获得的结果强调了记忆机制在静态环境中促进有效探索的重要性。值得注意的是,只有我们的方法实现了无碰撞轨迹(图 7E-ii)。这归因于我们的 HLC 具有精确的转向能力,并且尊重运动策略的能力。
我们方法的另一个优点在于其计算效率(图 7E-iii)。从更新观测到推理神经网络,我们的高层控制器平均耗时 0.34 ms。相比之下,根据环境复杂度不同,基线方法有时需要在一台台式机上花费超过一秒来更新导航计划,该台式机配置为 AMD Ryzen 9 3950X 和 GeForce RTX 2080。
基线方法的高失败率也可以归因于不完美的路径跟踪。在图 7E-iv 中,一个直方图展示了两种方法的跟踪误差分布。我们的方法和基线方法的平均跟踪误差分别为 0.24 m/s 和 0.45 m/s。基线方法在直方图中表现出一个高跟踪误差峰值,这种情况发生在指令速度存在离散变化时,或者机器人被命令过于靠近障碍物时,导致 LLC 拒绝跟随该命令。相比之下,我们的高层控制器与低层控制器联合训练,表现出均匀分布的跟踪误差统计,并且跟踪误差始终较低。

9. 方法
方法概述
受已有文献 [41, 42] 的启发,其中复杂任务的分层分解能够实现更快的学习和更高的性能,我们采用 HRL,将我们先前基于学习的速度跟踪控制器 [16] 扩展到航点跟踪导航。在本节中,我们介绍我们方法的概述,从层级结构的定义开始。
定义层级结构
为了解决航点跟踪导航问题,我们采用了 [43] 中的两层 HRL 框架。文献中已经探索了各种层级结构。
最初,我们考虑了 Rudin 等人 [44] 所采用的端到端策略。该方法训练一个统一策略,同时管理运动和导航任务,而不使用任何层级结构。
文献中探索的另一种替代方案涉及两层层级结构,其中高层策略通过以较低频率发布潜在子目标来指导低层策略。将学习得到的潜在子目标用于 HRL [45, 46] 提供了简单性和灵活性。不需要显式定义中间目标,并且层级内部的任务分配是学习得到的。
相反,我们的方法在两层层级结构中采用了显式定义的子目标。在我们的设置中,低层策略专注于运动任务,而高层策略通过向低层策略发送目标基座速度命令来专注于导航。我们出于实际原因选择显式定义子目标。
尽管前两种方法可以提供更简单的实现,但我们决定显式分离控制任务,使控制器能够独立开发。这种分离不仅简化了协作开发工作,使团队能够同时处理系统的不同方面,而且也符合腿式机器人领域的常见实践。因此,这种方法促进了预训练低层策略在一系列高层应用中的复用,增强了系统的多功能性和适应性。
尽管我们的高层策略主要输出基座速度命令,我们也探索了类似 Tsounis 等人 [47] 的方式来命令步态模式。该实验在补充材料中描述。
训练流程
我们按顺序训练了一个低层策略和一个高层策略。低层策略训练包括两个阶段:先训练教师策略,然后训练学生策略。随后,使用训练好的低层学生策略来训练高层策略。
我们首先训练低层运动策略的教师策略。教师策略使用近端策略优化算法(Proximal Policy Optimization, PPO)[48],在崎岖地形上被训练来跟踪随机速度目标(以及可选的步态参数)。在这一步中,特权信息,包括机器人的运动、地形属性和无噪声的外感知测量,被用于提升运动性能和策略收敛性。
随后,训练可部署的学生策略。与教师策略不同,学生策略接收一系列带噪声和偏置的 IMU 测量、关节状态以及带噪声的高度扫描作为输入,而不是直接访问特权信息。通过从教师策略进行模仿学习,并利用 RNN 编码器 [16],学生策略被训练为从时间数据中提取鲁棒运动所需的特征。
随后,将训练好的学生低层策略视为一个固定组件,并使用 PPO 算法训练一个高层导航策略。训练数据是在我们自建的仿真环境中收集的。该方法将在下一节中进一步解释。
除了前述三个阶段之外,还可以对两个策略进行一个可选的交替训练阶段,以增强它们之间的协调,并可能提高运动平滑性。然而,我们的实验表明,这只带来了很小的改进,因此我们没有进行进一步的微调。
图引导的导航学习
导航图通常被用于电脑游戏中,使角色能够在合成环境中自主导航 [28, 29],它们在我们的导航学习方法中发挥了关键作用。受游戏开发的启发,我们利用预生成的导航图,在训练高层策略时定义初始状态、分配可行路径,并设计奖励函数。
世界生成
我们的自动地形生成方法如图 8 所示,它在地形的不同区域(瓦片)之间建立连通性,从而在训练环境中生成一张导航图。例如,沿 x 方向的楼梯瓦片只会沿 x 轴连接到地面瓦片。
为了生成多样且真实的地形布局,我们使用了 WFC 算法。该算法自动组合各种地形特征,例如楼梯、地面和其他障碍物。WFC 算法的输出同时提供组合后的地形以及瓦片之间的连通性信息。
WFC 算法将一个输入瓦片地图(在图 8B 中称为“Example”)划分为更小的块,并重新排列它们,以创建新的 N × N 模式。这种程序化生成方法使我们能够生成各种各样的导航世界,其中包含不同风格的走廊、房间和障碍物。
我们定义了三种瓦片类型:Stair、Floor 0 和 Floor 1。我们将它们之间的关系连同示例图像一起提供给 WFC 算法。WFC 算法计算每种瓦片类型的概率,并确定其与相邻瓦片类型的连通性。通过基于这些概率随机生成瓦片地图,我们组合已有瓦片,从而得到多样且真实的训练环境。参数化地面和楼梯的参数是在低层策略训练期间,使用 Lee 等人 [15] 的地形过滤算法选择的。详情见补充材料。

将导航图用于强化学习
我们采用 Dijkstra 算法 [31] 在图中两个随机选择的节点之间寻找一条路径。沿着图的边,我们通过在投影到路径上的机器人当前位置和后续图节点之间进行插值,并使用固定的前视距离来采样两个航点。该距离在每个回合中从 [5.0, 20.0] m 内均匀采样。在每条路径的末端,我们将最后一个节点重复包含两次,作为两个航点。这种方法确保智能体对期望轨迹和终点具有明确的指令。
在初始训练阶段,当智能体沿着图上的规划路径移动时,会给予正奖励。该奖励逐渐减小,最后我们让策略使用稀疏奖励进行训练。奖励函数定义如下。
其中。 和 分别表示机器人和最近航点的位置。
这种奖励机制鼓励智能体沿着导航图上的最短距离前进,从而最小化到最终目标的测地距离。该路径包含绕行,而不是简单地朝某个航点直线移动。这种方法用包含狭窄间隙和急转弯的路径来挑战智能体,从而推动其能力提升。
动态障碍物
除了由 WFC 算法生成的静态结构之外,我们还在训练过程中引入了动态障碍物。动态障碍物被随机放置在环境中,并朝机器人移动。
动态障碍物在图 8B-iii 中以白色方块显示。它们的数量、位置和速度在每个回合中随机生成。这些障碍物以 0.1 m/s 到 0.5 m/s 范围内的速度朝机器人移动。
高层策略细节
本节重点详细说明支配高层策略()的马尔可夫决策过程(Markov Decision Process, MDP),包括观测和动作。关于奖励函数的详细信息可见补充材料第 S3 节。
观测
的观测空间包含四种不同模态。
首先, 观测来自地形建图的外感知测量,用于避障。外感知观测遵循 Miki 等人 [16] 的定义。我们从以机器人为中心的高程地图 [26] 中采样机器人周围的高度值。由于机载内存和计算资源有限,机器人的视野被限制为前方 3 米以及其他方向 1.5 米。由于朝前安装的 RGB 相机能够提供更远的感知范围,我们优先将扫描模式向前方偏移。此外,为了考虑动态环境,外感知观测还包括此前0.1 s和0.2 s采集的两次扫描。
其次,观测运动控制器的隐藏状态,而不是估计得到的机器人状态,例如重力向量或扭转速度。使用 RNN 运动策略的隐藏状态提高了我们系统的鲁棒性。这将在“低层策略细节”中详细解释。
为了促进探索,我们使用了一个额外的位置缓冲区。我们在世界坐标系中以 0.5 米的固定间隔记录已访问位置,并记录相应的访问时间。时间信息包括机器人在每个位置停留了多少个时间步。最近的 20 个位置及其对应的时间信息会在机器人坐标系下提供给策略。
最后,策略会观测两个航点。会观测此前给定的两个航点的短历史,以及 此前三次输出的历史。这些航点和动作历史有助于策略生成更平滑的轨迹。
探索奖励
在训练过程中,我们使用显式位置缓冲区来鼓励探索。这是通过向奖励函数中添加探索奖励来实现的。探索奖励记为,其计算方式是在缓冲区中各位置上,对代价 求和。
可复制公式如下:
代价函数定义为:
这里,表示机器人的位置,表示第一个航点,表示保存在位置缓冲区中的第i个位置,对应位置缓冲区中第i个位置的访问次数。
本质上,如果机器人不靠近第一个航点,并且靠近位置缓冲区中保存的某个位置,那么智能体会受到一个与其在该位置停留的时间步数成比例的惩罚。该惩罚鼓励智能体探索新区域,并优先朝第一个航点取得进展。
有界动作空间
我们没有使用常用的高斯动作分布,而是使用 Beta 分布来表示的有界动作空间,如 Chou 等人 [49] 所介绍的那样。这带来了若干好处。首先,它允许我们对输出定义硬性限制,从而增强安全性和可解释性。此外,使用有界动作空间使运动正则化和智能体行为控制更加容易。
具体而言,我们将 HLC 命令的边界定义如下:
范围的偏移鼓励策略在运动过程中始终面向前方,从而与安装在机器人上的 RGB 相机的朝向保持一致。我们在补充材料中提供了更多细节。
网络架构
我们采用了针对特定输入类型定制的架构组合。对于位置历史,我们使用一维卷积神经网络(Convolutional Neural Network, CNN)层,然后接最大池化,类似于 PointNet [50],从而实现对空间信息的置换不变处理。机器人周围的高度扫描使用 3 层二维 CNN 层处理,然后接一个多层感知机(Multi Layer Perceptron, MLP)层。其他输入和输出则由通常用于非空间数据的普通 MLP 层处理。对于 beta 分布参数,我们在输出层使用 Sigmoid 函数。
低层策略细节
低层教师策略的 MDP 继承自 Miki 等人 [16],并对观测空间和动作空间进行了修改。奖励函数以及特权训练的细节见补充材料。
低层策略被训练为在随机崎岖地形上实现速度跟踪。这些地形由 Miki 等人 [16] 设计,如图 8A 所示。每种地形类型由两到三个参数生成。在训练过程中,我们应用了 Lee 等人 [15] 的参数过滤算法。
低层策略由 x 和 y 方向的线速度以及偏航角速度进行指令控制。x 方向线速度从[-2.5, 2.5] m/s 中均匀采样,y 方向速度从 [−1.2,1.2] m/s 中均匀采样,偏航角速度从 [−1.5,1.5] rad/s 中均匀采样。在每个回合中,都会采样一个新的指令,并以 0.005 的概率进行随机重新采样。
观测
观测包括三类信息:一系列外感知和本体感知测量,以及速度指令。
对于外感知感知,我们从机器人轮子周围的圆形模式中采样高度值,这与 Miki 等人 [16] 相同。
本体感知包括来自机体 IMU 和关节编码器的测量。这些测量传递了关于机器人机体加速度、角速度、关节角度和关节速度的信息。
如前所述,我们没有像若干已有工作 [16, 34, 51] 那样依赖基于模型的状态估计器所估计的位姿和扭转速度,而是直接使用由线性加速度和角速度组成的 IMU 测量。作出这一改变的动机是观察到传统状态估计器在轮子打滑或离散高度变化情况下通常会产生较大误差。在 Movie S4 中,我们展示了一个由于状态估计误差导致运动控制器失败的案例。
指令以一个 3 维向量的形式提供,包括目标基座水平速度和目标基座偏航角速度。
特权观测
特权观测仅用于教师策略训练。它包括无噪声关节状态、足端接触状态、每个足端处的地形法向量、足端接触力、机器人速度,以及机器人基座坐标系下的重力向量 [16]。
动作
低层策略的动作是一个 16 维向量,由关节位置命令(12 个关节)和轮速命令(4 个)组成。关节位置和速度命令被发送给每个执行器的 PD 控制器。关于执行器仿真的更详细说明,请读者参见补充材料。
与我们先前的工作 [16] 不同,我们舍弃了在动作空间中使用 CPG,以移除运动中的任何工程化偏置。关于各种动作空间的详细比较研究见补充材料。
网络架构
低层教师策略被实现为一个普通的三层 MLP,而低层学生策略基于 Miki 等人 [16] 的门控循环单元(Gated Recurrent Unit, GRU)架构。
统计分析
统计分析使用 Python 完成。对于所有结果,我们使用 Numpy 库在完整轨迹上计算均值和标准差。图 7 中的箱线图使用 Matplotlib 库生成。我们使用机载状态估计器或仿真中的真实值,以 400 Hz 的频率采集数据。对状态测量应用截止频率为 5 Hz 的低通滤波器,以减少高频噪声。图 3 中的热力图基于点云定位,每 1 m 统计一次访问次数生成。对于“公里级自主部署”中的 COT 比较,我们只考虑线速度高于 0.2 m/s 的数据点。对于图 7 中的跟踪误差直方图,我们使用指令速度高于 0.5 m/s 的数据点。
义父,请我喝杯蜜雪冰城吧。


上一篇
【读论文005】ANYmal parkour: Learning agile navigation for quadrupedal robots
下一篇
【读论文003】Learning robust perceptive locomotion for quadrupedal robots in the wild
- 作者:LIU Xiao
- 链接:http://liuxiao916.com/article/37958a7f-6b9f-8036-8e6f-f1dd7d163671
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






