asimov-rgmt-medium
A whole-body motion-tracking policy for the Asimov v1 humanoid (23 actuated degrees of freedom), trained with PPO in Newton physics. It implements the dynamics-conditioned command-aggregation architecture from Robust and Generalized Humanoid Motion Tracking (RGMT) and outputs residual joint targets on top of PD tracking of a reference motion.
The -medium suffix describes the training data: the policy was trained on the easy and medium training splits of the asimov-gmr reference release only. Hard clips were never seen during training, so all hard-difficulty numbers below are zero-shot.
- Training and evaluation code: rsamf/asimov-rgmt
- Reference motion pipeline: rsamf/asimov-gmr (retargets AMASS motion capture onto the robot; motion data itself cannot be redistributed)
- Paper: arXiv:2601.23080
Model description
The policy is a 3.25M-parameter actor-critic:
- A causal self-attention history encoder summarizes the last 10 proprioception frames into a dynamics embedding.
- A cross-attention command encoder uses that embedding as the query over a 21-frame window of reference-motion commands, so the aggregation of the command window is conditioned on the inferred dynamics.
- The action is a residual on the reference joint targets, squashed by tanh, low-pass filtered (alpha 0.7 at 60 Hz, trained through), and tracked by a joint-space PD controller.
- The critic is asymmetric: it sees privileged noise-free state, including the sampled dynamics parameters during training. The actor must infer the dynamics from its history, which is the architecture's system-identification premise.
- Observation normalization (running mean and standard deviation) is stored inside the checkpoint.
The policy was trained for hardware realism:
- Torque limits: per-joint torque caps from the URDF datasheet values, so commanded torques are ones the real actuators can deliver.
- Domain randomization (episode-consistent, resampled each training iteration): foot friction uniform on [0.4, 1.0], whole-robot mass scale on [0.9, 1.1], PD-gain scale on [0.9, 1.1], and torque-limit scale on [0.8, 1.2].
Evaluation
The evaluation protocol rolls every held-out clip from start to end; an episode succeeds if it reaches the clip end without a fall or a tracking-failure termination. The robust rate is measured under action noise (standard deviation 0.05) with three repeats per clip, and the greedy rate with no noise. MPKPE (mean per-keypoint position error) is computed over successful episodes only. The test set is the reference release's frozen 180-clip held-out set (60 clips per difficulty).
| Metric | Value |
|---|---|
| Robust success rate | 75.4% ± 0.9 |
| Greedy success rate | 75.0% |
| Easy success | 93.9% |
| Medium success | 77.2% |
| Hard success (zero-shot) | 55.0% |
| MPKPE (successful episodes) | 96.0 mm |
| Root-relative pose error | 51.9 mm |
| Commanded jitter | 20.5 mrad |
The agreement between the robust and greedy rates indicates the policy is genuinely noise-robust rather than assisted by evaluation dither. A companion policy trained without domain randomization and torque caps scores about two points higher in simulation but is not suitable for hardware.
Usage
The checkpoint is a PyTorch .pt file containing the model weights, the observation-normalizer state, the network dimensions, and the full training configuration. It is consumed by the scripts in the training repository:
git clone https://github.com/rsamf/asimov-rgmt && cd asimov-rgmt
hf download rsamf/asimov-rgmt-medium asimov-rgmt-medium.pt --local-dir models/
# Robust success-gated evaluation on the held-out test split
# (requires a preprocessed motion cache; see the repository README):
uv run python scripts/eval_success_gated.py models/asimov-rgmt-medium.pt \
--split rgmt/data/splits/medium.json --role test --action-noise 0.05 --repeats 3
# Watch it track a clip in the Newton viewer:
uv run python -m rgmt.view --mode policy --cache cache/ --ckpt models/asimov-rgmt-medium.pt
Reference motion data is not included with the model or the repository, because AMASS carries a non-commercial research license. The asimov-gmr pipeline reproduces the exact training corpus from your own AMASS copy.
Two plant details matter when evaluating or deploying:
- The policy trained under per-joint URDF torque caps (
effort_limits: "urdf"). Evaluation must apply the same caps; the evaluation scripts read this from the checkpoint config automatically. - The action low-pass filter (alpha 0.7) is part of the trained plant and must be applied at deployment.
Training procedure
The exact recipe is scripts/train_medium.py in the training repository: 34,000 PPO iterations at 8,192 parallel environments, dual-clip PPO with a KL-shock rollback guard, a plain MSE value loss with separate actor and critic gradient clips, KL-adaptive learning rate, temporal and spatial action-smoothness regularizers, an entropy anneal over the final 30% of training, and failure-weighted reference-state-initialization mining refreshed by an in-loop robust evaluation on the held-out split. Checkpoint selection is by best in-loop test success (this checkpoint is from iteration 33,600). The training campaign and its findings are summarized in the repository's docs/results.md.
Limitations
- The policy has not yet been validated on physical hardware. It was trained for sim-to-real transfer (torque caps, domain randomization, action filtering), but no hardware results are claimed.
- Hard-difficulty motions (highly dynamic, contact-rich clips) succeed only 55% of the time and were deliberately excluded from training data.
- The policy is specific to the Asimov v1 morphology, the 23-joint actuated layout, and the observation and command contract of the training repository.
Citation
If you build on this model, please cite the RGMT paper:
@article{ma2026rgmt,
title = {Robust and Generalized Humanoid Motion Tracking},
author = {Ma, Yubiao and Yu, Han and Xie, Jiayin and Lv, Changtai and Luo, Qiang and Zhang, Chi and Yin, Yunpeng and Xing, Boyang and Ren, Xuemei and Zheng, Dongdong},
journal = {arXiv preprint arXiv:2601.23080},
year = {2026}
}