Ronoco
Contexte
Avec ROS, créer un comportement robotique suppose d'écrire des programmes en C++ ou en Python, ce qui rend l'outil inaccessible aux experts métier non développeurs : ingénieurs procédés, ingénieurs d'industrialisation. Ronoco (ROS no code) est un projet open source proposé par Yoan Mollard pour lever ce frein. J'en ai développé le premier prototype lors de mon stage d'application de 2e année à l'ENSEIRB-MATMECA, de juin à septembre 2021, au sein de ROS4Pro. En novembre 2021, EirLab Community a repris le projet dans son organisation GitHub et l'a présenté sur son site en l'ouvrant aux contributions, d'où sa place parmi les projets associatifs.
Réalisations
L'architecture est découpée en trois modules indépendants :
- ronoco-vm
- ronoco-nodered
- ronoco-ui
API Flask qui interprète les blocs visuels et les traduit en code ROS exécutable.
Extension Node-RED pour composer des arbres de comportement et des séquences d'actions.
Client web qui fournit l'interface graphique et les utilitaires de pilotage : commande des robots, enregistrement de positions, lancement de programmes.
L'intégration ROS vise ROS Noetic (compatible Melodic) : les manipulateurs sont pilotés via MoveIt, les robots roulants via move_base (client d'action SimpleActionClient). La documentation (guides utilisateur et développeur, exemples sur robots) accompagne le dépôt.
Résultats
Pendant le stage, j'ai testé l'outil sur des robots manipulateurs et roulants, dont un Kuka KR6 R900, un Sawyer, un UR3, un Poppy Ergo Jr et un TurtleBot. Ronoco ne dépend pas d'un modèle de robot : il génère des messages ROS standard et s'applique à tout robot compatible MoveIt ou move_base.

Liens
- 📖 Présentation détaillée : ronoco
- 💻 Code source : GitHub
- 📝 Article de présentation : Eirlab.net