Evidence
Measured, not believed
The gate's own reports from real runs in Gazebo Sim, each graded against simulator ground truth. How the test works →
Locked thresholds
Printed on every report and never quietly loosened.
How a run is graded
The twin is commanded to drive 1 m and turn 90°. Drive and turn are graded against the simulator's true pose. Odometry is graded against that same truth, so a robot whose sensors are wrong about itself can't pass. When something is off, the gate names the spec field to look at first.
GateA pass/fail test in the Gazebo simulator: the twin drives 1 m, turns 90° and stops, and the result is measured against where it really went. reports
Two clean passes and two failures the gate caught. Each report shows every check, the raw measurements, the ground-truth path, and any suspects the gate named.
Indoor Delivery Rover
Described in words, never drawn
PassThis robot existed only as one paragraph of plain English at 4:52 PM. Muse Spark turned it into a validated spec, the forge built its twin, and the gate measured it: PASS, with odometry matching ground truth to 0.002% over the drive. The full chain, one flow.
Measurements, path and suspects
Drive vs ground truthPass
0.398%
0pass ≤5%fail >10%15
Turn vs ground truthPass
3.653°
0pass ≤5°fail >10°15
Odometry distance vs truthPass
0.002%
0pass ≤5%fail >10%15
Odometry heading vs truthPass
1.088°
0pass ≤5°fail >10°15
| Drive: truth / odometry | 1.004 m / 1.004 m |
|---|
| Turn: truth / odometry | 93.7° / 92.6° |
|---|
| Simulator | Gazebo Sim Harmonic (gz-sim 8); patch version not recorded for this run, physics step 1 ms |
|---|
| Input spec hash | not recorded for this run |
|---|
Scope: simulated result: the generated model met these motion thresholds in Gazebo; it is not a hardware test, and torque, traction and inertia are only as good as the spec's numbers.
White dot: start. Amber dot: where the robot actually ended up (ground truth).
No suspects. Odometry and ground truth agree inside tolerance on every check.
TurtleBot3 Burger
As specified
PassA differential-drive robot built to the public ROBOTIS spec. Nothing injected, nothing hidden.
Measurements, path and suspects
Drive vs ground truthPass
0.968%
0pass ≤5%fail >10%15
Turn vs ground truthPass
2.028°
0pass ≤5°fail >10°15
Odometry distance vs truthPass
0.042%
0pass ≤5%fail >10%15
Odometry heading vs truthPass
4.548°
0pass ≤5°fail >10°15
| Drive: truth / odometry | 1.010 m / 1.009 m |
|---|
| Turn: truth / odometry | 88.0° / 92.5° |
|---|
| Simulator | Gazebo Sim Harmonic (gz-sim 8); patch version not recorded for this run, physics step 1 ms |
|---|
| Input spec hash | not recorded for this run |
|---|
Scope: simulated result: the generated model met these motion thresholds in Gazebo; it is not a hardware test, and torque, traction and inertia are only as good as the spec's numbers.
White dot: start. Amber dot: where the robot actually ended up (ground truth).
No suspects. Odometry and ground truth agree inside tolerance on every check.
TurtleBot3 Burger
Wheels 10% smaller than the paperwork
FailFault injection: the physical wheels were scaled to 0.9x while odometry kept believing the spec. The robot's own sensors could not see it. The gate could.
Measurements, path and suspects
Drive vs ground truthMarginal
7.617%
0pass ≤5%fail >10%15
Turn vs ground truthMarginal
6.766°
0pass ≤5°fail >10°15
Odometry distance vs truthFail
11.168%
0pass ≤5%fail >10%15
Odometry heading vs truthFail
11.041°
0pass ≤5°fail >10°15
| Drive: truth / odometry | 0.924 m / 1.027 m |
|---|
| Turn: truth / odometry | 83.2° / 94.3° |
|---|
| Injected fault | physical wheels × 0.9 (odometry keeps the spec size) |
|---|
| Simulator | Gazebo Sim Harmonic (gz-sim 8); patch version not recorded for this run, physics step 1 ms |
|---|
| Input spec hash | not recorded for this run |
|---|
Scope: simulated result: the generated model met these motion thresholds in Gazebo; it is not a hardware test, and torque, traction and inertia are only as good as the spec's numbers.
White dot: start. Amber dot: where the robot actually ended up (ground truth).
Suspect: wheel.diameter_m
odometry distance disagrees with ground truth while heading agrees — a scale error: the wheel radius odometry uses does not match the physical wheels
Suspect: wheel_separation (robot width / wheel track)
odometry heading disagrees with ground truth — the track width odometry integrates over does not match the physical robot (or the wheels scrub/slip in turns)
Pathfinder skid-steer
The turn that wasn't
FailOdometry reported a near-perfect drive. In the turn, its wheels scrubbed: it believed 94.6 degrees, the ground truth was 30.6. Caught only because the gate measures truth, not belief.
Measurements, path and suspects
Drive vs ground truthPass
1.550%
0pass ≤5%fail >10%15
Turn vs ground truthFail
59.368°
0pass ≤5°fail >10°15
Odometry distance vs truthPass
0.000%
0pass ≤5%fail >10%15
Odometry heading vs truthFail
64.003°
0pass ≤5°fail >10°15
| Drive: truth / odometry | 1.016 m / 1.015 m |
|---|
| Turn: truth / odometry | 30.6° / 94.6° |
|---|
| Simulator | Gazebo Sim Harmonic (gz-sim 8); patch version not recorded for this run, physics step 1 ms |
|---|
| Input spec hash | not recorded for this run |
|---|
Scope: simulated result: the generated model met these motion thresholds in Gazebo; it is not a hardware test, and torque, traction and inertia are only as good as the spec's numbers.
White dot: start. Amber dot: where the robot actually ended up (ground truth).
Suspect: wheel_separation (robot width / wheel track)
odometry heading disagrees with ground truth — the track width odometry integrates over does not match the physical robot (or the wheels scrub/slip in turns)
Every robot's verdict, static check and wiring check →