Robot BORUNTE BRTIRUS0707A

Nous avons combiné deux éléments qui, habituellement, appartiennent à des univers différents : système de vision artificielle engiAI avec sa propre chaîne de formation pour les réseaux neuronaux et un robot industriel à six axes BORUNTE BRTIRUS0707ALe résultat est un robot qui n'exécute pas un programme préétabli, mais.. Il détecte un élément et s'adapte à celui-ci en temps réel.

Cette tâche de test a permis de vérifier le bon fonctionnement du système : la boîte est placée sur une table dans une position aléatoire, l'opérateur la fait tourner à volonté, de 0 à 360 degrés. La caméra observe depuis le haut, le réseau neuronal détermine l'angle de rotation avec une précision d'un degré, et la main du robot reproduit la position de la boîte – en positionnant précisément la pince. Il n'y a pas de supports, de guides ou de capteurs de position : il n'y a que la caméra, le réseau neuronal et le robot.
Composition du système
engiAI est une solution de vision artificielle. Elle offre un cycle complet de travail avec l'intelligence artificielle : connexion de caméras industrielles (SICK, Hikrobot, GigE Vision, USB), définition des zones d'inspection directement sur la vidéo en temps réel, génération d'un ensemble de données d'entraînement à partir de quelques images, entraînement de modèles YOLO sur GPU (CUDA) et inférence en temps réel avec la vitesse du flux vidéo de la caméra. Le module OUTPUT transforme les résultats de la reconnaissance en actions : envoi de paquets TCP à un robot ou à un automate programmable industriel (PLC), et activation de sorties discrètes des caméras.
Robot1 – Contrôle du robot. Communication directe avec le contrôleur HC1 via un protocole JSON/TCP ouvert, sans pupitre ni logiciel propriétaire : contrôle manuel de chaque axe, positions enregistrables, modèle 3D du robot avec une base de positions. L'élément clé est le récepteur TCP des commandes de l'IA : une règle pour chaque axe, définissant le nom de la commande, la vitesse, le décalage, l'inversion et la conversion de l'angle vers le chemin le plus proche (±180°).
La communication entre les programmes se fait via le protocole TCP/IP standard. Il est important de noter que n'importe quel équipement capable d'ouvrir une socket peut être intégré dans cette chaîne : automates programmables industriels (API), d'autres robots, systèmes SCADA, systèmes ERP, etc.
Fonctionnement : de l'image au mouvement
- Image. La caméra transmet l'image de la zone d'inspection (dans notre stand, SICK, matrice 2048x2048).
- Excellent. Le modèle YOLO classe la position de l'élément : chaque degré de rotation correspond à une catégorie distincte (de 0 à 359 degrés pour un cercle complet ou de 0 à 180 degrés pour les éléments symétriques).
- Paquet. La règle OUTPUT définit une commande – par exemple «J6 315» – et l'envoie via TCP. La règle est définie une seule fois pour l'ensemble du modèle : la substitution {class} transmet automatiquement le nom de la classe reconnue.
- Règle de l'axe. Robot1 applique les paramètres de l'axe (inversion, décalage, trajectoire courte) et envoie à la commande l'angle cible à une vitesse donnée.
- Déplacement. L'axe tourne — la pince se positionne précisément sur la pièce.
Délai de réaction entre la rotation de la boîte et le démarrage de l'axe : environ une seconde, et ce délai est contrôlable : tous les délais sont définis dans les paramètres.
Apprentissage sans ensemble de données ni ingénieur ML
Un problème classique dans le domaine de l'apprentissage automatique appliqué à l'industrie est la collecte et l'annotation de milliers d'images. Chez engiAI, ce problème est résolu grâce à la génération de données synthétiques : un opérateur prend une seule image d'une pièce, et le programme génère automatiquement un ensemble de données d'entraînement.
- fait pivoter la zone de l'image au-dessus de l'ensemble de la scène à un pas défini (par exemple, 0,1°), de sorte que l'arrière-plan réel et les détails soient inclus dans l'image, sans qu'ils ne soient coupés par le cadre : l'image est automatiquement agrandie pour former un carré en diagonale à partir de la zone.
- Ajoute des variations de luminosité et de contraste dans les limites définies et des copies inversées ;
- Trie automatiquement les images par classes/angles (0…359) et divise l'échantillon en entraînement et validation.
À partir d'une seule image, on peut générer des centaines de fichiers d'entraînement. Ensuite, on clique sur « Entraîner le modèle d'IA », et après un certain temps, le modèle est prêt à fonctionner. L'ensemble du cycle « montrer un détail → entraîner → le robot fonctionne » est effectué par l'opérateur de la ligne, et non par un ingénieur en IA invité.
Le flux de données ne doit pas perturber le robot.
Le réseau neuronal effectue des reconnaissances des dizaines de fois par seconde, et il ne peut pas transmettre directement ces informations aux mouvements – les servomoteurs sont susceptibles de tomber en panne en raison du flux de nouvelles instructions. Une protection multicouche, validée sur un robot réel, est mise en œuvre :
- Zone morte : le mouvement entre les classes voisines (315 et 312) n'affecte pas l'axe.
- Stabilité – la nouvelle classe doit maintenir son fonctionnement pendant une période déterminée : les images fausses générées par le réseau de neurones ne déroutent pas le système vers des destinations lointaines ;
- Arrêt progressif : si l'objectif a changé pendant le déplacement, le robot n'atteint pas le point obsolète avant d'arriver à la nouvelle cible. Freinage contrôlé, nettoyage de la file d'attente du contrôleur et déplacement immédiat vers la dernière cible. Les commandes intermédiaires sont annulées – seule la commande actuelle est importante.
- Pause entre les mouvements – une limite stricte de la fréquence des commandes envoyées au contrôleur ;
- Récupération automatique : en cas de problème, le contrôleur est automatiquement réinitialisé, et l'objectif est redéfinie. Les deux programmes conservent des journaux de fichiers permanents.
Qu'est-ce qui est meilleur qu'un robot industriel classique ?
Un robot industriel classique répète une trajectoire enregistrée de manière précise. Toutes les informations que le robot a sur le détail sont fournies par la mécanique qui l'entoure. C'est pourquoi les principaux coûts et les principales limitations de l'automatisation proviennent de cela. La vision par IA permet de les identifier un par un.
Coût et délais
- Il n'est pas nécessaire d'utiliser des dispositifs de fixation mécaniques : supports, établis, bacs anti-vibrations, stations de centrage. La pièce peut être placée de la manière souhaitée : le robot s'adaptera automatiquement. L'outillage pour une seule pièce coûte souvent autant que le robot lui-même : dans ce cas, il n'y a pas d'outillage.
- Le changement de configuration concerne désormais un produit spécifique : une montre, et non une période de temps. Nous avons fourni les détails de la caméra, formé le modèle et défini la règle : la ligne fonctionne. Il n'est plus nécessaire de faire intervenir un intégrateur ni d'arrêter la production.
- La production de petites séries devient rentable. L'automatisation classique ne rentre en jeu que pour les grandes séries. Lorsque les coûts de reconfiguration sont presque nuls, il est avantageux d'automatiser même une petite production quotidienne.
- Un seul outil au lieu de trois systèmes : le robot, le contrôle qualité et la sélection fonctionnent dans un seul programme, avec une seule caméra.
Flexibilité et qualité
- Adaptation à la réalité. La chaîne de production a été déplacée, une pièce est tombée de travers, une nouvelle fournée arrive avec une teinte différente – la cellule classique fonctionne, et la cellule IA continue de fonctionner : elle observe la pièce, et non ses coordonnées.
- Le contrôle qualité est gratuit. Le même modèle, qui est utilisé pour inspecter les robots, présente les défauts suivants : une boîte mal emballée, une étiquette déchirée, une mauvaise assemblage, et est rejeté par le même système de contrôle.
- Chaque axe est contrôlé par l'IA. Les règles sont définies pour chaque des six axes de manière indépendante : aujourd'hui, un seul bras de préhension fonctionne, mais demain, il sera possible de positionner simultanément sur plusieurs axes.
- Retour d'information continu. Le robot n'est pas un simple exécutant : chaque mouvement est une réponse à ce que l'on peut réellement voir dans l'image, en fonction des instructions et des décisions prises.
Ouverture et évolutivité
- Indépendance vis-à-vis de la marque du robot. La communication se fait via un protocole TCP/IP ouvert : actuellement, il s'agit de BORUNTE, mais le même protocole pourrait être utilisé pour contrôler un autre bras robotique, une table rotative ou un PLC.
- Entraînement sur site. Le modèle n'est pas une "mise à jour" : une nouvelle pièce ou un défaut est apparu, et nous avons effectué un entraînement en quelques heures, directement sur la ligne de production, en utilisant des images réelles et un éclairage réel de l'usine.
- La duplication d'une cellule consiste à copier les programmes et le fichier de modèle, et non à refaire la conception de l'intégration.
- Transparence. Les journaux d'activité des deux logiciels et le journal des événements stocké dans la base de données permettent de visualiser l'intégralité de l'historique, de chaque image à la trajectoire de l'axe. Cela constitue une base pour la collecte de statistiques, la mesure de la qualité des lots et la maintenance prédictive.
Où cela peut-il être appliqué ?
- Emballage et logistique : orientation des boîtes avant l'empilement, empilement et désempilement de palettes mixtes, tri à la chaîne des articles disposés au hasard.
- Contrôle qualité avec rejet : une seule caméra qui vérifie et contrôle les mécanismes d'exécution.
- Livraison des machines (usinage CNC, presses) : fourniture de pièces en vrac ou sur palettes, sans bacs de vibration.
- Assemblage : positionnement des pièces, vérification de la conformité de l'installation à chaque étape.
- Production alimentaire et agricole : ces activités sont caractérisées par une grande variabilité, ce qui rend impossible une base mécanique.
- Tri et recyclage : les déchets qui ne figurent pas dans le catalogue représentent un défi pour l'automatisation classique.
Que faire ensuite ?
- Étapes et déclencheurs externes : Programme technologique comprenant les étapes (coordonnées de tous les axes et vitesse à chaque étape), ajout et suppression d'étapes à partir de l'interface, lancement des étapes via des signaux TCP provenant de la vision, du PLC ou de l'opérateur ;
- Prise en position complète : de l'un des angles d'un axe – à la position et à l'orientation de l'élément sur plusieurs axes simultanément ;
- Cellules multi-caméras et synchronisation de plusieurs robots ;
- Apprentissage automatique en temps réel : le système collecte automatiquement des séquences complexes et les propose à un nouvel ensemble d'apprentissage.
Pile technologique
.NET 9 (WinForms) · Classification YOLO, ONNX, CUDA · Caméras SICK / Hikrobot / GigE Vision / DirectShow · Robot BORUNTE BRTIRUS0707A (contrôleur HC1, protocole JSON/TCP ouvert) · SQLite · Intégration TCP/IP avec n'importe quel équipement.
Le projet met en évidence un point crucial : la barrière d'entrée dans la robotique "stupide" a été abaissée. Il n'est plus nécessaire d'avoir une équipe d'ingénieurs en apprentissage automatique et de passer des mois à intégrer les systèmes. Il suffit d'une seule image d'un composant, d'un bouton d'apprentissage et d'un protocole ouvert. Le robot cesse d'être la machine la plus coûteuse et la moins flexible de l'usine, et devient un outil polyvalent, que l'on peut réapprendre en quelques heures.
