CoolFace
Modelpublic

ssuleiman/simrig-orbit-reach

sourceHugging Facemitupdated 23d agoView on Hugging Face
0likes43downloads
Model Card

SimRig Orbit-Arm Reach

Trained PPO reference for SimRig's examples/mujoco_reach/orbit_reach.py environment. The actor moves a 3-DoF arm (base_yaw, shoulder, elbow) to a world-frame target and must keep ee_site within 0.05 m for five consecutive 0.02 s control ticks, with no forbidden arm-floor or arm-base contacts.

This is a toy orbit arm, not an industrial manipulator.

Use revision `v2`. Same weights as v1; the env module adds preview_episode so simrig preview pins the displayed eval goals. Training reset() is unchanged.

Training

  • —SimRig environment: examples/mujoco_reach/orbit_reach.py
  • —Env module SHA-256: bf93e9d7af55aa0ea5d8cf512d43d435ef6701e833a32c9362d6312671d64554
  • —Model: examples/models/orbit_arm.xml
  • —PPO steps: 4,014,080 (requested: 4,000,000)
  • —Vectorized environments: 2,048
  • —Training seed: 23
  • —Hardware: NVIDIA GeForce RTX 4060 Ti
  • —Python: 3.13.13
  • —JAX: 0.10.2; Brax: 0.14.2; MuJoCo: 3.10.0; Playground: 0.2.0

Trainer eval success on random reset targets was 81.25%.

Independent evaluation

Deterministic promotion on the displayed 30-goal set (60 seeds) in the recorded Linux CUDA runtime:

MetricValue
Suitepromotion / displayed
Success rate54/60 = 90.0%
Forbidden contacts0
Failed seeds9, 10, 13, 16, 18, 43 (target_not_sustained)

The held-out 30-goal suite was not used for this promotion gate.

Run with SimRig

git clone https://github.com/Su1eym4n/simrig.git
cd simrig
python3 -m venv .venv
.venv/bin/python -m pip install -e ".[playground,hf]"

.venv/bin/simrig preview \
  hf://ssuleiman/simrig-orbit-reach/policy.params \
  --env examples/mujoco_reach/orbit_reach.py \
  --hf-revision v2 \
  --allow-runtime-mismatch \
  --port 8765

The env's preview_episode hook replaces the training-reset target with the displayed eval goals. Generic reset-only preview would not match eval-suite. --allow-runtime-mismatch is required off the recorded Linux Python 3.13 / CUDA runtime and makes the preview qualitative.

.venv/bin/simrig eval-suite \
  hf://ssuleiman/simrig-orbit-reach/policy.params \
  --contract examples/mujoco_reach/policy_task.v2.frozen.json \
  --suite promotion \
  --hf-revision v2

Files

  • —policy.params: exported Brax policy parameters (same bytes as v1).
  • —config.json: resolved training config with the v2 env-module hash.
  • —final_metrics.json: final PPO trainer metrics.
  • —evaluation.json: independent displayed-set promotion summary.
  • —orbit_reach.py: environment source snapshot used with this revision.
  • —orbit_arm.xml: model snapshot used for training.
  • —policy_task.v2.frozen.json: frozen task contract used for training.