Microsoft veut utiliser ChatGPT pour contrôler les robots via le langage
Dans un article récent, des chercheurs de Microsoft Autonomous Systems and Robotics Group ont montré comment ChatGPT d’OpenAI peut être utilisé pour des applications robotiques, y compris comment concevoir des invites et comment ordonner à ChatGPT d’utiliser des bibliothèques robotiques spécifiques pour programmer la tâche à accomplir.
Comme l’expliquent les ingénieurs de Microsoft, la robotique actuelle repose sur une boucle de rétroaction étroite entre le robot et un ingénieur chargé de coder la tâche, d’observer le comportement du robot et de le corriger en écrivant du code supplémentaire.
Dans la vision de Microsoft, ChatGPT pourrait être utilisé pour traduire une description en langage humain de la tâche à accomplir en code pour le robot. Cela permettrait de remplacer l’ingénieur (dans la boucle) par un utilisateur non technique (dans la boucle) uniquement chargé de fournir la description originale de la tâche en langage humain, d’observer le robot et de fournir tout retour d’information sur le comportement du robot, encore une fois en langage humain, que ChatGPT transformerait également en code pour améliorer le comportement.
À l’aide de leur approche expérimentale, les chercheurs de Microsoft ont créé un certain nombre d’études de cas, notamment la planification de tâches à tir zéro pour demander à un drone d’inspecter le contenu d’une étagère ; manipuler des objets à l’aide d’un bras robotique ; rechercher un objet spécifique dans un environnement à l’aide d’API de détection d’objet et de distance d’objet ; et d’autres.
Dans tous ces cas, ChatGPT a été en mesure de générer le code pour contrôler le robot ainsi que de demander des éclaircissements pour mieux mener à bien la tâche lorsqu’il a trouvé une entrée utilisateur ambiguë, selon Microsoft.
Le travail de Microsoft pour rendre ChatGPT utilisable pour les applications robotiques s’est concentré sur trois principaux domaines d’investigation : comment concevoir des invites utilisées pour guider ChatGPT, utiliser des API et créer de nouvelles API de haut niveau, et comment fournir des commentaires humains par le biais de texte. Ces trois domaines représentent les clés de voûte d’une méthodologie pour utiliser ChatGPT pour les tâches robotiques.
Dans un premier temps, l’utilisateur définit un ensemble d’API ou de bibliothèques de fonctions de haut niveau que ChatGPT doit utiliser.
Cette bibliothèque peut être spécifique à un robot particulier et doit correspondre aux implémentations de bas niveau existantes à partir de la pile de contrôle du robot ou d’une bibliothèque de perception. Il est très important d’utiliser des noms descriptifs pour les API de haut niveau afin que ChatGPT puisse raisonner sur leurs comportements.
Dans la deuxième étape, l’utilisateur fournit une description de l’objectif de la tâche spécifié en termes d’API ou de fonctions disponibles.
L’invite peut également contenir des informations sur les contraintes de tâche ou sur la façon dont ChatGPT doit former ses réponses (langage de codage spécifique, utilisant des éléments d’analyse auxiliaires).
Enfin, l’utilisateur évalue le code de ChatGPT, en utilisant un simulateur ou en inspectant le code, et fournit des commentaires à ChatGPT pour corriger son code.
Lorsque le résultat est satisfaisant pour l’utilisateur, un robot peut être programmé à l’aide du code généré.
Microsoft lance également une plate-forme open source collaborative permettant aux utilisateurs de partager des stratégies d’incitation pour différentes catégories de robots, qui incluent pour le moment toutes les invites et conversations que l’équipe Microsoft a utilisées pour leurs recherches. En outre, ils prévoient également d’ajouter des simulateurs de robotique et des interfaces pour tester les algorithmes générés par ChatGPT.
.