Indice

Robotica industriale

Introduzione alla robotica industriale

La robotica è sempre più presente nei sistemi di automazione industriale perché permette di migliorare l'efficienza di molti processi produttivi e in particolare:

Nei processi industriali i robot affiancano le tradizionali macchine automatiche ma a differenza di queste, che sono specializzate nello svolgere un compito semplice e sempre uguale, sono in grado di svolgere compiti diversi e molto più complessi permettendo una maggiore flessibilità di impiego.

In generale un robot è una macchina capace di compiere una serie complessa di azioni in maniera automatica. Un robot industriale è un tipo di robot usato nell'industria manifatturiera per svolgere in maniera automatica e ripetitiva compiti quali:

La robotica è una materia interdisciplinare, infatti coinvolge:

Robot industriali

Definizioni fondamentali

Un robot industriale è definito così: manipolatore multi-funzione, controllato automaticamente, ri-programmabile, a tre o più gradi di libertà, utilizzato per l’automazione di applicazioni industriali, dove:

Per la parte meccanica le definizioni più importanti sono:

A seconda dell'applicazione da svolgere sulla flangia si monta un tool (utensile) adatto, ad esempio:

Il grado di libertà il tipo di giunti può cambiare a seconda del robot ma in generale, se si vuole poter raggiungere un punto a piacere nello spazio con un orientamento a piacere, servono sei gradi di libertà e quindi sei giunti. Nella robotica si usa il termine posa (pose in inglese) per indicare insieme la posa e l'orientamento di un oggetto nello spazio dove:

La posizione e l'orientamento del punto di lavoro dove “agisce il tool” è chiamato TCP (tool center point) e la programmazione del robot di fatto consiste nel definire i movimenti e le azioni che deve compiere il TCP per svolgere un determinato compito.

Per quanto riguarda la parte elettrica e elettronica ogni robot è dotato di:

Tipologie di robot e robot collaborativi

Esistono varie tipologie di robot con caratteristiche diverse. Le principali sono:

I robot si classificano in base al numero e alla tipologia di giunti in:

I robot industriali più utilizzati sono:

Negli ultimi anni sono sempre più diffusi anche i robot collaborativi o cobot. Sono piccoli robot a sei o sette assi, usati nel campo dell'assemblaggio, della manipolazione e dell'asservimento macchina, fatti per lavorare fianco a fianco con le persone senza barriere di sicurezza. Questo è possibile perché sono piccoli e leggeri, non hanno parti appuntite o pericolose e sono dotati di sensori che arrestano istantaneamente il movimento in caso di collisione. Oltre a questo sono facili da installare e utilizzare e possono essere programmati anche con una tecnica di auto-apprendimento che permette di programmare il robot senza scrivere codice ma spostando manualmente il tool e memorizzando le posizioni da raggiungere. Il robot in dotazione al laboratorio è un robot collaborativo della ABB. Questa soluzione ha molti vantaggi:

Il robot YuMi IRB 14050

Il nostro robot collaborativo è il modello YuMi Single Arm, indicato anche con la sigla IRB15040. Le sue caratteristiche sono queste:

Il controller nella parte inferiore del carrello si occupa di:

Di fatto si tratta di un computer con una potenza di calcolo elevata su cui gira un sistema operativo dedicato (Robotware 7) ma che a bordo integra anche tutta l'elettronica di potenza che serve a pilotare i motori e le interfacce per gestire i segnali del robot e di altri dispositivi esterni, sia come ingressi che come uscite.

Nei robot ABB l'unità di programmazione esterna (teach pendant) collegata al controller viene chiamata Flexpendant3). Questo dispositivo, dotato di joystick e touchscreen, serve a:

Volendo si può programmare e utilizzare il robot con la sola Flexpendant. In questa modalità, detta programmazione online perché per utilizzare la Flexpendant bisogna essere fisicamente collegati al robot, si definiscono i target spostando il TCP nelle posizioni desiderate, si specifica da touchscreen che tipo di percorso compiere e quali azioni svolgere con il tool e si salva il programma che il robot poi eseguirà ripetutamente in maniera automatica. Questa soluzione è veramente semplice ma richiede la presenza del robot e dell'operatore sul campo, cioè nell'ambiente di lavoro del robot. Per sfruttare appieno le potenzialità del robot bisogna ricorrere alla programmazione offline. In questa modalità la programmazione si fa al PC, senza essere necessariamente collegati al robot, usando l'ambiente di sviluppo (IDE) RobotStudio di ABB. Con questo software si può:

In un laboratorio scolastico la programmazione offline è la più indicata perché consente a tutti gli studenti di lavorare contemporaneamente a un progetto ed eventualmente testare la propria soluzione singolarmente collegandosi al robot.

Programmazione del robot

Target e sistemi di riferimento

Per programmare il robot occorre:

La definizione di posizione e orientamento di un target (o di qualunque altro oggetto) è data rispetto ad un sistema di riferimento scelto opportunamente. I vari sistemi di riferimento sono a loro volta definiti uno rispetto all'altro a partire da quello principale, detto work object zero (wobj0), posto alla base del robot. Altri sistemi di riferimento di uso comune sono:

Ma ce ne posso essere molti altri. In generale conviene definire sistemi di riferimento specifici a seconda dell'applicazione. Ad esempio se il robot deve eseguire una lavorazione su un pezzo conviene definire un riferimento specifico, detto work object, centrato su uno spigolo del pezzo perché:

Movimentazione del robot

La movimentazione del robot può avvenire in due modi:

La movimentazione lineare è particolarmente utile ma richiede una potenza di calcolo elevata per risolvere un problema di cinematica inversa, ovvero calcolare posizioni e velocità dei vari giunti che consentano di raggiungere la posizione desiderata. Questo compito può essere molto difficile, infatti:

Nel raggiungere un target allora è particolarmente importante considerare il tipo di movimento e la configurazione con cui lo si raggiunge. Proprio per questo, nei robot ABB, i target vengono memorizzati in un tipo di dati chiamato robtarget che oltre alla posa contiene anche la configurazione del robot scelta per il target.

Nell'esecuzione del programma il robot si muove lungo dei percorsi, definiti con la Flexpendant o con RobotStudio, che contengono le istruzioni di movimento. In queste istruzioni, oltre al target da raggiungere, si specifica:

In genere si muove il robot con movimenti moveJ tranne quando si devono fare lavorazioni precise. In questo caso ci si avvicina al punto di lavoro definendo un target su punto di approccio, da raggiungere con movimenti moveJ, per poi procedere con movimenti moveL solo dove è necessario; per allontanarsi si definisce un target su un punto di svincolo e da lì si procede con movimenti moveJ.

RobotStudio

Nell'anno scolastico 2023-2024 abbiamo usato RobotStudio2023. Questa versione ha un'interfaccia grafica diversa rispetto a quelle precedenti a cui fanno riferimento i libri di testo (ad esempio la 2020) ma i comandi e le funzioni sono più o meno quelli. Questo software non è esente da difetti:

Installazione e licenze

RobotStudio si può utilizzare gratuitamente per 30 giorni poi richiede una licenza per funzionare. A scuola è installato un server che dispone di 100 licenze concesse a titolo gratuito da ABB ma da rinnovare ogni anno. RobotStudio va configurato indicando l'indirizzo IP del server a cui richiedere una licenza che viene impegnata solo mentre lo si usa e poi restituita.

Oltre ad installare RobotStudio occorre anche installare questi Add-In:

RobotWare 7 a sua volta propone l'installazione del software Virtual Flexpendant, indipendente da RobotStudio, che simula l'unità di programmazione esterna Flexpendant. Per simulare correttamente la pinza conviene installare anche il componente Virtual SmartGripper.

Impostazioni e particolarità

Ci sono una serie di impostazioni e procedure non bene documentate che è meglio utilizzare.

RobotStudio

Si può cambiare la lingua di RobotStudio dalle opzioni (NB la traduzione in italiano presenta degli errori). Sempre nelle opzioni, alla voce Sincronizzazione, conviene indicare per tutti e quattro i campi il nome MainModule; in questo modo tutti i dati principali (tool, workobject, ecc.) vengono salvati in un modulo principale con quel nome.

SmartGripper

Per cominciare, se si vuole replicare la stazione con il robot vero e proprio serve:

L'ultimo passaggio serve solo a creare il sistema di coordinate Servo posto nel punto dove le dita della pinza afferrano un oggetto. Questo tool indispensabile, che manca nel componente Virtual SmartGripper (forse per una dimenticanza), viene creato e resta anche dopo aver eliminato lo SmartGripper.

Impostazioni del controllore

Si può usare RobotStudio anche senza modificare le opzioni predefinite ma sarebbe meglio:

Altre opzioni che risultano attivate nel controller reale e che non sono presenti di default:

Nel software

Quando il calcolo dei movimenti genera il warning Errore d'angolo la simulazione si interrompe. Questo situazione capita molto di frequente ed è abbastanza imprevedibile. Per trascurare il warning inserire nel codice RAPID l'istruzione:

  CornerPathWarning FALSE;
  

In simulazione non è richiesto ma la pinza del robot richiede una calibrazione ad ogni nuovo avvio del controller. Per farla in automatico inserire nel condice RAPID le istruzioni:

  g_JogIn; 
  WaitTime 1;
  g_Calibrate;

Che chiudono la pinza e dopo un secondo effettuano la calibrazione.

File con modello di stazione robot

Nel link seguente si può scaricare un file che contiene una stazione robotica (robot, virtual controller, smartgripper) che replica quella del laboratorio6) e può essere usato come modello da cui partire per un progetto RobotStudio.

modello stazione con robot IRB14050

E' un file pack-and-go da aprire con RobotStudio; dopo averlo scompattato si salva il progetto in una nuova posizione.

Lezioni in aula con la 5C

Lezione 1

Lezione 2

Lezione 3

Lezione 4

Lezione 5

Lezione 6

Lezione 7

Simulazione:

Concetti sul RAPID:

Esercizio:

Risorse e documentazione

La documentazione sul robot si può scaricare dal portale ABB della documentazione (alcuni richiedono una registrazione al sito).

Pagine principali di ABB

Documentazione

Altre risorse

Terminologia

FIXME da completare

1)
vedi anche la voce Wikipedia
2)
roll, pitch, yaw ovvero rollio, beccheggio e imbardata
3)
si veda la sezione 1.3 del manuale del sistema Omnicore elencato tra la documentazione in questa pagina
4)
si veda il Manuale tecnico di riferimento Parametri di sistema RW 7
5)
il nostro robot nasce come braccio destro del robot YuMi Dual Arm IRB14000
6)
non è una copia esatta ma le opzioni sono le stesse
8)
descritta nella sezione 1.3 del Manuale Operatore per Omnicore
9)
descrizione nella sezione 2.2.3 del Manuale Operatore Omnicore
10)
sezione 5.2 del Manuale Operatore Omnicore oppure sezione 2.1 del manuale Panoramica del linguaggio RAPID
11)
sezione 2.7 del manuale Panoramica del linguaggio RAPID
12)
sezione 2.2.3 del manuale Panoramica del linguaggio RAPID
13)
sezione 6.3 del Manuale Operatore Omnicore
14)
questo è molto utile perché quando si deve riposizionare un oggetto sul quale è già stata definita una lavorazione non è necessario riprogrammare tutti i movimenti