Starting viewport
Booster Robotics · humanoid
Booster T1
1.18 m developer humanoid with Jetson Orin compute and ROS2 support, used heavily in RoboCup humanoid soccer.
Frames · Booster T1
5 items · credit and license on each
Studio render of the published MJCF, keyframe pose from the model. Geometry only; colours are the model's own materials.Rendered by Hyperspawn from mujoco_menagerie/booster_t1 (Apache-2.0) · Hyperspawn render · source 
Side view of the same MJCF render, keyframe pose from the model.Rendered by Hyperspawn from mujoco_menagerie/booster_t1 (Apache-2.0) · Hyperspawn render · source 4 s turntable of the MJCF studio render.Rendered by Hyperspawn from mujoco_menagerie/booster_t1 (Apache-2.0) · Hyperspawn render · source Booster T1 - A Ready-to-Use Humanoid Robot Soccer SolutionBooster Robotics · official embed · source Wow! Booster T1 stands up in just 1 second!Booster Robotics · official embed · source
Policy in the viewport
Booster T1 velocity walking
Velocity tracking with a gait clock (forward, lateral, yaw rate)
Plays in tabReal-robot deploy documented
- Checkpoint
- deploy/models/T1.ptbooster_gym (Isaac Gym) PPO, MLP 47-256-128-128-12, ELU
- License
- Apache-2.0
- Replicates
- play_mujoco.py + envs/T1.yaml
- Model
- Booster T1 12-DoF · BoosterRobotics/booster_gym/resources/T1/T1_locomotion.xml
- Export
- ONNX opset 17, weights unchanged. max |a_torch - a_onnx| < 3e-6 over 200 random inputs (onnxruntime 1.x CPU).
- Timing
- physics 2 ms · policy every 10 steps (50 Hz) · network runs before the step
- Obs
- 47 floats: projected_gravity[3] (sensor orientation) · base_ang_vel[3] (sensor angular-velocity) · command[3] x[1, 1, 1] · gait_clock[2] f=1.5Hz · joint_pos_rel[12] · joint_vel[12] x0.1 · last_action[12]
- Action
- 12 joint targets = action (clip ±1) x 1 + default · PD kp/kd 200/5, 50/1 · torque to motor ctrl
- Joints
- Left_Hip_Pitch, Left_Hip_Roll, Left_Hip_Yaw, Left_Knee_Pitch, Left_Ankle_Pitch, Left_Ankle_Roll, Right_Hip_Pitch, Right_Hip_Roll, Right_Hip_Yaw, Right_Knee_Pitch, Right_Ankle_Pitch, Right_Ankle_Roll
- Commands
- trained vx [-1, 1] vy [-1, 1] yaw [-1, 1] · starts at [0.5, 0, 0]
- Tested
- 60 s at [0.5, 0, 0] in MuJoCo 3.14.0 WASM + onnxruntime-web 1.30 (wasm, 1 thread), Chromium, real time: no fall, mean speed along heading 0.44 m/s, base height never below 0.64 m (2026-09-25)
- Notes
- Loop order follows play_mujoco.py: at every 10th step (from step 0) the policy runs on the current state, then PD, then mj_step, then the gait clock advances by dt * f.
- Gravity and angular velocity come from the MJCF's framequat 'orientation' and gyro 'angular-velocity' sensors on the trunk IMU site, read from sensordata exactly as the script does.
- PD torque is clipped to each motor's ctrlrange (MuJoCo clamps limited ctrl). Actions are clipped to +-1 before use and fed back as the last-action term.
- Gait frequency is the mean of the trained range [1.0, 2.0] Hz while any command is non-zero, and 0 (clock terms zeroed) when all commands are zero, as in play_mujoco.py.
- The sensors declare noise in the MJCF; MuJoCo does not apply sensor noise, so the replay is deterministic.
- Replay check: this runtime (MuJoCo WASM + onnxruntime-web in Node) and the reference script (MuJoCo 3.14 Python + TorchScript) give the same base trajectory to the centimetre over 30 s at [0.5, 0, 0] (x 10.09 m, y -7.19 m). At that command the policy curves to the right in the reference script as well; steer with yaw.
Contract file: packages/sim/policies/booster_t1_walk/contract.json · served at /policies/booster_t1_walk/contract.json
Provenance
- Model
- Booster T1 12-DoF
- Commit
- da396a06d6ee
- Entry
- resources/T1/T1_locomotion.xml
- Files
- 25 · 8.1 MB, fetched from raw.githubusercontent.com, cached in your browser
- License
- Apache-2.0
- Engine
- MuJoCo 3.14.0, official WebAssembly build · three.js renderer
- Controller
- Published policy (deploy/models/T1.pt), torque PD at 500 Hz; Hold and Limp are the generic PD controllers
- Caveat
- Opens walking on its published policy (set the command to 0 to stand). Hold and Limp are our generic PD controllers; this legs-only model does not stay up under Hold.
- Note
- booster_gym's locomotion T1: 12 torque-driven leg joints, head, arms and waist fixed. The model its play_mujoco.py replays the published walking policy on.
- Model
- Booster T1
- Commit
- c96a32d28fb5
- Entry
- booster_t1/scene.xml
- Files
- 26 · 8.1 MB, fetched from raw.githubusercontent.com, cached in your browser
- License
- Apache-2.0
- Engine
- MuJoCo 3.14.0, official WebAssembly build · three.js renderer
- Controller
- PD hold on the stand keyframe with an ankle-strategy tilt term; not a learned policy
Policies listed for Booster T1
The build package lists no other policies. The one above is the only published checkpoint for Booster T1 that we replay.
Train on GPUs
mjlab ships no stock task for Booster T1. The training page gives you the pinned model and the steps to write a robot config.