TRONCamp Locomotion RL Checkpoints
Selected PPO checkpoints for the 2026 TRONCamp Locomotion track using the SFYG TRON2A robot (sfyg_tron2a). The models were trained with TRONCamp Locomotion on Isaac Lab and RSL-RL.
The final blind-continuation policy achieved 87.0 / 100 in the official evaluation: 60 distance points, 20 speed points, 5 fall-recovery points, 2 platform points, and no out-of-bounds penalty.
Model Summary
| Stage | Environment | Selected iteration | Purpose |
|---|---|---|---|
| S1 | Procedural rough terrain | 7500 | General locomotion, velocity tracking, and terrain curriculum |
| S2 | Randomized scoring course | 9500 | Course progress, lane, heading, and finish specialization |
| S3 | Participant-domain adaptation | 10250 | Adaptation to the participant course and observation layout |
| S4 | Blind continuation | 10900 | Remove dependence on mismatched depth values |
Each stage directory contains one selected, resume-capable training checkpoint. The normalized distribution filename checkpoint.pt does not imply that the selected model was the final iteration of its source run. manifest.json records the original path, selected iteration, parent stage, SHA-256, and selection evidence.
The separate deployment/policy.pt contains only the final actor and encoder states used to build the competition submission package.
Architecture and Policy Contract
| Parameter | Value |
|---|---|
| Algorithm | PPO |
| Actor / critic MLP | [512, 256, 128], ELU |
| History encoder | [256, 128] -> 3, ELU |
| Policy period | 0.02 s |
| Policy proprioception | 45-D |
| Proprioceptive history | 10 x 45 |
| Head depth features | 2 x 24 x 32 |
| Down depth features | 2 x 24 x 32 |
| Velocity command | 3-D |
| Learned action | 10 leg joints |
| Competition action | 18 joints |
The official evaluator provides 66-D proprioception and two 480 x 640 depth images. The deployment adapter reconstructs the 45-D policy proprioception, maintains ten history frames, and maps the ten learned leg actions to the first ten entries of the official 18-D action. The eight arm actions are zero.
The final S4 policy preserves the dual-depth architecture but runs with force_zero_depth: true. Both compact depth tensors are zeroed at deployment because the locally simulated depth stream did not match the online observation domain. The gait profile is fixed to frequency 0.9, offset 0.5, duration 0.5, and swing height 0.12.
Repository Layout
checkpoints/
βββ S1-procedural-rough/checkpoint.pt
βββ S2-scoring-course/checkpoint.pt
βββ S3-participant-adaptation/checkpoint.pt
βββ S4-blind-continuation/checkpoint.pt
deployment/
βββ policy.pt
deploy_policy.yml
manifest.json
checksums.sha256
Checkpoint Selection
- S1: iteration 7500 was selected before the last procedural-rough checkpoint because it provided the best transfer anchor for course specialization.
- S2: iteration 9500 completed the randomized scoring-course specialization and reached 94/100, 90/100, and 91/100 on three local proxy seeds.
- S3: iteration 10250 reached 98/100 and 99/100 on two participant-domain proxy seeds.
- S4: iteration 10900 was selected from the blind continuation after reaching 7/10 and 5/10 strict finishes on two local seed sets. It produced the official 87.0 score.
Local proxy results and private evaluation seeds are not identical. The reported local completion rates are selection evidence, not a guarantee for another simulator build or seed set.
Download and Evaluation
Download the model repository and verify all published weights:
hf download han-xudong/troncamp-locomotion-rl \
--local-dir troncamp-locomotion-rl
(cd troncamp-locomotion-rl && sha256sum -c checksums.sha256)
Clone the source repository, install its Isaac Lab environment, and visualize the final training checkpoint:
git clone https://github.com/han-xudong/troncamp-locomotion.git
cd troncamp-locomotion
conda activate tron2_isaac
python scripts/rsl_rl/play.py \
--task Isaac-Limx-SFYG-TRON2A-TronCamp-Play-v0 \
--num_envs 8 \
--checkpoint_path /absolute/path/to/troncamp-locomotion-rl/checkpoints/S4-blind-continuation/checkpoint.pt
The .pt training checkpoints contain the model, history encoder, PPO optimizer, and encoder optimizer states. Load them with torch.load(..., weights_only=True). Strict optimizer resume is supported because all four selected checkpoints contain both optimizer states.
Intended Use and Limitations
These checkpoints are intended for competition reproduction and locomotion research in the matching Isaac Lab simulation. They have not been validated on physical hardware, with other robot revisions, or with modified actuator and sensor calibration.
The final policy completed the scored distance and recovered from a fall, but it did not receive the no-fall bonus and passed only one platform. Since the deployment policy ignores depth values, repeated discrete-obstacle traversal remains its main limitation.
Code and Integrity
Source code: https://github.com/han-xudong/troncamp-locomotion
checksums.sha256 covers the four selected training checkpoints and the final deployment weights. manifest.json binds each normalized filename to its source checkpoint, source-code revision, policy contract, and evaluation evidence.
License and Attribution
The source repository's Apache-2.0 license applies to original code and documentation only. It does not relicense upstream components, competition assets, or TRON2 robot descriptions. The model repository therefore uses license: other pending any additional redistribution terms. These simulation-trained artifacts carry no real-robot safety warranty.