Sei sulla pagina 1di 28

Una libreria in LabVIEW

per la robotica

Francesco Romanò
francesco.romano@imaginglab.it
www.imaginglab.it

National Instruments Italy, Roma, 13 Ottobre 2009


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

 Rimozione della complessità della sintassi specifica di ogni tipologia di robot


astraendo il singolo comando sotto la comune interfaccia di programmazione

 Per le differenti famiglie di robot, la libreria permette di stabilire un canale di


comunicazione diretto tra l’unità di comando e la CPU del robot.

13 Ottobre2009 ImagingLab Robotics Library 2


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

Un esempio pratico … demo Mitsubishi

13 Ottobre2009 ImagingLab Robotics Library 3


Un esempio: ImagingLab LabVIEW AnyFeed driver

 ImagingLab ha
sviluppato un driver
per il modulo
AnyFeed di
FlexFactory al fine di
poterlo gestire
dinamicamente dalla
piattaforma
LabVIEW

13 Ottobre2009 4
Three different communication / programming examples:
Mitsubishi set-up

 Client  Server

1;1;MOTOR ON

•String assembly
•Motor-on icon
•Generation of a ‘readable’ string
•String sent to the controller (TCP-IP, serial, …)
•The controller ‘parses’ the string and performs the command
13 Ottobre2009 ImagingLab Robotics Library 5
Three different communication / programming examples:
Denso set-up

 Client  Server

Data packet
001010011001010101001
010101010101010000111
101010100010101010101
01001

•Data packet assembly


•Motor-on icon
•Generation of data packet
•Data packet sent to the controller (TCP-IP over Ethernet)
•The controller ‘parses’ the data packet and performs the command
13 Ottobre2009 ImagingLab Robotics Library 6
Three different communication / programming examples:
Kuka set-up

 Client  Server

•VI Server technology (NI)


•Motor-on icon
•Instance of motor icon both at client and server level
•‘Call’ to the LabVIEW program resident on the server
•The controller performs the command
13 Ottobre2009 ImagingLab Robotics Library 7
Costruire un layer di astrazione:
come poter gestire differenti famiglie di robot in
maniera equivalente
 Un’azione o un comando possono essere considerati sostanzialmente identici,
indipendentemente dal robot in uso
 Ogni produttore implementa protocolli differenti
 Ogni produttore potenzialmente fa uso di tecnologie per la comunicazione
diverse

Command High level LabVIEW robot protocol

Denso Mitsubishi Kuka Staubli XYZ


Protocol Protocol Protocol Protocol Protocol

Robot Controller

13 Ottobre2009 ImagingLab Robotics Library 8


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: sia a livello di visione che robotico

 Procedure di manutenzione: preventive, ordinarie e straordinarie

 Interfaccia utente e gestione degli allarmi

 Gestione delle 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

13 Ottobre2009 ImagingLab Robotics Library 9


Robotica, visione, alimentatori and HMI in LabVIEW:
 Un diagramma semplificato di una intera applicazione
Selezione algoritmo di visione Abilitazione del QC Coordinate punto di prelievo

Abilitazione gestione
Tipo caricatore Tipo di robot alimentatore flessibile
13 Ottobre2009 ImagingLab Robotics Library 10
ImagingLab Robotics Library:

 LabVIEW standard
functions palette

 User libraries palette

 ImagingLab Robotics
Library

13 Ottobre2009 ImagingLab Robotics Library 11


Un esempio di astrazione: ‘move to’
Cosa si cela dietro ad una semplice VI di ‘Move to position’?

13 Ottobre2009 ImagingLab Robotics Library 12


Main palette – Denso Robotics Library:

 Apertura / Chiusura
comunicazione
 Accensione /
Spegnimento motori
 Impostazione delle
velocità di esecuzione
 Lettura posizione
attuale
 Reset degli errori
 Get / Set di variabili
 Get robot status
 Get task status

13 Ottobre2009 ImagingLab Robotics Library 13


Robot Move:

 Movimentazione verso una


posizione specificata
 Movimentazione verso una
posizione memorizzata
 Approach
 Depart
 Motion stop
 Attesa completamento
movimentazione

13 Ottobre2009 ImagingLab Robotics Library 14


Digital Input / Output:

 Get / Set di linee


 Get / Set di porte

13 Ottobre2009 ImagingLab Robotics Library 15


Tasks:

 Task start / stop


 Task status
 Task – gestione di
basso livello (linea di
esecuzione, priorità, ..)

13 Ottobre2009 ImagingLab Robotics Library 16


Parameters:

Libero accesso ai parametri

Accesso guidato ai parametri


 Payload - massa
 Payload - centro di
gravità
 Area di lavoro
 Area / Work / Tool
 …

13 Ottobre2009 ImagingLab Robotics Library 17


Libreria: un solo insieme di comandi?

Documentazione
Help on line
supporto

Esperienza ImagingLab Robotics Library


applicativa

Accordo con
il singolo
Robot brand
13 Ottobre2009 ImagingLab Robotics Library 18
Esempi applicativi:

A corredo della libreria


vengono forniti
alcuni esempi
applicativi

13 Ottobre2009 ImagingLab Robotics Library 19


Help on line:

A corredo della libreria


viene fornito un
“help on line”

13 Ottobre2009 ImagingLab Robotics Library 20


Installer

13 Ottobre2009 ImagingLab Robotics Library 21


La libreria: una “scelta …
non vincolante” !
Vision master
Robot master

Robotics in
LabVIEW program Robot task
managed
by LabVIEW
Express VI:
a “Wizard” for LabVIEW code:
Configurable application free to develop

ImagingLab Robotics Library


13 Ottobre2009 ImagingLab Robotics Library 22
Un esempio pratico:

DEMO

13 Ottobre2009 ImagingLab Robotics Library 23


DEMO – sviluppo di un’applicazione

13 Ottobre2009 ImagingLab Robotics Library 24


back to Ignazio Piacentini ….

13 Ottobre2009 ImagingLab Robotics Library 25


13 Ottobre2009 ImagingLab Robotics Library 26
Official release and commercial
availability of LAbVIEW robotics
libraries ….
 Denso Robotics Library has been released February
2009 by ImagingLab and will be by NI web services
(ni.com): official announcement on the 25 November
2009 at IREX 2009, Tokio, and SPS-IPC, Nuremberg
 Mitsubishi Robotics Library is available now from
ImagingLab
 Kuka Robotics Library will be released Q1-2010 (beta
version available now on request)
 Other library, special needs, please ask …..

13 Ottobre2009 ImagingLab Robotics Library 27


Questions &
answers …

28