DEEP 132 · 第十二辑 · 任务配置与脚本逐文件 · LEARN NOTES

收进学习手册 · 2026-09-11 · duck.whatled.com

解读 132 · velocity 课程逐门

解读对象:与 解读 131 同文件 779–910 行,七门课程逐门
需要的前置:解读 27(课程=调度器的思想)、解读 26

课程 = 按步数改参数的调度器

mjlab 的课程项是 CurriculumTermCfg:一个函数 + 一组分段表。表里 step 以环境步计,乘数是 NUM_STEPS_PER_ENV=24(文件 :22),所以 500 * 24 就是第 500 个 PPO 迭代。velocity 环先删掉模板默认的两门:terrain_levels(仅平地时,:891-892)和 command_vel(:893)——后者对应一个写进注释的决定:"速度命令范围固定,不做扩张课程",因为一次扩到 lin ±0.4 / ang ±2.0 的爬坡跑赢了机器人能力,iter 1000 后奖励与步长一起衰退(:647-650)。然后换上自己的七门:

七门课程(名字 / 条件 / 进退)

  1. action_rate_weight(:781-794):reward_weight 把 action_rate_l2 从 -0.1 起每 250 迭代一档,1500 迭代收在 -1.0。动作税后出场:步态先活下来,再要求平滑。
  2. standing_envs(:797-810):站立环境占比 0.02 → 0.25(2000 迭代)。"站住"不靠专门的静止奖励,靠这个桶慢慢放量。
  3. head_pose_range(:819-832):pose_command_range_curriculum 按关节扩头部命令,5 档从终值的 5% 到 100%:终值颈/头俯仰 ±1.10、头偏航 ±1.40、头滚转 ±0.31 rad——每个数都是 XML 限位减 HOME 偏移再留约 10% 裕量(:663-667)。
  4. body_pose_range(:836-851):只有一档,恒为 ±5 mm / ±0.05 rad——vel 环里身体命令槽只是"保温",不抢戏。
  5. com_range(:855-872,门控 ENABLE_COM_RANDOMIZATION):质心随机化半径 0.003→0.015 m 封顶。注释记录 2026-07 审计:旧爬坡到 ±30 mm,而脚跟离踝轴只有 20 mm,质心可被随机到支撑面外,后退平衡永远练不成。
  6. head_com_range(:876-888):头组件质心 0.003→0.01 m 封顶——头是大杠杆臂,同一次审计砍的。
  7. head_pose_bias_weight(:899-910):点头惩罚的定时引信:0 →(600 迭代)1.0 →(1000)2.0 →(1500)3.0。注释直说:步态诞生前,姿势精度项只是干扰。

七门里两门爬惩罚(1、7)、两门放量换数据配比(2)与扩命令(3)、两门扩随机化且封顶(5、6)、一门假扩张(4)——课程表的形状就是这份训练的教学大纲。

你带走的收获

延伸

什么鸭 WHATDUCK · 复刻学习笔记 ← 全部手册 · 首页