优化前后对照

两段视频均在平地、头部中立命令下连续运行 20 秒,依次执行前进、后退、左移和右移。 左侧沿用最初的 MicroDuck 行走奖励,右侧为优化后的训练结果。

优化前。 能够跟随运动命令,但头颈关节存在明显的周期性摆动。
优化后。 保持四方向运动,同时明显抑制头部摇晃。

解决思路

  1. 关注持续速度。 新增时间常数为 0.5 秒的水平速度 EMA 奖励, 减少换脚时瞬时速度波动对训练的干扰。
  2. 直接约束晃头。 加强头部姿态跟踪,并新增头颈关节瞬时角度和角速度惩罚, 防止左右对称摆动在长期平均中相互抵消。
  3. 加强接触约束。 自身碰撞权重由 −1 提高到 −5, 接触数取一个控制步内四个物理子步的最大值。

核心奖励变化

控制步长为 \(\Delta t=0.02\,\mathrm{s}\),下列权重均为乘上 \(\Delta t\) 之前的值。

奖励项 原始项 最初 优化后
平均水平速度跟踪 \(e^{-\|\bar v_{xy}-v^*_{xy}\|^2/0.0025}\) 无 4
头部姿态跟踪 \(\operatorname{mean}[e^{-(e_h/0.5)^2}]\) 2 4
自身碰撞 活跃自身接触对数 \(N_{\rm self}\) −1 −5
头颈瞬时角度偏差 \(\|e_h\|^2\) 无 −8
头颈瞬时角速度 \(\|\dot q_h\|^2\) 无 −0.04

因此,在相同状态与课程位置下:

\[ \begin{aligned} r_{\rm new}=r_{\rm old}+\Delta t\big[ &4e^{-\|\bar v_{xy}-v^*_{xy}\|^2/0.0025} +2\operatorname{mean}(e^{-(e_h/0.5)^2}) \\ &-4N_{\rm self}-8\|e_h\|^2-0.04\|\dot q_h\|^2 \big]. \end{aligned} \]

其余原始奖励保持不变。瞬时速度核仍使用 0.1,较窄的 0.0025 只用于平均速度跟踪。优化后的训练继承原课程计数,动作变化和头部长期偏置权重 分别为 −0.8 与 2。