Physics Studio 使用指南¶
Physics Studio 只负责 source、case selection 和 common rollout/evaluator 边界;每个方法仍运行自己的作者 task 与训练 lifecycle。
| source | CoDA | InterMimic | RePHO | HDMI | Ours |
|---|---|---|---|---|---|
result.pt |
CoDA-62 | OMOMO | OMOMO | OMOMO → Isaac Lab | PHC |
| ARCTIC official InterAct | CoDA-62 | OMOMO | OMOMO | OMOMO → Isaac Lab | PHC |
这就是完整的 2×5 路由。人类 motion format 只有 CoDA-62、OMOMO、PHC 三种;URDF、完整 object joint trajectory、q0 和 contact 是同一 source 的 side input,不能把 CoDA 或 Ours 强转为 OMOMO。
配置与 source¶
physics.motion_source 只能是:
recon_result:physics.motion_path是一个result.pt;dataset:physics.motion_path是一个官方 InterAct sequence 目录。
ARCTIC 的 40 个 case、时间区间与数据根目录只定义在
configs/datasets/arctic40.json。五个方法各自只有一份
case-independent YAML;不要新增 per-case config 或 manifest。
先在 shell 或调度器中激活兼容环境,再运行命令。仓库 YAML 和 Python 代码不选择 Conda 环境、解释器或 动态库路径;子进程继承启动命令的环境。
ARCTIC-40¶
先用一个 case 检查训练链,再移除 --case 跑完整 inventory:
python scripts/physics/run_arctic_physics_only.py \
--config configs/experiments/physics_only/arctic/coda.yaml \
--case s01/laptop_use_01 --device-id 0
python scripts/physics/run_arctic_physics_only.py \
--config configs/experiments/physics_only/arctic/intermimic.yaml \
--case s01/laptop_use_01 --device-id 1
CoDA 的 ARCTIC source 是已验证的作者原生 62-joint MimicArti motion;不恢复也不使用
MimicArtiStudio。InterMimic、RePHO、HDMI 和 Ours 从同一官方 human.npz + object.npz +
contact.npz 读取 ARCTIC source。HDMI 的 ARCTIC author-run 尚未 smoke 前,不应声明它可用。
--prepare-only 仅 materialize native input;它不会启动训练。Ours 的普通运行则是一次原生训练:
python scripts/physics/run_arctic_physics_only.py \
--config configs/experiments/physics_only/arctic/ours.yaml \
--case s01/laptop_use_01 --device-id 6 --epochs 50 \
--output output/physics_only/arctic_ours_smoke
--epochs 是 Ours 专用的正整数 override。它不是 partial/full stage,也不会自动 eval 或 resume。
D3D result.pt¶
python scripts/physics/run_studio_case.py \
--case-json /absolute/path/case.json \
--motion /absolute/path/result.pt \
--config configs/methods/physics/ours.yaml \
--output /absolute/path/new-output \
--device-id 0 --epochs 50
Ours 的 public route 为:
一个 Ours 输出目录只保留真正跨 PHC child-process 边界的输入和训练结果:
studio_input/reference.npz
studio_input/phc/reference/phc_motion.pkl
studio_input/phc/reference/humanoid.xml
studio_input/phc/reference/phc_object_case/{config.json,asset/...}
train/ours.pth
train/train.log
reference.npz 含 object trajectory 和两手 contact;config.json 只描述 PHC object asset、q0、物理
参数及 contact geometry。不会写 materialization.json、ours_resolved_config.json、phase.json、
command.txt、pretraining/partial gate 或 duplicate q/contact NPZ。
当前边界¶
- Ours 保持自己的
HumanoidImStudioResidualtask;它不进入通用 OMOMO runner。 - Ours 训练 log 可用于检查 reward 曲线,但 Physics metric/evaluator 仍待冻结;训练完成不代表 benchmark 成功。
- 每个 case 使用新的输出目录。不要覆盖他人的 checkpoint,也不要让多个 case 共用 Ours policy/RMS。
- CoDA/InterMimic/RePHO/HDMI 的作者 task、reward、trainer 不在这次通用 source refactor 中合并。