- Robot: 5.5 kg / 50 cm, 6 DOF (hip roll, hip pitch and knee per leg); Robstride RS01 ×4 plus EL05 ×2. All six motors sit on one plane at the top to cut leg inertia; the knee motors are mounted on the hip chassis and drive the knee remotely down the thigh through a 22:30 HTD 5M belt. Raspberry Pi 5, 100 Hz control loop, WHEELTEC H30 IMU. PETG chassis, PLA legs, TPU ball feet (the point contact), all 3D printed.
- Direction: no mechanical or robotics background, so I researched with AI and then made and owned every technical call: Isaac Lab + rsl_rl PPO; the 6-DOF point-foot configuration; a PD position-target action space; a Python 100 Hz control loop on the Raspberry Pi rather than a migration to C++ or ROS; a DC motor plant with belt series elasticity at 2000 Hz physics; a stand-up curriculum; the budget and scale; and the selection and purchase of every motor, IMU, bearing, belt and shaft. That stack carried the project from the first commit to stand-up, stepping and sit.
- Mechanical and hardware: the original architecture carried the project from the first stand to stepping; the only design change is the knee drive now being built — 33:45 pulleys, a 20 mm belt and no idler — after the 22:30 5M-10 belt lost three of its seven steel cords at the motor clamp (about 970 N against about 780 N rated). Battery tray fixed to the back of the hip roll motors, V-groove bearings taking the radial load off the flange; hip pitch and knee motors stacked back to back; a ground shaft and bearings as the knee axle, with its axial travel doubling as belt tensioning. All assembly, wiring, motor and CAN bring-up, bench testing and hardware testing. Every key hypothesis came from watching the machine: the trim that produced the first stand (an IMU-offset guess, re-measured at −0.015 in September); locating the “knee motor at the hip on hardware, at the knee in simulation” coupling; spotting belt tooth-skip by eye where the encoder could not see it; rejecting a 740-line bench plan in favour of a one-day trim sweep, which led directly to the first stand; and the training direction of “stack every harmless robustness measure.”
- Training: stepping and gait reward design. The dual-4090 workstation meant every run was an A/B pair in parallel; I chose what to compare and pushed for the bolder variant, which is where P13, “stack every harmless robustness measure,” came from. The agent ran training and tracked TensorBoard; I read the curves throughout, judged stalls and collapses, and decided when to change a parameter, continue or kill a run. When P9 stalled, I found the swing-zero criterion across runs and reproduced it three times, which broke the plateau. Later came the stand-up path mode (a knot table measured from zero-action holds) and the sit branch that ends in the crouch, which is what the 10-11 flight used.
- Control stack and deployment: the 100 Hz control stack and SocketCAN driver; the CAN link migration (round trip 2.99 → 0.57 ms); the training-to-deployment consistency audit, which found four defects visible only in the code path; and the contract now shipped inside the deployed artifact, replaying to 1.8e-6 across all trials.
- Plant and sim2real: the actuator and transmission model (rotor-inertia decomposition, the off-diagonal hip-knee coupling) and the data analysis around it. Two corrections closed the gap, both decided on physical evidence: the vendor rotor inertia, against the agent's fitted value that had the legs 4.6× too heavy, and the knee belt's reaction on the hip, predicted statically on all 12 legs within 0.014 rad with no fitted parameter.
- Result: 3/5 stand-ups from a crouch on 10-11 (0/6 on 10-03), two runs of 18.9 s and 43.6 s of stepping in place, both ended by a commanded sit-down, and about 66 s of stepping across the five trials with one uncommanded fall. Milestones: first true stepping gait in simulation on 06-16; first autonomous stand on 2026-09-03, which survived a belt tooth-skip mid-trial (6.06 s, n = 1). All compute from the self-built dual-4090 workstation, plus 3D printing and about $800 in agent tokens. The retrospectives give the item-by-item attribution and what working with an AI agent on a physical robot taught me.