Algorithmique

Pinocchio, le logiciel qui anime les robots

Date:
Mis à jour le 19/03/2024
Depuis cinq ans, l’équipe-projet commune WILLOW (Inria / CNRS / ENS PSL) cherche à améliorer les capacités de locomotion et de manipulation des robots en utilisant la perception comme vecteur de retour sur le réel. Au cœur de la méthode : Pinocchio, un logiciel open source conçu et développé par Justin Carpentier, chercheur au Centre Inria de Paris. D’ores et déjà utilisé dans des applications industrielles, l’outil est également exploité dans de nombreux projets collaboratifs de recherche, y compris à l'échelle européenne.
Tiago, un robot de dernière génération mis à disposition des partenaires du projet européen AGIMUS par l’entreprise barcelonaise PAL Robotics.
© Inria - Justin Carpentier / Tiago, un robot de dernière génération mis à disposition des partenaires du projet européen AGIMUS par l’entreprise barcelonaise PAL Robotics.

 

Lorsqu’il se déplace, un être humain prend plusieurs dizaines de décisions par seconde en fonction de la nature et des variations du milieu dans lequel il évolue. Dans les mêmes conditions, une intelligence artificielle doit résoudre des problèmes comprenant des dizaines de milliers de variables et ce, plusieurs centaines de fois par seconde. « Un robot humanoïde qui part d’un point A pour atteindre un point B crée des contacts intermittents avec l'environnement, détaille Justin Carpentier, chercheur dans l’équipe commune WILLOW (Inria/ENS/CNRS). Concrètement, il doit mettre un pied devant l'autre et recommencer tout en évitant les obstacles. C’est là qu’entre en jeu la commande prédictive au cœur de laquelle se trouve Pinocchio, un moteur de calculs très efficace pour décrire des phénomènes complexes d'interactions. »

Autrement dit, le robot doit être capable d’anticiper les conséquences d’une action courante en tenant compte, en temps réel, de ce qu’il perçoit de son environnement. Ou plus exactement : « Un robot pouvant être vu comme un pur automate, le logiciel qui commande ses mouvements doit être construit de manière à pouvoir calculer une erreur par prédiction et corriger le mouvement en cours en intégrant la difficulté de la machine. » Pinocchio a ainsi été pensé pour prendre en charge les étapes successives de ce processus de contrôle : perception, analyse et adaptation.

Permettre à un robot de se mouvoir

C’est dans le cadre de sa thèse, réalisée au sein de l’équipe Gepetto du LAAS-CNRS à Toulouse, que Justin Carpentier a conçu Pinocchio : « Mon sujet de thèse portait sur les fondements calculatoires de la locomotion anthropomorphe, c'est-à-dire écrire l’algorithmique qui permettra à un robot de se déplacer. Pratiquement, il s’agit de contrôler son centre de masse et la gesticulation des bras et des jambes qu’il doit mettre en œuvre pour se mouvoir. » Justin a ensuite rejoint en 2018 l’équipe WILLOW, spécialisée dans l’étude des problèmes de représentation dans le domaine de la reconnaissance visuelle, afin d’accompagner l’élargissement du champ de recherches du laboratoire à l’embodiment, le fait d’utiliser la perception artificielle pour générer les mouvements de systèmes robotiques.

Bien testé, Pinocchio est aujourd’hui largement utilisé dans le domaine industriel où sa conception générique permet de modéliser fidèlement et efficacement un grand nombre de robots. « Sur les chaines manufacturières, les robots interagissent très peu avec leur environnement. Dans les entrepôts logistiques, ils manœuvrent de manière plus autonome et peuvent communiquer entre eux mais les interactions restent limitées. La vraie difficulté vient de la gestion de l’interaction de contact lorsqu’il s’agit de faire évoluer le robot à l’extérieur des usines ou des laboratoires. »

Comprendre le mouvement humain

Avec un temps de calcul de l’ordre de la microseconde, Pinocchio est capable de résoudre les équations du mouvement pour les systèmes complexes de manière très efficace. En retour, il peut être utilisé pour comprendre le fonctionnement de la locomotion humaine.

Le travail de l’équipe WILLOW consiste à modéliser l’ensemble des phénomènes qu’implique l’interaction de contact puis à en faire des algorithmes, implémentés dans Pinocchio, afin de capturer les interactions d’un robot ou d’un humain avec son environnement. Actuellement, nous étendons Pinocchio afin d’identifier, à partir de données visuelles, la dynamique du mouvement humain et les efforts mis en jeu.

L’idée consiste à filmer des gestes accomplis par un humain, par exemple ceux de la course ou de l’escalade, puis de créer, à partir de la captation vidéo, un jumeau numérique en reconstruisant les mouvements en trois dimensions dans une carte visuelle.

Si elles sont organisées en collaboration étroite par Inria et le CNRS sous la supervision de Justin Carpentier, les perspectives de développement de Pinocchio, dont le code est accessible en open source, s’inscrivent également dans plusieurs projets européens.

Une portée européenne

Initié en octobre 2022, AGIMUS, projet collaboratif de recherche fondamentale sur la robotique, regroupe neuf partenaires académiques (LAAS-CNRS, porteur du projet, Inria Paris et CTU Prague) et industriels (les toulousains Toward et Airbus, l’espagnol PAL Robotics, le tchèque Thimm, les grecs Kleeman et Qplan). Ils sont associés dans la recherche et le développement de nouvelles méthodologies de génération de mouvements des robots, en particulier manipulateurs. « Dans l’industrie, beaucoup de robots sont de simples bras automatisés à base fixe. Nous réfléchissons aux possibilités de perfectionner la mobilité de ces bras robotiques afin d’accroitre leur autonomie et par suite leur interaction avec un opérateur. »

Le projet euROBIN réunit quant à lui 31 partenaires de 14 pays. Soutenu dans le cadre du programme Horizon Europe, il vise à accélérer le déploiement dans l‘industrie de solutions en robotique et intelligence artificielle issues de la recherche académique. De nombreuses équipes d’Inria y participent activement (WILLOW, Acentauri, Defrost, Chroma, Robotlearn, Rainbow) aux côtés de l’équipe-projet Larsen commune à Inria et au Loria qui pilote la thématique "Robots personnels".