Skip to content

T1:从走路到动作跟踪 ​

回填日期:2026-10-19。以下历史事实来自本地复现说明、评估 JSON 和基线存档;没有按聊天印象填补缺失结果。

为什么换到社区原配方 ​

早期 /home/z/bridge/rl/t1_learning/ 是本地自配的入门实验。曾出现站得稳、向前滑动但迈步不足。这个现象不能单凭“1000 轮不够”解释;用户要求先把现成项目跑通,再分析差异。

随后使用 KaydenKnapik/BoosterT1mjlab,本地 commit f0480bffb456456aa01bda75b4dcd3655659614c。这是社区训练实现,不是 Booster 官方训练代码;模型来源另见 booster_assets。

代码:/home/z/bridge/rl/BoosterT1mjlab/。独立环境使用 mjlab 1.3.0、MuJoCo 3.8.0、Warp 1.12.0、torch 2.9.0。已有 /home/z/robotics/mjlab 没有被这套环境替换。初次原版复现时跟踪文件未改;后来新增本地头部奖励任务,不能把所有后续实验都叫“完全原版”。

速度跟踪的实际结果 ​

checkpoint:/home/z/bridge/rl/BoosterT1mjlab/logs/rsl_rl/t1_velocity/2026-10-06_18-06-12/model_5650.pt。

证据:/home/z/bridge/rl/t1_upstream_evaluation.json。每项 32 环境、10 秒;速度统计排除最初 1 秒,不注入初始速度,使用 play 设置。

  • 前进目标 0.4 m/s,平均实际约 0.389 m/s。
  • 后退目标 −0.3 m/s,平均实际约 −0.175 m/s。
  • 侧移目标 0.3 m/s,平均实际约 0.190 m/s。
  • 转向目标 0.4 rad/s,平均实际约 0.267 rad/s。
  • 静止指令仍有约 0.071 m/s 前漂。
  • 五项合计 160 个短测试均未检测到摔倒;后退、侧移和站立仍有误差,不能记为全部完美跟踪。

原版训练入口:

bash
cd /home/z/bridge/rl/BoosterT1mjlab
uv run --no-sync booster_t1_train Mjlab-Velocity-Flat-Booster-T1 --env.scene.num-envs 4096

这条命令会启动新训练,预算由原配方决定。重现历史结果应查看当时 YAML、日志和 checkpoint,而非假定今天重新运行会得到完全相同数值。终端遥控的本地入口另保存在工作区,当前学习记录不凭记忆补写其按键实现。

Tracking 歪头:漏约束比多训更关键 ​

社区原 tracking 的 body 跟踪列表没有直接约束头部,两个头部关节仍可被策略驱动。model_8850.pt 的固定协议诊断中,参考 yaw/pitch 为 0°,实际 MAE 约 40.19°/44.24°。

新增独立任务 Mjlab-Tracking-Flat-Booster-T1-Head:按当前参考分别加入 yaw/pitch 平方误差软奖励,起始权重各 −2,单位弧度,奖励再乘控制 dt。没有把头部硬锁死,也没有改变原任务文件来掩盖差异。

修正任务的首轮试验从原策略仅加载 actor,重新初始化 critic/优化器/计数;属于 actor warm start,不是从头训练。后续每个 run 的初始化方式以其配置为准。排查和训练细节在 /home/z/bridge/rl/HEAD_TRACKING.md。

李小龙动作基线 ​

用户在 2026-10-07 完整观看后反馈“基本上非常完美”。基线目录:/home/z/bridge/rl/baselines/t1_bruce_lee_9999/。

该目录独立保存 model_9999.pt、ONNX 存档、实际 env/agent YAML、原动作和限位修正版、源码与模型。ONNX 没有独立部署验收,已验收的是 PyTorch 动态回放。

evaluation.json:完整 725 帧、50 Hz,nominal 与第 4 秒施加 0.2 m/s 水平根速度增量两组各 32/32 完成。nominal 关节 RMSE 约 7.28°,头 yaw/pitch MAE 约 1.27°/1.47°。此结果针对李小龙基线,不能作为修正前同一动作、同一 checkpoint 的严格因果对照。

回放:

bash
cd /home/z/bridge/rl/BoosterT1mjlab
uv run --no-sync booster_t1_play Mjlab-Tracking-Flat-Booster-T1-Head \
  --checkpoint-file /home/z/bridge/rl/baselines/t1_bruce_lee_9999/model_9999.pt \
  --motion-file /home/z/bridge/rl/baselines/t1_bruce_lee_9999/t1_bruce_lee_limited.npz \
  --num-envs 1 --viewer native

这阶段学到什么 ​

速度命令任务和时序参考任务的观测/目标不同,checkpoint 不能任意混用。源动作要先查硬限位;直接裁角度虽然可以消除数学超限,但还需要检查平滑、接触和动态可行性。奖励遗漏的关节、模型或接口错误,都不会因为盲目增加迭代就自然消失。

随后把这些经验迁移到 小桥动作训练,没有直接把 T1 权重换模型继续使用。

dqx46 · Robotics / 算法工程项目与技术记录