Sei sulla pagina 1di 17

LabVIEW nella robotica industriale:

i vantaggi della programmazione LabVIEW


per i sistemi integrati di robotica,
visione e misura.
14.40 – 15.10 Sala 2

Francesco Romanò
Chi siamo?

 La missione è nel logo


 Il nostro miglio prodotto
è il know-how
 Dalle consulenze ai
sistemi
 Applicazioni robotiche
basate su visione 2D/3D
 Alliance Member di
National Instruments
Robotica e Machine Vision: un mercato in crescita

• Crescita della presenza


della visione artificiale nel
mondo della robotica

• Nuove aree di impiego della


robotica „leggera‟

• Assenza di
standardizzazione dei
protocolli di comunicazione
Robotica e Machine Vision:
integrazione stretta

• Applicazioni robotiche che non fanno uso di visione


generalmente richiedono una programmazione non
evoluta

• Applicazioni robotiche semplici possono essere


programmate direttamente da „teaching box‟

• Quando la visione è presente, la programmazione diventa


più complessa (missioni dinamiche, ...)

• In celle robotiche la visione non va pensata come un „add-on‟


aggiunto al robot ma come un elemento da cui partirà per la
progettazione della cella.
Tipologie di Robot, payload e dimensioni
• SCARA: 4-assi
• Antropomorfi: 6 o più assi (robot di servizio)
• Delta Robot: veloci e meno accurati, a volte sono considerati
come semplici manipolatori
• Range: payload da 1 a 1.000 kg
L’essenza dell’integrazione visione e robotica: demo

• Acquisizione di
una immagine

• Estrazione del
profilo

• Download
su robot della
traiettoria
ed esecuzione
'flexible manufacturing‘ - 1
cosa e perché

• I cambiamenti del mercato e dell‟economia


hanno ripercussioni sulla produzione
industriale
• Richieste e metodi di produzione stanno
cambiando:
– Lotti piccoli di produzione
– „time to market‟ da confinare
– Costi di produzione da ridurre per mantenere quote di
mercato
• Flessibilità verso velocità di produzione
– Tempo ciclo: cosa come interpretarlo?
– Progettare per la velocità
– Progettare per la flessibilità
– Progettare per la semplicità d‟impiego

• Immagini: courtesy of Automatismi Brazzale and Cabur


'flexible manufacturing‘ - 2

• La robotica ha sempre più


necessità di realizzare cicli
complesse e non ripetitivi.

• Spesso la robotica ha bisogno di


vedere!

• La visione può essere usata per:


– Localizzare un componente
– Realizzazione controllo qualità sulle parti

• Controlli in-process al posto che a


fine linea
Un esempio di codice LabVIEW con visione e robotica

Selezione algoritmo di visione Abilitazione del controllo qualità Prelievo e deposizione

Tipologia alimentatore Tipologia robot Scelta del sistema di visione come


gestore dell’alimentatore
Perché l’esigenza degli integratori di usare robot differenti

 Facendo un‟analogia, nel mondo della visione esistono


standard di comunicazione (come CCIR, RS170, IEEE 1394
Firewire, CameraLink, GigE, …) uniformemente riconosciuti
 Robot di differenti marche non condividono lo stesso
linguaggio di programmazione
 Spesso integratori ed utilizzatori vivono con la presenza
simultanea di diverse marche
 Scelta basata su dimensioni / payload / caratteristiche tecniche
 Scelta imposta dall‟utilizzatore
 Le funzionalità di base dei robot sono simile e riconducibili a
comandi standard
 Con LabVIEW può esser costruito un layer di astrazione
Tre esempi di programmazione robotica testuale
Kuka code example
Denso code example
1 INI Mitsubishi code example
'!TITLE "Test Pick&Place"
2 PTP HOME Vel= 100 % DEFAULT 10 SERVO ON
PROGRAM TEST_PICKPLACE
20 OVRD 100
3 GRIPPER_OPEN () ; Open the gripper
TAKEARM
30 HOPEN 1 ' Open the gripper.
4 PTP P_PICK_UP Vel= 100 % P_PICK_UP
MOTORTool[1]
ON Base[0] ; Move 100 mm above the pick position.
40 DLY 0.5
5 LIN_REL {Z -100} ; Move to the pick position.
CALL GRIPPER OPEN ' Open the gripper
50 MOV P_PICK,100 ' Move 100 mm above the pick position.
6 APPROACH P,P_PICK,100, S=100
GRIPPER_CLOSE () ; Close the gripper ' Move 100 mm above the pick position.
60 OVRD 50
MOVE L, P_PICK, S=50 ' Move to the pick
7 LIN_REL {Z +100} ; Move 100 mm position.
above the pick position.
70 MVS P_PICK ' Move to the pick position.

8 PTP P_PLACE_UP Vel= 100 % P_PLACE_UP Tool[1] Base[0] ; Move 100 mm


CALL GRIPPER_CLOSE above the1' place
80 HCLOSE position.
Close the gripper ' Close the gripper.

9 DEPART
LIN_REL {Z -100} ; Move to the place P,100, S=100
position. 90 DLY 0.5 ' Move 100 mm above
the pick position.
10 GRIPPER OPEN () ; Open the gripperAPPROACH P,P_PLACE,100, S=100 ' Move100 OVRD 100
100 mm above the place position.

11 LIN_REL {Z +100} ; Move 100 mm MOVE


above the place position. 110 MVS,100 ' Move 100 mm above the pick position.
L, P_PLACE, S=50 ' Move to the place
position.
120 MOV P_PLACE,100 ' Move 100 mm above the place position.
12 PTP HOME Vel= 100 % DEFAULT
CALL GRIPPER_OPEN ' Open the gripper
130 OVRD 50
DEPART P,100, S=100 ' Move 100 mm above
the place position. 140 MVS P_PLACE ' Move to the place position.

MOTOR OFF 150 HOPEN 1 ' Open the gripper.

GIVEARM 160 DLY 0.5

END 170 OVRD 100

180 SERVO OFF


Realizzazione di un layer di astrazione:
come gestire differenti famiglie di robot
• Un comando è essenzialmente identico a prescindere dal brand robotico
• Comandi di alto livello generici sono tradotti in specifici protocolli
facendo uso di plug-in

Comando Protocollo LabVIEW di alto livello

Denso Mitsubishi Kuka Staubli XYZ


Protocol Protocol Protocol Protocol Protocol

Robot Controller
Integrazione di visione e robotica:
i punti focali
• Procedure di calibrazione che convertano il mondo pixel in un sistema di riferimento
„ingegnerizzato‟ (sostanzialmente un mondo espresso in mm)

• Calibrazione relativa tra il sistema robotico ed il sistema di riferimento della videocamera

• Gestione del parco prodotti

• Procedure di manutenzione: preventive, ordinarie e straordinarie

• Interfaccia utente e gestione delle anomalie

• Comunicazione con periferiche: vibratori, nastro step, nastro + CT, vassoi (AnyFeed) …

• Accesso alla macchina per le operazioni di manutenzione (anche da remoto)

• Comunicazione con l‟unità di supervisione (ad es. cRIO / PLC / …)

• Gestione dei “fuori ciclo”: apertura riparistica, pressione dell‟emergenza e conseguenti


riavvii del ciclo produttivo
Punti focali dell’integrazione in LabVIEW:
funzioni e strumenti per una programmazione robotica di alto livello

• Il maggior valore è dato dalla possibilità di combinare differenti tecnologie e periferiche


sotto la medesima piattaforma: LabVIEW

– Robotica, visione, alimentatori (nastrini, vassoi, pallet, ..) data acquisition & measurements,
interfaccia utente, protocolli industriali standard, web services, ….

– Multipiattaforma: Windows, Linux, MacOS, RT OS, FPGA, …

– Prestazioni superiori

– Sviluppo accelerato

– Interfaccia semplificata

– Strumenti di alto livello (calibrazione di immagine, strumenti per la robotica, …)

– In applicazioni complesse c‟è la possibilità di avere la visione come „master‟ della propria
applicazione
'flexible manufacturing‘ - 4
software meglio integrato
• La macchine necessitano di essere riconfigurate dall‟utente finale
• Il sw di visione e robotica necessita di facili interfacce d‟uso
• L‟integrazione di visione e robotica si devo occupare anche delle
procedure dell‟istallazione, della calibrazione, della manutenzione.
• Tutto ciò può essere ottenuto con una stretta integrazione
nell‟ambiente LabVIEW della robotica.
'flexible manufacturing‘ - 2
robotica
• Le macchine di assemblaggio hanno
bisogno di produrre componenti
differenti:
– quantomeno prodotti simili
– Viene richiesto di limitare le configurazioni
meccaniche
– Operatori non qualificati
– Riconfigurabili e riutilizzabili per futuri prodotti
– Controllo qualità in-process
• Assemblaggio flessibile automatico:
– Carico ed alimentazione di parti
– Assemblaggio di componenti
• Macchine per la manipolazione e
l‟assemblaggio flessibili e
riconfigurabili
• Modularità elevata

• La risposta è: più robotica