DreamWaQ --- 通过深度强化学习,利用隐式地形想象学习稳健的四足步态【文献解读】
论文标题:DreamWaQ: Learning Robust Quadrupedal Locomotion With Implicit Terrain Imagination via Deep Reinforcement Learning
作者:I Made Aswin Nahrendra, Byeongho Yu, Hyun Myung(韩国科学技术院 KAIST)
发表信息:arXiv:2301.10602v2, 2023年3月
一、关键科学问题与技术挑战
1.1 核心问题
四足机器人虽具备跨越非结构化地形的物理能力,但其运动控制器的设计面临重大挑战。本文聚焦于以下核心问题:如何仅依赖本体感知(proprioception),使四足机器人在复杂地形上实现鲁棒的长距离运动?
1.2 技术挑战
-
外部感知的不可靠性:相机在恶劣天气和光照条件下可能失效;3D LiDAR难以准确估计地面的物理特性(如雪地看似坚硬实则松软,高草看似不可通行但四足机器人实际可通过)。
-
表征学习瓶颈(Representation Learning Bottleneck):策略需要理解地形属性才能学习鲁棒行为,但要充分学习地形属性,机器人又需要能够正常行走并探索广泛的地形属性。这一"鸡与蛋"的困境严重阻碍了最优策略的学习。
-
仅依赖本体感知的方法的局限性:先前仅依赖本体感知的方法在长距离、多种挑战性地形下的实证表现有限,机器人可能因高不确定性和估计误差而失败。
-
教师-学生训练范式的局限:行为克隆(BC)将学生策略的性能上界限定为教师策略;顺序训练教师和学生网络数据效率低;学生策略在BC期间只能获得教师策略的良好动作监督,无法探索失败状态。
二、研究方法与算法原理
2.1 整体框架概述
DreamWaQ 采用非对称 Actor-Critic 架构 ,结合**上下文辅助估计网络(CENet)和自适应引导(AdaBoot)**策略,实现仅依赖本体感知的鲁棒四足运动控制。整体训练在仿真中完成,通过零次迁移(zero-shot sim-to-real)部署到真实机器人。
2.2 环境建模:POMDP
环境被建模为无限时域部分可观测马尔可夫决策过程(POMDP),定义为元组 M=(S,O,A,d0,p,r,γ)M = (S, O, A, d_0, p, r, \gamma)M=(S,O,A,d0,p,r,γ):
| 符号 | 含义 |
|---|---|
| s∈Ss \in Ss∈S | 完整状态(连续) |
| o∈Oo \in Oo∈O | 部分观测(连续) |
| a∈Aa \in Aa∈A | 动作(连续) |
| d0(s0)d_0(s_0)d0(s0) | 初始状态分布 |
| p(st+1∣st,at)p(s_{t+1}|s_t, a_t)p(st+1∣st,at) | 状态转移概率 |
| r:S×A→Rr: S \times A \to \mathbb{R}r:S×A→R | 奖励函数 |
| γ∈[0,1)\gamma \in [0, 1)γ∈[0,1) | 折扣因子 |
定义时间窗口 HHH 内的时序观测为 otH=ot,ot−1,...,ot−HTo_t^H = o_t, o_{t-1}, \\ldots, o_{t-H}^TotH=ot,ot−1,...,ot−HT(本文取 H=5H=5H=5),以及上下文向量 ztz_tzt,包含世界状态的隐式表征。
2.3 隐式地形想象(Implicit Terrain Imagination)
2.3.1 非对称 Actor-Critic 架构
核心思想:利用 Actor-Critic 算法中策略网络与价值网络之间的交互,使策略网络能够从部分时序观测中隐式推断特权观测信息。
- 策略网络(Actor) :输入为时序部分观测 otHo_t^HotH,输出为动作 ata_tat
- 价值网络(Critic) :输入为完整状态 sts_tst(特权观测),输出为状态价值估计 V(st)V(s_t)V(st)
该架构的优势:
- 仅需一次训练阶段,显著提高数据效率
- 策略可探索所有可能的轨迹,通过泛化增强鲁棒性
2.3.2 策略网络
策略 πϕ(at∣ot,vt,zt)\pi_\phi(a_t | o_t, v_t, z_t)πϕ(at∣ot,vt,zt) 由参数 ϕ\phiϕ 化的神经网络实现,输入包括:
- 本体感知观测 oto_tot:直接从关节编码器和IMU测量
- 机体速度 vtv_tvt:由CENet估计
- 隐式状态 ztz_tzt:由CENet估计
本体感知观测定义为:
ot=ωt, gt, ct, θt, θ˙t, at−1To_t = \\omega_t,\\ g_t,\\ c_t,\\ \\theta_t,\\ \\dot{\\theta}_t,\\ a_{t-1}^Tot=ωt, gt, ct, θt, θ˙t, at−1T
其中 ωt\omega_tωt 为机体角速度,gtg_tgt 为机体坐标系下的重力向量,ctc_tct 为速度指令,θt\theta_tθt 为关节角度,θ˙t\dot{\theta}tθ˙t 为关节角速度,at−1a{t-1}at−1 为上一步动作。
网络结构:512×256×128×12512 \times 256 \times 128 \times 12512×256×128×12
2.3.3 价值网络
价值网络接收特权观测 sts_tst:
st=ot, vt, dt, htTs_t = o_t,\\ v_t,\\ d_t,\\ h_t^Tst=ot, vt, dt, htT
其中 dtd_tdt 为随机施加在机器人机体上的扰动力,hth_tht 为机器人周围的高度图扫描(外部感知线索)。策略网络被训练为从本体感知中隐式推断 dtd_tdt 和 hth_tht。
网络结构:512×256×128×1512 \times 256 \times 128 \times 1512×256×128×1
2.3.4 动作空间
动作 ata_tat 为 12×112 \times 112×1 向量,对应机器人的期望关节角度。期望关节角度定义为:
θdes=θstand+at\theta_{des} = \theta_{stand} + a_tθdes=θstand+at
其中 θstand\theta_{stand}θstand 为机器人站立姿态的关节角度。期望关节角度通过PD控制器跟踪。
2.4 奖励函数设计
奖励函数由任务奖励(跟踪指令速度)和稳定性奖励(产生稳定自然的运动行为)组成:
| 奖励项 | 公式 | 权重 |
|---|---|---|
| 线速度跟踪 | exp(−4(vxycmd−vxy)2)\exp(-4(v_{xy}^{cmd} - v_{xy})^2)exp(−4(vxycmd−vxy)2) | 1.0 |
| 角速度跟踪 | exp(−4(ωyawcmd−ωyaw)2)\exp(-4(\omega_{yaw}^{cmd} - \omega_{yaw})^2)exp(−4(ωyawcmd−ωyaw)2) | 0.5 |
| Z轴线速度 | vz2v_z^2vz2 | -2.0 |
| XY角速度 | ωxy2\omega_{xy}^2ωxy2 | -0.05 |
| 朝向 | ∣g∣2|g|^2∣g∣2 | -0.2 |
| 关节加速度 | θ¨2\ddot{\theta}^2θ¨2 | −2.5×10−7-2.5 \times 10^{-7}−2.5×10−7 |
| 关节功率 | ∣τ∣∣θ˙∣|\tau||\dot{\theta}|∣τ∣∣θ˙∣ | −2×10−5-2 \times 10^{-5}−2×10−5 |
| 机体高度 | (hdes−h)2(h_{des} - h)^2(hdes−h)2 | -1.0 |
| 足端间隙 | (pf,z,kdes−pf,z,k)2⋅vf,xy,k(p_{f,z,k}^{des} - p_{f,z,k})^2 \cdot v_{f,xy,k}(pf,z,kdes−pf,z,k)2⋅vf,xy,k | -0.01 |
| 动作变化率 | (at−at−1)2(a_t - a_{t-1})^2(at−at−1)2 | -0.01 |
| 平滑性 | (at−2at−1+at−2)2(a_t - 2a_{t-1} + a_{t-2})^2(at−2at−1+at−2)2 | -0.01 |
| 功率分配 | var(τ⋅θ˙)2\text{var}(\tau \cdot \dot{\theta})^2var(τ⋅θ˙)2 | −10−5-10^{-5}−10−5 |
功率分配奖励是本文的独创设计:传统功率最小化奖励不考虑各电机功率使用的平衡性,导致部分电机可能比其他电机更快过热。该奖励通过惩罚所有电机功率的高方差来减少电机过热。
总奖励:rt(st,at)=∑iriwir_t(s_t, a_t) = \sum_i r_i w_irt(st,at)=∑iriwi
2.5 课程学习(Curriculum Learning)
采用游戏启发的课程学习策略,确保在困难地形上渐进式学习运动策略:
- 地形类型:平滑地形、粗糙地形、离散化地形、楼梯地形
- 倾斜角度:10个等级,范围 0°,22°0°, 22°0°,22°
- 低速运动时使用网格自适应课程,产生更稳定的转向,防止足端绊倒
2.6 上下文辅助估计网络(CENet)
2.6.1 设计动机
先前工作分别估计地形属性(隐式变量)和机体状态,但本文发现地形估计与机体状态估计之间的交互作用能显著提高机体状态估计精度。
2.6.2 网络架构
CENet 采用单编码器 + 多头解码器架构:
- 共享编码器 :将时序观测 otHo_t^HotH 编码为 vtv_tvt 和 ztz_tzt
- 解码器头1 :估计机体线速度 vtv_tvt(3×1)
- 解码器头2 :重构下一步观测 ot+1o_{t+1}ot+1(基于 β-VAE)
网络结构:编码器 16×1→64×128×4816 \times 1 \to 64 \times 128 \times 4816×1→64×128×48;解码器 128×64×19128 \times 64 \times 19128×64×19
2.6.3 损失函数
CENet 的混合损失函数:
LCE=Lest+LVAE\mathcal{L}{CE} = \mathcal{L}{est} + \mathcal{L}_{VAE}LCE=Lest+LVAE
速度估计损失(MSE):
Lest=MSE(v~t,vt)\mathcal{L}_{est} = \text{MSE}(\tilde{v}_t, v_t)Lest=MSE(v~t,vt)
VAE损失(β-VAE):
LVAE=MSE(o~t+1,ot+1)+βDKL(q(zt∣otH)∥p(zt))\mathcal{L}{VAE} = \text{MSE}(\tilde{o}{t+1}, o_{t+1}) + \beta D_{KL}(q(z_t|o_t^H) \| p(z_t))LVAE=MSE(o~t+1,ot+1)+βDKL(q(zt∣otH)∥p(zt))
其中:
- o~t+1\tilde{o}_{t+1}o~t+1 为重构的下一步观测
- q(zt∣otH)q(z_t|o_t^H)q(zt∣otH) 为给定观测的上下文后验分布
- p(zt)p(z_t)p(zt) 为上下文先验分布(标准正态分布,因所有观测已归一化为零均值单位方差)
- DKLD_{KL}DKL 为KL散度
2.6.4 CENet 的优势
- 架构简化:共享编码器使网络在推理时同步运行
- 精度提升:编码器通过自编码机制联合学习机器人的前向和后向动力学
2.7 自适应引导(AdaBoot)
2.7.1 问题背景
在策略网络训练期间从估计网络引导(bootstrapping)可增强策略的 sim-to-real 鲁棒性,但训练早期的大学习噪声可能损害策略性能。
2.7.2 算法原理
AdaBoot 根据域随机化环境中 episodic 奖励的变异系数(CV,标准差与均值之比)自适应调整引导概率:
pboot=1−tanh(CV(R))p_{boot} = 1 - \tanh(\text{CV}(R))pboot=1−tanh(CV(R))
其中 pboot∈0,1p_{boot} \in 0, 1pboot∈0,1 为引导概率,RRR 为 m×1m \times 1m×1 的 episodic 奖励向量。
核心逻辑:
- 当 CV 较小(智能体已学习良好)时,pbootp_{boot}pboot 较大,增加引导概率使策略对不准确的估计更具鲁棒性
- 当 CV 较大(智能体尚未学好)时,pbootp_{boot}pboot 较小,减少引导以避免噪声干扰
- tanh\tanhtanh 函数将 CV® 平滑上界约束为1
2.8 训练配置
| 配置项 | 参数 |
|---|---|
| 仿真器 | Isaac Gym |
| 并行智能体数 | 4,096 |
| 训练迭代 | 1,000 次 |
| RL算法 | PPO |
| PPO裁剪范围 | 0.2 |
| GAE因子 | 0.95 |
| 折扣因子 | 0.99 |
| 优化器 | Adam |
| 学习率 | 10−310^{-3}10−3 |
| 激活函数 | ELU |
域随机化参数:
| 参数 | 随机化范围 | 单位 |
|---|---|---|
| 负载 | −1,2-1, 2−1,2 | kg |
| Kp因子 | 0.9,1.10.9, 1.10.9,1.1 | Nm/rad |
| Kd因子 | 0.9,1.10.9, 1.10.9,1.1 | Nms/rad |
| 电机强度因子 | 0.9,1.10.9, 1.10.9,1.1 | Nm |
| 质心偏移 | −50,50-50, 50−50,50 | mm |
| 摩擦系数 | 0.2,1.250.2, 1.250.2,1.25 | - |
| 系统延迟 | 0.0,15.00.0, 15.00.0,15.0 | ms |
2.9 实验设计
2.9.1 对比方法
| 方法 | 特点 |
|---|---|
| Baseline | 无自适应机制 |
| AdaptationNet | 隐式环境因子编码器 + 教师-学生训练框架(1D CNN + MLP) |
| EstimatorNet | 并发训练估计器网络,显式估计机体状态,无上下文估计 |
| DreamWaQ w/o AdaBoot | 本文方法,不含自适应引导 |
| DreamWaQ w/ AdaBoot | 本文完整方法 |
2.9.2 真实世界部署
- 机器人:Unitree A1
- 机载计算:Intel NUC
- 推理频率:策略与CENet同步运行于 50 Hz
- PD控制器:Kp=28K_p = 28Kp=28,Kd=0.7K_d = 0.7Kd=0.7,运行于 200 Hz
- 额外负载:约500g(机载PC + 电池)
三、主要创新点与学术贡献
3.1 隐式地形想象的非对称 Actor-Critic 框架
创新点:提出基于非对称 Actor-Critic 架构的运动学习框架,使策略网络仅从本体感知的时序观测中隐式推断地形属性(高度图、摩擦系数、恢复系数、障碍物等),无需显式的外部感知输入。
学术贡献:
- 突破了教师-学生训练范式的性能上界限制,策略可自由探索所有轨迹
- 单阶段训练,显著提升数据效率
- 实验表明,即使无外部感知,DreamWaQ 的性能接近拥有高度图直接访问权限的 oracle 策略
3.2 上下文辅助估计网络(CENet)
创新点:提出共享编码器 + 多头解码器的CENet架构,联合估计机体速度和地形上下文,而非独立估计。
学术贡献:
- 发现并验证了地形估计与机体状态估计之间的交互增强效应
- 通过 β-VAE 的自编码机制实现前向-后向动力学联合学习,显著提升估计精度
- 在机器人足端绊倒场景下,CENet 的估计误差远低于 EstimatorNet,避免了因估计不准导致的灾难性失败
- 共享编码器使推理同步运行,架构更简洁
3.3 自适应引导策略(AdaBoot)
创新点:提出基于 episodic 奖励变异系数的自适应引导方法,动态调整训练期间的引导概率。
学术贡献:
- 解决了固定引导概率在训练早期因大噪声损害策略性能的问题
- 统计学驱动的引导策略:智能体学习良好时增加引导增强鲁棒性,学习不足时减少引导避免噪声
- 实验表明 AdaBoot 在命令跟踪、鲁棒性等指标上均有显著提升
3.4 功率分配奖励
创新点:引入功率方差惩罚项,减少各电机之间的功率使用不平衡。
学术贡献:传统功率最小化奖励不考虑电机间功率平衡,长期运行中部分电机可能过热。功率分配奖励有效缓解了真实部署中的电机过热问题,使机器人在爬坡等高负载场景下可持续运行。
3.5 首次在小型四足机器人上实现长距离挑战地形行走
创新点:首次在 Unitree A1(显著小于 ANYmal 的四足机器人)上实现了在山坡、院落等挑战性地形上的可持续行走。
实验验证:
- Course A(校园院落):430m,包含斜坡、可变形地形、楼梯、雨后湿滑地面
- Course B(校园山坡):465m,最大海拔上升22m,10分钟内登顶
- 机器人展现出上下楼梯的不同步态适应、足端绊倒和打滑时的反射性恢复能力
3.6 鲁棒性量化验证
| 算法 | 最大推力速度 (m/s) | 存活率 (%) |
|---|---|---|
| Baseline | 0.511 ± 0.053 | 20.51 ± 6.44 |
| AdaptationNet | 0.714 ± 0.096 | 82.37 ± 2.49 |
| EstimatorNet | 0.871 ± 0.124 | 80.92 ± 5.73 |
| DreamWaQ w/o AdaBoot | 1.015 ± 0.121 | 90.71 ± 1.25 |
| DreamWaQ w/ AdaBoot | 1.121 ± 0.164 | 95.23 ± 1.61 |
DreamWaQ 在最大承受推力和存活率上均显著优于所有基线方法。
四、技术路线总结
仿真训练(Isaac Gym)
├── 非对称 Actor-Critic(PPO)
│ ├── Actor:时序本体感知 → 动作(隐式推断地形属性)
│ └── Critic:完整状态(含高度图、扰动力)→ 状态价值
├── CENet(共享编码器 + 多头解码器)
│ ├── 速度估计头:→ 机体线速度
│ └── β-VAE重构头:→ 下一步观测重构 + 上下文向量
├── AdaBoot:自适应引导概率调节
├── 课程学习:渐进式地形难度
└── 域随机化:物理参数随机化
↓
零次迁移部署(Zero-shot Sim-to-Real)
↓
真实机器人(Unitree A1)
├── 仅依赖本体感知(IMU + 关节编码器)
├── CENet 同步推理(50 Hz)
└── PD控制器跟踪(200 Hz)
五、局限性与未来方向
- 适应机制的局限:机器人必须先用腿部接触障碍物才能进行适应,无法提前规划避障
- 复杂结构的局限:难以处理高层楼梯等更复杂的结构
- 未来方向:将外部感知集成到运动系统中,在接触障碍物之前进行步态规划