Sim-to-Real Transfer
Domain randomization, teacher-student distillation, system identification, and real-to-sim correction.
- Last reviewed
- Reading time
- 15 min
- Citations
- 12
The previous module ended with a policy that walks after minutes of GPU training. That policy is useless as trained: it has only ever seen one simulator, with one set of contact parameters, one actuator model, one rendering stack. The real robot differs from all of them in ways nobody can fully enumerate. Closing that difference is sim-to-real transfer, and it is where most of the engineering lives. The RL algorithm is usually the least interesting part of a successful sim-to-real system.
Four method families do the work. Domain randomization trains over a distribution of simulators so the real world reads as one more sample. Teacher-student distillation trains on privileged simulator state, then compresses that knowledge into a policy that sees only what the robot sees. System identification measures the dynamics gap and corrects the model directly. Real-to-sim reconstruction rebuilds the deployment scene inside the simulator so the visual gap shrinks to rendering error. The 2026 reality-gap survey organizes the field into nearly these same buckets, adding sim-real co-training and state/action abstraction as cross-cutting levers Aljalbout 2025.
The figure below is a deterministic toy, not a learned policy or a measured robot benchmark. Drag the selected friction to compare the two authored curves. Widening the half-width lowers the plateau because that relationship is built into this model, not because the cited papers establish a universal tradeoff.
real mu 0.80: point 97% vs DR 74%
In this authored toy, the point curve is higher at the selected friction. The curves are formulas, not measured robot performance. All values and the falling DR peak are local assumptions. Reset restores this panel’s initial friction and half-width; moving a control samples or redraws formulas, not a trained policy.
Authored toy, not measured robot data. At selected friction 0.80, the point curve is 97% and the DR curve is 74%. The assumed DR half-width is 0.35 and its plateau is 74%. Its height follows 0.93 minus 0.55 times the half-width; the point Gaussian has center 0.80, peak 0.97 and width 0.09, and the DR tails have width 0.10. Dashed edges mark an assumed range, not a confidence interval. Reset restores this panel to friction 0.80 and half-width 0.35. Selecting friction samples the formulas; no training or adaptation runs.
Sampled task success against ground friction
| mu | point policy | DR policy | playhead |
|---|---|---|---|
| 0.20 | 0% | 3% | off |
| 0.50 | 0% | 74% | off |
| 0.80 | 97% | 74% | playhead |
| 1.10 | 0% | 74% | off |
| 1.50 | 0% | 0% | off |
Domain randomization: train on a distribution of simulators
These two papers address different parts of transfer. Tobin and colleagues randomized textures, lighting and camera pose for tabletop object localization. They summarize real-world localization accuracy as around 1.5 cm, evaluated on 480 webcam images of eight geometric objects in object-only, distractor and partial-occlusion conditions. The paper reports the best network after a small hyperparameter search; the approximate 1.5 cm summary is not a bound for every object or condition. Most experiments used ImageNet initialization, but an ablation found that random initialization could achieve nearly the same transfer performance with enough simulated training data. The detector was also used with a motion planner on a Fetch robot Tobin 2017. Peng and colleagues randomized link mass, joint damping, puck mass/friction/damping, table height, controller gains, action timing and observation noise. A recurrent policy trained only in simulation transferred to a seven-DoF Fetch arm pushing a puck to a target. Real evaluation used motion capture for puck position, 200 control steps per episode, and success within 7 cm of the target at the end of the episode; target and initial puck positions were randomized within a 30 cm by 30 cm area. The authors report substantial simulated-versus-real joint-trajectory mismatch after limited calibration, not an absence of calibration Peng 2018. With enough variability in the simulator, the real world may appear to the model as just another variation, as Tobin's abstract puts it.
OpenAI's Rubik's-cube system added the curriculum version: automatic domain randomization widens the randomization range as the agent succeeds, so the distribution grows with the policy's competence OpenAI 2019. Isaac Lab ships ADR as a configurable curriculum with reference configs in its dexterous-manipulation examples NVIDIA 2025.
Two details rarely make it into the textbook version. First, the plumbing: in the 2025 Isaac Lab v1 paper, simulation state is GPU-resident but mass, friction, contact offsets, and joint armature are modified through PhysX CPU APIs. Most other physics parameters can be randomized at runtime, while mesh scale and collider type can change only before simulation starts. CPU parameter writes do not mean randomization is restricted to episode resets
Source: NVIDIA 2025. Second, the objective: Peng and colleagues maximize expected return over a distribution of dynamics models and evaluate randomization ablations on their Fetch pushing task Peng 2018. The friction chart below instead imposes its peak-versus-width relation by construction; it is not a measured performance frontier.
The figure draws a point-trained-policy toy curve and a distribution-trained-policy toy curve. No policy is trained here. The shaded interval marks the assumed training range, not uncertainty or a confidence interval.
How to read this chart
Both curves and every plotted success value are authored assumptions, not paper measurements. The point curve is a Gaussian centered at friction 0.80, with peak 0.97 and width 0.09. The DR curve has height 0.93 minus 0.55 times the selected half-width, stays flat inside that range, and has Gaussian tails of width 0.10. The ordinary panel starts at half-width 0.35; the prediction panel starts at 0.65. Reset restores each panel’s own initial friction and half-width. Changing friction selects a position on fixed formulas; changing half-width redraws the DR formula. Tobin and Peng support the visual and dynamics randomization framing, not these constants or a universal curve shape Tobin 2017 Peng 2018.
Prediction
Read the reasoning
real mu 0.80: point 97% vs DR 57%
In this authored toy, the point curve is higher at the selected friction. The curves are formulas, not measured robot performance. All values and the falling DR peak are local assumptions. Reset restores this panel’s initial friction and half-width; moving a control samples or redraws formulas, not a trained policy.
Authored toy, not measured robot data. At selected friction 0.80, the point curve is 97% and the DR curve is 57%. The assumed DR half-width is 0.65 and its plateau is 57%. Its height follows 0.93 minus 0.55 times the half-width; the point Gaussian has center 0.80, peak 0.97 and width 0.09, and the DR tails have width 0.10. Dashed edges mark an assumed range, not a confidence interval. Reset restores this panel to friction 0.80 and half-width 0.65. Selecting friction samples the formulas; no training or adaptation runs.
Sampled task success against ground friction
| mu | point policy | DR policy | playhead |
|---|---|---|---|
| 0.20 | 0% | 57% | off |
| 0.50 | 0% | 57% | off |
| 0.80 | 97% | 57% | playhead |
| 1.10 | 0% | 57% | off |
| 1.50 | 0% | 51% | off |
- The plateau widens and its peak falls because the formula makes it do soThe local formula is peak = 0.93 - 0.55 × half-width. It gives 0.7375 at half-width 0.35 and 0.5725 at 0.65, displayed as 74% and 57%. These are authored values, not Peng paper results.
- The plateau widens and its peak rises as the half-width increasesNot in this toy: the half-width has a negative coefficient in the plateau-height formula. This answer is about that formula, not about all randomized policies.
- The plateau widens but its peak stays unchanged as half-width increasesThe peak would stay unchanged only under a different formula. This toy explicitly couples its height to the selected half-width.
The slider demonstrates an assumed peak-versus-width relationship, not a measured law of domain randomization.
Teacher-student distillation: privilege in, proprioception out
Domain randomization still asks the policy to act on what the robot can sense. The teacher-student pattern separates those problems. Phase one trains a teacher with privileged, simulator-only observations: terrain geometry under the feet, friction coefficients, applied disturbances. Phase two trains a student that sees only deployable sensing, usually a short history of proprioception, to imitate the teacher's actions.
Lee and colleagues trained a privileged RL teacher with simulator-only terrain and contact information, then distilled its actions and latent features into a temporal convolutional network student. The deployed student uses two seconds of proprioceptive history from joint encoders and an IMU, together with the command and current state; it does not consume an external terrain map. Training used rigid, procedurally generated terrain, while ANYmal-B and ANYmal-C deployments included mud, snow, rubble, and vegetation. Robots of the same generation used the same controller across those environments without environment-specific tuning Lee 2020.
RMA uses a different two-stage construction: a base policy and an environment-factor encoder are trained jointly with RL, then an adaptation module is trained by supervised regression on simulator state-action histories to predict the latent extrinsics. At deployment the base policy combines the current state, previous action and estimated extrinsics to predict desired joint positions. The adaptation module uses 50 state-action steps (0.5 seconds of history); on the tested Unitree A1 setup it updates extrinsics asynchronously at about 10 Hz, while the base policy runs at 100 Hz using the latest estimate. These are inference processes, not online gradient updates. The paper reports adaptation in fractions of a second and deployment without real-world fine-tuning, but also reports failures after large perturbations or multiple leg obstructions. The latent is a behavior-relevant encoding, not a guarantee of recovering each physical parameter Kumar 2021.
In its DextrAH-RGB example, the Isaac Lab v1 paper reports an RL teacher trained with privileged state on a KUKA arm and Allegro hand, then distilled into a network taking stereo RGB pairs as input
Source: NVIDIA 2025.
The failure mode has a name. The Isaac Lab paper calls it an information gap due to input mismatch: the teacher observes privileged state information while the student sees only partial observations, so the student must reconstruct the unobserved states from images, a challenge that becomes particularly pronounced under high camera occlusion NVIDIA 2025.
The panel below is an authored toy, not measured robot data. It uses chosen terrain and noise, not a trained teacher or student. Its 24 terrain cells combine two sine waves with a step and a depression. Two seeded sequences (123456789 and 987654321) fix the noise and channel-dropout thresholds. A Gaussian blur of width three cells, a noise coefficient of 0.06, and a same-sign occlusion error of 0.12 define the reconstruction error; the degradation control scales that error from zero to one and starts at 0.15. The reconstruction is calculated directly from this terrain and error field, not inferred from the displayed input strip.
degradation 15%: MAE 0.01 m divergence 0.02
At 15 percent proprioceptive degradation the student reconstruction of the teacher terrain sits at 0.01 m MAE with action divergence 0.02, and 3 of 24 input channels are already dashed-occluded; the three stacked panels are the privileged heightfield, the proprioceptive history, and that reconstruction.
Current teacher-student gap
- degradation
- 15%
- reconstruction MAE
- 0.01 m
- action divergence
- 0.02
- occluded channels
- 3/24
Darker cells are higher terrain. This deterministic toy draws chosen terrain, normalized terrain readings with seeded noise, and a reconstruction computed from terrain plus authored errors. The input strip is not recorded robot sensing. At zero degradation the reconstruction is exact; increasing degradation raises the errors by construction. The action-divergence label denotes 2.2 times MAE, not measured actions from trained policies.
Push the degradation slider up. The input strip loses channels and gains noise, the constructed reconstruction changes, and both error readouts rise by design. The action-divergence value is 2.2 times the unrounded reconstruction MAE, displayed in normalized units; it is not a comparison of learned actions or a measured cost of distillation. At zero degradation the local reconstruction is exact. Reset restores 0.15. The cited input-mismatch discussion motivates the illustration, but does not establish these coefficients or a universal error floor independent of training.
System identification: measure the gap instead
Randomization averages over model error. System identification removes the error by measurement. Hwangbo and colleagues learned an actuator network for ANYmal's series-elastic actuators: it predicts joint torque from joint-position errors and velocities at the current time and 0.01 and 0.02 seconds earlier. They fitted it to real-robot excitation data, then used it inside the simulator to train control policies. In their locomotion ablations, policies trained with ideal or analytical actuator models could not take a single step without falling Hwangbo 2019.
ASAP starts with phase-conditioned tracking policies trained in IsaacGym on retargeted human motions. It runs the pretrained policies on a Unitree G1 and records trajectories using motion capture and onboard sensors. A second PPO policy takes the simulated state and a recorded action and outputs a delta action. Adding that delta before the simulator step lets its reward penalize disagreement with the recorded real trajectory; the delta is learned through RL, not supplied as a measured residual-action label. The delta action model is then frozen while the tracking policy is fine-tuned in the modified simulator. Only the fine-tuned tracking policy is deployed: the delta model stays in simulation. The hardware study learns corrections for four ankle DoFs, not the full 23-DoF simulation model He 2025.
The evaluation separates IsaacGym-to-IsaacSim and IsaacGym-to-Genesis transfer from the G1 hardware study. Table III tests open-loop replay; Table IV evaluates closed-loop motion tracking. The simulation suite has 43 motion sequences grouped by difficulty, and reports mean tracking errors across motion sequences. SysID and delta-dynamics are explicit simulation baselines, but ASAP does not win every metric: in Table IV's easy IsaacSim group, its mean global joint-position error is 106 mm versus SysID's 105 mm. On hardware, Table V compares ASAP only with Vanilla on kicking and LeBron James's "Silencer": mean global joint-position error falls from 61.2 to 50.2 mm and from 159 to 112 mm, respectively. Basic domain randomization is used in pretraining; the separate random-action-noise fine-tuning ablation is an IsaacGym-to-Genesis test, not a hardware comparison against every baseline He 2025.
Generalization is measured, not guaranteed. ASAP reports improved tracking on the held-out "Silencer" motion and better out-of-distribution replay with more training data; neither result establishes arbitrary unseen-skill coverage. Its stated hardware limits are motor overheating and damage, motion-capture dependence during data collection, and the data required to learn a full 23-DoF delta model. These are empirical limitations, not a mathematical rule that the correction is valid only near the pretrained policy's trajectories He 2025.
Real-to-sim: rebuild the scene, keep the physics
The newest family attacks the visual gap by reconstructing the actual deployment scene. SplatSim replaces mesh primitives in the rendering pipeline with Gaussian splats reconstructed from the deployment scene; PyBullet supplies the physics. Across four UR5 manipulation tasks, with 40 trials per task, the authors report 86.25% average zero-shot real-world success for diffusion policies trained on simulated demonstrations, versus 97.5% for policies trained on real-world demonstrations. This is the result with training augmentations, not rendering alone Qureshi 2024.
The setup uses a Robotiq 2F-85 gripper and two RealSense D455 cameras. Preparing the splats requires manual robot segmentation, CAD-derived link bounds and ICP alignment; robot kinematics and simulated object poses drive rendering. Figure 2 lists RGB observations plus end-effector position and orientation, while Section IV-A says the policy relies solely on RGB at test time. Those descriptions disagree; they do not establish an unqualified image-only input specification Qureshi 2024. In its August 2025 v2, RoboGSim combines a Gaussian Reconstructor, Digital Twins Builder, Scene Composer and Interactive Engine in a real2sim2real system. Multi-view images and supplied robot MDH parameters feed reconstruction; mesh assets and measured layout alignment connect the scene to Isaac Sim. The synthesizer composes novel views, objects, scenes and trajectories. In closed-loop evaluation, a policy acts on splat-rendered images; Isaac Sim handles inverse kinematics, collisions and other physical interactions, and the resulting state drives the next rendering Li 2024.
This evaluation is not interchangeable with real-robot testing. On the UR5 ring-toss task, each model had ten trials with up to three grasp attempts per trial. Table 2 reports 90% placement for the real-data-trained model on the real robot but 30% in RoboGSim. Simulated evaluation avoids executing those actions on hardware; it is not a demonstrated safety guarantee for a deployed robot. The paper examines novel-pose rendering and trajectory replay separately from closed-loop policy evaluation Li 2024. The Newton 1.0 release post describes a Warp-based tiled camera sensor whose ray-tracing backend supports both triangle meshes and Gaussian splats Reist 2026.
Keep the division of labor straight: the splat supplies appearance, and a conventional physics engine still supplies dynamics. A 3DGS twin is a learned renderer bolted onto a simulator, not a learned simulator, and it reconstructs a static scene: articulated objects, deformables, and lighting changes each require extra machinery on top. Confusing the two is the most common misreading of the real-to-sim literature.
The levers nobody demos
The survey adds two cross-cutting options that rarely get headline systems. Sim-real co-training mixes real data into an otherwise simulated training set, so the real samples anchor the representation while simulation supplies coverage. State and action abstraction chooses the interface between policy and robot (end-effector velocities or foot positions rather than raw torques) so that a conventional low-level controller absorbs much of the gap Aljalbout 2025. The survey's own emphasis is that the action-space choice plays a crucial role in reducing the sim-to-real gap across navigation, locomotion, and manipulation, which matches the quiet pattern in successful deployments: most of them randomize some things, identify others, and abstract away the rest.
Where each family breaks
Each family's failure mode is worth holding onto. The friction chart's conservatism cost is an authored assumption, not an empirical result of the cited papers. The teacher-student panel likewise constructs its error rather than measuring a distillation limit. ASAP shows some held-out motion transfer, but broader coverage and affordable real-robot data collection remain open He 2025. Real-to-sim twins freeze the scene they captured.
Self-check
Read the reasoning
- Domain randomization over a very wide friction rangeA wide training distribution is not itself an observation of current terrain friction. Peng and colleagues use recurrent memory to infer dynamics from past states and actions; the friction chart here contains no such adaptation process.
- A separately trained adaptation moduleRMA trains the adaptation module in simulation to estimate latent extrinsics from 50 state-action steps. On its A1 setup, that module runs at about 10 Hz and the base policy at 100 Hz, asynchronously using the latest estimate. The reported sub-second adaptation is not a control-frequency or gradient-update claim, and the latent need not recover ground-truth friction.
- Give the deployed policy the friction coefficient as an inputThis is the teacher’s input, not the student’s. The deployed robot has no friction sensor; handing the policy a value nobody can measure at runtime is exactly the input mismatch the teacher-student pattern exists to remove.
RMA trains a latent predictor in simulation, then performs asynchronous latent inference during deployment. Its base policy uses the latest estimate; neither an exact friction estimate nor adaptation at every control step is promised.
See also
- Why RL Won Locomotion but Not Manipulation
The MDP simulability gap: contact-rich manipulation resists the simulation that made walking routine.
- Legged Locomotion Lineage
From ANYmal to Unitree and the MIT humanoid line: how learned gaits became the default.
- Generative Simulation
Generated content inside real physics engines beats generated dynamics: RoboGen, Holodeck, RoboCasa.
Linked from
- RL for Robotics
Sample efficiency decides which reinforcement learning algorithms a robot can actually be trained with, from PPO in simulation to offline learning on a fixed dataset.
- Why RL Won Locomotion but Not Manipulation
The MDP simulability gap: contact-rich manipulation resists the simulation that made walking routine.
- Massively Parallel Sim RL
Isaac Lab, Newton, MJX, and Brax: GPU-parallel environments and the wall-clock economics of training.
- Legged Locomotion Lineage
From ANYmal to Unitree and the MIT humanoid line: how learned gaits became the default.
- Humanoid Whole-Body Control
Motion tracking from PHC to ASAP and GMT, and the three decompositions of 2026.
- Generative Simulation
Generated content inside real physics engines beats generated dynamics: RoboGen, Holodeck, RoboCasa.
- World Models vs Physics Simulators
Learned dynamics, explicit physics and hybrid simulation compared by controllability, coverage, speed, debugging and downstream policy value.
- The Evaluation Crisis
Why N-of-10 trials and unreported variance mislead: 95% per-step success is unusable at 30 steps.
- Control
PID, LQR, MPC, and whole-body QP: the classical stack under every learned policy.
References
Josh Tobin, Rachel Fong, Alex Ray, Jonas Schneider, Wojciech Zaremba, Pieter Abbeel, IROS 2017.
https://arxiv.org/abs/1703.06907
Xue Bin Peng, Marcin Andrychowicz, Wojciech Zaremba, Pieter Abbeel, ICRA 2018.
https://arxiv.org/abs/1710.06537
OpenAI, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, Mateusz Litwin, Bob McGrew, Arthur Petron, Alex Paino, and 11 more, 2019.
https://arxiv.org/abs/1910.07113
NVIDIA, Mayank Mittal, Yunrong Guo, Pascal Roth, David Hoeller, James Tigue, Antoine Richard, Octi Zhang, and 98 more, 2025.
https://arxiv.org/abs/2511.04831
Joonho Lee, Jemin Hwangbo, Lorenz Wellhausen, Vladlen Koltun, Marco Hutter, Science Robotics 5(47), 2020.
https://arxiv.org/abs/2010.11251
Ashish Kumar, Zipeng Fu, Deepak Pathak, Jitendra Malik, RSS 2021.
https://arxiv.org/abs/2107.04034
Jemin Hwangbo, Joonho Lee, Alexey Dosovitskiy, Dario Bellicoso, Vassilios Tsounis, Vladlen Koltun, Marco Hutter, Science Robotics 4(26), 2019.
https://arxiv.org/abs/1901.08652
Tairan He, Jiawei Gao, Wenli Xiao, Yuanhang Zhang, Zi Wang, Jiashun Wang, Zhengyi Luo, Guanqi He, and 10 more, RSS 2025.
https://arxiv.org/abs/2502.01143
Mohammad Nomaan Qureshi, Sparsh Garg, Francisco Yandun, David Held, George Kantor, Abhisesh Silwal, 2024.
https://arxiv.org/abs/2409.10161
Xinhai Li, Jialin Li, Ziheng Zhang, Rui Zhang, Fan Jia, Tiancai Wang, Haoqiang Fan, Kuo-Kun Tseng, and 1 more, 2024.
https://arxiv.org/abs/2411.11839
Elie Aljalbout, Jiaxu Xing, Angel Romero, Iretiayo Akinola, Caelan Reed Garrett, Eric Heiden, Abhishek Gupta, Tucker Hermans, and 4 more, Annual Review of Control, Robotics, and Autonomous Systems 2026 (accepted), 2025.
https://arxiv.org/abs/2510.20808
Philipp Reist, Miguel Zamora Mora, JC Chang, Rishabh Chadha, Mohammad Mohajerani, 2026.
https://developer.nvidia.com/blog/newton-adds-contact-rich-manipulation-and-locomotion-capabilities-for-industrial-robotics
Spot a factual error or missing qualification? Report a content correction.