wojtek-stiff-height-locomotion
Height-commandable joystick locomotion policy for the Wojtek quadruped
(kp=40 / kd=1.6 / ±9 Nm stiff line). Schema-2 deployment contract:
policy.npz + policy_meta.json; the ROS stack loads it by reference
(policy:=hvsr-robotics/wojtek-stiff-height-locomotion).
Capabilities (courses battery, 8 seeds/scenario, evidence in courses.json)
- Live height command: 4th command dim, trained box [0.11, 0.18] m,
tracked to ≤5 mm over the mechanically reachable range (saturates
gracefully at the ~0.154 m knee-guard ceiling). The runtime re-anchors
per command using the
height_table field (calibrated kinematic
mapping — REQUIRES the 2026-07-27 wojtek_policy with height_table
support; older runtimes would anchor ~0.38 rad off).
- Pivots in place BOTH directions at 0.8 and 1.2 rad/s (spin scores
2.07–2.15; the previous keeper could not complete any spin).
- Slalom, slow (0.2 m/s) and fast (1.0 m/s) walking, push recovery;
every catalogue scenario completes 8/8, zero falls in the battery.
Lineage
From-scratch 1.57B steps (early-stopped, zero-fall training run), MJX/
Brax PPO, +experiment=stiff_h7_height at the repo state of 2026-07-27
(uncommitted-era presets archived here: run_h7.resolved.yaml). Stack:
mirror-symmetry augmentation, product-gated + relative velocity
tracking, per-swing apex shaping, pre-contact landing softness,
real-pose (kinematic) references. Sibling wojtek-stiff-h6-apex line
scores higher on flat-height polish without the height command.
Deployment
kp=40 / kd=1.6 / ±9 Nm (must match wojtek_real.urdf.xacro + launch
max_torque). Send height as the 4th command dim; omit it and the runtime
pins 0.145 m (command_fill).