
La simulation peut multiplier une poignée de démonstrations en milliers. Voici ce que les chiffres publiés disent réellement, où l'écart sim-to-real se fait sentir, et ce qui doit encore être enregistré.
Tous les quelques mois, quelqu'un réalise qu'enregistrer cinquante épisodes à la main est lent, et demande si un simulateur pourrait les produire à la place. C'est une question légitime. La réponse honnête comporte trois parties : les données générées sont utiles, elles ne remplacent pas les enregistrements réels, et le rapport entre ces deux faits dépend entièrement du type de données synthétiques que vous entendez.
Cette page examine ce que les travaux publiés ont réellement mesuré, ce que vous pouvez exécuter aujourd'hui sur un bras à faible coût tel que le SO-100, et où l'écart entre la simulation et la réalité annule les gains. La version courte, avant les détails : les systèmes qui rapportent les plus grands multiplicateurs multiplient un petit ensemble de démonstrations humaines réelles. Ils n'éliminent pas le besoin de ces dernières.
Ce qu'il faut savoir
- •Quatre techniques sans rapport sont appelées données synthétiques en manipulation : la multiplication de trajectoires, les rollouts physiques, les modèles de monde vidéo et l'augmentation dans l'espace d'image. Elles échouent de différentes manières et ont des valeurs différentes.
- •MimicGen a transformé moins de 200 démonstrations humaines en plus de 50 000 démonstrations générées sur 18 tâches. Sur sa tâche Square D0, 200 démos générées à partir de 10 démos humaines ont donné 79 percent de succès contre 84 percent pour 200 démos humaines réelles.
- •RoboCasa est le contre-exemple : 72,000 démos générées ont obtenu 47.6 percent contre 28.8 percent pour 1,250 démos humaines. Il s'agit d'un avantage de volume de 58x, et non d'une victoire à armes égales.
- •L'étude de co-entraînement simulation-réalité rapporte une amélioration moyenne de 38 percent des performances des tâches en monde réel. La recette est le co-entraînement sur un mélange, et non un transfert uniquement basé sur la simulation.
- •GR00T N1 repose sur 780,000 trajectoires de simulation (6,500 hours équivalent, générées en 11 hours) et 827 hours de trajectoires neuronales issues de 88 hours réelles. Ces 88 hours réelles restent le sommet de la pyramide.
- •Pour un SO-101, il existe aujourd'hui un pipeline ouvert fonctionnel : LeIsaac dans Isaac Lab, téléopérer avec le bras physique leader, multiplier avec Isaac Lab Mimic, exporter au format LeRobot, affiner GR00T.
- •AY-Robots ne génère pas de données synthétiques. Il s'entraîne sur le jeu de données LeRobot que vous lui fournissez, quelle que soit la manière dont ce jeu de données a été produit, et les entraîneurs ont besoin de 30 to 50 episodes minimum selon le modèle.
Quatre choses différentes sont appelées données synthétiques
Avant de comparer les chiffres, il est utile de séparer les familles, car un article rapportant un multiplicateur de 100x et un article rapportant un gain de succès de 5 points décrivent souvent le même pipeline sous des angles différents. Le point commun est que quelque chose dans le jeu de données LeRobot a été produit par une machine plutôt qu'enregistré à partir d'un bras physique. Ce qui diffère, c'est la partie.
| Famille | Ce qui reste réel | Ce qui est généré | Multiplicateur rapporté | Principal mode de défaillance |
|---|---|---|---|---|
| Multiplication de trajectoires (MimicGen, DexMimicGen, Isaac Lab Mimic) | Quelques démonstrations humaines, les maillages d'objets, le moteur physique | Nouvelles trajectoires adaptées aux nouvelles poses d'objets et configurations de scènes | 10 démos humaines à 1 000 par distribution de réinitialisation ; 60 à 21 000 ; moins de 200 à plus de 50 000 | Les tentatives de génération échouent. Isaac Lab estime le taux de succès candidat à 70 % dans les cas simples et à moins de 1 % dans les cas difficiles |
| Simulations physiques dans un simulateur de tâches (Isaac Lab, robosuite, RoboCasa) | Le moteur physique et la bibliothèque d'actifs | Épisodes complets, pilotés par des contrôleurs scriptés, des planificateurs ou du RL | Limité uniquement par les heures GPU | Le bras simulé n'est pas votre bras. La dynamique de contact et de servo sont des approximations |
| Modèles de monde vidéo (DreamGen, Cosmos Transfer) | Quelques épisodes de téléopération réels utilisés comme conditionnement | Vidéo photoréaliste de nouveaux comportements, plus des pseudo-actions récupérées par la suite | 88 hours to 827 hours in GR00T N1, about 10x | Les actions sont inférées, non mesurées. Une vidéo plausible peut contenir une action invraisemblable |
| Augmentation dans l'espace image (recadrage aléatoire, jitter de couleur) | Tout sauf les pixels | Vues perturbées d'épisodes que vous avez déjà | 1x, cela ne crée aucune nouvelle trajectoire | L'augmentation géométrique rompt le lien entre l'image et l'étiquette d'action |
Seuls les trois premiers sont des données synthétiques au sens où l'entend cet article. Le quatrième mérite d'être mentionné car il est regroupé dans la même conversation et est de loin la chose la moins chère de la liste. Si vous n'avez pas encore activé les augmentations fournies avec votre entraîneur, faites-le avant d'installer un simulateur.
NVIDIA a publié les trajectoires simulées utilisées pour le post-entraînement de GR00T N1 sous le nom nvidia/PhysicalAI-Robotics-GR00T-X-Embodiment-Sim sur Hugging Face, environ 1.87 TB sous licence cc-by-4.0. Cela se décompose en 9 000 trajectoires bimanuelle Panda et GR1 inter-corporelles, 240 000 trajectoires humanoïdes de table, 72 000 trajectoires de cuisine à bras Panda unique et 102 trajectoires de loco-manipulation Unitree G1. Télécharger un sous-ensemble avec huggingface-cli download --include "gr1_arms_only.CanSort/**" et regarder quelques épisodes est le moyen le plus rapide de calibrer l'apparence des trajectoires générées, et cela ne coûte rien d'autre que de la bande passante.
Ce que disent réellement les chiffres publiés
Voici la base de preuves, avec les chiffres tels que les sources les présentent plutôt que tels que les communiqués de presse les résument. Chaque ligne ci-dessous provient d'un article ou d'une page de projet lue le 23 août 2026.
| Système | Entrée | Généré | Résultat rapporté |
|---|---|---|---|
| MimicGen, CoRL 2023 | Moins de 200 démos humaines ; 10 démos humaines en confrontation directe | Plus de 50 000 démos, 18 tâches, quatre bras (Panda, Sawyer, IIWA, UR5e) | Square D0 : 79 pour cent à partir de 200 démos générées à partir de 10 démos humaines, contre 84 pour cent à partir de 200 démos humaines |
| DexMimicGen, 2024 | 60 démos humaines sources | 21 000 démos pour robots dextres bimanuels | Tâches dextres bimanuelles en simulation, plus un déploiement de tri de canettes humanoïde du réel au sim-au-réel |
| RoboCasa, 2024 | 1 250 démos humaines (50 par tâche sur 25 tâches atomiques), 100 tâches d'évaluation, plus de 150 catégories d'objets | 100 000 trajectoires MimicGen ; le sous-ensemble de 72 000 démos est à l'origine de la comparaison principale | 28,8 pour cent au total sur l'ensemble humain contre 47,6 pour cent sur l'ensemble entièrement généré, évalué uniquement sur des instances d'objets non vues |
| Co-entraînement sim-et-réel, 2025 | Démos réelles plus ensembles de données de simulation, deux domaines (bras robotique et humanoïde) | Un mélange, pas un remplacement | Les données de simulation ont amélioré la performance des tâches du monde réel de 38 pour cent en moyenne |
| DreamGen, 2025 | Données de téléopération d'une seule tâche de prise et de placement dans un environnement | Vidéo synthétique plus pseudo-actions d'un modèle d'action latente ou d'un modèle de dynamique inverse | 22 nouveaux comportements sur un humanoïde, dans des environnements vus et non vus |
| GR00T N1 data pyramid, 2025 | 88 heures de téléopération GR-1 interne | 827 heures de trajectoires neuronales (environ 10x) ; 780 000 trajectoires de simulation, équivalent à 6 500 heures, produites en 11 heures | Les trajectoires neuronales ont ajouté 4,2, 8,8 et 6,8 points sur RoboCasa aux régimes de 30, 100 et 300 démos par tâche, et 5,8 points en moyenne sur 8 tâches GR-1 réelles |
Un multiplicateur est un nombre de lignes. La confrontation directe de MimicGen place les données générées légèrement en dessous du même nombre de données humaines (79 contre 84 pour cent), et l'ablation de GR00T N1 ajoute des points de pourcentage à un chiffre en plus d'un modèle qui avait déjà les heures réelles. RoboCasa bat les données humaines, 47,6 contre 28,8 pour cent, mais avec 72 000 démos générées contre 1 250 démos humaines. Le volume achète la couverture. Il n'achète pas l'information que vos démonstrations n'ont jamais contenue.
Le schéma observé dans chaque ablation honnête est le même. Les données synthétiques étendent la couverture à moindre coût. Elles ne créent pas d'informations sur votre pince, le fléchissement de votre servomoteur, votre éclairage ou la hauteur de votre table qui n'étaient pas déjà présentes quelque part dans les démonstrations réelles. Si votre politique échoue parce que l'effecteur final se ferme une demi-seconde trop tard, aucune quantité de variation simulée ne peut y remédier. C'est un problème de synchronisation de la pince dans les enregistrements réels.
Une découverte de MimicGen mérite d'être prise en compte dans vos propres sessions d'enregistrement, car elle va à l'encontre des conseils habituels. Le projet a généré deux ensembles de données sur Square D2, l'un amorcé avec 10 démonstrations d'un opérateur humain de meilleure qualité et l'autre avec 10 démonstrations d'un opérateur de moins bonne qualité, tous deux tirés de l'ensemble de données robomimic multi-humain Square. Les politiques entraînées sur chacun ont obtenu des résultats comparables, ce que les auteurs interprètent comme un signe que dans le régime de données à grande échelle, la qualité des données pourrait ne pas être aussi importante. Lisez attentivement, c'est une déclaration concernant les dix démonstrations d'amorçage, et non vos cinquante épisodes réels. Cela signifie qu'un ensemble d'amorçage légèrement imparfait n'est pas ce qui vous sépare d'un ensemble de données généré utilisable. Cela ne signifie pas que les épisodes réels sur lesquels vous co-entraînez peuvent être imparfaits, car ce sont eux qui contiennent les informations que le simulateur n'a pas.

L'écart sim-réel, concrètement
L'écart est généralement discuté comme une quantité unique, ce qui est peu utile. Il s'agit d'au moins cinq déséquilibres distincts, et ils ont des tailles différentes sur un bras de loisir de 110 à 150 EUR que sur un Franka.
- Contact et frottement. Isaac Lab déclare clairement que, étant donné le même matériel et la même version d'Isaac Sim et de PhysX, la simulation est reproductible, mais que les résultats varient selon les différentes configurations matérielles en raison de la précision des nombres flottants et des erreurs d'arrondi, et que PhysX ne garantit pas le déterminisme pour toute scène avec des corps non rigides tels que des tissus ou des corps mous.
- Actionnement. Un servomoteur de bus Feetech STS3215 fonctionnant à 7,4 V s'affaisse sous charge, présente du jeu et modifie son comportement à mesure qu'il chauffe. Le modèle MJCF pour le SO-101 emprunte ses paramètres moteur à un projet sans rapport plutôt que de les identifier sur votre bras.
- Rendu. Le bruit de la caméra, l'obturateur roulant, l'auto-exposition et la teinte exacte de votre table ne sont pas inclus dans le rendu. C'est la moitié de l'écart que Cosmos-Transfer1 a été conçu pour combler : son flux de travail d'augmentation robotique mappe un exemple synthétique robotique à plusieurs exemples réalistes à partir de la segmentation, de la profondeur ou du conditionnement des bords.
- Synchronisation. Un simulateur avance à un rythme fixe. Une boucle de contrôle réelle ne le fait pas, et le modèle lui-même coûte de 20 à 485 ms par étape d'action selon celui que vous avez choisi. Voir latence d'inférence.
- Statistiques d'objets. Les scènes simulées sont échantillonnées à partir d'une distribution que quelqu'un a écrite. Votre table de cuisine ne l'est pas.
Ce qu'un SO-100 simulé sait réellement de votre bras
C'est la partie qui décide si tout ce qui précède vaut votre week-end, et la première surprise est que les SO-100 et SO-101 ne sont pas servis de manière égale. Le dépôt SO-ARM100 de TheRobotStudio conserve ses ressources de simulation sous Simulation/. Le dossier SO100 contient un seul fichier URDF et rien d'autre. Le dossier SO101 contient à la fois des fichiers URDF et MuJoCo : scene.xml, so101_new_calib.xml, so101_old_calib.xml, les URDF correspondants et un joints_properties.xml. Si vous voulez un modèle physique plutôt qu'une chaîne cinématique, vous voulez les fichiers SO-101.
Ils ont été générés avec le plugin onshape-to-robot à partir d'un modèle CAO conçu dans Onshape, ce qui signifie que la cinématique et les maillages visuels sont aussi bons que le modèle CAO. La dynamique est une autre histoire, et le README du dépôt est franc sur trois points. Les maillages de collision de base ont été supprimés en raison d'un comportement de collision problématique lors de la simulation et de la planification. Les propriétés du moteur STS3215 sont adaptées du projet Open Duck Mini plutôt que mesurées sur un SO-101. Et la convention de la pince LeRobot, où 0 est entièrement fermé et 100 est entièrement ouvert, n'est pas encore explicitement reflétée dans les fichiers URDF et MuJoCo. Chacun de ces points est un endroit où une politique entraînée purement dans ce modèle se comportera différemment sur votre bureau.
Il existe deux conventions de zéro dans les fichiers MuJoCo fournis, et scene.xml choisit entre elles en fonction du fichier robot qu'il inclut. Dans so101_new_calib.xml, par défaut, le zéro virtuel de chaque articulation se situe au milieu de sa plage articulaire. Dans so101_old_calib.xml, le zéro est la configuration où le robot est entièrement étendu horizontalement. Si vos épisodes simulés utilisent une convention et vos épisodes réels enregistrés utilisent l'autre, chaque angle articulaire dans l'ensemble de données mixte est décalé de dizaines de degrés, la perte diminue toujours, et la politique fait quelque chose de manifestement faux. Vérifiez la convention des deux côtés avant de co-entraîner, et lisez d'abord calibration et la perte diminue, la politique ne fait rien.
Randomisation de domaine, et ce qu'elle ne corrige pas
La réponse standard à cet écart est d'arrêter d'essayer de correspondre à la réalité et d'entraîner plutôt sur une distribution suffisamment large pour que la réalité y soit incluse. Tobin et ses collègues ont montré la version forte de ceci en 2017 : un détecteur d'objets entraîné uniquement sur des images simulées avec des textures aléatoires non réalistes, sans aucun pré-entraînement sur des images réelles, a localisé des objets réels avec une précision de 1.5 cm et est resté robuste aux distracteurs et aux occlusions partielles.
Isaac Lab expose la même idée que les termes d'événement que vous attachez à une configuration d'environnement. Ce sont les paramètres, par leurs noms de fonction réels dans isaaclab.envs.mdp, afin que vous puissiez les consulter plutôt que de deviner.
| Fonction d'événement | Ce qu'elle perturbe |
|---|---|
| randomize_rigid_body_material | Frottement de contact et restitution |
| randomize_rigid_body_mass, randomize_rigid_body_com | Masse de l'objet et du lien, décalages du centre de masse |
| randomize_actuator_gains | Rigidité et amortissement du contrôleur d'articulation |
| randomize_joint_parameters, randomize_fixed_tendon_parameters | Frottement d'articulation, armature et limites |
| randomize_visual_texture_material, randomize_visual_color | Apparence, la moitié photométrique de l'écart |
| randomize_physics_scene_gravity | Le vecteur de gravité |
| apply_external_force_torque, push_by_setting_velocity | Perturbations d'exécution |
| reset_root_state_uniform, reset_joints_by_offset | Dispersion de l'état initial à chaque réinitialisation d'épisode |
Voici la limite, et c'est celle sur laquelle les gens trébuchent. La randomisation élargit la distribution que la politique a vue à l'intérieur du modèle que vous avez construit. Elle ne peut pas introduire un effet physique que le simulateur ne représente pas. Si PhysX ne modélise pas le jeu et la dérive thermique de vos servomoteurs STS3215, randomiser leur rigidité n'apprend rien à la politique sur le jeu. C'est pourquoi un bras qui sous une politique entraînée en simulation n'est pas un problème de budget de randomisation. C'est un problème de modélisation.
Le chemin manuel : générer des données dans Isaac Lab
Isaac Gym est un logiciel hérité. La propre page de NVIDIA est intitulée "Isaac Gym - Maintenant obsolète" et indique que les développeurs peuvent le télécharger et continuer à l'utiliser, mais qu'il n'est plus pris en charge, renvoyant plutôt vers Isaac Lab. Si vous voulez l'historique, nous avons couvert les deux : et . Pour tout nouveau travail en 2026, commencez par Isaac Lab.
- 1Installer Isaac Sim et Isaac Lab
La page d'installation pip indique que les instructions sont pour Isaac Sim 5.X, qui nécessite Python 3.11. Le clonage de la source vous fournit les scripts nécessaires aux étapes suivantes.
bashpip install "isaacsim[all,extscache]==5.1.0" \ --extra-index-url https://pypi.nvidia.com git clone https://github.com/isaac-sim/IsaacLab.git --branch main cd IsaacLab sudo apt install cmake build-essential ./isaaclab.sh --install # smoke test ./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py - 2Enregistrer une dizaine de démonstrations humaines
La documentation d'Isaac Lab est spécifique : environ 10 démonstrations réussies sont nécessaires pour que les étapes suivantes aboutissent. Ses conseils sont tout aussi spécifiques. Gardez les démonstrations courtes, prenez un chemin direct plutôt que de vous déplacer le long d'axes arbitraires, et ne faites pas de pause, car il n'est pas évident pour une politique de savoir pourquoi et quand faire une pause.
bash./isaaclab.sh -p scripts/tools/record_demos.py \ --task Isaac-Stack-Cube-Franka-IK-Rel-v0 \ --device cpu \ --teleop_device spacemouse \ --dataset_file ./datasets/dataset.hdf5 \ --num_demos 10 - 3Annoter les limites des sous-tâches
Mimic divise les démonstrations d'entrée en sous-tâches afin de pouvoir redéfinir le timing et la cible des segments. L'option --auto effectue cette opération sans intervention humaine pour les tâches qui définissent l'annotation automatique ; sans elle, vous mettez en pause avec B, continuez avec N et marquez une limite avec S. Notez que l'ID de la tâche gagne un suffixe -Mimic.
bash./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/annotate_demos.py \ --device cpu \ --task Isaac-Stack-Cube-Franka-IK-Rel-Mimic-v0 \ --auto \ --input_file ./datasets/dataset.hdf5 \ --output_file ./datasets/annotated_dataset.hdf5 - 4Générer l'ensemble de données multiplié
C'est l'étape qui transforme 10 en 1000. Mimic applique un critère de succès booléen à chaque candidat et ne conserve que ceux qui ont terminé la tâche, de sorte que le nombre de sorties est inférieur au nombre d'essais. La documentation indique que le taux de succès des candidats peut atteindre 70 % dans les cas simples et être inférieur à 1 % pour les tâches difficiles et les robots complexes : environ 50 % pour l'empilement de cubes Franka, et 65 à 80 % pour le pick and place GR1T2, où 1000 démos prennent 18 à 40 minutes (19 minutes sur une RTX ADA 6000 à 80 %).
bash./isaaclab.sh -p scripts/imitation_learning/isaaclab_mimic/generate_dataset.py \ --device cpu \ --num_envs 10 \ --generation_num_trials 1000 \ --headless \ --input_file ./datasets/annotated_dataset.hdf5 \ --output_file ./datasets/generated_dataset.hdf5 - 5Convertir HDF5 en un ensemble de données LeRobot
Tout ce qui précède produit du HDF5 de type robomimic, et le cœur d'Isaac Lab ne fournit pas son propre convertisseur LeRobot : sa documentation indique seulement que vous pouvez convertir l'ensemble de données généré au format LeRobot. Deux projets fournissent le convertisseur réel. IsaacLab-Arena fournit un convertisseur ciblé GR00T entièrement piloté par une configuration YAML, et LeIsaac fournit sa propre paire pour la route SO-101 (voir ci-dessous).
bash# IsaacLab-Arena, GR00T LeRobot format python isaaclab_arena_gr00t/lerobot/convert_hdf5_to_lerobot.py \ --yaml_file isaaclab_arena_gr00t/lerobot/config/gr1_manip_config.yaml
Le 23 août 2026, la documentation d'Isaac Lab pour main affiche un badge Isaac Sim 6.0.1 et propose release/3.0.0 et v3.0.0-beta2 dans son sélecteur de version, aux côtés de v2.3.2, tandis que la page d'installation pip sur le même arbre épingle toujours isaacsim[all,extscache]==5.1.0 et décrit les instructions comme étant pour Isaac Sim 5.X. Le conteneur de blueprint NVIDIA synthetic-manipulation-motion-generation est encore plus ancien : Isaac Lab 2.0.2 sur Isaac Sim 4.5.0. La propre table de compatibilité de LeIsaac associe Isaac Sim 5.1 à Isaac Lab v2.3.0. Ces arbres évoluent plus vite que la documentation ne peut se réconcilier. Choisissez une version, notez-la, et attendez-vous à ce que les chemins de script et les noms de drapeaux aient changé si vous suivez un tutoriel écrit il y a trois mois.
Pourquoi les tentatives de génération échouent, et quoi changer
Un taux de réussite candidat qui oscille entre 70 % et moins de 1 % n'est pas un mystère, et Isaac Lab documente les pièges courants plutôt que de vous laisser deviner. Chacun d'eux est quelque chose que vous contrôlez au moment de l'enregistrement, c'est pourquoi il est judicieux de lire cette liste avant d'enregistrer les dix démonstrations initiales plutôt qu'après la première exécution de génération décevante.
- Les démonstrations sont trop longues. Un horizon temporel plus long est plus difficile à apprendre pour une politique. Commencez près du premier objet et minimisez les mouvements.
- Les démonstrations ne sont pas fluides. Un mouvement irrégulier est difficile à déchiffrer pour une politique, et un meilleur matériel de téléopération fournit de meilleures données : la documentation indique clairement qu'une SpaceMouse est supérieure à un clavier.
- Pauses. Les pauses sont difficiles à apprendre, car il n'est pas évident pour une politique de savoir pourquoi et quand faire une pause. Gardez le mouvement fluide.
- Trop de sous-tâches. Plus de sous-tâches signifient plus de raccordements entre les segments de trajectoire, ce qui entraîne un mouvement moins fluide et un taux de réussite de génération plus faible. Annotez les limites où le bras est peu susceptible d'entrer en collision avec quoi que ce soit.
- Pas de bruit d'action. Le bruit d'action rend les politiques résultantes plus robustes.
- Enregistrement trop court. Si l'enregistrement s'arrête sur la trame exacte où le terme de succès se déclenche, il pourrait ne pas se redéclencher lors de la relecture. Laissez une marge à la fin.
- Relecture non déterministe. La physique dans Isaac Lab n'est pas reproductible de manière déterministe après un `env.reset`, de sorte que certaines démonstrations humaines échouent lors de la relecture. Collectez plus que nécessaire et conservez celles qui survivent à l'annotation. Tout ce qui se trouve dans un fichier HDF5 généré par Mimic est une démonstration réussie et peut être utilisé pour l'entraînement même si la relecture échoue ultérieurement.
L'étape d'interpolation entre les segments de sous-tâches raccordés possède son propre réglage, et le nombre d'étapes d'interpolation dont vous avez besoin dépend de la vitesse de déplacement du robot et de l'étendue de la distribution de réinitialisation de l'objet. Une tâche complexe avec une large distribution de réinitialisation laisse des écarts plus importants entre les segments, ce qui nécessite plus d'étapes d'interpolation pour produire un mouvement continu. Si vos vidéos générées montrent le bras se déplaçant par à-coups entre les phases, c'est le paramètre à examiner avant de blâmer les démonstrations initiales.
Le même pipeline sur un SO-101, avec le bras leader réel
C'est le plus intéressant pour quiconque lit cette page, car c'est le seul pipeline ouvert qui intègre un dans Isaac Lab et vous permet de le piloter avec le bras leader physique que vous possédez déjà. LeIsaac, version 0.4.0 au moment de la rédaction, est le terrain de jeu de simulation officiel pour l'apprentissage par imitation intégré à l'EnvHub de LeRobot. Sa table de compatibilité liste trois combinaisons fonctionnelles ; la plus récente associe Isaac Sim 5.1 à Isaac Lab v2.3.0, CUDA 12.8, PyTorch 2.7.0 et Python 3.11, et la documentation recommande Isaac Sim 5.0 ou plus récent pour les cartes de la série 50.
git clone https://github.com/LightwheelAI/leisaac.git --recursive
conda create -n leisaac python=3.11 && conda activate leisaac
conda install -c "nvidia/label/cuda-12.8.1" cuda-toolkit
pip install -U torch==2.7.0 torchvision==0.22.0 \
--index-url https://download.pytorch.org/whl/cu128
pip install "isaacsim[all,extscache]==5.1.0" --extra-index-url https://pypi.nvidia.com
sudo apt install cmake build-essential
cd leisaac/dependencies/IsaacLab && ./isaaclab.sh --install && cd ../..
pip install -e source/leisaac
pip install -e "source/leisaac[lerobot]"
pip install numpy==1.26.0Une fois cela en place, le bras leader sur /dev/ttyACM0 pilote le suiveur simulé et enregistre directement au format HDF5. La boucle est la même que celle que vous connaissez déjà de l'enregistrement réel, seule la partie suiveuse est un corps rigide dans PhysX.
python scripts/environments/teleoperation/teleop_se3_agent.py \
--task=LeIsaac-SO101-PickOrange-v0 \
--teleop_device=so101leader \
--port=/dev/ttyACM0 \
--num_envs=1 \
--device=cuda \
--enable_cameras \
--record \
--dataset_file=./datasets/dataset.hdf5| ID d'environnement | Description de la tâche | Robot |
|---|---|---|
| LeIsaac-SO101-PickOrange-v0 | Prendre trois oranges et les déposer dans l'assiette, puis ramener le bras à l'état de repos | Single-arm SO101 follower |
| LeIsaac-SO101-LiftCube-v0 | Soulever le cube rouge | Single-arm SO101 follower |
| LeIsaac-SO101-CleanToyTable-v0 | Prendre deux objets en forme de lettre 'e' et les déposer dans la boîte, puis ramener le bras à l'état de repos | Single-arm SO101 follower |
| LeIsaac-SO101-CleanToyTable-BiArm-v0 | La même tâche avec deux bras | Bi-arm SO101 follower |
| LeIsaac-SO101-FoldCloth-BiArm-v0 | Plier le tissu, puis ramener le bras à l'état de repos. Seule la variante DirectEnv prend en charge check_success | Bi-arm SO101 follower |
| LeIsaac-LeKiwi-CleanupTrash-v0 | Ramasser les déchets de mouchoirs sur le sol et les jeter dans la poubelle | LeKiwi |
La plupart de ces identifiants existent également en tant que variante -Direct-v0, et python scripts/environments/list_envs.py affiche la liste actuelle. Vous pouvez également ignorer entièrement le détour par HDF5 et écrire au format LeRobot pendant la téléopération en ajoutant trois drapeaux. Deux mises en garde proviennent de la documentation elle-même : l'enregistreur ignore automatiquement les 5 premières images de chaque épisode pour éviter l'instabilité due aux états initiaux, et cela peut entraîner de légers retards en téléopération, ce qui est exactement le genre de chose qui modifie subtilement le caractère de vos démonstrations. Il ne vide également que les épisodes que la tâche a marqués comme réussis.
python scripts/environments/teleoperation/teleop_se3_agent.py \
--task=LeIsaac-SO101-PickOrange-v0 \
--teleop_device=so101leader \
--port=/dev/ttyACM0 \
--num_envs=1 --device=cuda --enable_cameras --record \
--use_lerobot_recorder \
--lerobot_dataset_repo_id=<your-user>/<dataset-name> \
--lerobot_dataset_fps=30L'étape de multiplication s'exécute ensuite sur ces enregistrements. LeIsaac encapsule Isaac Lab Mimic en quatre commandes, car Mimic généralise les trajectoires à partir des poses de l'effecteur et de l'objet : convertir les actions de l'espace articulaire en actions basées sur l'IK, annoter, générer, puis reconvertir en espace articulaire.
python scripts/mimic/eef_action_process.py \
--input_file ./datasets/mimic-lift-cube-example.hdf5 \
--output_file ./datasets/processed_mimic-lift-cube-example.hdf5 \
--to_ik --headless
python scripts/mimic/annotate_demos.py --device cuda \
--task LeIsaac-SO101-LiftCube-Mimic-v0 \
--input_file ./datasets/processed_mimic-lift-cube-example.hdf5 \
--output_file ./datasets/annotated_mimic-lift-cube-example.hdf5 \
--enable_cameras
python scripts/mimic/generate_dataset.py --device cuda \
--num_envs 1 --generation_num_trials 10 \
--input_file ./datasets/annotated_mimic-lift-cube-example.hdf5 \
--output_file ./datasets/generated_mimic-lift-cube-example.hdf5 \
--enable_cameras
python scripts/mimic/eef_action_process.py \
--input_file ./datasets/generated_mimic-lift-cube-example.hdf5 \
--output_file ./datasets/final_generated_mimic-lift-cube-example.hdf5 \
--to_joint --headlessEnsuite, convertissez vers LeRobot. C'est l'étape où la règle de format de la plateforme entre en jeu, et LeIsaac fournit exactement les deux convertisseurs dont vous avez besoin : isaaclab2lerobot.py écrit LeRobot v2, ce que les chargeurs GR00T utilisent, et isaaclab2lerobotv3.py écrit la v3 pour Pi0.5, SmolVLA et ACT. Les deux scripts prennent des arguments identiques mais épinglent des versions différentes de lerobot, et seuls les épisodes réussis sont convertis.
pip install lerobot==0.3.3
pip install numpy==1.26.0
python scripts/convert/isaaclab2lerobot.py \
--task_name=LeIsaac-SO101-PickOrange-v0 \
--repo_id=<your-user>/so101_pick_orange_sim \
--hdf5_root=./datasets \
--hdf5_files=dataset.hdf5LeIsaac documente l'exécution de l'ensemble de la pile sur NVIDIA Brev : déployez, cliquez sur le lien du port 80 pour ouvrir un serveur VS Code basé sur navigateur, et exécutez les quatre scénarios préinstallés avec --kit_args="--no-window --enable omni.kit.livestream.webrtc", en visualisant le rendu à la même adresse avec /viewer ajouté. Si vous n'avez pas de carte graphique de station de travail sous votre bureau, c'est un moyen moins coûteux de vérifier si la version simulée de votre tâche est même proche avant de vous engager sur du matériel.
Deux approches pour une politique entraînée
Vous construisez la scène, générez les données, louez le GPU et configurez le service vous-même. C'est le bon choix si la tâche nécessite une variation d'environnement que vous ne pouvez pas simuler physiquement, ou si vous souhaitez une évaluation reproductible.
- Installez Isaac Sim 5.1 et Isaac Lab, ou la pile LeIsaac si votre robot est un SO-101.
- Modélisez ou importez la scène. C'est l'étape que personne ne budgétise et c'est généralement la plus longue.
- Enregistrez environ 10 démonstrations propres via le suiveur simulé.
- Annotez les sous-tâches, exécutez generate_dataset.py, et acceptez que les échecs soient écartés.
- Convertissez HDF5 au format LeRobot, en choisissant v2 pour GR00T et v3 pour les autres.
- Enregistrez quand même des épisodes réels sur le bras physique, puis co-entraînez sur le mélange.
- Louez un GPU, exécutez le fine-tuning, servez le checkpoint à côté du bras.
| Ressource | Ce que les sources indiquent |
|---|---|
| GPU de simulation locale | Le blueprint de manipulation synthétique de NVIDIA requiert Ubuntu 22.04 et une NVIDIA RTX A6000 avec 48 Go de VRAM |
| Nœud de modèle du monde | Le même blueprint requiert un H100 ou supérieur avec 80 Go, sur un nœud séparé de la simulation Isaac Lab |
| Versions des conteneurs | Isaac Lab 2.0.2 sur Isaac Sim 4.5.0 à l'intérieur de cette image blueprint |
| Débit de génération | Isaac Lab rapporte 1000 démos de pick-and-place GR1T2 en 18 à 40 minutes, 19 minutes sur une RTX ADA 6000 avec 80 % de succès |
| Coût de la trajectoire neuronale | GR00T N1 rapporte environ 105 000 heures GPU L40, soit environ 1,5 jour sur 3 600 L40, pour ses 827 heures de rêves |
Générer 1000 trajectoires prend un après-midi. Obtenir votre scène, vos extrinsèques de caméra, vos maillages d'objets et votre modèle de servomoteur suffisamment précis pour que ces trajectoires soient transférables, c'est là que les semaines s'écoulent. Budgétisez la modélisation, pas l'échantillonnage.
La plateforme est délibérément restreinte ici. Elle n'exécute pas de simulateur et ne génère pas de données synthétiques. Ce qu'elle fait, c'est prendre un jeu de données LeRobot, quelle que soit la manière dont vous l'avez produit, et le transformer en un servi. Votre sortie Isaac Lab est une entrée valide tant qu'elle se convertit proprement.
- 1Apportez le jeu de données
Enregistrez avec le client de bureau directement après une session de téléopération, pointez vers un ID de dépôt Hugging Face, ou téléchargez une exportation de simulateur convertie.
- 2Choisissez le modèle et le bras
La matrice sur /train associe chacune des cinq politiques entraînables à chaque bras pris en charge et renvoie à ce guide exact.
- 3Laissez le backend louer le GPU
L'entraîneur choisit un GPU du marché spot en fonction de la VRAM requise, exécute la tâche et écrit les points de contrôle dans le stockage d'objets. Pas de cluster à maintenir en vie.
- 4Servez-le au bras
Le pod d'inférence est auto-provisionné, le client robot local communique avec ce point de terminaison, et un watchdog inactif détruit le pod afin que rien ne soit facturé silencieusement.
| Modèle | Niveau de GPU | Épisodes minimum | Format du jeu de données | Coût typique d'exécution |
|---|---|---|---|---|
| GR00T N1.7 | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 | 4 to 12 USD |
| GR00T N1.5 | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 | 4 to 12 USD |
| Pi0.5 | A100 80 GB or H100 80 GB | 50 | LeRobot v3.0 | 4 to 12 USD |
| SmolVLA | RTX 4090 or any 24 GB card | 30 | LeRobot v3.0 | 1 to 3 USD |
| ACT | RTX 4090 or any 24 GB card | 50 | LeRobot v3.0 | 1 to 3 USD |
Notez la colonne du format, et notez que c'est la raison pour laquelle LeIsaac livre deux convertisseurs. Un jeu de données LeRobot v3.0 fait planter le chargeur GR00T et doit d'abord être converti en v2.1, ce qui est le rejet le plus courant. Si c'est ce que vous rencontrez, est la page pour cela.
Modèles du monde vidéo : la couche la plus récente et la moins mesurée
L'idée derrière DreamGen est qu'un modèle génératif vidéo, adapté à l'incarnation du robot cible, peut imaginer des épisodes plausibles dans des scènes que vous n'avez jamais visitées. Le pipeline comporte quatre étapes : affiner le modèle du monde vidéo, générer des vidéos de robots synthétiques photoréalistes, récupérer des séquences de pseudo-actions avec un modèle d'action latente ou un modèle de dynamique inverse, puis entraîner la politique du robot sur le résultat. Le dépôt GR00T-dreams de NVIDIA implémente exactement cela.
Le résultat principal est réel et mérite d'être pris au sérieux : les données de téléopération provenant d'une seule tâche de prise et de dépose dans un seul environnement ont produit 22 nouveaux comportements sur un humanoïde, dans des environnements vus et non vus. La mise en garde est tout aussi réelle et se situe à la troisième étape.
- Ils s'adaptent le long de l'axe qui est réellement coûteux dans le monde réel : nouvelles scènes, nouvelles dispositions d'objets, nouvelles formulations de l'instruction.
- GR00T-dreams liste quatre incarnations prises en charge pour ses scripts d'extraction d'actions et de réglage fin : franka, gr1, robocasa et so100. Ce n'est pas une technique réservée aux humanoïdes.
- Cosmos-Transfer1 s'attaque directement à la moitié photométrique de l'écart, en mappant un exemple synthétique de robotique à plusieurs exemples réalistes à partir de la segmentation, de la profondeur ou du conditionnement des bords. Isaac Lab lui-même fournit des outils d'invite pour cela sous scripts/tools/cosmos.
- Le travail DreamGen fournit DreamGen Bench, un banc d'essai de génération vidéo qui montre une forte corrélation entre les performances du banc d'essai et le succès de la politique en aval, afin que vous puissiez filtrer les générations avant de les entraîner.
- Les actions sont récupérées par un modèle, non mesurées par un encodeur. Une vidéo qui semble correcte peut contenir une trajectoire articulaire que votre bras ne peut pas exécuter.
- La génération est coûteuse. GR00T N1 rapporte deux minutes pour générer une seconde de vidéo sur un L40, soit environ 105 000 heures GPU L40, environ 1,5 jour sur 3 600 GPU L40, pour ses 827 heures de trajectoires neuronales.
- Le gain mesuré est à un chiffre : 4,2, 8,8 et 6,8 points sur RoboCasa à travers les trois régimes de données, et 5,8 points en moyenne sur 8 tâches réelles GR-1, en plus d'un modèle qui disposait déjà des données réelles.
- Aucune recette publiée ne valide cela pour un bras à servomoteur de loisir de 7,4 V de bout en bout. Vous feriez un portage, pas un suivi.
Sans rapport avec la simulation, mais cela arrive chaque fois que quelqu'un passe d'un bras simulé à un bras réel et improvise une alimentation électrique. Les bras SO-100, SO-101 et LeKiwi utilisent tous des servomoteurs Feetech STS3215 à 7,4 V. Les alimenter en 12 V les détruit, et le LeKiwi est un piège particulier car son rail de base est de 12 V. Consultez la page matérielle du SO-100 avant de câbler quoi que ce soit.
Le co-entraînement est la recette qui montre réellement des gains
S'il y a une leçon opérationnelle à retenir de la littérature, c'est celle-ci. L'étude de co-entraînement sim-et-réel (Maddukuri et collègues, 2025) visait à trouver une recette simple pour utiliser les données de simulation afin de résoudre des tâches de manipulation robotique basées sur la vision, dans deux domaines, un bras robotique et un humanoïde, et sa conclusion est que l'on s'entraîne sur un mélange. Les données de simulation ont amélioré la performance des tâches du monde réel de 38 pour cent en moyenne, et l'article est explicite sur le fait que cela s'est maintenu même avec des différences notables entre les données de simulation et celles du monde réel.
Cette dernière clause est plus importante que les 38 pour cent. Cela signifie que la simulation n'a pas besoin d'être un jumeau numérique parfait pour être utile, à condition que les données réelles soient présentes dans le mélange pour l'ancrer. Le transfert uniquement par simulation est la voie coûteuse : le même article indique que l'entraînement d'une politique uniquement en simulation et son transfert vers le monde réel exigent souvent un effort humain substantiel pour combler l'écart de réalité. Le co-entraînement évite la majeure partie de cet effort en ne demandant jamais à la politique de combler l'écart par elle-même.

En pratique, sur cette plateforme, le co-entraînement signifie une chose : placez les deux ensembles d'épisodes dans le même LeRobot dataset avec des clés de caméra cohérentes, un ordre d'articulations cohérent et des unités cohérentes, puis exécutez un réglage fin. Il n'y a pas de bouton de poids de mélange dans le formulaire d'entraînement. Si vous voulez un rapport sim-à-réel de 3:1, vous l'exprimez par le nombre d'épisodes de chaque que vous mettez dans l'ensemble de données.
Le gain le moins cher de la simulation n'est pas les données d'entraînement
C'est l'évaluation. Exécuter des dizaines d'essais réels par tâche pour comparer deux représente une journée de temps de bras, et le bras dérive entre les essais. SIMPLER (Li et collègues, 2024) a construit des environnements simulés dont le but est d'évaluer des politiques réelles plutôt que de les entraîner, puis a mesuré la précision avec laquelle le classement de la simulation prédit le classement réel. Un seul environnement SIMPLER rend à 3 500 étapes de simulation par seconde sur une RTX 4090 grand public à une résolution de 640 par 512, ce qui, sous une fréquence de simulation de 500 Hz, représente une accélération de 7x par rapport à l'évaluation réelle.
| Protocole d'évaluation | MMRV (plus bas est mieux) | Pearson r (plus haut est mieux) |
|---|---|---|
| Validation MSE | 0.375 | 0.308 |
| SIMPLER, agrégation de variantes | 0.143 | 0.778 |
| SIMPLER, correspondance visuelle | 0.056 | 0.924 |
Ce sont des moyennes sur trois groupes de tâches Google Robot pour six points de contrôle open-source courants : trois points de contrôle RT-1 à différentes étapes d'entraînement, RT-1-X, RT-2-X et Octo-Base. Le côté réel n'est pas un nombre d'essais uniforme, ce qu'il est bon de savoir avant de le citer : 75 essais pour ramasser une canette de Coca, 60 pour déplacer à proximité, 54 pour les tâches d'ouverture et de fermeture de tiroir et 27 pour la tâche plus longue de tiroir et de pomme. La comparaison avec le MSE de validation est la partie utile. La sélection de modèle par perte de validation classe mal ces points de contrôle, et un Pearson r de 0,924 sous correspondance visuelle signifie que si un point de contrôle obtient un meilleur score dans SIMPLER, il obtient très probablement un meilleur score sur le banc. C'est un tableau de bord reproductible du jour au lendemain, et cela ne vous oblige pas à croire quoi que ce soit sur le transfert d'entraînement de la simulation vers le réel.

Si vous souhaitez un contexte plus large sur ce que ces chiffres de benchmark vous disent et ne vous disent pas à propos d'un , nous l'avons détaillé séparément dans .
Où cette plateforme ne vous aide pas
Être clair sur les limites fait gagner du temps à tout le monde. AY-Robots est une plateforme d'enregistrement, d'entraînement et de service. Elle ne contient aucun simulateur.
- Pas d'Isaac Lab, pas de MimicGen, pas de modèle de monde, pas d'authoring de scène. Si vous voulez des données générées, vous les générez ailleurs et apportez le résultat.
- Les entraîneurs consomment des jeux de données LeRobot et rien d'autre. Un export de simulateur doit être converti avant de pouvoir être utilisé comme entrée, et il doit être de la bonne version : v2.0 ou v2.1 pour GR00T N1.5 et N1.7, v3.0 pour Pi0.5, SmolVLA et ACT.
- Le point d'entrée de fine-tuning de GR00T est une CLI tyro qui n'expose pas de seed, donc les exécutions de GR00T ne sont pas reproductibles bit-par-bit. Si vous effectuez une ablation minutieuse sim-versus-réel, c'est une réelle limitation. La seed par défaut de lerobot est 1000, et les formulaires ACT, SmolVLA et Pi0.5 exposent un champ de seed.
- L'accumulation de gradient n'est réellement appliquée que pour les deux entraîneurs GR00T. Pour Pi0.5 et SmolVLA, le champ existe dans le formulaire mais lerobot 0.5.1 n'a pas un tel flag, donc cela ne fait rien.
- L'inférence doit être située à proximité des servomoteurs pour les tâches rapides. La boucle de contrôle est de 20 à 485 ms par étape d'action selon le modèle, et l'ajout d'allers-retours sur l'internet public transforme une politique fonctionnelle en une politique hésitante. L'inférence à distance est viable pour le pick-and-place lent, pas pour le mouvement réactif rapide.
Enregistrez la moitié réelle d'un mélange de co-entraînement sans posséder de bras. /live diffuse un SO-100 physique sans inscription, basé sur une file d'attente, et le programme opérateur existe parce que quelqu'un doit les piloter. Si votre goulot d'étranglement est que vous avez un simulateur et pas d'épisodes réels, c'est le fossé que cette plateforme comble.
Un budget que vous pouvez défendre
Mettez les deux chemins côte à côte avec les chiffres que chacun publie réellement, et la décision se prend généralement d'elle-même pour un projet à tâche unique sur un bras à faible coût.
| Élément | Simulation d'abord | Enregistrement d'abord |
|---|---|---|
| Modélisation initiale | Scène, maillages, placement de la caméra, modèle de servomoteur. Jours à semaines | Aucun |
| Collecte de données | Environ 10 démos en simulation, puis génération | 30 à 50 épisodes réels, quelques heures de téléopération |
| Matériel à posséder | Carte de 48 Go pour le plan Isaac Lab, 80 Go pour la scène Cosmos | Un bras et un ordinateur portable |
| Coût de l'entraînement | Identique à la colonne de droite, l'entraîneur ne se soucie pas de la provenance des données | 1 à 3 USD sur le niveau 4090, 4 à 12 USD sur le niveau A100 ou H100 |
| Meilleure preuve de rentabilité | Gain moyen de 38 % en conditions réelles lors du co-entraînement, 4 à 9 points grâce aux trajectoires neuronales | La référence par rapport à laquelle tout ce qui précède est mesuré |
| Échoue lorsque | Votre tâche dépend du contact, des déformables ou de la conformité du servomoteur | Vous avez besoin d'une variation d'environnement que vous ne pouvez pas physiquement mettre en scène |
Pour une première politique sur un SO-100, enregistrez. Le et la vous mènent à un point de contrôle servi pour le prix d'un café, et vous aurez la moitié réelle de tout futur mélange de co-entraînement. Utilisez le simulateur lorsque vous avez une base de référence fonctionnelle et un échec de généralisation spécifique que vous pouvez nommer, comme une politique qui .
Pas encore de bras sur votre bureau ?
Pilotez un véritable SO-100 dans le navigateur, basé sur une file d'attente, sans inscription, et voyez à quoi ressemble réellement un épisode avant de passer un week-end à en modéliser un dans un simulateur.
Piloter un bras réelUne recette qui respecte les preuves
- 1Enregistrez d'abord la base de référence réelle
30 épisodes pour SmolVLA, 50 pour ACT, GR00T N1.7 et Pi0.5. Entraînez une seule fois. Tout ce que cette politique ne parvient pas à faire constitue votre spécification pour les données synthétiques.
- 2Nommez l'échec de généralisation
Pose de l'objet ? Éclairage ? Hauteur de la table ? Distracteurs ? Un libellé différent de l'instruction ? Les données synthétiques sont efficaces pour exactement un de ces éléments à la fois, et inutiles si vous ne pouvez pas dire lequel.
- 3Choisissez la famille la moins chère qui le couvre
Variation de pose et de disposition : multiplication de trajectoires. Éclairage et texture : augmentation d'image d'abord, modèle du monde ensuite. Scènes entièrement nouvelles : simulations physiques, et acceptez le coût de modélisation.
- 4Générez, puis éliminez agressivement
Les tentatives de génération échouent, et le taux de succès des candidats d'Isaac Lab varie de 70 % à moins de 1 % selon la tâche. Ne conservez que les trajectoires réussies et complétant la tâche, et examinez visuellement un échantillon sous forme de vidéo avant de faire confiance au lot.
bashpython scripts/mimic/generate_dataset.py --device cuda \ --num_envs 8 --generation_num_trials 500 \ --input_file ./datasets/annotated.hdf5 \ --output_file ./datasets/generated.hdf5 --enable_cameras - 5Co-entraînez, ne remplacez pas
Fusionnez les épisodes générés avec les épisodes réels dans un seul jeu de données LeRobot avec des clés de caméra et un ordre d'articulations identiques. Le chiffre de 38 % est un chiffre de co-entraînement.
- 6Évaluez sur le bras réel, et seulement là
L'évaluation simulée est un bon signal de classement (Pearson r 0.924 dans la configuration de correspondance visuelle de SIMPLER) mais ce n'est pas le test d'acceptation. Exécutez le point de contrôle sur le banc avant d'y croire.
Si vous préférez commencer par une liste de contrôle pour les enregistrements réels eux-mêmes, le guide de collecte de données couvre le placement de la caméra, le découpage d'actions les implications et les modes de défaillance qui rendent un jeu de données d'apprentissage par imitation inutilisable. Les détails sur le format lui-même se trouvent dans la documentation des jeux de données, et la partie hyperparamètres dans la documentation d'entraînement.
Puis-je entraîner une politique de robot entièrement sur des données synthétiques ?▾
Pour une tâche de manipulation sur un bras réel, pas de manière fiable. Chaque résultat publié avec un chiffre solide est un résultat de co-entraînement ou d'augmentation de données réelles. La propre comparaison de MimicGen place 200 démos générées à 79 % contre 84 % pour 200 démos humaines sur la même tâche, et l'article de co-entraînement sim-et-réel de 2025 indique que l'entraînement uniquement en simulation et le transfert exigent souvent un effort humain substantiel pour combler le fossé de la réalité. RoboCasa montre des données générées battant les données humaines à 47,6 contre 28,8 %, mais seulement avec 72 000 démos générées contre 1 250 démos humaines, à l'intérieur du simulateur qui a produit les deux.
Combien d'épisodes réels ai-je encore besoin si je génère des épisodes synthétiques ?▾
Sur AY-Robots, les entraîneurs ont besoin d'un minimum de 30 épisodes pour SmolVLA et de 50 pour ACT, GR00T N1.5, GR00T N1.7 et Pi0.5, quelle que soit la provenance des épisodes. La documentation Mimic d'Isaac Lab indique qu'environ 10 démonstrations humaines réussies sont nécessaires comme graine pour la génération. Ce sont des chiffres différents répondant à des questions différentes : 10 est ce dont le générateur a besoin, 30 à 50 est ce dont l'entraîneur a besoin.
Les données simulées doivent-elles être au format LeRobot ?▾
Pour s'entraîner sur cette plateforme, oui. Isaac Lab et LeIsaac produisent tous deux des fichiers HDF5 de type robomimic. Le cœur d'Isaac Lab ne contient pas de convertisseur LeRobot, mais LeIsaac fournit isaaclab2lerobot.py pour LeRobot v2 et isaaclab2lerobotv3.py pour v3, et IsaacLab-Arena fournit un convert_hdf5_to_lerobot.py ciblé pour GR00T, piloté par une configuration YAML. Attention à la version : GR00T N1.5 et N1.7 utilisent LeRobot v2.0 ou v2.1, tandis que Pi0.5, SmolVLA et ACT utilisent v3.0. Un jeu de données v3.0 fait planter le chargeur GR00T et doit être converti en v2.1.
Isaac Gym est-il toujours la bonne chose à apprendre en 2026 ?▾
Non. La page produit de NVIDIA est intitulée "Isaac Gym - Maintenant Obsolète" et indique qu'il s'agit d'un logiciel hérité, que les développeurs peuvent le télécharger et continuer à l'utiliser mais qu'il n'est plus pris en charge, et désigne Isaac Lab comme son remplaçant. Isaac Lab fournit des guides de migration depuis IsaacGymEnvs, OmniIsaacGymEnvs et Orbit, de sorte qu'un environnement existant est portable plutôt que perdu.
Puis-je mettre un SO-100 ou un SO-101 dans Isaac Lab ?▾
Le SO-101, oui, correctement. Le dépôt TheRobotStudio fournit des fichiers URDF et MJCF pour le SO-101, générés avec onshape-to-robot à partir du modèle CAO Onshape, et LeIsaac propose des tâches Isaac Lab prêtes à l'emploi telles que LeIsaac-SO101-PickOrange-v0 avec téléopération depuis le bras leader physique SO101. Pour le SO-100, ce même dépôt ne fournit qu'un seul URDF et aucun modèle MuJoCo. Soyez conscient des limites que le README du SO-101 indique de toute façon : les maillages de collision de base ont été supprimés en raison d'un comportement de collision problématique, les propriétés du moteur STS3215 ont été adaptées du projet Open Duck Mini plutôt que d'être identifiées sur un SO-101, et la convention de préhension 0-fermé à 100-ouvert n'est pas encore reflétée dans les fichiers de modèle.
La plateforme exécute-t-elle la simulation pour moi ?▾
Non. AY-Robots enregistre des jeux de données LeRobot à partir de la téléopération réelle, affine les cinq politiques prises en charge sur des GPU loués, et renvoie le point de contrôle résultant au bras. Il n'y a pas de simulateur, pas de génération de données synthétiques et pas d'édition de scène. Si vous générez des données ailleurs et les convertissez en un jeu de données LeRobot valide, les entraîneurs les accepteront exactement comme des enregistrements réels.
Sources
- MimicGen project page (CoRL 2023): fewer than 200 human demos to over 50,000 across 18 tasks, Panda/Sawyer/IIWA/UR5e, Square D0 79 percent generated against 84 percent human
- DexMimicGen: Automated Data Generation for Bimanual Dexterous Manipulation via Imitation Learning (Jiang et al., 2024), 21K demos from 60 source human demos
- RoboCasa: Large-Scale Simulation of Everyday Tasks for Generalist Robots (Nasiriany et al., 2024), 100 tasks, 150+ object categories, 100K MimicGen trajectories, 28.8 vs 47.6 percent
- Sim-and-Real Co-Training: A Simple Recipe for Vision-Based Robotic Manipulation (Maddukuri et al., 2025), average 38 percent real-world improvement
- GR00T N1: An Open Foundation Model for Generalist Humanoid Robots (NVIDIA, 2025), data pyramid, 780,000 sim trajectories in 11 hours, 88 to 827 hours of neural trajectories, ablations
- DreamGen: Unlocking Generalization in Robot Learning through Video World Models (Jang et al., 2025), 22 new behaviours from one task, DreamGen Bench
- Evaluating Real-World Robot Manipulation Policies in Simulation (SIMPLER, Li et al., 2024), MMRV and Pearson r for visual matching and variant aggregation, 7x speedup over real eval
- Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World (Tobin et al., 2017), 1.5 cm real-world localisation from random textures
- Isaac Lab docs: record_demos.py, annotate_demos.py, generate_dataset.py, the about-10-demos guidance and the candidate success rates, read 23 Aug 2026
- Isaac Lab pip installation: isaacsim[all,extscache]==5.1.0, Isaac Sim 5.X requires Python 3.11, ./isaaclab.sh --install
- Isaac Lab reproducibility and determinism: identical on identical hardware, varies across hardware, no determinism guarantee for non-rigid bodies
- Isaac Lab events API: randomize_rigid_body_material, randomize_actuator_gains, randomize_visual_texture_material and the related randomisation terms
- NVIDIA Isaac Gym product page: now deprecated, legacy software, no longer supported, Isaac Lab is the replacement
- LeIsaac documentation: installation and compatibility table, SO101 teleoperation, available environments, LeRobot recorder, MimicGen env, isaaclab2lerobot converters, NVIDIA Brev
- SO-ARM100 Simulation/SO101: scene.xml, so101_new_calib.xml, so101_old_calib.xml, onshape-to-robot origin, borrowed Open Duck Mini motor parameters, gripper mapping caveat
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started