IA Générative, GPT et usages Robotiques

Depuis sa première publication, de nombreux usages autour de ChatGPT ont vus le jour.
L’usage “Robotique” de ChatGPT et des IA Génératives intéressent également de nombreux secteurs notamment industriels au vu de la complexité des outils utilisés, parfois même du manque d’experts qualifiés.

ChatGPT et plus particulièrement sa dernière version avec GPT-4 s’est largement amélioré notamment lorsqu’il est nécessaire d’effectuer des calculs (mais n’est pas fiable à 100%).

Simuler un ROBOT avec ChatGPT

Le “prompt” ci-après permet à ChatGPT de simuler le comportement d’un robot sur une grille de 10,10. Une fois mis en place il est possible d’interroger ChatGPT sur les instructions nécessaires pour déplacer le robot.

Imagine une grille de 10 cases tu 10. Un robot est positionné dans la case 1,1. La commande “right” lui permet de se déplacer à droite, left à gauche, top en haut et down en bas. Exemple : si le robot est à la position 1,1 la commande “right” lui permettra d’être à la position 2,1 si cette commande est suivie de la commande “down” il sera ensuite aux coordonnées 2,2 La commande “reset” replace le robot à sa position 1,1 La commande “pick” permet au robot de prendre un objet si cet objet est aux même coordonnées que le robot, si le robot se déplace il transporte l’objet avec lui, un robot peut être aux même coordonnées qu’un objet. La commande “place” permet au robot de déposer l’objet aux coordonnées actuelle du robot. Le robot retourne “error” suivi parfois de détails lorsqu’une erreur se produit par exemple “error (out of border) lorsque l’on tente de déplacer le robot en dehors de la grille : dans ce cas le robot reste positionné aux dernières coordonnées valides. As tu compris ces instructions ?

Prompt permettant à ChatGPT (GPT-4) pour simuler un robot
Cas d’usage de ChatGPT pour simuler un robot avec GPT-4
ChatGPT est capable de connaître l’état, la position du robot à chaque instant

L’interface homme-machine boostée

Parler à une machine de façon naturelle, la science-fiction nous le propose depuis de nombreuses années. Les derniers assistants vocaux nous proposent une version “limité” sous forme de scénarii fermés. Avec GPT-4 et son application ChatGPT il est possible de communiquer de façon naturelle.

Demandez à un robot de saisir un objet, le déplacer… et ChatGPT pourra fournir les commandes utiles au robot pour répondre à la demande de l’utilisateur. Mieux, en cas d’erreur ChatGPT pourra tenter de résoudre le problème lui-même et guider l’utilisateur !

L’IA qui murmurait à l’oreille des robots

En plus de vous répondre sous forme de simple mots, phrases, textes, ChatGPT peut fournir à tout moment du code dans le langage de votre choix, en plus de pouvoir “imaginer” cette simulation, ChatGPT peut produire du code correspondant au cahier des charges que vous avez pu lui fournir.

Voici le code qui pourrait être amélioré, le code est composé de longs espacesen fin de fichier incompréhensibles
ChatGPT a créé cette mini-simulation robotique fonctionnelle à partir de notre cahier des charges !

Cas d’usage avancé

Qu’en est-il d’un cas d’usage avancé sur un robot industriel avec MoveIT sur ROS (Robot Operating System) par exemple ? Nous allons faire l’essai suivant : après un copier-coller de la documentation de MoveIT sous ROS on demande à ChatGPT s’il a compris le “mode d’emploi”.

MoveIt sous ROS
ChatGPT donne le code nécessaire au déplacement de notre robot sous ROS avec MoveIT !

Il va sans dire que ce n’est qu’un bref aperçu des possibilités offertes en robotique entre ChatGPT et un Robot, il sera dès aujourd’hui possible de demande rà un robot des tâches bien plus complexes et ChatGPT sera capable de les exécuter, proposer scripts, commandes ou code informatique opérationnel.

D’autres IA Génératives à base de GAN ou Transformers comme Dall-E 2, Mid Journey, Stable Diffusion peuvent créer des images, d’autres modèles encore plus récents permettent de créer des vidéos. Ces IA sont déjà utilisées pour simuler par exemple des conditions météo délicates (neige, pluie) pour entraîner des simulateurs de véhicules autonomes par exemple.

Images d’entraînement créées par Stable Diffusion de routes enneigées pour véhicules autonomes

Des limites ?

Une expertise humaine est nécessaire pour “contrôler” les commandes, ou plus délicat encore, pour contrôler le “code” créé par ChatGPT. On a pu voir par exemple qu’il écrivait de longs espaces incompréhensibles inoffensifs ici pourraient par exemple occuper plus d’espace mémoire et poser des problèmes sur des solutions “embarquées”. Après relecture on remarque que le code créé comporte des lacunes qu’il faut corriger soit avec ChatGPT soit par les mains d’une expertise “humaine”.

Le comportement du robot pourrait poser de potentiels dangers pour ses utilisateurs surtout sur des machines lourdes, volumineuses, en contact avec des produits chimiques, alimentaires, … Sans parler des véhicules autonomes.

Il ne faut pas oublier également que les “pompts” sont envoyés à OpenAi/Microsoft. La confidentialité des informations traitées est encore un point délicat à abordé, heureusement Microsoft a su ses rassurer de nombreux clients sur des data center européens/français, mais ChatGPT reste un mystère à éclaircir sur la question de la souveraineté numérique. Les IA génératives sont une avancées majeures en robotique qu’il ne faut pas nier ni éviter, leur usage fera gagner un temps précieux et pourra même contrer certains codes malicieux et failles si ces nouveaux outils sont bien utilisés.

Si vous avez aimé cet article vous pouvez également découvrir la formation associée :