• Non ci sono risultati.

Lo Yumi può essere visto come un robot collaborativo composto da due unità robotiche separate e coordinate da un sistema definito MultiMove. Il controllore del robot, che è anche la base dei bracci del cobot è composto da una scheda un MultiMove, che supervisione e permette di sincronizzare tutti o alcuni movimenti, due controller dedicati ad ogni braccio, alla risoluzione delle traiettorie e alla esecuzione del programma, e due bracci a 7 gradi di libertà.

Ogni manipolatore ha un suo controller nel quale è possibile programmare un task, ovvero il programma che ripeterà ciclicamente. Il task a sua volta è diviso in moduli: a sua volta si possono definire moduli di sistema utili per definire le variabili necessarie e le funzioni che devono essere eseguite all’avvio del controller e i moduli base dove è presente la procedura Main, la prima cercata dal controller e dalla quale vengono chiamate a catena tutte le altre definite nei vari moduli. Nel nostro caso si sono utilizzati tre moduli, di cui uno di sistema dove sono state definite tutte le variabili e due base, uno per le trap function, di cui parleremo successivamente e uno dove è stato definito il ciclo.

La suddivisione del programma tra dati e procedure è stata fatta per una maggior leggibilità per chi dovrà accedervi ed effettuare la manutenzione.

Successivamente verranno spiegate tutte le procedure e le istruzioni che sono state utilizzate all’interno del programma, riportato nell’Appendice A.

Prima di passare all’analisi di alcune parti del programma scritto per la stazione robotica, si vuole porre l’attenzione su alcune chiamate di sistema che ci aiuteranno a comprendere come è stato possibile risolvere

54

problemi di singolarità e di ripristino dell’esecuzione del programma del cobot. Queste attenzioni risultano essere di carattere generale e valgono per qualsiasi robot della casa ABB. Si vuol far notare che alcuni robot possiedono alcune caratteristiche speciali per il tipo di lavoro che devono eseguire. Ad esempio l’IRB990, ovvero il robot di tipo SCARA di ABB, che può eseguire il ciclo di prelievo e deposito attraverso un’unica istruzione nella quale si possono definire fino a cinque target. Altri robot, dedicati quasi esclusivamente alla saldatura e alla verniciatura, possono elaborare determinate funzioni tali da eseguire la saldatura o la verniciatura in modo più semplice ed efficace.

Prima di procedere con l’analisi, si vuole mostrare come creare la comunicazione e come viene gestita dal controller. Nel paragrafo 3.3.2 Segnale di Supervisione del Movimento verrà illustrato un particolare segnale gestito all’interno del controller: questo è risultato necessario per la gestione della supervisione del movimento e per risolvere il problema della collisione.

3.3.1 Segnali di Input Output

Per poter gestire in automatico il prelievo e il deposito il cobot deve poter comunicare con il sistema che gestisce la linea rappresentata in Figura 25 - Layout della linea di confezionamento I due cobot comunicano con il PLC che gestisce la movimentazione dei nastri, controlla la presenza di confezioni e da prelevare e dello scatolone in cui depositare. È stato, quindi, necessario definire alcuni segnali digitali scambiati tramite ethernet illustrati nell’immagine.

Figura 27 - Segnali scambiati tra controller robot e PLC

Il PLC ha lo scopo di gestire la linea logicamente e in questo caso corrisponde agli occhi del sistema. Questo è possibile perché, nelle posizioni dei prelievo e nella posizione in cui è presente lo scatolone, verranno cablate delle fotocellule di presenza. Il PLC corrisponde, per voler fare un paragone, al cervello di un operatore e permette la coordinazione “occhio-mano” tra linea e bracci meccanici del cobot.

55 Nell’immagine sopra si può notare che i segnali sono stati identificati con un prefisso per indicare chi comunica. I segnali, ora assegnati internamente alla scheda EN_Internal_Anybus, in quanto si stava lavorando con un controller virtuale, saranno assegnati alla scheda di comunicazione Ethernet\IP con la quale è possibile stabilire una comunicazione con il mondo esterno al controller andando a definire un IP con la medesima sottoclasse.

I segnali che si possono scambiare tramite un patch cable sono raggruppabili in tre categorie: 1. Digital: si intende un segnale legato ad un bit, come quelli mostrati in figura

2. Group digital: si possono definire dei blocchi di bit, di solito si ragione con due byte, ovvero 16 bit, in modo da poter passare un valore intero. Nulla toglie di poter definire la dimensione del gruppo di segnali come si vuole. In questo caso si possono inviare solo valori assoluti

3. Analog: gli analog sono segnali che possono essere singolo bit oppure a gruppi di bit. In questo caso è possibile definire anche valori negativi. Risultano comodi per poter comunicare al cobot dati e altri segnali provenienti dal campo. In particolare, verranno utilizzati, anche se non si vede nella figura precedente, per definire gli offset che possono essere impostati da HMI.

3.3.2 Segnale di Supervisione del Movimento

Il segnale di supervisione di movimento viene generato dal controller quando uno dei sensori di coppia presenti sul braccio robotico rileva una coppia superiore alla massima. Nell’immagine viene riportato il controllo eseguito sulla forza vista dai sensori in funzione del tempo. Nel caso in cui vengano superati i valori il controller genera uno stop della movimentazione e visualizza sul tastierino l’errore di supervisione del movimento.

Figura 28 - Limiti di forza in funzione del tempo

Il sistema di collision detection di ABB limita l'area del grafico: nel caso in cui venga vista una forza superiore o prolungata nel tempo il controller genera uno stop di sistema. Per poter gestire le collisioni, obiettivo principale della ricerca svolta in azienda, è stato necessario intercettare tale segnale.

È stato necessario creare una sorta di cross-connection. All’interno della parte di configurazione del sistema, nella parte relativa alla gestione dell’IO si è generato un segnale in uscita dal sistema collegato allo status di

56

Motion Supervision Triggered, per entrambi i bracci del cobot. In questo modo di può impostare sorvegliare lo stato di tale evento e collegarlo, come illustrato nel CAPITOLO 5, ad una gestione dell’errore.

Nella schermata in alto si può vedere che sono stati creati due segnali di sistema chiamati Robot_Collision_DX e SX collegati all'evento di supervisione di movimento. Ogni segnale viene definito, come visualizzato nella schermata sotto, con un argomento grazie al quale è possibile identificare l’unità meccanica da cui proviene l’evento interessato. Per unità meccanica si intende il braccio del cobot.

57