一句话定位
ETH Zurich(David Hoeller、Nikita Rudin、Dhionis Sako、Marco Hutter;前两位同时挂靠 NVIDIA)为四足机器人 ANYmal D 提出的三模块分层跑酷流水线——感知模块从六个深度相机 + LiDAR 的噪声点云重建三维地形并输出一个 belief 隐向量,运动模块是五个独立训练的专家技能(走、跳、上爬、下爬、蹲伏),导航模块读取感知隐向量,用一个混合 PPO 策略(连续 Gaussian 输出位置/朝向/时间指令 + 离散 categorical 输出技能选择)实时决定”走哪条路、用哪个技能”,全程无专家演示、无离线规划、无预先地图,纯仿真训练后零样本部署到真机,速度可达 2 m/s。论文 2023 年 6 月挂 arXiv,2024 年 3 月发表于 Science Robotics。
背景与定位
本文是 ETH Zurich Robotic Systems Lab(Hutter 组)在感知式腿部运动这条工作线上的延伸:直接技术基础是同组的 [2] Rudin et al.《Advanced skills by learning locomotion and local navigation end-to-end》(IROS 2022,位置指令式运动技能训练范式的来源)和 [3] Hoeller et al.《Neural scene representation for locomotion on structured terrain》(RA-L 2022,编码器-解码器地形重建网络的来源),本文分别扩展了这两者。同门更早的 learning-robust-perceptive-locomotion-wild(Miki et al., Science Robotics 2022)用教师-学生蒸馏训练感知式行走策略,本文的运动模块继承了类似的”应对建图不准”思路,但目标从”稳定行走”升级为”跑酷级”的跳跃/攀爬/蹲伏。
论文将自己定位为”首个无需先验规划或建图、就能让四足机器人完成跑酷级挑战场景的敏捷导航系统”(自述)。同期并行的另外两条路线——extreme-parkour-legged-robots(CMU,Cheng/Shi/Agarwal/Pathak,单阶段 RL + 内积统一奖励 + 端到端单策略)与 robot-parkour-learning(Shanghai Qi Zhi/Stanford/CMU,Zhuang et al.,软硬约束两阶段蒸馏 + 单一视觉策略)都追求”一个网络吃下所有技能”;本文反其道而行,坚持技能分离 + 高层选择器的分层范式,理由是不同障碍所需的动作模式差异极大(例如上爬要用大幅膝盖接触,蹲伏要放低重心并用髋关节抬脚),拆开训练更容易调参、且导航层可以显式建模”每个技能的能力边界”(比如箱子多高就不该硬着陆爬下、而应绕路)。相比 [7] Miki et al. 与 [31] Yang et al. 等依赖高程图(elevation map)的感知导航流水线,本文强调其感知模块直接从点云重建三维场景(含悬空障碍的上表面),能处理高程图无法表达的过顶/穿越场景。相比同为分层学习的 Caluwaerts et al.《Barkour》([32],2023),后者依赖人工设计路径与技能切换、且限定单一预先建图的动捕环境,本文的技能选择与路径规划都是端到端学出来的。归类 locomotion-nav。
模型架构
三个独立神经网络模块,联合构成一条分层流水线(非 VLA/VLM 架构,纯 RL + 监督重建网络):
感知模块(地形重建)
- 编码器-解码器架构,参照 [3] 并扩展为多分辨率双网络:粗分辨率网络(体素 12.5cm,覆盖机器人周围 4m × 4m)+ 高分辨率网络(体素 6.25cm,覆盖 2m × 2m),前者提供大范围场景理解供导航模块用,后者提供贴近机器人的精细重建供运动模块用。
- 输入点云先转换为体素网格,每个占据体素记录该体素内点云质心位置的特征,空体素置零;对稠密体素网格做稠密(非稀疏)3D 卷积——[3] 原用稀疏实现,但稀疏卷积不适配 4096 机器人的大批量 RL 训练,稠密卷积能撑住这一批量规模,代价是显存开销高(约 45GB GPU 显存)。
- 解码器输出每个体素的占据概率 + 质心位置;按阈值裁剪占据概率低的体素即得到重建点云。
- 粗分辨率网络带自回归反馈:上一时刻输出经坐标变换后与当前测量拼接作为输入,从而在跨越障碍(如桌下爬行、攀爬时肢体遮挡相机)时能”记住”此前看到但当前不可见的区域;高分辨率网络不用自回归反馈(因其输入已含粗网络最后一层特征,时序信息已包含在内)。
- 与 [3] 不同,本文不使用跳跃连接(skip connection),以产生对导航模块更有信息量的隐向量(代价是可能牺牲部分泛化性,但作者认为对随机化跑酷场景够用)。
运动模块(五个技能策略)
- 沿用 [2] 的**位置指令式(position-based)**表述而非速度跟踪:策略在给定时间内到达目标位置+朝向,而非跟踪瞬时速度指令,这让策略能在时限内自由调制动作序列以完成敏捷动作。
- 每个技能是一个独立 MLP 策略,输入本体感知状态 + 2.5D 高程图(机器人周围 2m×1m 网格,从感知模块输出直接计算)+ 局部位置/朝向/时间指令,输出 12 个关节位置目标;运行频率 50Hz。
- 相对 [2] 新增朝向(heading)指令,并引入对称数据增强(利用机器人 X/Y 轴对称性把一个状态扩增为四个对称状态)——解决了 [2] 报告过的动作不对称问题。
- 训练时对 2.5D 高程图注入噪声、并在各方向上下平移最多 7.5cm,逼策略学会应对建图误差。
- 五个技能:Walking(irregular 地形:楼梯/坡/随机小障碍)、Jumping(跳过最多 1m 的箱间沟)、Climbing Down(从最高 1m 的箱子爬下,对脚部高冲击力设终止条件防止真机损伤)、Climbing Up(爬上最高 1m 的箱子,训练中放宽膝盖/机身接触惩罚以自然涌现”先用膝盖后用脚”的爬法)、Crouching(穿越最低 0.4m 净空的桌下通道)。
导航模块(高层技能选择器)
- 分层 RL:外循环导航策略 5Hz,内循环运动模块 50Hz(内循环策略训练时冻结)。
- 每个高层步接收:相对最终目标位置、剩余时间、机器人基座速度与朝向、感知模块隐向量 l;输出局部位置/朝向/时间指令 + 选择哪个技能。
- 核心架构创新:改造 PPO,让 actor 网络最后一层特征同时接Gaussian 分布头(输出连续的位置/朝向/时间指令)和categorical 分布头(输出技能选择概率)——训练时从两个分布采样以探索,部署时取 Gaussian 均值 + 概率最高的技能。
- 与直接在内循环用简化运动学模型(如 [29])的方法不同,本文导航训练时滚动真实的低层策略,使高层策略能感知每个技能的真实能力边界(例如判断箱子太高该先找矮箱子、在窄道上精细摆位)。
数据
纯仿真训练,零真实数据采集,全部在 NVIDIA Isaac Gym 中并行 4096 个机器人智能体生成。
- 感知模块训练集:2000 条仿真轨迹、每条 100 个时间步(约 20 万帧),平均分布在三种跑酷场景类型(A/B/C,见下);无监督训练,占据概率用二元交叉熵损失,质心位置用欧氏距离损失;沿用 [3] 的数据增强(点位置扰动、加入随机点云”团块”、随机移除点云区块、机器人位姿加噪)。
- 仿真地形三种类型(Fig. 7):(A) 随机排布的托盘尺寸箱子场,含需要跳跃/攀爬的组合,尺寸与目标/起点位置随机化,另加墙体与干扰物增强泛化;(B) 一条蜿蜒长平台上串接多个障碍的”跑酷线路”,平台形状、障碍序列与参数随机化;(C) (B) 的简化直线版本,专为真实部署设计(不允许绕行),同样随机化障碍序列与参数,为真机部署单独训练一个导航策略。
- 运动技能地形配比:Walking 用 60% 楼梯 + 20% 坡 + 20% 随机障碍;其余四个专精技能均用 80% 对应障碍地形 + 20% 随机崎岖地形。
- 动作标注/仿真-真实:全部为程序化生成地形,无人类演示、无离线数据集、无真实训练数据;raycasting 由自研 CUDA 内核(基于 NVIDIA Warp)完成,每个仿真步对 4096 个环境的六个深度相机 + LiDAR 共投射约 1.4 亿条光线,直接转换为体素网格输入(无需拷贝内存)。
训练方法
- 感知模块:监督式(无监督目标,即用仿真真值地形做重建监督),BCE(占据)+ 欧氏距离(质心)损失联合训练。
- 运动模块:PPO,位置指令式奖励(到达目标位置/朝向即在最后时刻给奖励,而非逐步跟踪速度),针对不同技能设置不同课程(跳跃间隙、爬高/爬低箱高、蹲伏净空均逐步加大难度课程),并对特定技能调整终止条件与惩罚权重(如爬下时对高冲击力终止、爬上时放宽膝盖接触惩罚)。奖励项(Table S2,节选关键项):位置跟踪 +10、朝向跟踪 +5、脚部接触力超 700N 二次惩罚 -0.00001、碰撞(膝/胫)-1、摔倒/高冲击力终止 -200、“不要等待”(速度<0.2 时罚 -1)、朝目标方向移动奖励 +1(余弦相似度)。
- 导航模块:分层 RL,改造的混合 PPO(Gaussian + categorical 联合动作头);奖励为稀疏的目标距离项,仅在时间耗尽的最后一步生效(Table S3:位置跟踪项权重 0.15,公式 1[t*=0](40·成功指示 − 距离);终止项权重 -0.5,触发条件为基座倾角过大或脚部冲击力超 2500N);用课程学习先把全局目标放在靠近机器人起点处,随奖励提升逐步移远,以应对长视野稀疏奖励下的探索难题。
- 训练全程共 8 个神经网络(感知粗/精 2 个 + 运动 5 个技能 + 导航 1 个),部分相互耦合——导航模块只能接收其训练时绑定的特定感知模块隐向量,且必须使用同一批运动技能策略;感知模块若某技能动作发生变化或引入新障碍,也需重新训练。
Infra(训练 / 推理工程)
- 仿真与并行:Isaac Gym,4096 个智能体并行;感知网络的稠密 3D 卷积在此批量规模下约需 45GB GPU 显存;raycasting 用自研 Warp CUDA 内核,每步约 1.4 亿条光线。训练所用 GPU 型号、GPU 数量、总训练时长、混合精度设置均未披露。
- 控制频率:运动模块(内循环)50Hz;导航模块(外循环)5Hz。
- 真机平台:ANYmal D,重约 55kg,12 个串联弹性驱动器,单个最大力矩 85 N·m;六个 Intel RealSense 深度相机(前×2、后×2、左×1、右×1)+ 一个 Velodyne Puck LiDAR。
- 真机计算与延迟工程:多个 ROS 节点分布在不同板载计算机;运动+导航模块在同一节点同步运行;感知模块跑在 NVIDIA Jetson Orin 上、与其余系统异步运行(导航/运动策略取感知模块最近一次输出做推理)。六个 RealSense 相机若直接发布点云消息延迟高达 250ms(对高速攀爬类动作不可接受),因此改为直接订阅深度图消息、在节点内自行投影转点云并与 LiDAR 融合,延迟降至 25ms。
- 真机表现:最高速度 2 m/s,快速加减速;某轨迹中髋关节(HFE)偏转超 160°(用于跨沟落地后借力爬下);能在失去平衡、跌落、低摩擦打滑后自主恢复并继续完成路线;即便训练时环境为静态,也能在障碍被中途移走时快速重新规划路径。
评测 benchmark
运动技能成功率随难度变化(Fig. 4F,0%–120% 训练难度区间):所有技能在各自 90% 难度以内表现良好;难度继续增加后,蹲伏技能(受限于机身高度)性能下降最快,跳跃/上爬/下爬也因物理极限骤降;Walking 技能因训练地形本身难度较低,在超出训练范围后仍能较好外推。
导航策略 vs 人工硬编码轨迹对比(Table I,三种场景各 1000 次 rollout,障碍难度接近训练最大值 100%):
| 场景 | Ours | Manual(人工硬编码) |
|---|---|---|
| Terrain Fig.7-A | 98.2% | 95.3% |
| Terrain Fig.7-B | 96.3% | 60.9% |
| Terrain Fig.7-C | 97.6% | 75.3% |
人工方案在场景 A(相对简单的箱子排布)表现尚可,但在需要更精细控制的场景 B/C 上大幅落后;且学出的导航策略会主动把目标点放得更远以提速,而人工演示(把目标放在障碍中点等关键位置)反而降低速度、延长完成时间。
导航策略动作空间消融(Table S6,同 Table I 条件)——去掉朝向(H)/时间(T)输出的影响:
| 场景 | Ours | No T | No H | No H, No T |
|---|---|---|---|---|
| Terrain A | 98.2% | 94.7% | 89.5% | 81.1% |
| Terrain B | 96.3% | 89.4% | 88.1% | 71.9% |
| Terrain C | 97.6% | 91.6% | 94.6% | 94.0% |
朝向指令对需要频繁原地转向的场景(A)提升更明显;时间指令对更长的场景(B、C)更关键,因为高层需要在简单障碍处加速、在风险处减速。
自适应路径选择定性实验(Fig. 5):固定目标箱高 h,测量策略选择”直接爬上/下”vs”绕远路”的概率——爬下方向在箱高 1m 以内倾向直接下,超过后逐渐倾向绕路;爬上方向切换到绕路的箱高阈值更早出现(作者归因于爬上技能训练时扰动更强)。真机分别在 h=0.75m 与 h=1.15m 两种箱高下复现了两种路径选择。
感知模块:仅做定性对比(Fig. 6,真实数据),与改进版高程图基线 [37](Miki et al., IROS 2022,含 z 方向漂移校正与可见性检查)相比,本文方法能重建高程图无法表达的悬空表面(如桌面)、能通过自回归反馈”记住”离开视野的区域、能在状态估计突然漂移时快速自我修正,而高程图基线会把腿部误画入地图;论文未给出量化重建指标,引用 [29] 作为该类方法量化分析的参考。本文未与同期的 extreme-parkour-legged-robots / robot-parkour-learning 做直接数值对比(三者并行发表)。
创新点与影响
贡献(论文自述):(1) 提出用感知模块 belief 隐向量规划路径 + 从技能库选择技能的导航方法,推理仅需毫秒级;将 PPO 改造为 Gaussian(连续指令)+ categorical(技能选择)混合动作输出。(2) 扩展 [2] 的位置指令式运动技能,新增地形类型、朝向指令与对称增强以提升鲁棒性。(3) 提出多分辨率神经地形重建,扩展 [3] 以兼顾近处精度与远处大范围视野,支持大批量 RL 高效推理,能处理带悬空障碍的复杂场景。(4) 在 ANYmal D 上完整部署三模块,在室内外多种障碍排布下验证。
改变了什么:把此前局限于单一专用技能(跳/爬)或依赖高程图、人工路径/技能切换的分层方案(如 Barkour [32]),推进到”无先验建图、无人工技能切换、导航层自主发现每个技能隐藏能力”的完整闭环——论文中提到导航策略甚至学会用跳跃技能在狭窄通道原地转向(该技能训练时并未针对这一用途设计),显示技能库的能力可以被高层策略超预期地复用。
论文自陈局限:(1) 方法在更多样场景下的可扩展性尚未验证,当前只用了少量障碍模块;扩展到如坍塌建筑等复杂真实场景需要更多技能与训练数据,各模块的泛化上限未知。(2) 训练流程耗时——共 8 个神经网络需分别调参,且相互耦合(改一个模块常需重训其余,导航模块与特定感知模块/运动策略绑定),未来可能需要联合训练。(3) 导航模块因长视野稀疏奖励收敛慢,依赖专门课程,作者建议未来可考虑用专家演示或暴力搜索预训练导航模块。
原始链接
- 论文 arXiv:https://arxiv.org/abs/2306.14874(Science Robotics 2024 正式版:DOI 10.1126/scirobotics.adi7566)
- 论文 PDF:https://arxiv.org/pdf/2306.14874
- 项目主页:https://sites.google.com/leggedrobotics.com/agile-navigation
一手源存档(sources/)
- anymal-parkour-agile-navigation—project-page — 项目主页文本快照(摘要、发表信息、三模块与五技能说明视频清单)
- 论文全文:arxiv.org/pdf/2306.14874(arXiv 原文 PDF,不入 git)