Skip to content

feat: add R1 26-DoF motion-tracking training preset - #2

Open
Zarato2122 wants to merge 1 commit into
feat/asap-r1-retarget-adapterfrom
feat/asap-r1-26dof-motion-tracking
Open

feat: add R1 26-DoF motion-tracking training preset#2
Zarato2122 wants to merge 1 commit into
feat/asap-r1-retarget-adapterfrom
feat/asap-r1-26dof-motion-tracking

Conversation

@Zarato2122

Copy link
Copy Markdown
Owner

依赖关系

这是基于 PR #1 的 stacked PR,base 为 feat/asap-r1-retarget-adapter。应先合并 PR #1,再合并本 PR。

本阶段目标

让 Unitree R1 EDU 按完整 26-DoF 接入 ASAP phase-based motion-tracking 训练链路;不修改 ASAP 核心 task/reward/observation/PPO 代码,并用最短 smoke 验证 rollout 和一次 PPO update 可以执行。

改动文件

  • humanoidverse/config/exp/r1_26dof_motion_tracking.yaml:新增可复用的 R1 26-DoF Isaac Gym motion-tracking preset。
  • humanoidverse/config/robot/r1/r1.yaml:将 joint/body order 与官方 R1 URDF 在 Isaac Gym 中的顺序统一;头部 action index 为 14/15。
  • humanoidverse/data/robots/r1/r1_fitmotionONLY.xml:同步 body 名称和遍历顺序,使 retarget motion PKL 与训练 URDF 无需隐式 permutation。
  • docs/r1_motion_retargeting_adapter.md:补充 simulator-aligned order 和 DDS 映射说明。
  • reproduction/r1-26dof-motion-tracking-smoke.md:记录环境、命令、指标、输出路径和限制。

测试命令

  • Hydra compose:+exp=r1_26dof_motion_tracking
  • xmllint --noout humanoidverse/data/robots/r1/r1_fitmotionONLY.xml
  • YAML/XML/官方 Isaac Gym URDF joint/body order 与 limit 校验。
  • MuJoCo compile:MjModel.from_xml_path(...)
  • Humanoid_BatchMotionLibRobot 和 head-sweep reference 检查。
  • 16 env、8 rollout steps、1 PPO iteration 的 Isaac Gym smoke。

测试结果

  • 26 actions、27 robot bodies、3 extended bodies;head pitch/yaw index 14/15。
  • Actor observation 425,critic observation 620。
  • MuJoCo:nq=33 nv=32 nu=26 nbody=28 njnt=27
  • Head-sweep reference:pitch 0.250 rad、yaw 0.600 rad,head tracking point 位移 0.0291 m
  • PPO smoke:16 env、128 timesteps、113 steps/s、mean reward 0.43;rollout、reward、backprop/update 和 checkpoint save 均完成。

本地输出路径

  • Smoke run:logs/ASAPR1Smoke/20260716_152112-R1_26DoF_OneIteration-motion_tracking-r1/
  • 官方 URDF/meshes:/tmp/asap-r1-unitree-ros-source/robots/r1_description/
  • retargeting MJCF/meshes:/tmp/asap-r1-adapter-validation/src/assets/robots/unitree_r1/xmls/
  • 生成的 smoke motions:/tmp/asap-r1-26dof-training-assets/

未提交的大文件

  • model_0.ptmodel_1.pt、TensorBoard/log 输出未提交。
  • 官方 STL、临时 standing/head-sweep motion PKL 未提交。
  • 未提交 SMPL 数据、真实 retarget motion、视频或大型中间结果。

当前限制和下一步

  • 当前只用生成的 standing/head-sweep motion 验证执行链路,不代表策略质量。
  • 下一步需要对 ASAP 提供的一条低动态 SMPL motion 运行 R1 shape fitting 和 retarget,做可视化 QA 后替换 smoke PKL,再开始短训练。
  • 头部已进入 joint/full-body/three-point tracking rewards,同时受 action-rate 和 joint limit penalties 约束;首次真实 motion 训练仍需单独监控头部误差。
  • delta-action、sim fine-tuning 和真机部署仍不在本阶段范围内;未来 DDS 必须按 joint name 映射,head pitch/yaw 对应电机索引 29/30。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants