RESEARCHSIMULATION & VALIDATION DISCLOSURE, PUBLIC

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.

CITE THIS INTERACTIVE VERSION · IN PROGRESS
EA

Eleazar Asase

PROJECT DIRECTOR · SIMULATION

Built the MuJoCo pipeline and the gait search behind this write-up.

MB

Moses Barnie

CHIEF SOFTWARE ENGINEER · HARDWARE BRING-UP

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.

WHAT WE MEASURED

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.

WHAT WE THINK IT MEANS

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.

The platform walking in MuJoCo simulation, with telemetry overlaid
Figure 1. The tuned gait in MuJoCo. Overlaid telemetry is the simulator's own readout, trunk height, roll, pitch, period, duty and step length, recorded during the run that produced the parameters we flashed.

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 RESEARCH

Cite 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

ASSETSOURCELICENSE
MuJoCo physics engineGoogle DeepMindApache 2.0
Robot geometry (Nova SM3) Chris Locke, novaspotmicro.com MIT © 2020-2021
Figure 1 renderSAR, the Project Wonder platform MuJoCo pipelineTeam render of the above
Gait parametersSAR, gait_best.jsonTeam-owned

Read the rest of the programme

Four themes, one agenda, and several of them are still looking for the person who will write them.