Offline Motion Tracking
This tutorial uses the root project tracking policy with an offline motion clip.
Sim2Sim
Start the MuJoCo execution process:
uv run sim2real/sim_env/base_sim.py --robot g1
In a second terminal, start the tracking policy:
uv run sim2real/rl_policy/tracking.py \
--robot g1 \
--policy_config checkpoints/lafan-aa/policy-ec592bb4_lafan_100style_student-5000.yaml
Process roles:
sim2real/sim_env/base_sim.pyexecuteslow_cmdin MuJoCo and publisheslow_state.sim2real/rl_policy/tracking.pyconsumeslow_state, runs the exported policy, and publishes the nextlow_cmd.
After both processes are up, press ] in the policy terminal to start, then press 9 in the MuJoCo viewer to disable the virtual gantry.
Sim2Real
Replace the MuJoCo execution process with the real bridge:
uv run scripts/real_bridge.py
In a second terminal, run the same tracking policy:
uv run sim2real/rl_policy/tracking.py \
--robot g1 \
--policy_config checkpoints/lafan-aa/policy-ec592bb4_lafan_100style_student-5000.yaml
Process roles:
scripts/real_bridge.pybridges Unitree DDSlow_state/low_cmdto the shared ZMQ runtime.sim2real/rl_policy/tracking.pystays unchanged between sim2sim and sim2real.