gaitkeeper · command response map

Same policy, same simulator.
At 0.15 m/s it stands still.

Drag the command. Every frame and number below is from closed-loop MuJoCo rollouts of unitree_rl_lab's shipped G1 velocity policy on unitree_mujoco's 29-DoF scene, run through gaitkeeper's own runner. Below a threshold the policy simply ignores the command: a dead zone.

STANDING
commanded vx
0.15
achieved vx (last 3 s)
0.00
tracking
0%
Video snaps to the 11 rendered forward commands (vy = 0). The vy slider moves the marker on the map; rollouts with lateral commands were simulated but not rendered.

Dead-zone map · commanded (vx, vy) → tracking

ignored
tracked

Forward response · commanded vs achieved vx

Provenance. Generated on 2026-10-13 with gaitkeeper 0.5.4 (gaitkeeper envelope + Runner), policy g1_rl_lab, scene g1_unitree_mujoco/scene_29dof.xml, preset unitree_rl_lab_g1_29dof_velocity@4960b84, backend native_implicit, MuJoCo 2 ms step, seed 0, 6 s per rollout, achieved = mean body velocity over the last 3 s. Map: 221 rollouts, wz = 0, none fell. Tracking = |achieved|/|commanded|. Envelope finding: vx ignored for |cmd| <= 0.20 on the + side (first tracked +0.22); vx ignored for |cmd| <= 0.15 on the - side (first tracked -0.20); vy ignored for |cmd| <= 0.25 on the + side (first tracked +0.28); vy ignored for |cmd| <= 0.25 on the - side (first tracked -0.28). Evidence level L1: a finding about this policy in this runner, not an attribution. github.com/dundysm/gaitkeeper