Robot BORUNTE BRTIRUS0707A

Abbiamo unito due elementi che di solito appartengono a mondi diversi: sistema di visione artificiale engiAI con un sistema di apprendimento personalizzato per le reti neurali e un robot industriale a sei assi BORUNTE BRTIRUS0707AIl risultato è un robot che non esegue un programma predefinito, ma.. vede un dettaglio e si adatta ad esso in tempo reale.

Il test ha dimostrato l'efficacia del sistema: la scatola è posizionata su un tavolo in una posizione casuale, l'operatore può ruotarla in qualsiasi direzione, da 0 a 360 gradi. La telecamera osserva dall'alto, la rete neurale determina l'angolo di rotazione con precisione di un grado, e il braccio del robot replica la posizione della scatola – posizionando con precisione la pinza sotto di essa. Non ci sono guide, supporti o sensori di posizione: solo la telecamera, la rete neurale e il robot.
Componenti del sistema:
engiAI è un sistema di visione artificiale. Offre un ciclo completo di lavoro con l'intelligenza artificiale: collegamento di telecamere industriali (SICK, Hikrobot, GigE Vision, USB), definizione delle aree di ispezione direttamente sul video in tempo reale, generazione di un set di dati di addestramento a partire da pochi fotogrammi, addestramento di modelli YOLO su GPU (CUDA) e inferenza in tempo reale con la velocità del flusso video. Il modulo OUTPUT trasforma i risultati del riconoscimento in azioni, inviando pacchetti TCP a robot o PLC e attivando uscite discrete delle telecamere.
Robot1 – Controllo del robot. Comunicazione diretta con il controller HC1 tramite il protocollo JSON/TCP aperto, senza pulsanti e software proprietario: controllo manuale di ogni asse, posizioni salvabili, modello 3D del robot con una base di posizioni. La caratteristica principale è il ricevitore TCP per i comandi dell'intelligenza artificiale: una regola per ogni asse, con nome del comando, velocità, offset, inversione e conversione dell'angolo al percorso più vicino (±180°).
La comunicazione tra i programmi avviene tramite il protocollo TCP/IP standard. Questo è fondamentale: è possibile inserire qualsiasi tipo di dispositivo nella catena di comunicazione, purché sia in grado di aprire una socket, come ad esempio un PLC, un altro robot, un sistema SCADA o un sistema ERP.
Come funziona: dal fotogramma al movimento
- Immagine. La telecamera riproduce l'immagine della zona ispezionata (nel nostro stand, SICK, con una matrice di 2048x2048).
- Ottimo. Il modello YOLO classifica la posizione del componente: ogni grado di rotazione rappresenta una categoria distinta (da 0 a 359 per un cerchio completo o da 0 a 180 per componenti simmetriche).
- Pacchetto. La regola OUTPUT definisce il comando – ad esempio "J6 315" – e lo invia tramite TCP. La regola viene creata una sola volta per l'intera applicazione: il meccanismo di sostituzione {class} trasmette automaticamente il nome della classe riconosciuta.
- Regola dell'asse. Robot1 applica le impostazioni dell'asse (inversione, spostamento, percorso più breve) e invia al controllore l'angolo desiderato a una velocità specificata.
- Movimento. L'asse ruota, e la pinza si posiziona perfettamente sul pezzo.
Il tempo di reazione, dall'orientamento del contenitore all'avvio dell'asse, è di circa un secondo e può essere controllato: tutti i tempi sono definiti nelle impostazioni.
Apprendimento senza dataset e senza ingegnere di machine learning
Un problema classico nell'ambito del machine learning applicato all'industria è la raccolta e l'etichettatura di migliaia di immagini. In engiAI, questo problema viene risolto attraverso la generazione di dati sintetici: un operatore scatta una singola immagine di un componente, e il programma genera automaticamente un set di dati di addestramento.
- Ruota la finestra dell'area di ripresa sull'intera immagine, con un incremento specificato (anche di 0,1°), in modo che lo sfondo reale sia visibile e che il soggetto non venga tagliato dai bordi dell'immagine: la foto viene automaticamente ridimensionata in formato quadrato, seguendo la diagonale dell'area di ripresa.
- aggiunge variazioni di luminosità e contrasto entro i limiti stabiliti e crea copie riflesse;
- ordina automaticamente i fotogrammi per classe (0…359) e divide l'insieme dei dati in training e validation.
Da un singolo fotogramma si ottengono centinaia di file di addestramento. Successivamente, si preme il pulsante "ADDESTRA MODELLO AI", e dopo un certo tempo il modello è pronto per funzionare. L'intero ciclo "mostra il dettaglio → addestra → il robot funziona" è eseguito dall'operatore della linea, e non da un ingegnere di machine learning esterno.
Il flusso dei dati non deve interrompere il funzionamento del robot.
La rete neurale effettua riconoscimenti decine di volte al secondo, e trasmettere direttamente questi risultati ai servomotori non è possibile: i servomotori rischiano di andare in tilt a causa del continuo cambio di direzione. La soluzione implementata prevede una protezione a più livelli, testata su un robot reale:
- Zona morta – la presenza di un'interferenza tra classi adiacenti (315 ↔ 312) non influisce sul movimento dell'asse;
- Stabilità – la nuova classe deve rimanere stabile per un determinato periodo di tempo: i singoli fotogrammi falsi generati dall'intelligenza artificiale non causano deviazioni verso destinazioni lontane;
- Movimento fluido – se l'obiettivo è cambiato durante il percorso, il robot non raggiungerà più il punto obsoleto: frenata controllata, pulizia della coda del controllore e immediato proseguimento verso l'ultimo obiettivo. Le istruzioni intermedie vengono eliminate – è importante solo quella più recente;
- Intervallo tra i movimenti – un limite rigido alla frequenza dei comandi inviati al controllore;
- Ripristino automatico – in caso di incidente, il sistema di controllo viene ripristinato automaticamente, e una volta ripristinato, il sistema torna a cercare il file originale; entrambe le applicazioni mantengono un registro dei file.
In cosa questa soluzione è superiore a un robot industriale tradizionale
Un robot industriale tradizionale segue un percorso predefinito. Tutte le informazioni che il robot ha sulla componente sono fornite dal meccanismo circostante. Questo spiega le principali cause di costi e limitazioni nell'automazione. La visione basata sull'intelligenza artificiale elimina questi problemi.
Costo e tempi
- Non è necessaria una predisposizione meccanica – come basi, supporti, vasche antivibranti e stazioni di centratura. La parte può essere posizionata in qualsiasi modo: il robot si adatterà automaticamente. La predisposizione per una singola parte spesso costa quanto il robot stesso – in questo caso, non è necessaria.
- La riconfigurazione per un nuovo prodotto, ovvero un orologio, non richiede settimane. Abbiamo fornito i dettagli del dispositivo, addestrato il modello e impostato le regole: la linea di produzione funziona. Non è necessario l'intervento di un integratore e l'interruzione della produzione.
- Le piccole serie di produzione diventano redditizie. L'automazione tradizionale è conveniente solo per grandi volumi. Quando i costi di riconfigurazione sono quasi nulli, è vantaggioso automatizzare anche singole partite giornaliere.
- Un unico strumento al posto di tre sistemi: il robot, il controllo qualità e la selezione dei prodotti funzionano tutti all'interno di un unico programma, utilizzando una singola telecamera.
Flessibilità e qualità
- Adattamento alla realtà. La catena di montaggio è stata spostata, un pezzo è stato posizionato in modo errato, è arrivata una nuova partita con un colore diverso: la cella tradizionale funziona correttamente, mentre la cella AI continua a operare: non si concentra sulle coordinate, ma sull'oggetto stesso.
- Controllo qualità gratuito. Lo stesso modello, che viene utilizzato per il controllo, evidenzia eventuali difetti: scatola danneggiata, etichetta strappata, assemblaggio errato – e le invia al rifiuto utilizzando gli stessi criteri.
- Ogni asse può essere controllato tramite IA. Le regole vengono applicate a ciascuno dei sei assi in modo indipendente: oggi, ad esempio, un singolo pinza può eseguire un movimento su un asse, mentre domani sarà possibile posizionare simultaneamente diversi oggetti su più assi.
- Feedback continuo. Il robot non è un semplice esecutore: ogni movimento è una risposta a ciò che è effettivamente visibile nell'immagine, tenendo conto di tutte le decisioni prese.
Apertura e scalabilità
- Indipendenza dal marchio del robot. La comunicazione avviene tramite protocollo TCP/IP aperto: attualmente si utilizza BORUNTE, ma in futuro lo stesso protocollo potrebbe essere utilizzato per controllare un altro robot, un tavolo girevole o un PLC.
- Formazione specifica in loco. Il modello non è semplicemente un "aggiornamento": se viene rilevato un nuovo difetto o un dettaglio, è possibile addestrarlo in poche ore, direttamente sulla linea di produzione, utilizzando immagini reali e condizioni di illuminazione del cantiere.
- Creazione di copie – si tratta di copiare il codice e il file del modello, e non di ripetere il processo di integrazione.
- Trasparenza. I registri continui di entrambe le applicazioni e il registro degli eventi nel database: è possibile visualizzare l'intera cronologia, dall'immagine al movimento dell'asse. Questo rappresenta la base per la statistica, le metriche di qualità dei lotti e la manutenzione predittiva.
Dove può essere applicata
- Imballaggio e logistica: orientamento delle scatole prima dell'impilaggio, creazione di pallet e disassemblaggio di pallet misti, prelievo manuale di oggetti sparsi.
- Controllo qualità con eliminazione dei difetti: una singola telecamera che verifica e controlla i meccanismi esecutivi.
- Caricamento macchinari (CNC, presse): pezzi sfusi o su pallet, senza vasche antivibranti.
- Assemblaggio: posizionamento dei componenti, verifica della corretta installazione in ogni fase.
- Produzione alimentare e agricola: si tratta di attività che, per loro natura, non possono essere automatizzate o meccanizzate in modo completo.
- Riciclaggio e smistamento: le aree relative a materiali "non presenti nel catalogo" rappresentano un campo in cui l'automazione tradizionale è inefficace.
Cosa succederà in futuro
- Fasi e trigger esterni: Programma tecnologico basato su fasi (coordinate di tutte le assi e velocità in ogni fase), aggiunta e rimozione di fasi dall'interfaccia, avvio delle fasi tramite segnali TCP provenienti da telecamere, PLC o operatori;
- Pinza per posizioni complete: dal bordo di un asse – alla posizione e all'orientamento del componente lungo più assi contemporaneamente;
- Celle multi-camera e sincronizzazione di più robot;
- Apprendimento automatico in tempo reale: il sistema raccoglie autonomamente immagini complesse e le propone come nuovi esempi per l'addestramento.
Stack tecnologico
.NET 9 (WinForms) · Classificazione YOLO, ONNX, CUDA · Telecamere SICK / Hikrobot / GigE Vision / DirectShow · Robot BORUNTE BRTIRUS0707A (controller HC1, protocollo JSON/TCP aperto) · SQLite · Integrazione TCP/IP con qualsiasi dispositivo.
Il progetto dimostra che il limite di ingresso nel campo della robotica "intelligente" è stato abbassato. Non è più necessario un team di ingegneri di machine learning e mesi di integrazione, ma basta una singola immagine di un componente, un pulsante di addestramento e un protocollo aperto. Il robot smette di essere la macchina più costosa e meno flessibile dell'officina, diventando invece un dispositivo versatile che può essere riprogrammato in poche ore.
