The sim-to-real gap
A gait tuned entirely in simulation held on real hardware at first bring-up, but only after the model was rebuilt from CAD rather than estimated by eye.
Eleazar Asase
Built the MuJoCo pipeline and the gait search behind this write-up.
Moses Barnie
Ran the bench bring-up the simulated gait was tested against.
Abstract
A walking robot is a set of guesses about the world: how heavy each limb is, where each joint sits, how much the ground pushes back. Simulation is where those guesses get tested cheaply. The question every team eventually hits is whether a behaviour that works in simulation still works when it is asked of real motors, the sim-to-real gap.
Our platform had no URDF, the file format that normally describes a robot to a simulator. What existed was a 434 MB CAD assembly. We recovered joint frames directly from that assembly rather than estimating them, then searched gait parameters against physics until the robot walked. Those parameters were flashed to hardware without adjustment.
The tuned gait runs at a 1.15 s period, 0.632 stance duty and 73.6 mm step length, holding a 162 mm trunk height with all four feet in contact, 0.673 m of forward travel in 8 s, peak tilt 2.6°, no fall. On hardware the same parameters produced a stable walk at first power-on.
Transfer succeeded because the model's geometry was derived rather than guessed. We did not test whether it survives payload changes, worn horns, or surfaces other than flat lab floor, so we claim transfer of this gait, not a general result.
What this doesn't show
- One robot, one gait, one floor. Nothing here generalises to other platforms.
- No payload was carried. Mass changes the dynamics this gait assumes.
- Servo wear was not modelled; a worn horn shifts the neutral the gait is built on.
- Success at first bring-up is a single observation, not a success rate.
- We measured stability, not efficiency. Nothing here says this gait is a good one.
Method
Eight steps, each one a script that can be re-run: inspect the meshes, extract the STEP assembly, derive the kinematics, build the model, validate it, render the stance, tune the gait, render the result. Anyone on the team can reproduce the figure above by running the pipeline from the top.
An interactive version is being built
It will let you move period, duty and step length and watch stability go with them. Until it exists, this page is the whole of it.
BACK TO ALL RESEARCHCite this
Asase, E. and Moses, B. (2026). The sim-to-real gap. Spartan Autonomous Robotics, Michigan State University. https://msusar.org/research/sim-to-real
Attributions & license
| ASSET | SOURCE | LICENSE |
|---|---|---|
| MuJoCo physics engine | Google DeepMind | Apache 2.0 |
| Robot geometry (Nova SM3) | Chris Locke, novaspotmicro.com | MIT © 2020-2021 |
| Figure 1 render | SAR, the Project Wonder platform MuJoCo pipeline | Team render of the above |
| Gait parameters | SAR, gait_best.json | Team-owned |