Una libreria in LabVIEW per la robotica Francesco Romanò
[email protected] 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
High level LabVIEW robot protocol
Command
Denso Protocol
Mitsubishi Protocol
Kuka Protocol
Staubli Protocol
…
XYZ 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 Selezione algoritmo di visione Abilitazione del QC
Tipo caricatore 13 Ottobre2009
Tipo di robot
applicazione Coordinate punto di prelievo
Abilitazione gestione alimentatore flessibile 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 applicativa
ImagingLab Robotics Library
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 Express VI: a “Wizard” for Configurable application
Robot task managed by LabVIEW
LabVIEW code: 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