Sei sulla pagina 1di 28

Modalit Modalit di programmazione

OnOn-line programming
l l l

skill downdown-time accurate

Universit
l l l

OffOff-line programming (OLP)


graphic tools less downdown-time less accurate

degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.1 p. 1

Modalit Modalit di programmazione


l

OffOff-line programming
l

vantaggi
l

Universit
Effective programming of program logics

calculations with state state-of of-the -art debugging facilities Process support tools for instance selection of welding parameters

degli studi di
l

Verification of program through simulation and visualization Well documented through simulation model with appropriate programs
Reuse of existing CAD data

Cost independent of production

Production can continue while programming

svantaggi
l l

Investimento iniziale nel software e per costi/tempi di apprendimento Necessit Necessit di calibrazione
p.2 p. 2

Cassino

M. Strano, La programmazione, Lez. 8

Modalit Modalit di programmazione


l

A robot program consists mainly of two parts


l l

Locations
l

program logics
l

Universit
(position and alignment) (controller structures, communication, calculations) The program logics

hybrid programming
l

degli studi di
OFF LINE
l l

effective debugging and simulation facilities are available reuse of CAD data and interaction of the programmer

The major part of movement commands

ON LINE
l

Movement commands to locating the placement of the piece in the robot's workcell

Cassino
p.3 p. 3

M. Strano, La programmazione, Lez. 8

Programmazione OFF LINE dei robot


Model Cell

Universit
Real Cell

Calibrated Model Cell

degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.4 p. 4

calibration

OffOff-line programming

Programmazione OFF LINE dei robot

Universit
degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.5 p. 5

Programmazione OFF LINE dei robot


l

Schema del processo di programmazione

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.6 p. 6

Programmazione OFF LINE dei robot


Passi da compiere
1. 2. 3. 4. 5. 6. 7.

degli studi di
(keypoints) keypoints)

Definire il prodotto Definire il ciclo (e verificare il carico) Definire lo spazio di lavoro Definire i punti di riferimento per il robot Scrivere il programma Definire i punti di riferimento effettivi Verificare il programma

Universit Cassino
p.7 p. 7

M. Strano, La programmazione, Lez. 8

Programmazione OFF LINE dei robot


Dati di carico

Universit Cassino

Per poter muovere un utensile o un pezzo il pi pi velocemente possibile senza sovraccaricare i sistemi di azionamento del robot occorre tener conto anche dei dati di carico dell dell utensile o del pezzo

degli studi di
M. Strano, La programmazione, Lez. 8 p.8 p. 8

Programmazione OFF LINE dei robot


verificare il carico
l

Universit Cassino

payload is specified as the maximum value before serious performance loss

degli studi di
M. Strano, La programmazione, Lez. 8 p.9 p. 9

Programmazione OFF LINE dei robot


verificare il carico
l

payload is specified as the maximum value before serious performance loss

Universit Cassino

degli studi di
Distanza complessiva del baricentro del carico dal centro del robot
M. Strano, La programmazione, Lez. 8 p.10 p. 10

Programmazione OFF LINE dei robot


verificare il carico

Universit
Carico per ogni asse

degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.11 p. 11

Programmazione OFF LINE dei robot


verificare il carico

Universit Cassino
A2 Carichi addizionali per asse

degli studi di
A1
M. Strano, La programmazione, Lez. 8 p.12 p. 12

Programmazione TASK LEVEL

Universit
degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.13 p. 13

Programmazione MANIPULATOR LEVEL Tipi di controllo


Need to find the Inverse Kinematics

Universit
l l l l
l l

degli studi di
B-spline Cubic spline
Link Space

PointPoint-toto-point Linear interpolation Circular interpolation Complex curve interpolation

n variables ( 1 n)

Cassino
Forward K Inverse K
p.14 p. 14

Tool Space

6 variables (x,y,z, x, y, z)

M. Strano, La programmazione, Lez. 8

Programmazione MANIPULATOR LEVEL


l

Metodi di programmazione offoff-line manuale

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.15 p. 15

Programmazione MANIPULATOR LEVEL


l

Esempio: AML, della IBM

Universit
Comandi di movimento Gestione sensori

degli studi di
M=MONITOR (<SLP,SRP>, 1, 0, F); IF THEN ELSE WHILE DO = + - * / Operatori logici, aritmetici, relazionali AND OR NOT XOR
M. Strano, La programmazione, Lez. 8 p.16 p. 16

MOVE (JZ, 3.0); MOVE (<JR,JP,JW>, <-45.0, 0.0, 0.0>

Cassino

Controllo flusso sequenziale

Il robot KUKA
l

Sistemi di coordinate e assi di rotazione

Universit Cassino
Resolver

degli studi di
M. Strano, La programmazione, Lez. 8 p.17 p. 17

Sistemi di coordinate e assi di rotazione


l

Calibrazione del robot


l
l

gli assi vengono portati in una posizione meccanica definita, la cosiddetta posizione zero meccanica.
correlazione con langolo di azionamento asse e viene definita tramite una tacca di misura o un contrassegno viene memorizzato il valore assoluto del trasduttore per ogni asse

Universit Cassino

degli studi di
l
M. Strano, La programmazione, Lez. 8 p.18 p. 18

Sistemi di coordinate e assi di rotazione


l

Calibrazione del robot


l

Universit Cassino

Per il preciso raggiungimento della posizione zero meccanica viene impiegato un nonio, un comparatore o un tastatore elettronico (EMT)

degli studi di
M. Strano, La programmazione, Lez. 8 p.19 p. 19

Sistemi di coordinate
La posizione del centro della flangia viene descritta tramite la sua distanza dallorigine del sistema di coordinate mondo, suddivisa nelle componenti X, Y e Z

Universit Cassino

Lorientamento del sistema di coordinate della flangia del robot la cui origine si trova nel centro della flangia viene descritto tramite la rotazione rispetto al sistema di coordinate mondo

degli studi di
M. Strano, La programmazione, Lez. 8 p.20 p. 20

10

Sistemi di coordinate e assi

degli studi di

Linformazione che descrive un punto nello spazio tramite lindicazione delle coordinate X, Y e Z e degli angoli di rotazione A, B e C viene denominata FRAME.

Universit Cassino
p.21 p. 21

M. Strano, La programmazione, Lez. 8

Sistemi di coordinate e assi di rotazione

Universit
degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.22 p. 22

11

Sistemi di coordinate e assi di rotazione


l

Dati di carico

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.23 p. 23

Sistemi di coordinate e assi di rotazione


l

Misurazione dell dellutensile

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.24 p. 24

12

Sistemi di coordinate e assi di rotazione


l

Misurazione dell dellutensile


l

tolleranze

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.25 p. 25

Sistemi di coordinate e assi di rotazione


l

Misurazione dell dellutensile


l
l

Posizione: XYZ -- 4punti

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.26 p. 26

lutensile col suo TCP (punto di riferimento dellutensile) viene spostato da quattro direzioni (metodo 4 punti) su un punto di riferimento.

13

Sistemi di coordinate e assi di rotazione


l

Misurazione dell dellutensile


l
l

Posizione: XYZ --riferimento

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.27 p. 27

i dati di un utensile da misurare vengono rilevati tramite il confronto con un utensile noto spostandosi su un punto di riferimento

Sistemi di coordinate e assi di rotazione


l

Misurazione dell dellutensile: rotazione


l

degli studi di

ABC -2_punti l se per il posizionamento e la guida necessario un orientamento esatto dei tre assi dellutensile. Esso richiede la presenza di punti contrassegnati sul lato positivo del piano XY e sul lato negativo dellasse X dellutensile ABC -- mondiale (5D) l se necessaria soltanto la direzione di lavoro dellutensile per il suo posizionamento e la sua guida (saldatura MIG/MAG, taglio con laser o con getto dacqua). ABC -- mondiale (6D) l se necessario lorientamento di tutti i tre assi dellutensile per il posizionamento e la guida (ad es. pinze di saldatura, gripper, ugelli di adesivo, ecc.)

Universit Cassino
p.28 p. 28

M. Strano, La programmazione, Lez. 8

14

Sistemi di coordinate e assi di rotazione


l

Base (riferimento pezzo)

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.29 p. 29

Sistemi di coordinate e assi di rotazione


l

I sistemi di coordinate
l

specifico per asse


l

Universit Cassino
p.30 p. 30

Ogni asse del robot da A1 ad A6 pu essere spostato singolarmente in direzione positiva o negativa Un sistema di coordinate ortogonale che ha la sua origine nella punta dellutensile. Sistema di coordinate ortogonale che ha la sua origine sul pezzo in lavorazione Sistema di coordinate ortogonale fisso che ha la sua origine nel piede del robot

degli studi di
l

TOOL

BASE
l

WORLD
l

M. Strano, La programmazione, Lez. 8

15

Sistemi di coordinate e assi di rotazione


l

I sistemi di coordinate
l

Sistema di coordinate specifico per asse


l

Universit Cassino
p.31 p. 31

degli studi di
l l
M. Strano, La programmazione, Lez. 8

Ogni asse del robot da A1 ad A6 pu essere spostato singolarmente in direzione positiva o negativa Gli assi A4 e A6 possono essere progettati per determinati casi di applicazione anche come assi rotanti in modo infinito. Le relative impostazioni vengono effettuate nel file $MACHINE.DAT Gli assi A1 e A3 sono assi rotanti in modo finito.

Sistemi di coordinate e assi di rotazione


l

I sistemi di coordinate
l
l

Sistema di coordinate TOOL

Universit
Un sistema di coordinate ortogonale che ha la sua origine nella punta dellutensile (TCP)
Il sistema TOOL segue sempre il movimento dellutensile.

degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.32 p. 32

16

Sistemi di coordinate e assi di rotazione


l

I sistemi di coordinate
l
l

Sistema di coordinate BASE

Universit
Sistema di coordinate ortogonale che ha la sua origine sul pezzo in lavorazione
Il sistema di coordinate BASE si sposta soltanto insieme ad un pezzo se questo applicato su una cinematica esterna, accoppiata in modo matematico.

degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.33 p. 33

Sistemi di coordinate e assi di rotazione


l

I sistemi di coordinate
l
l

Sistema di coordinate WORLD

Universit Cassino
p.34 p. 34

Sistema di coordinate ortogonale fisso che ha la sua origine nel piede del robot

In caso di selezione del sistema di coordinate TOOL, BASE o WORLD, normalmente vengono spostati pi assi in sincrono

degli studi di

M. Strano, La programmazione, Lez. 8

17

Il linguaggio KUKA KRL


l

Il control panel
l

degli studi di

Il KUKA Control Panel, denominato KCP, costituisce linterfaccia tra uomo e macchina per il comando semplice del controllo robot KR C1. Tutti gli elementi per la programmazione e il comando del sistema robot ad eccezione dellinterruttore principale sono alloggiati direttamente sul KCP

Universit Cassino

M. Strano, La programmazione, Lez. 8

p.35 p. 35

Il linguaggio KUKA KRL


l

Spostamento manuale del robot


l

degli studi di
Spostamento con lo space--mouse
in base allimpostazione dei gradi di libert contemporaneamente tre oppure sei assi

Lo spostamento manuale serve per il movimento del robot sotto comando manuale, ad esempio per linsegnamento di punti di destinazione o per portare il robot fuori ingombro dopo che un asse del robot ha urtato contro uno dei fine corsa software

Universit
ogni asse singolarmente

Spostamento con i tasti di spostamento Spostamento manuale disattivato


M. Strano, La programmazione, Lez. 8 p.36 p. 36

Cassino

18

Il linguaggio KUKA KRL

Universit
degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.37 p. 37

Il linguaggio KUKA KRL


l

Esecuzione, arresto e reset di un programma


l
l

Scelta e selezione di un programma

Universit
disinserire lo spostamento manuale eseguito completamente (impostazione Go)

degli studi di
Esecuzione manuale del programma

Scegliere col tasto cursore oder - il programma desiderato ed azionare il softkey Selezionare(in basso a sinistra del display). Appare il testo del programma

passo per passo (una frase di movimento dopo laltra)

Cassino
p.38 p. 38

M. Strano, La programmazione, Lez. 8

19

Il linguaggio KUKA KRL


l

Esecuzione, arresto e reset di un programma


l

Ridurre la velocit di spostamento nel funzionamento in manuale (Override manuale)

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.39 p. 39

Il linguaggio KUKA KRL


l

Istruzioni di programma

0. Ultima istruzione l Comando per linserimento dellistruzione eseguita per ultima; 1. Movimento l Consente la programmazione di movimenti PTP, LIN e CIRC; 2. Logica l Programmazione di istruzioni logiche e di tempi di attesa, di funzioni di comando e di impulso in base al percorso, settaggio e interrogazione di uscite ed ingressi; 3. CmdAnalog (Uscita analogica) l Settaggio delle uscite analogiche sotto controllo del programma; 4. Commento l Inserimenti di commenti nei moduli di programma; 5. KRL assistent l Programmazione KRL di funzioni speciali supportata da sintassi

Universit Cassino
p.40 p. 40

degli studi di

M. Strano, La programmazione, Lez. 8

20

Il linguaggio KUKA KRL


l

Istruzioni di programma
1. Movimento

Universit Cassino
p.41 p. 41

In caso di pi comandi di movimento successivi esistono due possibilit per definire come deve avvenire il movimento tra i singoli punti:

degli studi di

M. Strano, La programmazione, Lez. 8

Il linguaggio KUKA KRL


1. Movimento PTP
l

arresto preciso

Universit Cassino
p.42 p. 42

degli studi di
arresto approssimato

M. Strano, La programmazione, Lez. 8

21

Il linguaggio KUKA KRL


1. Movimento PTP

Universit
degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.43 p. 43

Il linguaggio KUKA KRL


1. Movimento lineare (LIN)

Universit
degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.44 p. 44

22

Il linguaggio KUKA KRL


1. Movimento circolare (CIRC)
l
l

La traiettoria viene determinata tramite il punto iniziale, il punto ausiliario e il punto di destinazione
I 3 punti individuano un piano. Affinch Affinch il controllo possa determinare questo piano in modo pi pi preciso possibile, questi tre punti dovrebbero trovarsi distanti uno dall dallaltro.

Universit Cassino

degli studi di
M. Strano, La programmazione, Lez. 8 p.45 p. 45

Il linguaggio KUKA KRL


1. Movimento circolare (CIRC)

Universit
degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.46 p. 46

23

Il linguaggio KUKA KRL


2. Logica
l
l

Funzioni di attesa
In secondi
l

Universit
Funzione di attesa in base al tempo (WAIT)

Funzione di attesa in base al segnale (WAITFOR)


Wait for in Wait for out

degli studi di
Funzioni di commutazione
l l l l

Funzione di commutazione semplice (OUT) Funzione impulso semplice (PULSE) Funzione di commutazione in base al percorso (SYN OUT) Funzione impulso in base al percorso (SYN PULSE)

Accoppiamento e disaccoppiamento del segmento INTERBUS (IBUS --Seg Seg on/off) (IBUS-p.47 p. 47

Cassino

M. Strano, La programmazione, Lez. 8

Il linguaggio KUKA KRL


4. Commento
l

Per rendere i programmi pi pi chiari si consiglia di inserire delle righe di commento che contengono dei testi illustrativi sui moduli del programma
l

Universit
La riga di commento viene preceduta automaticamente da un punto e virgola ( ; ).

degli studi di

Cassino
M. Strano, La programmazione, Lez. 8 p.48 p. 48

24

Esempi di programma
3 modi di esecuzione di un programma
l l l
l

ISTEP (Incremental (Incremental Step, Step, frase singola)

Il programma si arresta dopo ogni riga di programma Il programma si arresta dopo ogni riga di movimento Il programma si arresta solo alla fine se non ci sono istruzioni WAIT

Universit Cassino
p.49 p. 49

MSTEP (Motion (Motion Step, Step, passo di programma)


l

GO
l

degli studi di

Questa indicazione viene data in un file di configurazione del robot vale per tutti i programmi

M. Strano, La programmazione, Lez. 8

Il linguaggio KUKA KRL


I files
l
l l

Struttura del programma *.src *.src


DEF NAME() Dichiarazioni

Universit
Istruzioni

degli studi di
l

Sono lette dal robot tutte insieme all allinizio del programma Si devono sempre trovare in testa al file Sono lette dinamicamente riga per riga

l l

Sottoprogrammi END

2 tipi di file
l l

*.src (file programma vero e proprio) *.dat (eventuale lista dati, contiene solo dichiarazioni)

Cassino
p.50 p. 50

M. Strano, La programmazione, Lez. 8

25

Esempi di programma
Possibili dichiarazioni
l l
l

INT, REAL, CHAR, BOOL Strutture dati predefinite


l

Universit
Intero, reale, carattere, booleano POS

degli studi di
Posizione + correttori Status S e Turn T (posizione assiale univoca) REAL X, Y, Z, A, B, C, INT S, T Sistema locale di riferimento REAL X, Y, Z, A, B, C
l

FRAME

AXIS

Set di valori per gli assi REAL A1, A2, A3, A4, A5, A6

Cassino
p.51 p. 51

M. Strano, La programmazione, Lez. 8

Esempi di programma
Un programma molto semplice (1/2)
DEF PROG1() ;...... sezione delle dichiarazioni INT J ; dichiaraz dichiaraz. . di integer per la variabile J ;...... sezione delle istruzioni $ VEL_AXIS VEL_AXIS[1]=100 [1]=100 ; determinazione velocit velocit per asse $ VEL_AXIS VEL_AXIS[2]=100 [2]=100 $ VEL_AXIS VEL_AXIS[6]=100 [6]=100

Universit Cassino
p.52 p. 52

degli studi di

$ ACC_AXIS ACC_AXIS[1]=100 [1]=100 ; determinazione accelerazioni per asse $ ACC_AXIS ACC_AXIS[2]=100 [2]=100 $ ACC_AXIS ACC_AXIS[6]=100 [6]=100
M. Strano, La programmazione, Lez. 8

26

Esempi di programma
Un programma molto semplice (2/2)
;...... continua la sezione delle istruzioni PTP {A1 0, A2 -90, A3 90, A4 0, A5 0, A6 0} FOR J=1 TO 5 PTP {A1 45} PTP {A2 -70, A3 50} PTP {A1 0, A2 -90, A3 90} ENDFOR

Universit Cassino
p.53 p. 53

degli studi di
; movimento incrementale

PTP_REL {A1 0, A2 -90, A3 90, A4 0, A5 0, A6 0} END

M. Strano, La programmazione, Lez. 8

Esempi di programma
Un programma pi pi complesso (1/2)
DEF PROG2() ;...... sezione delle dichiarazioni DECL AXIS HOME ; variabile HOME del tipo AXIS DECL FRAME MYBASE[2] ; campo del tipo FRAME

Universit Cassino
p.54 p. 54

;...... sezione dell dellinizializzazione ; inizial inizial. . veloc veloc. . e acceler acceler .. HOME= {AXIS: A1 0, A2 -90, A3 90, A4 0, A5 30, A6 0} $BASE={X 1000, Y 0, Z 1000, A0, B0, C0} ; sist sist. . di coord coord. . base REF_POS ={X 100, Y 0, Z0, A0, B0, C0} ; posizione di riferimento MYBASE[2]={X0, Y200, Z250, A0, B90, C0}; sist sist. . di coordinate locale

degli studi di

M. Strano, La programmazione, Lez. 8

27

Esempi di programma
Un programma pi pi complesso (2/2)
;...... sezione delle istruzioni PTP HOME; movimento fino a casa casa nel sistema di coordinate BASE {A1 0, A2 -90, A3 90, A4 0, A5 0, A6 0} PTP REF_POS ; movimento nel sistema BASE fino a REF_POS PTP MYBASE[2] ; movimento nel sistema BASE fino a MYBASE[2] PTP MYBASE[2]: REF_POS ; movimento, nel sistema MYBASE[2], fino a REF_POS

Universit Cassino

degli studi di
p.55 p. 55

M. Strano, La programmazione, Lez. 8

Esempi di programma Un altro programma


DEF PROG3() ;...... sezione delle dichiarazioni $BASE = $WORLD ; il sistema base al piede del robot $TOOL= $NULLFRAME ; il TCP al centro della flangia EXT BAS(BAS_COMMAND BAS(BAS_COMMAND :IN, REAL :IN) ; programma standard esterno BAS.src ;...... sezione dell dellinizializzazione BAS(#INITMOV BAS( #INITMOV,0) ,0) ; inizial inizial. . veloc veloc. . e acceler acceler .. ;...... sezione delle istruzioni PTP {POS: X 1025, Y 0, Z 1480, A0, B90, C0, S B010 B010 , T B000010 B000010 } ;

Universit Cassino
p.56 p. 56

degli studi di

M. Strano, La programmazione, Lez. 8

28