Universal Robots

Universal Robots (UR) possono essere programmati con RoboDK utilizzando due metodi differenti:

1.Livello Interfaccia Grafica Utente (file URP): 
I programmi URP sono creati tramite lo schermo del tech pendant del robot. Un programma URP può avere uno o più file SCRIPT come subprogrammi. I programmi URP sono trasformati in programmi SCRIPT in background dal controllore robot prima di esser eseguiti.

2.Livello Script (file SCRIPT):   
I programmi SCRIPT utilizzano il linguaggio di programmazione UR Script. Come gli altri linguaggi di programmazione UR Script contiene variabili, tipi, controlli di flusso, funzioni, ecc.. Inoltre, UR Script contiene diverse variabili e funzioni built-in che controllano gli I/O e i movimenti del robot.

RoboDK è un software di simulazione e programmazione offline per robot industriali. RoboDK può generare file SCRIPT e URP che posson essere eseguiti da un robot UR. In aggiunta, è possibile eseguire programmi sul robot da RoboDK se il robot è connesso al computer.

RoboDK pùo anche importare file SCRIPT nel simulatore. Ciò permette di simulare programmi SCRIPT esistenti, modificarli e ri-esportarli.

L'interfaccia grafica del teach pendant UR si chiama PolyScope (come mostrato nella seguente immagine). Riferirsi al manuale URScript Programming Language per maggiori informazioni.

Robots Universal Robots - Figura 1

Ottieni l'IP del robot UR

L'IP del robot è richiesto per eseguire programmi direttamente dal simulatore RoboDK. È anche possibile trasferire programmi tramite FTP.

L'IP del robot può essere ottenuto tramite il menu About della schermata principale del teach pendant UR.

Robots Universal Robots - Figura 2

Il robot deve essere connesso al computer tramite una connessione Ethernet (direttamente o tramite una rete). Un Ping test permette di testare se la connessione alla rete è stata propriamente stabilita.

Inizia un Programma dal PC

I driver robot forniscono un'alternativa alla programmazione Offline (dove un programma è generato e poi trasferito al robot per la sua esecuzione). Con i driver robot, è possibile iniziare una simulazione direttamente sul robot (Programmazione Online). Più informazioni disponibili nella sezione Driver Robot.

Programmi robot posson essere eseguiti direttamente da RoboDK al robot reale se una connessione alla rete è stata stabilita.

1.Clicca con il tasto destro sul robot in RoboDK

2.Seleziona: Robots Universal Robots - Figura 3Connetti al robot...

3.Immetti l'IP del robot

4.Seleziona Connetti

Dovrebbe comparire un messaggio verde con visualizzato Pronto se la connessione è stata stabilita.

Il robot può essere mosso selezionando Ottieni giunti robot, Muovi Giunti e Muovi Lineare, dal menù connessione.

Robots Universal Robots - Figura 4


Ci sono due diversi metodi per iniziare un programma dal PC sul robot:

1.Inizia su robot passo passo con feedback in RoboDK (Programmazione Online):           
Questo metodo utilizza il robot come un server e ogni istruzione è inviata al robot passo passo come eseguito dal simulatore. Questo metodo è utile per scopi di debug.

a.Clicca con il tasto destro sul programma (Print3D in questo esempio)

b.Seleziona Inizia su robot (F6)

c.Fai doppio click sul programma per iniziarlo (o tasto destro e seleziona Inizia)

Una volta che questa opzione è selezionata ci si connetterà al robot reale ogni volta che facciamo doppio click sul programma (o tasto destro e seleziona Inizia)

Queste operazioni sono anche disponibili dall'API e permettono di integrare RoboDK in altre applicazioni. L'API è disponibile per Python e C#.

Robots Universal Robots - Figura 5


2.Inizia su robot genera il programma completo, lo trasferisce al robot ed inizia il programma sul robot reale (Programmazione Offline):

a.Tasto destro sul programma (Print3D ad esempio)

b.Seleziona Inizia su robot (F8)

Robots Universal Robots - Figura 6

Come abilitare il Controllo Remoto su URe

È necessario abilitare l'opzione Controllo Remoto sul controller del robot UR se si possiede un robot URe (UR3e, UR5e o UR10e).

Segui questi passaggi per abilitare il Controllo Remoto su un URe:

1.Seleziona il menu Settings dal pulsante in alto a destra

2.Seleziona System-Remote Control

3.Seleziona Enable

4.Cambia la modalità operativa a Remote Control

Robots Universal Robots - Figura 7Robots Universal Robots - Figura 8

Robots Universal Robots - Figura 9

Dettagli della connessione di rete

Le connessioni del driver RoboDK ai sistemi di controllo UR sono bidirezionali. Questo significa che il driver non si limita a connettersi al sistema remoto come client, ma agisce anche da server, in attesa di una connessione di ritorno dal sistema di controllo. Questa connessione di ritorno dal sistema di controllo UR verso il computer RoboDK viene considerata da quest'ultimo come una connessione in ingresso esterna. Tali connessioni sono spesso bloccate dal firewall del sistema operativo. Se disabilitare completamente il firewall sul proprio sistema non è accettabile, utilizza la tabella seguente per consentire le connessioni in ingresso e in uscita necessarie:

Scopo

Direzione

Protocollo

Numero di porta

(apiur)

Numero di porta

(DriverUR)

Interfaccia secondaria

RoboDK → UR

TCP

30002

30002

Interfaccia in tempo reale (RTDE)

RoboDK → UR

TCP

non usato

30004

Interfaccia inversa

UR → RoboDK

TCP

30000

50001

Invio script

UR → RoboDK

TCP

non usato

50002

Interfaccia di traiettoria

UR → RoboDK

TCP

non usato

50003

Interfaccia comandi script

UR → RoboDK

TCP

non usato

50004

Inizia un Programma sul controller UR

Una volta che il programma è pronto in RoboDK è possibile generare un programma SCRIPT e/o URP. Questi due file posson essere eseguiti dal controller robot. Segui questi passi per generare programmi SCRIPT e URP da una simulazione RoboDK:

1.Clicca con il tasto destro sul programma (Print3D ad esempio)

2.Seleziona Genera programma robot (F6)

Dopo la generazione di un programma, il programma sarà visualizzato nell'editor testo. Questo comportamento può essere cambiato nel menu: Strumenti➔Opzioni➔Altro.

post processoriNota: il post processore predefinito (chiamato Universal Robots) genera un programma SCRIPT e un programma URP che esegue il programma come file script. Questo post processore è ottimizzato per funzionare bene con programmi di grandi dimensioni (non è il caso se si seleziona il post processore Universal Robots URP).

Robots Universal Robots - Figura 10

Il trasferimento di file SCRIPT o URP può essere effettuata tramite trasferimento FTP o chiavetta USB.

Come caricare un programma URP

I seguenti passaggi riassumono la procedura per caricare un file URP sul robot Universal Robots.

1.Fai clic con il tasto destro sul programma e seleziona Seleziona Post Processor

2.Seleziona Universal Robots URP. Questi primi due passaggi sono opzionali, poiché il post processore predefinito genera comunque un file URP; tuttavia, permettono di generare un programma URP leggibile dall'utente invece di un programma URP che esegue un file script.

3.Fai clic con il tasto destro sul programma e seleziona Genera programma robot (F6)

4.Salva il/i file URP generato/i su una chiavetta USB.

5.Collega la chiavetta USB al teach pendant del robot (Polyscope UR)

6.Sul teach pendant del robot: seleziona la scheda Run

7.Seleziona Load Program e carica il programma generato da RoboDK

8.Seleziona la scheda Program e premi il pulsante Play per avviarlo

9.Seleziona il pulsante Play per avviare il programma.

Robots Universal Robots - Figura 11  Robots Universal Robots - Figura 12

 Robots Universal Robots - Figura 13  Robots Universal Robots - Figura 14

Come caricare un file Script

Le seguenti immagini e passaggi riassumono la procedura per eseguire un programma SCRIPT sul robot. Questi passaggi non sono necessari per eseguire un file di programma URP:

1.Seleziona Program Robot nella finestra principale del teach pendant

2.Seleziona Empty Program

3.Seleziona il pannello Structure

4.Seleziona il pannello Advanced

5.Seleziona Script code

6.Seleziona File (come mostrato nell'immagine)

7.Seleziona lo script generato da RoboDK

8.Seleziona l'icona play per iniziare il programma

9.Seleziona File➔Salva per salvare i cambiamenti

10.Infine, il programma può essere eseguito

Robots Universal Robots - Figura 15Robots Universal Robots - Figura 16

Robots Universal Robots - Figura 17Robots Universal Robots - Figura 18


 

Trasferire il Programma (FTP)

Un programma SCRIPT generato da RoboDK (come premere F6) può essere trasferito al robot utilizzando una chiavetta USB o tramite trasferimento FTP se il robot e il computer sono connessi.

È raccomandato installare FileZilla Client nel percorso di default o direttamente dentro la cartella di installazione di RoboDK in modo che sia rilevato automaticamente da RoboDK:

C:\RoboDK\FileZilla FTP Client\

Per trasferire il file tramite FTP:

1.Clicca con il tasto destro sul robot

2.Seleziona Connetti al robot...

3.Seleziona Esplora. Il client FileZilla si aprirà (software per trasferimento FTP)

4.Seleziona File➔Site Manager...

5.Seleziona Universal Robot sample, in Predefined Sites

6.Seleziona Duplicate. Una copia dei parametri dell'Universal Robot sarà creata.

7.Immetti l'IP del robot (192.168.1.66 in questo esempio)

8.Seleziona Connetti

9.Trasferisci il file SCRIPT precedentemente generato al robot

I programmi SCRIPT sono solitamente salvati nella cartella /Programs/ del controller robot.

Robots Universal Robots - Figura 19


Monitoraggio UR

C'è una macro disponibile nella libreria che permette di monitorare lo stato del robot UR. Selezionare:

1.Seleziona File➔Apri

2.Carica la Macro UR_ActivateMonitoring.py da: C:/RoboDK/Library/Macros/. Un nuovo oggetto Python sarà aggiunto nella stazione.

3.Assicurarsi che l'IP del robot è propriamente fornito nei parametri della connessione.

4.Fare doppio click nella macro per iniziare il monitoraggio.

Il simulatore aggiornerà la posizione del robot e creerà bersagli mentre il robot reale si muove. Tra le altre cose, è possibile monitorare la velocità del robot, accelerazione e la corrente dei motori.

Uso della pinza RobotiQ

RoboDK supporta la generazione di programmi per i robot Universal Robots in grado di azionare pinze RobotiQ. È possibile azionare la pinza RobotiQ generando un programma offline oppure utilizzando il driver RoboDK per i robot UR.

Uso della pinza RobotiQ da RoboDK

È possibile azionare la pinza RobotiQ direttamente dal controller UR generando programmi offline con RoboDK.

Per aggiungere il supporto alle pinze RobotiQ è necessario selezionare il post processore Universal_Robots_RobotiQ:

1.Fai clic con il tasto destro su un programma o sul robot

2.Seleziona Seleziona Post Processor

3.Seleziona Universal Robots RobotiQ

È quindi possibile generare chiamate di programma in grado di azionare la pinza RobotiQ. Ad esempio: rq_move_and_wait( 255 ) per aprire la pinza oppure rq_move_and_wait( 0 ) per chiuderla.

Robots Universal Robots - Figura 20

Una volta che il programma è pronto in RoboDK, è possibile eseguirlo sul robot utilizzando uno di questi 2 metodi:

Fai clic con il tasto destro su un programma (ad esempio GripperOpenClose) e seleziona Invia programma al robot

Fai clic con il tasto destro su un programma (ad esempio GripperOpenClose) e seleziona Genera programma (questa seconda opzione richiede di caricare manualmente il programma sul robot).

Questo metodo di funzionamento non richiede di utilizzare il driver.

Uso della pinza RobotiQ con il driver

È possibile azionare la pinza RobotiQ direttamente da RoboDK utilizzando il driver (opzione Esegui su robot). Il driver RoboDK per UR e RobotiQ consente di eseguire i programmi passo passo da RoboDK e di vedere il puntatore di esecuzione in qualsiasi momento da RoboDK.

È importante assicurarsi di potersi connettere al robot per utilizzare questa funzione. Potrebbero essere necessari privilegi di amministratore su Windows e/o l'aggiunta di una regola al Firewall di Windows per consentire questa comunicazione (disabilitare il Firewall di Windows può aiutare a capire se il problema è legato al firewall).

Segui questi passaggi per aggiungere il supporto al movimento della pinza RobotiQ direttamente da RoboDK:

1.Scarica il seguente file script: https://robodk.com/files/upload/progrobodk-rq.zip

2.Decomprimi il file progrobodk.script qui: C:/RoboDK/bin/progrobodk.script

3.Assicurati di riavviare il driver se era in esecuzione (doppio clic su Disconnetti, poi su Connetti).

4.Seleziona Strumenti-Opzioni-Driver

5.Deseleziona l'opzione: Gestisci le chiamate di programma con RoboDK quando connesso a un robot.

Per azionare correttamente la pinza tramite il driver (ad esempio, per aprirla/chiuderla), utilizza la chiamata di programma rq_move_and_wait passando un parametro compreso tra 0 e 255.

Esempio:

rq_move_and_wait( 0 ) # Chiude completamente la pinza

rq_move_and_wait( 255 ) # Apre completamente la pinza

Il numero passato come argomento è richiesto dal driver.

Movimenti Circolari e Lineari

I robot UR supportano sia i movimenti circolari sia i movimenti lineari, tuttavia è possibile che sul teach pendant compaiano degli errori se si utilizza il driver per i robot UR.

È possibile visualizzare i seguenti errori quando si utilizza il driver del robot UR (opzione “Esegui su robot”) poiché il driver non applica tutti i filtri predefiniti presenti nel post processore UR. Questi filtri aiutano a ripulire il codice in modo che il controller UR possa eseguire il programma senza problemi.

Questi errori includono:

1.Arco circolare con raggio infinito (CIRCULAR_ARC_WITH_INFINITE_RADIUS): questo errore può comparire quando si esegue un movimento circolare con un raggio molto ampio. Il post processore converte automaticamente questi movimenti in movimenti lineari.

2.Arco circolare con raggio zero (CIRCULAR_ARC_WITH_ZERO_RADIUS): questo errore può comparire con piccoli movimenti circolari. Il post processore può rimuovere questi movimenti o convertirli in movimenti lineari.

Questi errori non dovrebbero comparire quando il programma viene generato offline (fai clic con il tasto destro su un programma e seleziona Genera programma, oppure F6) oppure viene inviato automaticamente al robot (fai clic con il tasto destro su un programma e seleziona Invia programma al robot, oppure Ctrl+F6). Questi due metodi di generazione del programma utilizzano il post processore anziché il driver.

Se si verificano ancora errori generando il programma offline (senza utilizzare il driver), è possibile convertire automaticamente i movimenti ad arco in movimenti lineari seguendo questi passaggi:

Seleziona Strumenti-Opzioni

Seleziona la scheda Programma

Fai clic sull'opzione Evita Archi

Imposta il Passo minimo (mm) a 0,5 mm per i movimenti lineari: questo garantisce che non vengano esportati punti più vicini di 0,5 mm, in modo che il raggio di raccordo (blend radius) abbia un effetto; è possibile aumentarlo ulteriormente per ottenere movimenti meno a scatti.

Guida all'installazione di URSim

URSim consente di emulare il comportamento del vero controller del robot Universal Robots sul proprio computer. Questo permette di familiarizzare con il controller e testare i programmi generati con RoboDK. Questa sezione guiderà l'utente nell'installazione di URSim.

Requisiti per il download di URSim

È necessario scaricare l'immagine ufficiale di URSim dal sito web di Universal Robots e Oracle VM VirtualBox dai rispettivi siti ufficiali.

1.Scarica la versione più aggiornata del simulatore Offline per sistemi Non Linux da questo link: https://www.universal-robots.com/download/?query=ursim.

Robots Universal Robots - Figura 21

1.Scarica e installa il software Oracle VM VirtualBox dal seguente link: https://www.virtualbox.org/wiki/Downloads.

2.Crea una cartella sul disco rigido e chiamala URSim.

Robots Universal Robots - Figura 22

1.Estrai il contenuto del file URSim scaricato (file .zip o .rar) nella cartella URSim.

Robots Universal Robots - Figura 23

Configurazione di VirtualBox per URSim

Questa sezione mostra come creare una nuova macchina virtuale utilizzando Oracle VM VirtualBox per simulare il controller Universal Robots.

Segui questi passaggi per creare una nuova macchina Linux e caricare l'immagine del controller scaricata:

1.Avvia VirtualBox e premi “New”.

Robots Universal Robots - Figura 24

1.Imposta il nome su UR_Sim_Eseries e imposta la Machine folder sulla cartella creata in precedenza. Imposta il tipo su Linux e la versione su Ubuntu (64 bit).

Robots Universal Robots - Figura 25Robots Universal Robots - Figura 26

1.Imposta la dimensione della memoria a 768 MB e premi “Next”.

Robots Universal Robots - Figura 27

1.Seleziona Use an existing virtual hard disk file e indica il percorso della cartella in cui è stato estratto il file compresso. Premi “Create”.

Robots Universal Robots - Figura 28

Robots Universal Robots - Figura 29

Robots Universal Robots - Figura 30

Robots Universal Robots - Figura 31

1.Premi “Start” per avviare la macchina virtuale.

Robots Universal Robots - Figura 32

1.Se compare un errore che indica “Hardware acceleration is not available”, potrebbe essere necessario riavviare il computer e modificare un'impostazione del BIOS per abilitare la virtualizzazione. Con la virtualizzazione abilitata è possibile riavviare Windows, VirtualBox e la macchina virtuale.

2.A questo punto la macchina virtuale dovrebbe avviarsi.

Robots Universal Robots - Figura 33

Cartella condivisa tra Windows e URSim

È possibile, facoltativamente, configurare una cartella condivisa tra il computer Windows e il controller emulato per trasferire facilmente i file dei programmi.

Segui questi passaggi per associare la cartella dei programmi RoboDK a una nuova cartella nel controller del robot UR emulato:

1.Questa sezione spiega come avere una cartella condivisa tra Windows e URSim per trasferire i programmi.

2.Apri la VM di URSim.

3.Crea una cartella in Linux Ubuntu e chiamala “RoboDK_Shared” sotto “/home/ur/”.

Robots Universal Robots - Figura 34

1.Crea un collegamento sul desktop trascinando la cartella “RoboDK_Shared” sul Desktop.

Robots Universal Robots - Figura 35

1.Apri RoboDK_Shared.

2.Seleziona View → Folder View Mode → Compact View.

Robots Universal Robots - Figura 36

1.Dal menu superiore della finestra di VirtualBox, seleziona Devices → Shared Folders → Shared Folders Settings.

Robots Universal Robots - Figura 37

1.Aggiungi una nuova cartella condivisa utilizzando il pulsante mostrato nell'immagine seguente.

Robots Universal Robots - Figura 38

1.Seleziona il percorso della cartella condivisa in Windows (è possibile utilizzare qualsiasi cartella del computer).

2.Seleziona “Auto-mount” e “Make Permanent”.

3.Mount point: /home/ur/RoboDK_Shared

Robots Universal Robots - Figura 39

Robots Universal Robots - Figura 40

1.Dal menu superiore di VirtualBox, seleziona Devices → Insert Guest Additions CD Image.

Robots Universal Robots - Figura 41

1.Seleziona “Open in File Manager” e premi “OK”.

Robots Universal Robots - Figura 42

1.Apri la cartella: /media/ur/VBox_Gas_6.1.38 (la versione di VBox può variare).

Robots Universal Robots - Figura 43

1.Fai doppio clic sul file “autorun.sh” e seleziona “Execute” (la password è “easybot”). L’esecuzione dello script può richiedere qualche minuto.

Robots Universal Robots - Figura 44

1.Riavvia la macchina virtuale.

1.Apri il terminale: seleziona il pulsante Start → System Tools → UXTerm.

Robots Universal Robots - Figura 45

1.Digita nel terminale: sudo adduser $USER vboxsf e premi “Enter”.

Robots Universal Robots - Figura 46

1.Riavvia la VM.

2.Se generi nuovi file con RoboDK nella cartella condivisa di Windows, puoi premere “View” → “Reload Folder” oppure premere “F5” nella cartella condivisa “RoboDK_Shared” della VM.

Robots Universal Robots - Figura 47

Utilizzo del driver RoboDK con UR Sim

È possibile testare la connessione tra RoboDK e il controller Universal Robots utilizzando URSim.

1.Nell'Oracle VM VirtualBox Manager.

2.Seleziona la VM UR_Sim_Eseries e premi Settings.

Robots Universal Robots - Figura 48

1.Seleziona Network → Attached to: e seleziona Bridge Adapter, poi premi OK.

Robots Universal Robots - Figura 49

1.Avvia la macchina virtuale URSim.

Robots Universal Robots - Figura 50

1.Avvia Polyscope con il modello UR preferito.

Robots Universal Robots - Figura 51

1.Recupera l'indirizzo IP del simulatore.

Robots Universal Robots - Figura 52

1.Vai alla finestra “Move” di URSim.

Robots Universal Robots - Figura 53

1.Apri una stazione RoboDK con lo stesso modello UR.

2.Seleziona Connect → Connect Robot.

Robots Universal Robots - Figura 54

1.Inserisci l'indirizzo IP di URSim e premi Connect.

2.Usa Get Position per recuperare la posizione del robot URSim e applicarla a RoboDK.

3.Usa Move Joints per spostare il robot URSim nella posizione del robot RoboDK.

4.Fai clic con il tasto destro su un programma RoboDK, seleziona “Run on robot” e “Run” per eseguire il programma simultaneamente in RoboDK e in URSim.

Aggiorna Cinematiche Robot

Seguire questi passaggi in questa sezione è opzionale e solamente richiesto in certe circostanze quando l'accuratezza è richiesta nella programmazione offline. Questa sezione spiega come inserire valori unici delle cinematiche del robot UR in RoboDK per simulare accuratamente e generare programmi robot.

Le cinematiche robot UR differiscono in sei valori di distanza da un robot all'altro e dai valori del simulatore. Dipendentemente da come il robot è programmato potrebbe essere importante prendere in considerazione questi valori.

Le cinematiche accurate di uno specifico robot UR possono esser usate in RoboDK seguendo questi passaggi:

1.Ottieni il file urcontrol.conf.[UR3/UR5/UR10] da una finestra chiamata URControl dentro il controller del robot. Il file può esser trasferito utilizzando una chiavetta USB, oppure tramite connessione FTP come mostrato nella sezione precedente.

2.Apri il file in un editor testo e leggi i valori [DH] come mostrato nell'immagine.

3.Apri la finestra dei parametri del robot da RoboDK facendo doppio click sul robot e selezionando "Parametri".

4.Seleziona "Sblocca opzioni avanzate" per esser in grado di modificare i valori delle sei distanze.

5.Immetti i sei valori evidenziati in rosso nella tabella DH del file urcontrol.conf.ur10 in RoboDK, come mostrato nell'immagine.

Una volta completato, possiamo cliccare con il tasto destro il robot e selezionare Salva come .robot. Questi parametri sono salvati come file robot.

Robots Universal Robots - Figura 55

Le cinematiche UR cambiano da robot a robot perché ogni robot è calibrato in fabbrica. Altre marche come KUKA, ABB, Motoman o Fanuc non calibrano i loro robot a meno che l'opzione Accuratezza Assoluta è stata acquistata. L'opzione Accuratezza Assoluta può prendere in considerazione fino a 40 parametri di calibrazione o anche più.