ros2_control fluidifie les trajectoires issues des politiques d’IA physique

Trajectoire cartésienne continue tracée par un bras robotique avec ros2_control
Le contrôleur cartésien transforme des poses d’effecteur en trajectoire continue à 200 Hz. Visuel officiel ros2_control.

Le projet ros2_control publie trois fonctions destinées à convertir les sorties relativement lentes des politiques d’IA physique en mouvements continus pour les bras robotiques. Développé dans le cadre du Google Summer of Code 2026, le travail a été démontré sur un bras AgileX Nero à sept axes, avec des commandes matérielles pouvant atteindre 2 kHz.

Les politiques de manipulation comme ACT, les modèles de diffusion ou les modèles vision-langage-action produisent souvent des objectifs articulaires entre 20 et 50 Hz. Le contrôleur du robot attend, lui, une consigne fraîche à chaque cycle, entre 500 Hz et 2 kHz. Transmettre directement les points provoque des ruptures de vitesse et des pics d’accélération.

Raccorder deux trajectoires sans interrompre le bras

La première contribution modifie le Joint Trajectory Controller de ros2_control. Lorsqu’une nouvelle trajectoire arrive, le contrôleur conserve la portion encore utile de l’ancien mouvement, calcule un point de raccordement puis enchaîne les nouveaux points. Les articulations absentes du nouveau message peuvent aussi achever leur trajectoire précédente au lieu de se figer.

Cette fonction, nommée allow_trajectory_replacement, est activée par défaut. La documentation officielle montre un bras qui maintient sa hauteur de balayage avant de descendre, alors que le remplacement brutal coupe le mouvement trop tôt.

Passer de 15 à 200 Hz avec une spline cubique

Le deuxième ajout traite les séquences qui ne contiennent que des positions. Une interpolation linéaire produit une vitesse en escalier. Le nouveau mode calcule les vitesses aux points de passage puis construit une spline cubique de continuité C2. Dans la démonstration, des consignes reçues à 15 Hz deviennent une trajectoire à 200 Hz, avec vitesse continue et accélération bornée.

Le calcul est effectué hors de la boucle temps réel. Les messages qui fournissent déjà leurs vitesses restent inchangés, ce qui limite l’impact sur les applications existantes.

Un contrôleur cartésien pour les poses d’effecteur

La troisième brique accepte directement des poses cartésiennes de l’effecteur. Elle interpole la translation et la rotation, densifie le chemin, applique la cinématique inverse puis transmet une trajectoire articulaire classique au contrôleur. Un essai transforme 49 poses en un mouvement continu à 200 Hz et maintient l’orientation du stylo avec une erreur annoncée de 0,41 degré.

Démonstration officielle du projet GSoC 2026 sur ros2_control.

Notre analyse

Ce travail ne crée pas une nouvelle politique robotique. Il renforce la couche qui transforme ses décisions en commandes physiques exécutables, un maillon critique quand un modèle replanifie moins vite que le matériel. La démonstration sur un bras réel donne davantage de poids aux résultats qu’une validation limitée au simulateur.

Des limites restent documentées : la cinématique inverse ne gère pas encore les limites articulaires ni le contrôle d’espace nul. L’équipe propose notamment d’extraire les primitives de suréchantillonnage et d’ajouter un serveur d’action cartésien. Leur intégration en production demandera donc encore des tests de sécurité propres à chaque robot et à chaque tâche.

Sources : annonce Open Robotics, documentation technique ros2_control et dépôt du projet.

Le briefing RoboActu

L’essentiel de la robotique, une fois par semaine.

Une sélection courte des annonces, usages et robots à suivre.

Continuer sur ce sujet

Comparer les robots