pushable / loading
Learned locomotion · a small outdoor test ground
WASD / arrows to steer · Q / E to turn · drag to pull
A policy, not an animation.
I trained these policies with reinforcement learning in MuJoCo Playground. This page runs the exported networks in MuJoCo, in your browser. The seed is fixed before looking at results.
- Move
- WASD / arrows, or the touch pad. Q / E or the turn buttons to turn. Gamepad: left stick to move, right stick to turn.
- Interact
- Drag a robot body or a prop. Push applies the slider's impulse over 0.1 simulated seconds in a random horizontal direction, and stays disabled until it finishes. T throws a ball from the camera; its label is launch momentum, not delivered impulse.
- Inspect
- I shows actor input blocks, motor actions and foot contacts. ¼ speed slows time, not the physics. Reset restores the robot and every prop.
Trained: the selected policy's labelled ground and disturbances; a separate Go1 get-up policy. G1 has no get-up policy: after a fall, its motors hold their last pose in a full-collision model until Reset.
Added for play: the sky, scenery, crates, cones, balls, step and robot bumper shapes. Bumpers touch only play objects, never the training floor. These are not a claim of obstacle training. The rough patch copies the training heightfield beside the flat start; only the rough-trained Go1 saw that surface. Flat-trained policies may stumble there.
Robot parameters stay as trained. Separate bodies can still change the solver's numerical choices before contact; composed-scene trajectories are not parity measurements.
The shove percentages describe a flat-ground evaluation, not survival among these props. No score or on-screen outcome changes the reported measurements.