October 30, 2026 · Ben Reilly

LabRobotBench V0.2: Measuring Simulation Fidelity for Robot Learning in a Production Lab Workcell

Grounded in robot logs and real camera footage, we run a series of experiments to determine the rigor of our simulator environment, and demonstrate that its realism can be hill-climbed through experiments that approximate the real world.

An overhead camera frame of the lab robot arm reaching into an instrument, above two renders of the same moment: our original box-and-grey digital twin, and the Gaussian-splat robot learned from video, drawn over the real room.
One moment in our workcell. Top: the real overhead camera. Bottom left: our original digital twin. Bottom right: a Gaussian-splat robot learned from video, drawn over the real room.
  • We can match frontier performance on a small labelling task with a small, off-the-shelf image model. Trained only on labels from the robot’s logs, it scores 0.76, against 0.77–0.79 for the top frontier models.
  • Model performance in simulation correlates strongly with real-world performance on our vision-based task (Spearman ρ = 0.85 across 11 frontier models).
  • Improving simulator realism directly benefits real-world predictive power in our experiments. A robot model learned from video, rendered with domain randomisation, raises a render-trained probe’s real-image accuracy from 0.49 to 0.64 [0.61, 0.66]. That closes 54% of the gap to training on real footage, with significant gains on both rail position and arm reach.

Why simulation fidelity matters

Robot learning in a real lab is expensive. Runs take hours, protocols use real reagents, and mistakes break things. A simulator that faithfully reproduces the workcell lets us train and test policies at a scale the physical cell cannot support. But a policy trained in simulation inherits every way the simulation differs from reality. At Gamow Labs, we are building toward autonomous experimentation, which depends on simulated environments robust enough to produce results that hold up out of sample on real hardware. This post presents our latest results on improving the realism of our simulator.

The SIMPLER paper (Li et al., CoRL 2024) showed that simulators matched to real setups can rank manipulation policies in the same order as real-world evaluation, and introduced MMRV to measure how costly ranking errors are. We apply the same methodology to perception, and add a second question SIMPLER did not ask: does the simulator also produce training data that transfers?

We test our simulator environment on three axes:

  • Motion fidelity. Does the twin move the way the real robot moved?
  • Evaluation fidelity. Does the twin rank models the way real footage does?
  • Training fidelity. Does a model trained on the twin’s renders perform on real footage?

The workcell

The cell is a long, narrow room lined with instruments. A Precise PF-400 plate-handling arm rides a linear rail down its centre: a vertical column travels along the rail, and a jointed arm extends to pick and place microplates at instrument nests. Our scheduler, GBG, sends the robot joint-space moves and gripper commands and logs every command and reply.

Two consumer fisheye cameras (Google Nest) are mounted on the ceiling at either end of the rail, which we call Overhead Access and Overhead Vantage. Our digital twin reproduces the cell’s layout and the robot’s kinematics, replays the logged motion, and renders it through calibrated models of both cameras.

Figure 1. Cell layout, top view. Boxes are plate nests; blue markers and wedges are the cameras. The rail is divided into near, middle and far thirds; hatched strips near the boundaries are excluded from scoring.
Figure 1. Cell layout, top view. Boxes are plate nests; blue markers and wedges are the cameras. The rail is divided into near, middle and far thirds; hatched strips near the boundaries are excluded from scoring.
Figure 2. One moment, four views. Left: real frames. Right: twin renders from the calibrated camera models. The robot (white column) is extending toward a station in the Access view (top).
Figure 2. One moment, four views. Left: real frames. Right: twin renders from the calibrated camera models. The robot (white column) is extending toward a station in the Access view (top).

LabRobotBench: ground truth from robot logs

Motion fidelity

Each move command specifies target joint angles and a rail position. We replay these into a piecewise-linear joint trajectory and track plate custody from gripper-close and gripper-open events. Against the controller’s own end-of-move and position replies, the replayed timing has a median error of 0.015–0.022 s and the rail position a median error of 0.02 mm. The twin’s kinematic state is a faithful record of what the robot did.

Figure 3. From log to labels. Four minutes of one run. Top: rail position. Second: gripper distance from the column (peaks are reaches into stations). Third: plate custody. Bottom: intervals where each label is stable. Orange lines mark sampled test moments.
Figure 3. From log to labels. Four minutes of one run. Top: rail position. Second: gripper distance from the column (peaks are reaches into stations). Third: plate custody. Bottom: intervals where each label is stable. Orange lines mark sampled test moments.

Clock alignment

Labels are only as good as the alignment between camera and controller clocks. We compute per-frame motion energy from the video and cross-correlate it with logged motion, shifting in 0.25 s steps. All six run and camera pairs peak within 0.25 s of zero.

Figure 4. Clock alignment. Cross-correlation between video motion energy and logged motion as a function of video lag, for 3 runs × 2 cameras.
Figure 4. Clock alignment. Cross-correlation between video motion energy and logged motion as a function of video lag, for 3 runs × 2 cameras.

To keep labels robust to any residual offset, we only score a question at a moment when its answer holds for 1 s before and after.

Tasks

We ask three questions of every image:

Question Classes Label rule
Rail zone near · middle · far (relative to the camera) Rail thirds; excluded within 10 cm of a boundary
Arm reach extended · retracted Column-to-gripper distance ≤ 25 cm is retracted, ≥ 40 cm is extended; excluded in between
Plate held yes · no Between a logged grip and the following release
Figure 5. Arm-reach classes, top view. The column is the black square and the gripper the dot. Poses in the hatched ring are excluded.
Figure 5. Arm-reach classes, top view. The column is the black square and the gripper the dot. Poses in the hatched ring are excluded.

Test set

We filmed three mock protocol runs on 23 and 26 October 2026, about 2.5 hours of video. From these we sampled 120 moments, 40 per run and at least 5 s apart, oversampling rare states such as the arm extended or the robot mid-rail. Each moment gives four images (real and twin, from both cameras), for 480 images in total.

Figure 6. Label distribution (real images). “No label” marks a question excluded by the stability or boundary rules.
Figure 6. Label distribution (real images). “No label” marks a question excluded by the stability or boundary rules.

Models

We evaluate eleven zero-shot vision-language models and our own probes: small image classifiers trained on labels from the robot’s logs.

Family Models
Google Gemini Robotics-ER 2 (preview), Gemini 4 Argon, Gemini 3.8 Flash, Gemini 3.5 Flash, Gemma 4 31B
Anthropic Claude Opus 5.5, Claude Sonnet 5.5, Claude Haiku 5.5
OpenAI GPT-6.1 Sol, GPT-6.1 Terra, GPT-5.4 mini
Probes (ours) Frozen ResNet-18 (ImageNet) features on a 3 × 5 spatial grid, with a logistic-regression head; trained on real footage or on simulator renders

Every zero-shot model received the same prompt:

This image is from an overhead camera (wide-angle fisheye) mounted at one end of a laboratory
automation workcell. A Precise PF-400 robot arm rides on a straight linear rail that runs along the
length of the cell, away from the camera. [...] The image may be a real photograph or a simplified
3D rendering of the same cell.

1. rail_zone: Where along the rail is the robot's vertical column? "near", "middle", or "far".
2. arm_reach: Is the robot arm extended outward from its column, or retracted?
3. holding_plate: Is the gripper currently holding a microplate?

Reply with only a JSON object:
{"rail_zone": "near|middle|far", "arm_reach": "extended|retracted", "holding_plate": "yes|no"}

Probes are trained leave-one-run-out: for each test run, on every labelled second of the other two runs (3,100–5,400 examples). Training takes seconds on a laptop.

Metrics

We report balanced accuracy (mean per-class recall) for each question, and the mean over the three as the overall score; chance is 0.44. Uncertainty comes from a moment-level bootstrap with 2,000 resamples, and all intervals are 95%. Paired comparisons resample the same moments for both models.

Simple probes match frontier models on real footage

Figure 7. Overall balanced accuracy on real frames. The real-trained probe is blue; Gemini Robotics-ER 2 is orange. Bars are 95% intervals; the grey line is chance.
Figure 7. Overall balanced accuracy on real frames. The real-trained probe is blue; Gemini Robotics-ER 2 is orange. Bars are 95% intervals; the grey line is chance.

The top five are statistically tied. Gemini 4 Argon leads at 0.79 [0.77, 0.82], followed by GPT-6.1 Terra and Claude Opus 5.5 (0.77), Claude Sonnet 5.5 (0.76) and our probe (0.76 [0.72, 0.79]).

Figure 8. Balanced accuracy by question. Grey lines connect each score to chance.
Figure 8. Balanced accuracy by question. Grey lines connect each score to chance.

Rail zone is largely solved: frontier models score 0.90–0.96 and our probe 0.91. Arm reach is harder (0.68–0.83), because the arm is thin, seen at steep angles and stretched by the fisheye lens. Plate held is near chance for every model (at most 0.59). When a plate is held, the gripper is usually hidden behind the column or squashed at the image edge. This is a limit of where the cameras are, not of the models or the simulator.

Figure 9. Confusion matrices on real frames: Robotics-ER 2 (top) and the real-trained probe (bottom).
Figure 9. Confusion matrices on real frames: Robotics-ER 2 (top) and the real-trained probe (bottom).

ER-2 never confuses near with far; its rail errors are middle predicted as far. On plate held it answered “yes” for 10 of 240 frames, against 84 true positives. Our probe answered “yes” 63 times, with 32 true positives.

Figure 10. Every model scores higher on the Vantage camera (filled) than the Access camera (hollow). The Access camera looks along the rail, so the column often hides the arm.
Figure 10. Every model scores higher on the Vantage camera (filled) than the Access camera (hollow). The Access camera looks along the rail, so the column often hides the arm.
Example A. Column parked at the far end, arm retracted, no plate. ER-2, Argon, Opus and the probe answer the real frame correctly; GPT-6.1 Terra misreads the arm. The real-trained probe fails on the twin render.
Example A. Column parked at the far end, arm retracted, no plate. ER-2, Argon, Opus and the probe answer the real frame correctly; GPT-6.1 Terra misreads the arm. The real-trained probe fails on the twin render.
Example B. The arm reaches into a station without a plate. The vision-language models answer correctly; the probe reports a plate.
Example B. The arm reaches into a station without a plate. The vision-language models answer correctly; the probe reports a plate.
Example C. A held plate hidden from the Access camera. Ten of eleven zero-shot models answer “no” on the real frame. On the twin render, where the plate is drawn unoccluded, three of the five shown answer correctly.
Example C. A held plate hidden from the Access camera. Ten of eleven zero-shot models answer “no” on the real frame. On the twin render, where the plate is drawn unoccluded, three of the five shown answer correctly.

Our simulator ranks frontier models the way reality does

If the twin ranks models in the same order as real footage, we can use it to evaluate conditions we have never filmed, such as rare faults or new layouts. We rendered every test moment from the same calibrated cameras and scored every model on the renders.

Figure 11. Real versus twin balanced accuracy. Filled markers: the 11 zero-shot models. Hollow: probes. Points above the diagonal scored higher on the twin.
Figure 11. Real versus twin balanced accuracy. Filled markers: the 11 zero-shot models. Hollow: probes. Points above the diagonal scored higher on the twin.

Across the 11 zero-shot models, twin and real scores correlate at Spearman ρ = 0.85 [0.66, 0.94], with an MMRV of 0.031: when the twin misorders two models, their real scores differ by about 3 points, roughly the size of our confidence intervals. This is in the range SIMPLER reports for its visual-matching variant. The twin is easier than reality overall, and neighbouring models can swap places, so it preserves the coarse ranking rather than the fine one.

Ranking well is not the same as training well

Figure 12. Train on one domain, test on the other. The real-trained probe scores 0.76 on real frames and chance on renders. The twin-trained probe scores 0.73 on renders and chance on real frames.
Figure 12. Train on one domain, test on the other. The real-trained probe scores 0.76 on real frames and chance on renders. The twin-trained probe scores 0.73 on renders and chance on real frames.

A probe trained on our geometric twin’s renders is at chance on real footage: 0.49 overall, with rail zone 0.44, arm reach 0.50 and plate held 0.54. This is the same twin that ranks frontier models at ρ = 0.85.

Large pretrained models bring enough visual knowledge to read both real frames and renders, so the twin can rank them. A model that learns its perception from the twin learns features that only exist in the renders. For our purposes this is the most important result in the study. Ranking agreement of the kind SIMPLER measures shows that a simulator is a sound evaluation proxy. It does not show that the simulator is a sound training environment, and in our case the two come apart completely. A simulator intended for robot learning has to be validated by transfer.

Hill-climbing simulator realism

Transfer to real footage gives us a metric we can climb. We train the same probe on a sequence of increasingly realistic simulator renders, and score each one on the same 240 held-out real frames. To avoid overfitting that test set, design choices are made using the training runs only, and each final configuration is scored on the test frames once.

Learning the robot’s appearance from video

Our most realistic rung replaces the twin’s rendered robot with an articulated Gaussian splat: a 3D representation made of many small, semi-transparent Gaussians whose position, shape, colour and opacity are optimised to reproduce real frames.

Splats are normally reconstructed from many viewpoints, and our cameras never move. The robot, however, moves through thousands of logged poses, which gives us the equivalent multi-view signal for the robot itself. We built the splat around the logs:

  • One set of Gaussians per rigid link: column, carriage, upper arm, forearm, wrist, and a plate that appears only when the log records the robot holding one.
  • Each link is posed by its logged joint state through the twin’s forward kinematics.
  • Appearance is optimised against real frames, with a learned per-link pose correction to absorb errors in the twin’s geometry.

The static scene is a background plate: the per-pixel median over hundreds of frames, ignoring pixels near the robot. Like the probes, the splat is fitted leave-one-run-out.

Figure 13. The realism ladder. Held-out test moments. Left to right: real frame, geometric twin, geometric robot on real background, splat robot on real background. The splat recovers the column; the arm appears only as faint wisps. (Illustrations use the test run’s own background; training images never do.)
Figure 13. The realism ladder. Held-out test moments. Left to right: real frame, geometric twin, geometric robot on real background, splat robot on real background. The splat recovers the column; the arm appears only as faint wisps. (Illustrations use the test run’s own background; training images never do.)

We also apply background randomisation, compositing each training pose over a background drawn at random from the training runs.

Domain randomisation

The splat’s renders are still cleaner and more uniform than real footage. Following the sim-to-real literature, we tested seven standard techniques on top of the splat, declared in advance: - Pixel-level domain randomisation (Tobin et al. 2017; Tremblay et al. 2018): photometric (brightness, contrast, saturation, colour gain, gamma, blur, sensor noise, JPEG compression), geometric (small random shifts, scalings and rotations of the robot layer, standing in for calibration error), and robot-appearance randomisation. - Feature-level adaptation using unlabelled real footage from the training runs: per-domain normalisation (AdaBN; Li et al. 2016) and CORAL (Sun & Saenko 2016). - Class-balanced self-training on that footage (CBST; Zou et al. 2018).

To pick a configuration without touching the test set, we trained each one on renders from one training run and scored it on real footage from another, then chose the best average score.

Configuration (validation on training runs) Overall Rail zone Arm reach Plate held
Splat, no randomisation 0.465 0.39 0.50 0.50
+ photometric randomisation 0.565 0.55 0.61 0.53
+ photometric + geometric randomisation (chosen) 0.594 0.66 0.59 0.53
+ robot-appearance randomisation 0.573 0.61 0.58 0.53
+ per-domain normalisation 0.504 0.47 0.54 0.50
+ CORAL 0.479 0.40 0.53 0.51
+ self-training 0.528 0.54 0.55 0.50
+ self-training + CORAL 0.478 0.40 0.53 0.51
Reference: trained on real labelled footage 0.707 0.81 0.71 0.60

We picked photometric plus geometric randomisation.

Results

Figure 14. Each rung of the ladder, scored on real footage. Green: splat robot with domain randomisation. Blue: trained on real footage.
Figure 14. Each rung of the ladder, scored on real footage. Green: splat robot with domain randomisation. Blue: trained on real footage.
Training images Overall (real) Rail zone Arm reach Plate held
Geometric twin 0.49 0.44 0.50 0.54
Splat robot 0.54 [0.50, 0.57] 0.61 0.52 0.48
Splat robot + domain randomisation 0.64 [0.61, 0.66] 0.70 0.64 0.57
Real footage (reference) 0.76 0.91 0.77 0.59

Two steps up the ladder, learning the robot’s appearance from video and then adding domain randomisation, raise real-footage accuracy from 0.49 to 0.64 (+0.14, 95% CI [+0.10, +0.19]). That closes 54% of the gap to training on real footage, without using any real labels, and the gains are significant on both rail zone and arm reach.

Conclusion

At Gamow Labs, we are building toward autonomous experimentation: robots that can run, monitor and recover lab work on their own. Getting there means training on our workcell, and iterating at scale means having a simulator that confidently mirrors reality.

This work is a step toward that simulator. The robot’s own logs let us check our simulator against reality without labelling anything by hand. We found that it already compares models the way the real cell does, and that looking right is not the same as being good to learn from. Most importantly, we found that we can make the simulator more realistic and see that improvement show up on the real cell.

That gives us a clear way forward. Every change to the simulator can be tested against real footage, so we can keep closing the gap between simulation and reality until what we learn in simulation holds up in the lab.