Un tutoriel publié sur Hugging Face montre comment assembler dans Isaac Sim un bras robotisé UR17G, une pince Robotiq 2F-140 et une canette de boisson, puis faire exécuter par un agent une tâche de saisie et de dépose. L’exemple repose sur des assets SimReady, c’est-à-dire des objets numériques préparés pour un usage de simulation précis.
Pour la robotique, un asset SimReady est un objet au format OpenUSD auquel ont été ajoutées les propriétés nécessaires à un cas d’usage donné, comme les collisions, la masse, les articulations et leurs moteurs. La bibliothèque SimReady Central, ouverte et hébergée sur Hugging Face, permet de réutiliser des robots et des objets accompagnés de leurs réglages de simulation et de rapports de validation.
Ce qui rend un robot compatible avec la simulation
La spécification SimReady Foundation définit les caractéristics qu’un asset doit posséder pour un cas d’usage. Elle relie trois niveaux : le profil, qui regroupe les fonctionnalités d’un usage, comme un corps de robot ; les fonctionnalités, c’est-à-dire les capacités requises, comme des articulations pilotables ; et les exigences, qui sont des vérifications sur les réglages de chaque fonctionnalité, comme les paramètres du moteur d’une articulation.
Dans cet exemple, ces propriétés concernent les articulations bras et pince, ainsi que les collisions et la masse de la canette. La validation confronte ces réglages aux exigences du profil, puis la simulation teste si le robot assemblé peut s’en servir pour saisir et déplacer l’objet. Le rapport de validation du bras utilise le profil Robot-Body 4.0.0, celui de la pince le profil Robot-Gripper 3.0.0. Tous deux enregistrent la réussite des contrôles PhysX sur les moteurs d’articulation, qui inspectent les réglages de ces moteurs.
Assembler la scène et lancer la tâche
Une fois les trois assets téléchargés, l’auteur demande à un agent, c’est-à-dire un programme qui peut piloter des outils à partir de consignes, d’assembler le bras et la pince en une seule articulation, puis de valider l’ensemble. Le tutoriel utilise GPT-6 Sol comme modèle, et précise que d’autres combinaisons d’agent et de modèle peuvent fonctionner, à condition de pouvoir charger les compétences nécessaires et exécuter du Python dans Isaac Sim. Le code généré et les résultats peuvent varier, et l’article recommande d’inspecter le code avant de l’adapter.
La tâche consiste à saisir la canette, la soulever, la déplacer vers une cible puis la relâcher. Les contrôles portent sur trois points : les limites et réglages des articulations, un petit mouvement du bras suivi de l’ouverture et de la fermeture de la pince, et la tenue de la canette sur le plan de travail sans la traverser. Une vidéo montre la canette transférée d’un repère jaune vers une cible verte, à quatre fois la vitesse réelle.
L’auteur précise les limites de cet exemple. La configuration est fixe, sans vision, avec des contrôles de collision restreints. La canette est simplifiée et ne reproduit ni la déformation ni le mouvement du liquide. La prise horizontale utilise un plafond d’effort de 2 N·m, choisi grâce à des tests de simulation, qui n’est ni calibré sur des forces au bout des doigts ni recommandé par le fabricant. Ces résultats ne démontrent donc pas la robustesse face à des positions d’objets incertaines, à des charges différentes ou à du matériel réel.
Les développeurs sont invités à partager leur scène et leurs résultats dans les commentaires de Hugging Face, en indiquant les assets et la version d’Isaac Sim utilisés.
