TX-34 NOVA · Simulation campaign
654 support events over 120 seconds, from a standstill to a standing stop, on an anatomically sized foot. Five of six gait criteria met. What it cannot do is on this page too, with the same numbers — and all of it reproduces from a public repository under MIT licence.
Reproduce it
git clone https://github.com/SynthMike34/nova-sim
cd nova-sim
pip install -r requirements.txt
python F3_frontiera/camminata_avanti.py --test
The walking canon is verified on four MuJoCo builds and two operating systems — figures agree within 0.5% with an identical integration sample count, and on the same build Linux and Windows land one millimetre apart over 2.5 metres. Every module prints the mass of the model it loaded, with an assert: no number in this campaign can exist without the mass that produced it.
Nine gestures, each a module you can run yourself. The four that fail are here for the same reason the five that work are: a campaign that publishes only its successes cannot be checked.
01 · Forward walking
654 supports in 120 s
+2.49 m, on a 16.5 cm forefoot and a 6 cm heel — a real size 36. Reproduced on four physics builds. Peak measured: +9.70 m, declared as a maximum, not a canon.
02 · Backward walking
26 metres, stride 12.3 cm
Four times the forward stride, ten times the distance. The human-scale stride is already in this platform — it runs in the wrong direction, and the reason is the foot.
03 · Start and stop
From rest, and back to standing
Zero velocity on every degree of freedom at t = 0. First support at 2.41 s; thirty seconds after the command stops it is still on its feet.
04 · Squat
0.60 m, limited by the heel
The knee uses 42% of its torque and the ankle never saturates. What stops the descent is 6 cm of heel behind the ankle — the same foot that decides the direction of travel.
05 · Sit-to-stand
Up in 3.00 s, seat at 649 N
Feet tucked under the body — not styling: left forward, standing up would need 134° of hip flexion that do not exist. On the new foot the hip works 19% harder.
06 · Jump
270 ms of flight, CoM +7.1 cm
The ankle term was named “push” and was in fact dorsiflexion. Inverting the sign raised the centre of mass 34% — the old one flicked the feet up without lifting the body. Knee and hip sit exactly at their 120 N·m cap.
07 · Balance envelope
0.35 forward, 0.50 back
Standing, it absorbs a shove — including in 12 cm heels, where forward is unchanged and sideways collapses to 0.15. On heels it stands on a shoe, not on its own foot.
08 · Lateral fall
The head never touches
The hand strikes at 3.6 kN, the torso arrives 420 ms later. Nothing is commanded — the arm is shorter and lighter. The arm has to be sized in kilonewtons, and those 420 ms are a sensing budget.
09 · Power loss
Neither strategy passes
Coast: head at 3.64 m/s, 14.3 s to settle. Brake: settles in 1.5 s, head at 5.32. Stopping the joints does not stop the mass — it stiffens the path it falls along.
Three more things it does not do, each with a measured cause. It carries no payload while walking — a hundred grams brings it down, because the frontal hip is at its torque cap unloaded and a larger actuator does not fix it, which we know because we swept from 60 to 140 N·m. It does not land a jump, and it does not walk sideways — no lateral command survives, in any configuration.
The most useful thing this campaign found, and it was found by measuring a part nobody had measured.
29.5 cm
The foot in the model
never measured from the geometry
22.5 cm
A real size 36
16.5 forefoot, 6.0 heel
+9.4 cm
Centre of pressure
ahead of the ankle
24
Configurations searched
for a forward twin
For three weeks the model walked backwards and every attempt to reverse it was aimed at the controller. The cause was geometric: the foot was 30% longer than a real one, the centre of pressure sat 9.4 cm ahead of the ankle, and the residual moment drove the body backwards. The foot was rowing.
Every geometric decision on a biped is a trade, and this campaign measured both sides of four of them. The anatomical foot that makes forward walking possible costs 42% of the forward balance envelope, 27% of jump clearance, and worsens the passive power-loss fall by 71%. It leaves squat depth, sit-to-stand and lateral fall unchanged.
Fifty configurations across thirteen parameters. This is the question we are handing to a partner.
0
Actuators saturated
in any run that falls
8.1 cm
Centre of mass
outside a 4.5 cm foot
0.36 s
Gait cycle
in 53 of 53 configurations
+71%
Speed from a predictive planner
−47% survival
The gait sits at 2 cm/s, and it is not a power problem. What fails is the weight transfer: when the next step begins, the centre of mass is still 8.1 cm outside a foot 4.5 cm wide. In support, the ankle law has damping and no position term — nothing is bringing the body over the foot. Adding one destabilises, because two loops then regulate the same quantity.
To complete the transfer you need a longer support; to afford a longer support you need to have completed the transfer. We also tried a sampled predictive planner over three step parameters: it bought 71% speed and lost 47% of survival time, and the failure mode never entered a 1.5 s horizon. The fall of this platform is slower than the horizon that could avoid it — a property of the machine, not of the planner.
Nobody has published this for a biped built on catalogue actuators.
38.2 N·m
Postural
89% of rated
29.8%
Of the cycle
contact transients
64%
Of the heat
from those transients
53 N·m
Touchdown target
to return to rating
kp = 200 on the
historical sample gait.The transient peak is governed by position-servo stiffness, not gait kinematics: raising the torque ceiling to ±200 N·m saturates that limit too, and the gait degenerates. The 80 N·m cap acts as a design limiter, not as a measurement of a requirement.
And the floor is honest: eliminating contact transients entirely would still leave the actuator at 89% of rating. The remaining lever is the lateral lean — a control strategy, not an actuator size. Walking up to roughly 61% of the time keeps the long-run RMS within rating; indefinite continuous walking is not sustained.
Every row reproduces with a single command. [C] means computed in simulation; [A] means assumed and pending hardware.
| Test | Result | Class |
|---|---|---|
| Forward walking — supports / distance / time | 654 · +2.49 m · 120 s | [C] |
| Forward walking — maximum measured | +9.696 m | [C] |
| Backward walking — distance / stride | −25.93 m · 12.3 cm | [C] |
| Start from rest — first support | 2.41 s | [C] |
| Static balance envelope — fwd / back / lateral | 0.35 / 0.50 / 0.35 m/s | [C] |
| Balance envelope in 12 cm heels | 0.35 / 0.40 / 0.15 m/s | [C] |
| Squat depth, limited by heel length | 0.60 m | [C] |
| Sit-to-stand, feet-tucked strategy | 3.00 s | [C] |
| Seat reaction, Σ Fz balance closed | 649 N | [C] |
| Sit-to-stand — peak hip torque | 73.4 N·m | [C] |
| Reach envelope — fwd / up / down / lateral | 0.48 / 0.43 / 0.47 / 0.47 m | [C] |
| Payload — static / walking | 2 kg / none | [C] |
| Jump — flight / clearance / CoM rise | 270 ms · 6.0 cm · 7.1 cm | [C] |
| Jump — first impact force | 2583 N = 398% of weight | [C] |
| Jump — simultaneous knee and hip torque | 120 / 120 N·m | [C] |
| Lateral fall — impact speed | 2.60 m/s | [C] |
| Lateral fall — hand before torso | 420 ms | [C] |
| Lateral fall — peak force on the arm | 7.2 kN | [A] |
| Power loss — head velocity, coast / brake | 3.64 / 5.32 m/s | [C] |
| Walking — energy and mean power per support | 98.7 J · 17.7 W | [C] |
| Walking — peak hip roll torque | 72.1 N·m | [C] |
Nine figures withdrawn
| Claim | Published | What replaced it |
|---|---|---|
| Landing pipeline — time to upright rest | 0.36 s | not conserved at 66.23 kg |
| Toe-brake multiplier at touchdown | ×3.9 | not conserved at 66.23 kg |
| Hallux contribution to jump height | +150% | none, on a size-36 foot |
| Power loss — head velocity | 1.51 m/s | does not reproduce; 3.64 |
| Payload while walking | 2 kg | none — 100 g brings it down |
| Payload, static | 6 kg | 2 kg, elbow-limited after safeguard alignment |
| Forward balance envelope | 0.60 m/s | 0.35 on the anatomical foot |
| Jump — flight and clearance | 210 ms · 3.3 cm | superseded twice — see below |
| Jump — the ankle term | 250 ms · 8.2 cm · 5.3 cm | 270 · 6.0 · 7.1 — the term had the wrong sign |
| Cross-platform figures | identical to the last digit | agree within 0.5% |
Almost none of them were arithmetic errors. They were correct numbers measuring the wrong quantity: a window that included the robot standing still, a contact counted as a step, a coefficient produced by reading the wrong actuator, a jump height measured from a height the robot leaves before it jumps. That failure mode is more dangerous than a bug, because it looks like a result.
Each is declared in the repository README with the measurement that replaced it. This section exists on purpose: a campaign that does not publish its retractions is not worth checking.
Limitations
No CAD: link masses and inertia tensors are design estimates from primitive decomposition. Position-loop gains and upper-limb torque limits are placeholders. No thermal model, no gearbox backlash, no joint compliance, no friction. Rigid contact with uncalibrated parameters. Heuristic control throughout — no MPC, no learned policy, no torque control.
No result has been validated on physical hardware. These are reproducible orders of magnitude, not certified measurements. Sensitivity is high: a 3.3% mass change cost 42% of the achieved support events at unchanged controller tuning, and every figure here is conditional on a mass that has no CAD behind it.
The walking configuration sits close to a boundary: outside a narrow band of the ankle roll term the direction of travel alternates every three thousandths, and depends on the solver build. The canon was chosen inside the band where all four tested builds walk forward, and that is declared in the repository rather than smoothed over.
Every figure on this page is reproducible with one command from github.com/SynthMike34/nova-sim — MIT licence, clonable in ten minutes.