physical · sample deliverable
This robot weighs 6 kg more in simulation than its file says.
Below is the unedited output of our automated URDF admissibility audit, run on one of the most widely used public robot models in ground robotics — the reference file thousands of projects clone. The simulator never raised a single error.
44.003
kg declared
50.003
kg simulated
0
errors raised
Findings — 1 fatal · 5 silent · 4 warnings · 1 note
root link massless
root 'base_footprint' has no mass — the engine's fake default becomes the whole robot's base body
missing <inertial>
link 'base_footprint' — engines substitute mass=1 kg, inertia=identity WITHOUT error
missing <inertial>
link 'top_plate_link' — engines substitute mass=1 kg, inertia=identity WITHOUT error
missing <inertial>
link 'user_rail_link' — engines substitute mass=1 kg, inertia=identity WITHOUT error
missing <inertial>
link 'front_bumper_link' — engines substitute mass=1 kg, inertia=identity WITHOUT error
missing <inertial>
link 'rear_bumper_link' — engines substitute mass=1 kg, inertia=identity WITHOUT error
visual without collision
link 'top_plate_link' is invisible to contact physics
visual without collision
link 'user_rail_link' is invisible to contact physics
visual without collision
link 'front_bumper_link' is invisible to contact physics
visual without collision
link 'rear_bumper_link' is invisible to contact physics
massless frame link
'imu_link' is a bare frame (common for sensors) — most engines substitute mass=1 anyway
Why "silent" is the dangerous column
Physics engines substitute defaults for missing inertials without raising any error — the simulation runs, and it is wrong. A control policy trained against substituted physics is trained on a different robot. You find out on the real floor, after the training bill.
Want this run on your robot? Contact us — audits deliver in 48 hours, no GPU required on either side.