Boucle fermée au niveau du code - une nouvelle philosophie de la robotique
De nombreux systèmes robotiques modernes sont basés sur des modèles linguistiques et visuels (VLM) qui génèrent des décisions de contrôle. Traditionnellement, pour que ces modèles fonctionnent en pratique, ils doivent être adaptés à une tâche spécifique - un processus connu sous le nom d'affinage. Cela nécessite de grands ensembles de données et du temps. VLCP emprunte une voie différente : au lieu de modifier le modèle, il le laisse inchangé (gelé) et l'utilise pour générer une fonction de contrôle en langage Python. Plus important encore, il n'a pas besoin d'exemples ni d'interférence dans la formation.
L'innovation clé est de fermer la boucle de contrôle au niveau du code lui-même, et non au niveau de la décision ou de la sous-tâche. Lorsqu'un robot commet une erreur - par exemple, il ne saisit pas un objet - le système ne choisit pas une nouvelle tâche ni ne répète la même fonction. Au lieu de cela, tous les quelques pas, le modèle réanalyse la scène à partir de plusieurs perspectives et réécrit le code de contrôle qui vient d'échouer. Cela permet de corriger l'erreur pendant un seul épisode, avant qu'elle ne devienne irréversible.
Efficacité : dix fois plus de succès que l'approche traditionnelle
Les recherches menées sur un ensemble de tâches MuJoCo/RoboVerse, comprenant 57 activités de manipulation différentes, ont révélé une augmentation spectaculaire de l'efficacité. Le système VLCP a obtenu des résultats nettement meilleurs qu'un système identique fonctionnant en mode ouvert (avec une seule requête par épisode). Cette différence n'est pas aléatoire - les intervalles de confiance ne se chevauchent même pas pour les familles de scènes individuelles.
L'amélioration principale provient de la correction des erreurs au sein d'un même épisode. L'étude a montré que le système est capable de récupérer une partie des cas de préhension infructueux, c'est-à-dire ces situations que les systèmes ouverts traditionnels considèrent comme la fin de l'épisode. Lorsqu'un robot ne saisit pas un objet, VLCP ne réagit pas au niveau de la décision, mais réécrit le code de contrôle, qui peut alors fonctionner correctement dans une nouvelle situation.
Efficacité computationnelle : faible coût et haute performance
Malgré sa fonction avancée de replanification, VLCP n'est pas une charge de calcul. L'étude montre que une grande partie des jetons d'entrée sont stockés dans le cache, ce qui réduit considérablement le temps de réponse. Un seul épisode nécessite environ 10 requêtes courtes - pas plus que nécessaire pour un traitement complet.
De plus, les fonctions de contrôle générées lors de la replanification sont stockées dans une bibliothèque de compétences utilisée dans les épisodes suivants. Cela signifie que le système non seulement s'améliore au fur et à mesure qu'il fonctionne, mais qu'il apprend également de ses propres expériences - ce qui peut conduire à un développement à long terme des compétences sans nécessiter une nouvelle formation.
Limites et importance pour l'avenir de la robotique
Les résultats de VLCP sont prometteurs, mais il faut se rappeler qu'ils ont été obtenus en simulation - sur la plateforme MuJoCo/RoboVerse. Cela signifie qu'il n'y a pas encore de confirmation du fonctionnement dans le monde réel avec des robots physiques et du bruit sensoriel. Il est également important de souligner que le système ne fonctionne que pour les tâches qui peuvent être décrites comme de courtes fonctions Python - ce qui limite son application à des types spécifiques de manipulation.
Cependant, l'importance de ce travail est énorme. Elle montre que les robots peuvent non seulement effectuer des tâches, mais aussi analyser et améliorer leur propre code en temps réel. C'est une étape vers des systèmes autonomes qui ne sont pas limités aux actions préprogrammées, mais qui peuvent s'adapter au niveau du contrôle lui-même.


