一句话定位
ETH Zurich + Intel 的 Science Robotics 里程碑:用”特权信息 teacher → 纯本体感觉 student(TCN)“两阶段蒸馏 + 粒子滤波自动地形课程,训练出一个只靠关节编码器和 IMU 的盲式四足控制器,在仿真里只见过刚性简单地形,却零样本泛化到泥、雪、碎石、灌木、流水等自然环境,并跑完 DARPA SubT 竞赛四场 60 分钟任务零失败。
背景与定位
论文提出的范式叫 privileged learning + proprioceptive sequence model + adaptive terrain curriculum,是当代腿式机器人 sim-to-real 的奠基工作之一。
- 传统腿式控制器依赖复杂状态机显式触发运动原语与反射,需要显式估计接触/滑移(基于经验阈值),在泥/雪/植被等未建模因素下会失效、开发维护极其费力。
- 直接对 rough-terrain 策略做 model-free RL 不成功:监督信号稀疏、网络在合理时间预算内学不会。作者因此借鉴 Chen et al. 的 learning-by-cheating,把训练拆成 teacher(有特权信息,快速学到高性能)→ student(只用真机可得传感器)两阶段;与 learning-by-cheating 的区别是 teacher 不靠专家示教,而是用 RL 从头训。
- 建立在同组前作 learning-agile-dynamic-motor-skills-legged-robots(Hwangbo et al. 2019 Science Robotics)的 actuator network 之上——用学到的关节 PD 执行器模型缩小 sim-to-real gap。运动生成骨架采用 Iscen et al. 的 policies-modulating-trajectory-generators(PMTG)。
- 与 domain randomization(Peng et al.)互补:作者用了随机化但发现”realistic 建模 + 随机化”不足以实现 rough-terrain 鲁棒性,需额外三个要素(TCN 记忆、特权蒸馏、自动课程)。
- 它是后来 learning-robust-perceptive-locomotion-wild(Miki et al. 2022,加入外部感知)的直接前身。
关键论点:不必仿真物理世界的全部复杂性(合规接触、可变形/崩塌地形当时无法仿真)——只在刚性简单地形上训练,就能应对部署时的多样野外条件。
模型架构
总体:teacher-student 两段式。 teacher 在仿真里用 RL 训(可见特权信息,仅限仿真);再蒸馏成只依赖本体感觉的 student 部署上真机,无 fine-tuning。
Teacher policy(MLP×2)
- 输入 state s_t = ⟨o_t, x_t⟩。o_t 是真机可得测量;x_t 是特权信息(噪声无关,直接取自物理引擎)。
- 一个 MLP encoder 把特权 x_t 压成 latent 向量 l̄_t(只含地形/接触相关特征,不含 command 与机器人状态);再把 l̄_t 与 o_t 送入后续 MLP 层算出 action ā_t。作者假设 l̄_t 驱动”随地形改变抬脚高度”等自适应行为。
- 特权 x_t(Table S4,共 8 类、71 维)含:每足地形法向(12)、每足高度扫描(36=9点×4足,10cm 半径圆周)、足接触力(4)、足/大腿/小腿接触状态(4/4/4)、足地摩擦系数(4)、施加到 base 的外力(3)。
Student policy(TCN encoder)
- 只能访问 o_t,核心假设:latent l̄_t 可从本体感觉时间序列 h_t 中(部分)恢复。
- TCN encoder 全卷积,3 层 dilated causal convolution(dilation 1/2/4)交错 strided conv 降维,filter size=5,每层接 relu。输出与 o_t 拼接后过从 teacher 拷贝来的 tanh(256)/tanh(128)/tanh(64)/Output 层(Table S5 中带 * 的层 teacher 训完直接复制给 learner)。
- 输入历史 H ∈ R^{60×N},N 为记忆步数;部署默认 TCN-100 = 100 步 × 0.02s = 2.0s 本体感觉记忆。
- 参数量约 15.8 万(TCN-100 158,070;TCN-1 161,960;GRU 对照 159,640)。
- 与 RNN 对照见 S8:GRU(68) 性能介于 TCN-20 与 TCN-100 之间,但训练慢约 3×。
控制架构(PMTG)
- 4 个相同的 foot trajectory generator(FTG) + 神经网络策略。FTG F(φ):[0,2π)→R³ 输出各腿足端目标;swing 相为 cubic Hermite 样条,最大抬脚高度 h=0.2m,公共基频 f₀=1.25 Hz(沿用既有 trot 控制器值)。
- 策略输出 16 维 action = 4 个腿频 f_i + 12 维足端位置残差 Δr_f(4足×3);目标足端位置 r = F(φ_i) + Δr。
- 足端目标定义在 hip 下方”水平参考系” H_i(roll/pitch 与 base 解耦)以稳定训练、并对横向施加更大探索噪声。
- 跟踪:解析逆运动学 IK → 关节位置 PD 控制;复用 learning-agile-dynamic-motor-skills-legged-robots 的执行器模型做 sim-to-real。
- Command 只给方向不给速度:⟨水平目标方向单位向量(cosψ,sinψ), 转向 ∈ {-1,0,1}⟩。理由是挑战地形上可行速度范围往往未知(下坡能比上坡快)。
- 纯本体感觉(blind):输入只有 command + base 速度/姿态 + 关节状态 + FTG 相位/频率,无相机/深度/触觉,无手工接触状态或地形几何特征。
数据
全部训练数据来自仿真(RaiSim),只用刚性地形 + 少量程序化生成的地形轮廓。
- 三类程序化地形(Table S2 参数空间 C):
- Hills(Perlin 噪声):roughness [0,0.05]m、frequency [0.2,1.0]、amplitude [0.2,3.0]m —— 提供平滑坡与足滑。
- Steps(随机高度方块):step width [0.1,0.5]m、step height [0.05,0.3]m —— 提供离散高差与 foot-trapping。
- Stairs(固定宽高楼梯):step width [0.1,0.5]m、step height [0.02,0.2]m。
- 摩擦系数:Slippery Hills 采样 N(0.3,0.1),其余 N(0.7,0.2),裁剪 >0.1。
- 自动地形课程(ACL,粒子滤波 SIR):不用 reward 而用 traversability(=沿指令方向 v_pr>0.2 m/s 的成功率,0.2 约为机器人最高速 1/3)评估地形;目标是维持一批 mid-range 可通过性 Tr∈[0.5,0.9] 的地形参数分布(既不太易也不太难)。超参:每类地形 10 个粒子、transition prob 0.8、每粒子 6 条轨迹、每 10 次策略迭代更新一次课程、replay 采样概率 0.05。轨迹同时用于训练,不需额外评测步。
- 动力学随机化:足地摩擦、外部扰动、观测加性噪声;teacher 训练时可见这些随机量。
- Student 数据采集:DAgger —— student 自己 rollout 访问状态,teacher 对每个访问状态给出 embedding 与 action 作为监督。
- 仿真里没有:合规接触、可变形/崩塌地形、植被/水等 overground 障碍——这些全靠零样本泛化。
训练方法
两阶段(teacher RL → student 监督蒸馏)+ 全程套用自动地形课程。
- Teacher(TRPO):把控制建成 MDP,用 off-the-shelf RL(TRPO)解。奖励 = 0.05 r_lv + 0.05 r_av + 0.04 r_b + 0.01 r_fc + 0.02 r_bc + 0.025 r_s + 2×10⁻⁵ r_τ,分别对应:沿指令方向线速度、角速度、base 稳定、swing 相足端离地净空、身体碰撞惩罚、目标平滑(二阶差分)、力矩惩罚。速度阈 0.6 m/s(既有控制器平地最高速)。超参(Table S7):discount 0.995、KL 阈 0.01、max episode 400、CG damping 0.1、CG iter 50、batch 80,000、total iter 10,000。
- Student(监督/模仿):损失 L = (ā_t − a_t)² + (l̄_t − l_t)² —— 动作模仿 + latent 重构两项。S9 消融显示去掉 latent 项(naive IL)在台阶上成功率更低。DAgger 生成数据。超参(Table S8):Adam、初始 lr 5e-4、lr decay exp(0.995,100)、batch 20,000、minibatch 5、epoch 4、total iter 4,000。
- 动作 tokenization:无离散化,直接连续输出 16 维(腿频 + 足端残差)。
- 执行器模型:为每台机器人训练 actuator network 模拟串联弹性执行器(SEA),输入 6 维(当前及 t−0.01/t−0.02 的关节位置误差与速度)。
- Decoder(仅分析用,不参与策略训练):固定 TCN 权重后,训一个 decoder 从中间层重构特权信息(接触用交叉熵;其余回归用 negative Gaussian log-likelihood 同时估计均值和不确定度),证明 TCN 内部编码了地形形状/摩擦/接触/外力。
Infra(训练 / 推理工程)
- 仿真器:RaiSim(刚体 + 接触动力学)。
- 训练硬件:单台 desktop —— i7-8700K CPU + GeForce RTX 2080 GPU(Table S1)。Teacher ≈12 小时、Student ≈4 小时;自动地形课程每次更新 2.9s。
- 并行/精度:论文未披露分布式并行或混合精度细节(单机训练)。
- 单步 SGD 时间(Table S6):TCN-100 5.07e-2 s,GRU 1.52e-1 s(TCN 约快 3×);网络约 15.8 万参数。
- 推理/部署:策略在机器人板载 Intel i7-5600U CPU(2.6–3.2 GHz,双核 64-bit) 上用 TensorFlow C++ API 运行,报告 400 Hz。控制架构(Fig 4C)中 motion generation 50 Hz、motion tracking(IK+PD) 400 Hz;本体感觉测量每 0.02s(50 Hz)保存一次。部署到真机无 fine-tuning。
- 同一代机器人在所有环境用完全相同的控制器,无需针对环境调参。
评测 benchmark
所有结果均来自本论文(Science Robotics eabc5986)。基线为作者组的 model-based SOTA 控制器 [1,26](Bellicoso/Jenelten et al.)。
- 部署平台:ANYmal-B 与 ANYmal-C 两代(不同运动学/惯量/执行器),同一方法。
- DARPA SubT Urban Circuit(CERBERUS 队):2 台 ANYmal-B,4 场 × 60 分钟任务,零失败率;取代了此前的 model-based 控制器。作者称这是首个在此类竞赛级野外部署中用 model-free RL 训练的腿式控制器。
- 自然环境定量对比(Table 1):平均速度(m/s) Moss/Mud/Veg —— Ours 0.452 / 0.338 / 0.248,Baseline 0.199 / 0.197 / –(植被下基线无法通过);机械 COT —— Ours 0.423 / 0.692 / 1.23,Baseline 0.625 / 0.931 / –(Ours 更省能)。注:该表低估差距,因基线的灾难性失败未计入(失败后由人复位)。
- 台阶实验(每高度 10 试):Ours 在 step up/down 均超基线。涌现 foot-trapping reflex,跨越 16.8 cm 台阶(高于平地正常抬脚净空)。平地最大抬脚净空 LF 12.9 / RF 13.6 cm,foot-trapping 时升至 22.5 / 18.5 cm;后腿 LH 13.5 / RH 9.06 cm → 抬升至 16.6 / 15.9 cm。
- 模型失配(10 kg payload = 体重 22.7%,训练从未仿真):Ours 仍能过 13.4 cm 台阶;基线带载无法过任何台阶。平地 8 方向航向误差:Ours ±载荷均 <10°,基线横向达 ~30° 且 0.6 m/s 指令下失败。
- 足滑(湿白板):基线迅速失衡摔倒;Ours 适应并成功行进。
- 消融(各 5 seeds、100 试,Fig 5):
- 记忆长度:坡地影响小;台阶上记忆越长可过越高台阶;50 N 横向力持续 5s 下,TCN-100 偏移比 TCN-1 低 35.5%。
- 特权训练:直接训 TCN-20(无两阶段)在坡/台阶上完全失败,reward 达不到 teacher 水平,episode 长度短(学不会平衡)。
- 自动课程:均匀采样基线在测试地形成功率显著更低、reward 更早 plateau、episode 更短。
- 架构:GRU 介于 TCN-20 与 TCN-100 之间(坡地相当,台阶更差);naive IL(无 latent 损失)台阶成功率更低。
- 可解释性:decoder 能从 TCN embedding 重构摩擦系数(湿白板上首次打滑即下降)、10 kg 载荷的向下外力、穿越植被时的反向阻力、地形高程及其不确定度——表明 TCN 学到了环境的内部表征。
创新点与影响
贡献
- 首个在多样、挑战性自然环境(泥/雪/碎石/植被/流水/山径)中实现动态腿式运动的已发表工作,且首次把 model-free RL 腿式控制器用于竞赛级野外部署(DARPA SubT)。
- 三个关键要素:(1) 用 TCN 序列模型在本体感觉历史上隐式推理接触/滑移,取代脆弱的显式估计;(2) 特权学习(teacher-student 蒸馏)绕开稀疏 RL 信号;(3) 自动地形课程(粒子滤波维持 mid-range 可通过性)。
- 证明盲式(仅本体感觉:关节编码器 + IMU)控制器可作为腿式运动栈的基础,且在刚性简单仿真地形上训练即可零样本泛化到无法仿真的可变形/动态/遮挡地形——挑战了”仿真必须复现物理世界复杂性”的假设。
- 涌现行为(foot-trapping reflex)非脚本指定而自发学得,且不绑定特定接触事件(能应对 mid-shin 碰撞,脚本控制器做不到)。
作者自述局限
- 只学会 trot 单一步态(窄于自然界四足动物;推测强调多样性的目标/训练协议可诱发更多步态)。
- 盲式本质受限:若被命令走下悬崖它就会走;即使不极端,因需”用身体试探环境”,步态偏保守。未来方向是发展 hybrid proprioceptive-exteroceptive 控制器——外感失效时靠本体感觉、正常时用外部感知提速增效(即后续 Miki et al. 2022 的方向)。
原始链接
- arXiv abs: https://arxiv.org/abs/2010.11251
- arXiv PDF: https://arxiv.org/pdf/2010.11251
- Science Robotics (Vol.5, Issue 47, eabc5986, 2020), DOI 10.1126/scirobotics.abc5986: https://robotics.sciencemag.org/content/5/47/eabc5986
- 项目主页: https://leggedrobotics.github.io/rl-blindloco/
- 补充材料仓库(trained policy + RaiSim 环境): https://github.com/leggedrobotics/learning_quadrupedal_locomotion_over_challenging_terrain_supplementary
一手源存档(sources/)
- learning-quadrupedal-locomotion-challenging-terrain—project-page — 项目主页快照(sources/embodied/2020/)
- learning-quadrupedal-locomotion-challenging-terrain—github-readme — 补充材料仓库 README 快照(sources/embodied/2020/)
- arXiv 全文 PDF(arXiv:2010.11251v1,Science Robotics accepted version,不入 git):见上方 arXiv PDF 链接