HIMloco 文献阅读

HIM--混合内部模型

核心概念与背景

标题拆解

论文题目是 《Hybrid Internal Model: Learning Agile Legged Locomotion with Simulated Robot Response》

  • Hybrid Internal Model (HIM,混合内部模型): 这是作者提出的新方法。“混合”指的是它不仅关注显式的速度跟踪,还关注隐式的稳定性 。
  • Agile Legged Locomotion (敏捷足式运动): 目标不是走得稳,而是要能跑、能跳、能爬楼梯,适应各种地形。
  • Simulated Robot Response (仿真机器人响应): 这是核心创新点。它不直接去“猜测”地形是什么样的(比如摩擦力多少、坡度多少),而是去“猜测”机器人遇到地形后会产生什么反应

为什么要做这件事?(痛点)

在足式机器人控制中,通常面临两个大难题:

  1. “盲人摸象”: 机器人的传感器(IMU、电机编码器)只能感知自己(本体感知),很难准确知道外部环境的具体参数(比如地面摩擦系数、具体的凹凸不平程度) 。
  2. 传统方法的缺陷: 之前的流行做法是“Teacher-Student”(教师-学生)架构 。
    • 先在仿真里用一个拥有上帝视角的“老师”策略(能看到摩擦力等所有信息)训练。
    • 然后再训练一个“学生”策略去模仿老师,但学生只能看本体传感器数据。
    • 问题: 这个模仿过程会有信息损失,导致效果打折,且训练流程复杂 。

论文的解决方案 (HIM)

作者提出了一种不依赖“环境参数估计”,也不需要复杂的“教师-学生”两阶段训练的方法:借鉴经典控制理论中的 Internal Model Control (IMC,内模控制) ,把所有外部环境因素(摩擦、地形高度等)都看作是干扰 (Disturbance) ,训练一个模型,根据机器人过去的一系列动作和传感器数据,去预测**“机器人接下来会发生什么反应”**(即 Response),如果能预测准这个反应,策略网络就能据此调整动作,抵抗干扰。

在技术手段上,使用了 对比学习 (Contrastive Learning) 来训练这个预测模型,而不是简单的回归(Regression) 。这提高了鲁棒性。

研究方法

image-20260126103451012 引自论文图片

系统的输入与输出 (What goes in, What comes out)

首先,要搞清楚控制器需要什么数据。

  • 输入 (Proprioception $o_t^a$): 这是一个“盲”的输入,只有本体感知。
    • 关节编码器: 关节位置 $\theta$ 和速度 $\dot{\theta}$ 。
    • IMU: 基座的角速度 $\omega$ 和重力方向 $g_t$ 。
    • 指令: 用户想要的速度(比如:前进 1.0 m/s)。
    • 历史信息: 这一点很关键。模型不仅看当前这一帧,而是看过去 $H$ 帧的数据(论文中默认为 5帧)。
  • 输出 (Action $a_t$):
    • 直接输出 12 个电机的目标位置偏移量(Target Joint Positions)。这和标准的强化学习控制没有区别。

核心组件:混合内部模型 (Hybrid Internal Model, HIM)

即上图中间黄色的部分,也是论文最大的创新。它就像在控制回路里加了一个“直觉模块”,接收历史观测数据 $o_{t-H:t}^a$,然后吐出一个 “混合内部嵌入 (Hybrid Internal Embedding)” 给策略网络 。

这个“嵌入”由两部分组成,所以叫“混合 (Hybrid)”:

  1. 显式部分 ($\hat{v}_t$ - Velocity): 预测机器人的实际线速度。
    • 作用: 让机器人知道自己实际跑得有多快(因为没有外部传感器,它很容易打滑,不知道自己其实没动)。
    • 训练方式: 简单的监督学习(Regression),用仿真里的真值去监督它 。
  2. 隐式部分 ($\hat{l}_t$ - Implicit Response): 一个潜在向量(Latent Vector,维度为16)。
    • 作用: 捕捉那些难以量化的“状态”,比如“脚下是不是很滑”、“刚才是不是绊了一下”。作者称之为“稳定性的隐式表达” 。
    • 训练方式: 对比学习 (Contrastive Learning)

训练方法:对比学习 (Why Contrastive?)

在上图的右上角,可以看到 “Pull Closer”“Push Away” ,这是整篇文章的精华部分。

  • 传统做法 (Regression): 试图让网络直接预测环境参数(例如:预测摩擦系数 = 0.5)。
    • 缺点: 仿真里的摩擦系数 0.5 和现实世界的 0.5 可能完全不是一回事(Sim-to-Real Gap)。如果网络死记硬背这个数字,到了现实世界就傻了。
  • 本文做法 (Contrastive Learning):
    • 作者认为:不管环境参数是多少,“如果两段历史轨迹看起来很像,那么它们接下来的反应(下一帧状态)也应该很像”
    • 正样本对 (Positive Pair): 拿一段“历史观测” ($o_{t-H:t}$) 和它紧接着发生的“未来一帧状态” ($o_{t+1}$)。模型要把这两者的特征向量拉近 (Pull Closer) 。

作者使用了 SwAV (Swapping Assignments between Views) 算法来实现这个对比学习 。这是一种无监督学习方法,不需要人工标注“这是冰面”或“这是楼梯”,机器人自己通过大量试错就学会了归类。

实验验证

作者在 Unitree A1(小型狗)和 Aliengo(大型狗)上进行了测试。不仅仅是平地走,他们设计了三个极具挑战性的场景 :

  • 长楼梯 (Long-range Stairs): 这是一个连续决策过程。
  • 混合地形 (Compositional Terrain): 碎石路接楼梯。这对机器人的状态切换要求很高。
  • 抗干扰 (Anti-disturbance):
    • 拖拽测试 (Dragging): 在机器人腿上绑重物(模拟被草缠住或甚至电机老化阻力变大)。
    • 侧向撞击 (Lateral Hit): 用重物从侧面撞击机器人。
image-20260126105354706 实验结果 引自原论文

该表比了 HIM 和 RMA (Rapid Motor Adaptation,之前的SOTA方法)。数据非常惊人:

  • 短楼梯成功率: HIM 100% vs RMA 60%。这意味着 RMA 走两次大概率会摔一次,而 HIM 极其稳定。
  • 抗拖拽能力: HIM 能承受 10kg 的拖拽,而 RMA 只能承受 10kg (虽然数字一样,但结合楼梯表现看,HIM 的综合鲁棒性更强)。
  • 未知地形 (Unseen Terrains): 面对训练中没见过的“软坡 (Deformable Slope)”,HIM 成功率 55%,而 RMA 只有 10%。这证明了 HIM 的泛化能力更强。

注意 MoB (Multiplicity of Behavior)Built-in MPC 这两列。它们在楼梯和复杂地形上的成功率几乎是 0。这说明传统的模型预测控制 (MPC) 和一些较早的学习方法在应对这种非结构化极端地形时,几乎完全失效。

image-20260126105710818
消融实验结果 引自原论文

作者通过设计消融实验,确定了“隐式响应”的重要性:

  • 去掉速度预测 (w/o vel. inp.): 楼梯成功率从 100% 降到 85%
  • 去掉隐式响应 (w/o lat. inp.): 楼梯成功率从 100% 骤降到 50%
  • 结论: 那个通过对比学习训练出来的“隐式响应 (Internal Latent)”,才是这一整套系统的灵魂。它捕捉到了那些无法用语言描述的动态特性。

总结

这篇论文提出了一种高效、鲁棒的“盲式”足式机器人运动控制框架,核心在于利用对比学习来预测机器人的隐式响应,从而极大地提高了机器人对未知地形和干扰的适应能力。对于想要低成本实现高性能机器狗控制的开发者来说,这是目前性价比最高的复现方案之一。

Licensed under CC BY-NC-SA 4.0
|
萌ICP备20259913
Powered by Hugo with Stack
使用 Hugo 构建
主题 StackJimmy 设计, 由 秦时月 修改