适配你宇树 G1 人形、Go2 四足训练,分三部分:启动命令、面板指标详解、曲线变化对应训练状态。

一、TensorBoard 启动与基础操作

1. 日志目录说明

训练脚本执行后,会自动生成日志文件夹,默认两种命名:

  • runs/(老版本)

  • logs/xxx(新版本,带时间戳、任务名区分多组实验)

2. 终端启动命令(Ubuntu 无头训练通用)

# 进入训练项目根目录
cd ~/unitree_rl_gym
# 读取全部日志
tensorboard --logdir=runs
# 或指定logs文件夹(本人是这个)
tensorboard --logdir=logs/

启动成功输出:
TensorBoard 2.x.x at http://localhost:6006
打开浏览器输入 http://127.0.0.1:6006 进入可视化页面。

3. 五大核心面板(只用 Scalars 即可完成 99% 调试)

  1. Scalars(最关键):所有训练指标随迭代轮次变化曲线,奖励、损失、episode 长度、学习率全在这里

  2. Histograms:神经网络权重分布,排查梯度爆炸 / 消失

  3. Graphs:可视化 PPO 网络结构(很少用)

  4. Profiles:GPU/CPU 算力占用,判断num_envs是否开太大

  5. Text/Hparams:记录超参配置,多组实验对比

二、Scalars 面板全部参数含义(宇树训练标准指标)

分四大类:跟踪奖励(正向核心)、约束惩罚奖励(负向)、训练迭代指标、PPO 损失指标

(一)正向任务奖励(越高 = 机器人完成任务越好)

1. rew_tracking_lin_vel 线速度跟踪奖励【最重要指标】

  • 含义:机器人基座 XY 平面实际速度 vs 下发指令前进 / 侧向速度匹配度,公式 exp(-速度误差),完美匹配时≈1,完全不匹配≈0

  • 性能对应:

    • 持续稳步上升:机器人学会跟随行走指令

    • 长期卡在 0~0.2:只会原地踏步,不会前进

    • 冲高后断崖下跌:步态震荡、打滑,速度频繁偏离指令

2. rew_tracking_ang_vel 角速度跟踪奖励

  • 含义:偏航 Yaw 旋转速度跟踪,控制机器人左右转向

  • 曲线解读:数值稳定偏高 = 转向流畅;数值极低 = 不会转弯、转向迟钝

3. rew_alive /episode_length 存活步数(Episode 平均长度)

  • 含义:单次仿真环境从启动到摔倒 / 超时的总步数,环境最大步数一般 1000

  • 性能:

    • 稳定拉满接近 1000:几乎不摔倒,步态稳定

    • 长期 200 以内:极易倾倒,平衡控制差

    • 前期上涨后期暴跌:训练后期步态崩坏、频繁摔机

4. rew_feet_air_time 足端离地奖励(四足 / 人形通用)

  • 含义:鼓励抬腿迈步,避免拖脚蹭地

  • 偏低:机器人贴地滑行,无正常交替步态

(二)约束惩罚类奖励(永远负数,绝对值越小越好)

1. rew_lin_vel_z 垂直 Z 向速度惩罚

  • 含义:抑制机身上下剧烈弹跳、起落冲击,惩罚竖直方向速度

  • 曲线:负数绝对值持续变大 → 步态弹跳严重,机身上下抖动剧烈,真机落地冲击大

2. rew_hip_pos /rew_orientation 躯干姿态惩罚

  • hip_pos:约束髋部固定高度,避免蹲太低、过高

  • orientation:约束机身 Roll/Pitch 不倾斜、不侧翻

  • 负值过大:机身歪斜、蹲伏,平衡差

3. rew_torques 关节力矩 / 能耗惩罚

  • 含义:惩罚电机输出过大扭矩,降低功耗、保护硬件

  • 绝对值持续增大:动作粗暴、关节发力过猛,真机容易过热过载

4. rew_dof_acc /rew_dof_pos_limits 关节平滑 / 限位惩罚

  • dof_acc:惩罚关节加速度突变,抑制抖动震颤

  • dof_pos_limits:惩罚关节超出物理限位,防止卡死

  • 负值飙升:机器人关节高频震颤、频繁顶限位

5. rew_collision 机体碰撞惩罚

负值急剧变大:躯干、膝盖频繁碰撞地面,步态畸形

(三)全局训练统计指标

  1. total_reward /mean_total_reward 总平均奖励
    所有单项奖励加权总和,收敛核心判断依据:稳定持续上升、后期平缓震荡 = 训练收敛;长期不动 / 下跌 = 训练失效。

  2. Iteration time 单轮迭代耗时
    稳步上涨:num_envs并行环境开太多,GPU 满载卡顿;0.5~0.7s 为 4060 8G 合理区间。

  3. total_timesteps 总仿真步数
    用于判断训练数据量,步数越多策略越成熟。

  4. Learning rate 学习率
    PPO 默认衰减,曲线平滑下降;突然跳变会导致奖励剧烈震荡。

(四)PPO 神经网络损失指标(判断网络更新是否稳定)

  1. policy_loss 策略损失
    缓慢下降、小幅震荡正常;剧烈飙升 = 梯度爆炸,策略崩坏

  2. value_loss 价值损失
    平稳下降代表价值网络能准确预估未来奖励;持续走高 = 观测归一化异常、奖励波动太大

  3. entropy 策略熵(探索度)

    • 缓慢平滑下降:正常,前期探索随机步态,后期收敛稳定动作

    • 快速跌到接近 0:过早失去探索,陷入局部最优,步态单一无法适应不同速度

    • 全程居高不下:探索太强,始终学不会稳定行走

三、曲线变化对应训练问题 & 调参方案

场景 1:总奖励缓慢持续上升,后期小幅平稳震荡 → 【完美收敛】

表现:tracking_lin_vel 高、episode_length 拉满,各项惩罚绝对值小
操作:停止训练,保存 checkpoint,可导出真机部署

场景 2:总奖励长期卡在低位不上涨

原因:

  1. tracking_lin_vel 权重太低,前进奖励引导不足;

  2. entropy 熵衰减过快,探索不足;

  3. 惩罚项(torques/lin_vel_z)权重过大,机器人不敢迈步。
    修复:增大 tracking_lin_vel 奖励 scale,调高 entropy_coef,降低垂直弹跳惩罚权重。

场景 3:奖励冲高后断崖暴跌(训练崩溃)

曲线特征:total_reward 先涨后骤降,value_loss 爆炸、episode_length 大幅缩短
诱因:

  1. 学习率过大,网络更新幅度失控;

  2. 域随机化参数拉满,环境难度突变;

  3. 并行环境 num_envs 开太多,显存 / 内存溢出导致观测异常。
    修复:降低学习率、减小并行数量、开启观测裁剪。

场景 4:tracking_lin_vel 低,rew_lin_vel_z 负值极大(步态弹跳)

现象:能前进,但机身上下大幅度跳动,落地冲击大
修复:加大rew_lin_vel_z惩罚权重,提升髋部高度约束 rew_hip_pos 权重。

场景 5:episode_length 很短,频繁摔倒

曲线:存活步数长期 300 以内,orientation 姿态惩罚负值高
修复:调高躯干姿态、碰撞惩罚,降低高速指令采样概率,增加平衡相关奖励。

场景 6:熵 entropy 快速趋近 0,奖励停滞

现象:机器人只会一种慢速步态,变速 / 转向立刻失衡
修复:减缓熵衰减系数,提升 entropy_coef,保留探索空间。

场景 7:torques 力矩惩罚持续恶化(动作粗暴)

曲线 rew_torques 负向数值越来越大
修复:加大力矩惩罚 scale,增加关节加速度平滑惩罚 dof_acc。

四、实操使用流程(日常训练标准步骤)

  1. 后台启动训练脚本(无头模式)
python legged_gym/scripts/train.py --task=g1 --headless
  1. 新开终端启动 tensorboard
tensorboard --logdir=logs/
  1. 浏览器打开 6006 端口,切换 Scalars 面板,重点监控 3 条核心曲线:
    ① mean_total_reward(总奖励)
    ② rew_tracking_lin_vel(速度跟踪)
    ③ mean episode length(存活步数)

  2. 每 1000 迭代观察一次曲线:

    • 三项同步稳步上涨:继续训练

    • 任意一项持续恶化:暂停训练,调整奖励权重 / PPO 超参

  3. 收敛后,停止训练,加载最优 checkpoint 可视化测试:

python play.py --task=g1 --checkpoint=-1

五、补充适配你 4060 8G 无头训练小提示

  1. 训练和 TensorBoard 可同时运行,仅占用少量 CPU,不占用 GPU 显存;

  2. 多组对比实验:不同 num_envs、奖励权重会生成独立日志文件夹,在 TensorBoard 左上角勾选多条曲线叠加对比;

  3. 日志占用磁盘空间大,长期挂机训练可定期删除旧 logs 文件夹。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐