capitolo 1 - unipv.it · pdf filecaso del robot smart-3 s2, gli assi sono 6 più 2...

18
CAPITOLO 1 IL SISTEMA ROBOTICO INTRODUZIONE Questo capitolo si propone di illustrare le caratteristiche del sistema robotico utilizzato nelle prove di laboratorio, ovvero il robot COMAU SMART-3 S2, l’unità di governo C3G-900, la scheda di interfacciamento BIT3, il software PC-C3LINK. In particolare sarà posta attenzione sulla modalità di realizzazione del controllo di posizione della COMAU. Inoltre, sarà chiarito l’utilizzo del programma PC-C3LINK che consente la completa gestione del robot mediante un Personal Computer al posto dell’unità C3G. 1.1 IL SISTEMA ROBOTICO Si definisce sistema robotico l’insieme funzionale costituito da: unità di controllo, robot, unità portatile di programmazione e/o di emergenza ed eventuali opzioni. Il robot SMART-3 S2 di figura 1.1 è un robot a sei assi, dal peso estremamente contenuto, 300 kg circa, realizzato dalla COMAU, per capacità di carico leggere, atto a soddisfare le esigenze di applicazioni quali: saldatura ad arco; caricamento/scaricamento macchina; inserzione con controllo di forza; controllo/ispezione; applicazione di fluidi ad alta densità, come sigillanti o collanti; sbavatura; lavaggio e/o pulizia. Le elevate prestazioni del robot si sintetizzano in:

Upload: truongdan

Post on 06-Mar-2018

226 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

CAPITOLO 1

IL SISTEMA ROBOTICO

INTRODUZIONE

Questo capitolo si propone di illustrare le caratteristiche del sistema robotico utilizzato nelle prove

di laboratorio, ovvero il robot COMAU SMART-3 S2, l’unità di governo C3G-900, la scheda di

interfacciamento BIT3, il software PC-C3LINK.

In particolare sarà posta attenzione sulla modalità di realizzazione del controllo di posizione della

COMAU.

Inoltre, sarà chiarito l’utilizzo del programma PC-C3LINK che consente la completa gestione del

robot mediante un Personal Computer al posto dell’unità C3G.

1.1 IL SISTEMA ROBOTICO

Si definisce sistema robotico l’insieme funzionale costituito da: unità di controllo, robot, unità

portatile di programmazione e/o di emergenza ed eventuali opzioni.

Il robot SMART-3 S2 di figura 1.1 è un robot a sei assi, dal peso estremamente contenuto, 300 kg

circa, realizzato dalla COMAU, per capacità di carico leggere, atto a soddisfare le esigenze di

applicazioni quali:

• saldatura ad arco;

• caricamento/scaricamento macchina;

• inserzione con controllo di forza;

• controllo/ispezione;

• applicazione di fluidi ad alta densità, come sigillanti o collanti;

• sbavatura;

• lavaggio e/o pulizia.

Le elevate prestazioni del robot si sintetizzano in:

Page 2: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

2

• ampio volume di lavoro (sbraccio massimo orizzontale: 1458 mm, verticale: 2208 mm);

• polso con campo di lavoro molto esteso, che consente una maggiore azione nella zona di lavoro;

• capacità di carico massimo al polso di 8 kg;

• capacità di carico massimo supplementare di 10 kg;

• accelerazione e velocità estremamente elevate;

• freni su tutti gli assi;

• precisione di posizionamento e ripetibilità contenuta in un ristretto campo di tolleranza (± 0,10

mm);

• servizi elettrici e pneumatici già predisposti per l’allacciamento sull’avambraccio.

La movimentazione degli assi è comandata da motori sincroni a commutazione elettronica a

magneti permanenti della AEG che, oltre a ridurre gli interventi di manutenzione, offrono i vantaggi

di una minore inerzia e di una più facile dissipazione del calore, consentendo l’impiego del robot in

cicli di lavoro particolarmente gravosi. La trasmissione del moto avviene unicamente attraverso

riduttori meccanici ad ingranaggi, fatta eccezione per l’asse 6.

Page 3: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

3

Figura 1.1: Robot SMART-3 S2

1.1.1 L’UNITÀ DI GOVERNO

L’unità di governo è denominata C3G-900 ed è contenuta (fig.1.2) in un armadio di dimensioni

ridotte: 918 x 1754 x 573 mm (escluse le parti sporgenti).

Figura 1.2: Unità di Governo C3G-900

Questa unità di governo consente di controllare i robot COMAU che abbiano al massimo 8 assi (nel

caso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al

laboratorio, rende disponibile una potenza agli assi pari a 6 kVA per la gestione del robot con

leggera capacità di carico.

La sua struttura modulare può essere distinta nelle seguenti parti:

• Unità di Controllo (CU: Control Unit);

• Unità di Potenza (SAU: Servo Amplifier Unit);

Page 4: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

4

• Circuiti di Alimentazione (PCA: Power Circuit Assembly);

• Circuiti di Distribuzione (SDA: Service Distribution Assembly);

• Interfaccia Operatore (IPA: Interface Panel Assembly);

• Modulo di Trasduzione Assoluta (RPT : Resolver Position Tracker).

La tensione di alimentazione necessaria è di 380 Vca trifase; il raffreddamento della cabina è ad aria

forzata.

La Control Unit è l’unità di controllo propriamente detta del sistema; ad essa sono affidati i

compiti di calcolo e di controllo delle traiettorie del robot, di acquisizione della posizione degli assi

in riferimento assoluto, di generazione dei riferimenti per i moduli di azionamento all’interno della

Servo Amplifier Unit, di gestione dei segnali di ingresso/uscita verso il robot e di quelli di allarme

provenienti dal robot o dalle protezioni dell’area di lavoro.

La Servo Amplifier Unit rappresenta l’unità di potenza del controllo COMAU, riceve in ingresso i

segnali per la gestione degli assi provenienti dalla Control Unit, a cui è collegata.

Queste due unità sono alimentate dai circuiti che ricevono la tensione di alimentazione trifase in

ingresso e la trasformano e la distribuiscono a tutti i sottosistemi del C3G-900.

L’operatore controlla il funzionamento del robot tramite il pannello frontale dell’armadio. I

comandi eseguibili per mezzo dell’interfaccia operatore consentono: l’attivazione dell’interruttore

generale, l’arresto in emergenza del robot e la selezione degli stati (Programming e Auto-Local).

La programmazione del controllo, l’attivazione dei cicli di lavoro e la visualizzazione dei messaggi

sullo stato del robot avvengono per mezzo del terminale di programmazione (PTU).

Gli algoritmi di controllo di posizione usati dalla COMAU sul C3G-900 sono di due tipi:

assegnamento dei poli e regolatori di tipo PI.

Per entrambi i tipi di algoritmi sono presenti delle precompensazioni di velocità, accelerazione e

coppia.

Il C3G-900 è dotato di una memoria, per contenere i programmi con le istruzioni dei cicli di lavoro,

con capacità di 1 Mbyte; la memoria è di tipo RAM CMOS con batteria tampone, per mantenere i

dati in assenza di tensione di alimentazione, con autonomia massima di 15 giorni circa (400 ore).

Il sistema di controllo COMAU, come verrà approfondito in seguito, è formato da un

multiprocessore con microprocessori a 32 bit e interfacciamento su bus VME della Motorola;

inoltre è integrato, nel sistema stesso, un PLC in grado di gestire fino a 1024 ingressi/uscite per la

programmazione di cicli accessori.

Page 5: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

5

Il linguaggio di programmazione è chiamato PDL2 ed è simile al Pascal; esso è un linguaggio

testuale ‘compilato’, nel senso che le istruzioni vengono scritte in formato ASCII, tradotte in codice

oggetto dal microprocessore che governa l’apparecchiatura ed, infine, immesse in memoria.

Questo è importante soprattutto per la risoluzione in tempo reale di complicate operazioni, come

l’inversione della cinematica; inoltre con questo tipo di linguaggi è possibile generare un archivio

nel quale vengono individuati ed elencati tutti gli errori formali contenuti nei programmi.

Oltre alla programmazione testuale, attraverso il PDL2, è possibile anche la programmazione per

insegnamento diretto, tramite il linguaggio EZ, che avviene memorizzando i movimenti eseguiti dal

braccio del robot, guidato dal programmatore per mezzo del pannello mobile di comando (PTU).

Nella programmazione per apprendimento i segnali generati dal movimento vengono convertiti in

istruzioni in linguaggio PDL2 dall’unità di governo del robot.

Quest’ultimo tipo di programmazione è più immediato, ma ha lo svantaggio di permettere solo la

realizzazione di programmi semplici.

In entrambi i tipi di programmazione la traiettoria, cioè l’evoluzione descritta dal braccio durante

l’esecuzione di un movimento, può essere di due tipi:

1) traiettoria a livello di giunti: ogni movimento contiene dettagli sui singoli attuatori. Il

movimento dell’utensile, situato all’estremità del polso, sebbene ripetibile, non è prevedibile.

Questo, però, rappresenta il modo più rapido per spostamenti da una posizione all’altra.

2) traiettoria a livello di braccio o lineare: il centro dell’utensile (Tool Center Point-TCP), nello

spostamento da un punto all’altro, mantiene un movimento rettilineo e l’orientamento dell’utensile

varia in modo graduale, grazie al fatto che l’attuatore finale viene guidato attraverso l’uso delle

coordinate cartesiane.

Le istruzioni del movimento programmate dall’utente fanno riferimento alle posizioni x, y, z del

centro dell’utensile; queste vengono convertite automaticamente dall’unità di governo del robot,

tramite l’operazione di inversione della cinematica, in variabili dei singoli giunti. Questa

operazione, però, richiede tempo, rallentando le operazioni di spostamento fra due punti.

Il sistema di misura di posizione assi è realizzato con un solo resolver integrato in ciascun motore e

un modulo di trasduzione assoluta RPT (Resolver Position Tracker).

Il modulo RPT è costituito da una scheda alloggiata nella base del robot; esso rende il robot

assoluto perché i dati in essa memorizzati vengono mantenuti anche in assenza di alimentazione.

Ogni Resolver, con relativo modulo di conversione analogico/digitale, è accoppiato all’albero

motore e fornisce i 2 byte meno significativi della posizione assoluta rilevata, quindi un giro del

Page 6: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

6

rotore viene discretizzato in 65536 posizioni diverse, mentre spetta al modulo RPT fornire i

rimanenti 2 byte più significativi rappresentanti il numero di giri del motore.

La tensione di eccitazione al resolver viene fornita da RPT stesso ed è pari a: V f te = 6 2sen( )π

volt, con f = 4.88 kHz, e quindi implica che ogni 200 microsecondi venga rilevata la posizione

angolare, ovvero ogni periodo di chiusura degli anelli di regolazione delle correnti degli

azionamenti brushless dei motori.

Il modulo RPT con l’unità di governo C3G-900, può funzionare in due modi:

• modo giorno: robot acceso;

• modo notte: robot spento, ciò significa che entra in funzione un alimentatore switching,

alimentato dalla batteria tampone, che continua ad eccitare il resolver e in questo modo si riesce

a rilevare la nuova configurazione del robot nel caso di movimento ad unità di governo spenta.

Inoltre il modulo RPT determina la velocità dell’albero motore tramite la derivazione numerica

della posizione e memorizza le informazioni caratteristiche del robot su cui è installato quali, ad

esempio, il numero di assi, le caratteristiche meccaniche ed elettriche ed il numero di serie. Ciò

consente all’unità di controllo di effettuare la verifica della congruenza del sistema.

1.2 GESTIONE DELLA POSIZIONE

Scopo di questo paragrafo è illustrare quali sono le componenti hardware che consentono di

realizzare la gestione e il controllo della posizione dei giunti del robot e quindi dell’effettore finale.

La CU si basa su un bus VME della Motorola e comprende due schede: la Robot CPU (RBC) e la

Servo Control CPU (SCC).

La RBC è dotata di una CPU 68020 della Motorola; essa gestisce l’interfaccia uomo-macchina,

traduce ed interpreta i programmi in PDL2.

Sulla RBC è alloggiata quell’area di memoria, detta memoria condivisa (shared memory), a cui

possono accedere tutte le schede connesse con il bus VME, compresa la RBC stessa.

La SCC, invece, è equipaggiata con una CPU 68020, una FPU 68882 (FPU : Floating Point Unit),

entrambe della Motorola, ed un DSP 320C25 della Texas TMS.

Page 7: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

7

RBC SCC SIM IOM PLC

I/O

MC 68020 MC 68020MC 68882

DSP TMS 320C256 assi

(massima espansione: 8)

Ingressi /Uscite di sistema

Base:16 ingressi15 uscite

Massima espansione: 200 punti di ingresso/uscita

MC 68020

Ingressi / Uscite remoti

Massima espansione: 1024 punti

Linea ad alta velocità

(1 Mbit/s)

VME BUS

Figura 1.3: Architettura dell’elettronica del C3G-900.

La CPU 68020 e la FPU 68882 eseguono la generazione della traiettoria, sia in coordinate

cartesiane, che nelle coordinate di giunto, e la cinematica inversa; il DSP, invece, esegue la

microinterpolazione del riferimento di posizione ed il controllo della posizione a livello di giunto.

I riferimenti di posizione vengono aggiornati ogni 10 ms, mentre il periodo di campionamento

dell’anello del controllo d’asse è di 1 ms; per permettere la corretta sincronizzazione di questi due

sistemi è necessario il microinterpolatore, che provvede alla generazione di 10 valori di riferimento,

ogni 10 ms, da inviare in ingresso al controllo d’asse.

Interprete micro-interpolatorecinem.

inversa

generaz.traiettoria

controllod'asse

.PDL

interfacciauomo-macchina Xrif.j

TETArif.j

TETAj

RBC SCC

''

j=1,...,6: è ilgenerico giunto

j

Ij

100 Hz 1 kHz

Figura 1.4: Schema funzionale della CU.

Il valore di riferimento della corrente, che costituisce l’uscita del controllo d’asse, viene inviato in

ingresso all’unità di potenza dei servo-amplificatori (SAU), che è in grado di alimentare i motori

sincroni del robot ed ha una struttura modulare costituita da:

Page 8: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

8

• DPS Drive Power Supply contiene l’alimentatore di potenza, il raddrizzatore a ponte di diodi, i

circuiti di comando della resistenza di frenatura ;

• SAM Servo Amplifier Module in cui risiede l’invertitore realizzato con IGBT che alimenta i

motori in base alla logica di comando PWM degli interruttori statici.

I moduli SIM e IOM (fig. 1.3) presenti nella CU, provvedono alle funzioni di sicurezza ed alla

connessione con eventuali dispositivi di ingresso ed uscita, sia digitali che analogici.

1.3 LA SCHEDA BIT3 403

La scheda BIT3 MODELLO 403, prodotta dalla Bit 3 Computer Corporation, è usata per

condividere memoria tra elaboratori IBM PC\AT e sistemi con bus di tipo VME, che nel caso in

esame sono rispettivamente: il PC con microprocessore Pentium della Intel ed il controllo C3G-900

della COMAU.

La scheda è costituita da 2 adattatori connessi da un cavo conduttore schermato: un adattatore è

alloggiato nel PC e l′altro nell’unità di governo. Questo apparato permette ai due sistemi, PC e

C3G-900, di condividere una porzione di memoria (shared memory), in modo che ognuno di essi

lavori e acceda ad essa come se fosse la propria.

La BIT3 sfrutta la mappatura in memoria; infatti attraverso la ponticellatura dei due adattatori, che

può essere variata in base alle esigenze dell’utente che usa la scheda, sono stabilite le zone di

partenza e di destinazione nello spazio di indirizzamento che permettere la comunicazione tra i due

sistemi. Il passaggio dei dati avviene attraverso degli interrupt la cui priorità viene definita dalle

ponticellature effettuate sulle schede.

I temporizzatori dei due bus (AT e VME) non sono collegati, in questo modo il sistema più veloce,

cioè il PC, lavora alla sua frequenza di 90 MHz e quindi non viene rallentato dal sistema più lento,

il C3G-900 che lavora, a seconda del modo di funzionamento, alle frequenze di 1 kHz oppure di 50

Hz. Infatti i due bus vengono connessi tra loro solo quando viene fatto riferimento ad un indirizzo

corrispondente all’area di memoria condivisa, che viene automaticamente tradotto in un indirizzo

dell’altra scheda.

Nella scheda presente all′interno del sistema PC\AT (fig.1.5), vengono definite delle zone di

memoria, attraverso la ponticellatura, che sono:

1) VMEbus RAM;

2) Remote bus RAM;

3) I/O range;

Page 9: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

9

4) Interrupt Request (IRQ).

Figura 1.5: Scheda per il sistema PC\AT

1) VMEbus RAM

È una zona di memoria chiamata “memory window”, dedicata alla comunicazione tra i due sistemi;

l′accesso a quest’area è consentito al solo bus VME.

2) Dual Port RAM

La Dual Port RAM è una zona di memoria che permette il passaggio di dati dal sistema VME al

PC\AT sotto il controllo del processore presente sul primo sistema.

L′accesso è consentito a tutti e due i sistemi.

3) I/O Range

È usato per determinare quali delle uscite del sistema PC\AT devono essere dedicate alla scheda

presente sul sistema stesso.

4) Interrupt Request (IRQ)

Si tratta di stabilire quale interrupt, fra tutti quelli possibili della scheda VME, debba indirizzarsi

all’ingresso di richiesta di interrupt (IRQ) della scheda del sistema PC\AT. Anche in questo caso

l’ingresso scelto non deve essere condiviso con nessun altro sistema presente nell’architettura del

sistema.

Page 10: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

10

Sulla scheda sono presenti anche la morsettiera di sistema (SYS) e il temporizzatore (Timing) che,

però, non devono essere modificate rispetto alla configurazione originale.

La scheda presente nel sistema con bus VME (fig.1.6), cioè il controllo C3G-900 della COMAU,

consente che le schede ad esso collegate vengano controllate dall’esterno. Nell’adattatore vengono

definite delle zone di memoria, attraverso la ponticellatura, che sono:

1) linee di Interrupt;

2) livelli del Bus Request (BREQ) e di Bus Grant (BGO-BGIN);

3) I/O range;

4) Dual Port Ram;

5) Address Bias.

Figura 1.6: Scheda per il sistema con bus VME.

1) Linee di Interrupt

La scheda può supportare due tipi diversi di interrupt chiamati: PT (per Interrupt programmato

verso il PC\AT), e PR (per Interrupt programmato verso il sistema con bus VME).

Nel caso in esame, per il fatto che si trasferisce il comando del C3G-900 al PC, è stato scelto il

primo tipo di Interrupt.

2) Livelli del Bus Request (BREQ) e di Bus Grant (BGO-BGIN)

Page 11: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

11

Stabiliscono i livelli di richiesta (BREQ) e di rilascio (BGO-BGIN) del bus VME da parte dei

dispositivi esterni. La configurazione scelta corrisponde al caso in cui il sistema VME non comanda

il sistema.

3)I/O Range

È usato per determinare quali delle uscite del sistema VME devono essere dedicate alla scheda

presente sul sistema stesso.

4) Dual Port Ram

In questo caso deve essere determinata l’ampiezza degli indirizzi sul bus attraverso i quali si possa

leggere o scrivere sulla Dual Port RAM. In corrispondenza dei morsetti della PORT RAM LO si

fissa l’indirizzo di partenza sul bus VME, mentre tramite PORT RAM HI si sceglie l’indirizzo

finale.

5) Address Bias

Stabilisce una corrispondenza e aggiusta sul sistema VME gli indirizzi provenienti dal cavo di

connessione delle schede, in modo che vengano ripristinati gli indirizzi esatti di memoria all’interno

del sistema VME.

Anche su questa scheda è presente una morsettiera precisamente quella di sistema (SYS), che non

deve essere modificata rispetto alla configurazione di partenza.

Per l’uso della scheda, quindi ogni volta che si vuole comandare il robot attraverso il PC, è

necessario lanciare il programma che esegue l’inizializzazione della comunicazione tra i due diversi

sistemi. L’eseguibile di questo programma si chiama B3INIT.EXE e si trova nella directory:

PCC3LINK\SETUP.

1.4 PC-C3LINK

L′unità di governo C3G-900, normalmente, funziona in modo chiuso, cioè non consente di avere

accesso né ai parametri, né alle variabili di sistema.

Per poter realizzare il controllo del robot con il PC è stato realizzato il cosiddetto ‘controllo aperto’

(fig.1.7): sono stati inseriti gli adattatori BUS-to-BUS della BIT3 nell’unità di governo e

nell’elaboratore; con quest’ultimo, utilizzando un pacchetto software denominato PC-C3LINK,

viene attivata la comunicazione tra il PC ed il C3G-900 e l’utente può accedere alle variabili del

robot e sviluppare nuovi algoritmi di controllo, implementati in linguaggio ANSI C della Borland.

Page 12: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

12

Il controllo è stato aperto connettendo il bus VME con quello del PC. Lo scambio dei dati avviene

sempre nella memoria condivisa, sull’RBC dell’unità di controllo del C3G-900.

La sincronizzazione tra i due sistemi è ottenuta attraverso dei segnali di interrupt generati dal C3G-

900, con frequenza prefissata, ed ogni volta che il PC riceve un segnale esso:

- legge i dati dalla memoria condivisa;

- elabora i dati (secondo l’algoritmo da eseguire);

- scrive i dati ottenuti all’interno della memoria condivisa (dati che poi vengono attuati dal

controllore C3G-900).

Figura 1.7: Configurazione del ‘controllo aperto’.

Il software PC-C3LINK mette a disposizione sette modi di funzionamento che differiscono tra di

loro per il livello di interazione con il controllo chiuso; questi modi sono:

Modo 0 :

Questo è, in realtà, il modo normale di funzionamento del controllore C3G-900. In questo modo

non viene inviato alcun segnale di interrupt al PC e non avviene nessuno scambio di dati tra i due

sistemi.

Modo 1:

In questo modo il PC può leggere i seguenti dati:

- riferimenti di posizione in coordinate cartesiane;

- riferimenti di posizione in coordinate del giunto;

- riferimenti di velocità;

Page 13: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

13

- posizioni degli assi dei motori;

- riferimenti di corrente dei motori;

- indicatori di stato di sistema (flag) che forniscono informazioni sullo stato del C3G-900;

- dati del robot;

e può mandare al controllore COMAU:

- riferimenti di posizione in coordinate cartesiane;

- riferimenti di posizione in coordinate del giunto (sono consentite solo ‘piccole variazioni’);

- compensazioni di corrente da aggiungere ai riferimenti di corrente generati dal C3G-900

(precompensazione di corrente).

Modo 2:

In questo modo il PC può leggere gli stessi dati letti nel modo 1 e può inviare al controllore

COMAU:

- riferimenti di posizione in coordinate cartesiane;

- precompensazioni di corrente.

Modo 3:

In questo modo il PC può solo leggere i dati provenienti dal controllore C3G-900, che sono gli

stessi letti nel modo 1.

Modo 4:

Il PC può leggere i seguenti dati:

- posizioni degli assi dei motori;

e può inviare al C3G-900 i:

- riferimenti di corrente dei motori.

Modo 5:

È il duale del modo 2. Il PC può leggere gli stessi dati del modo 1, e può inviare al controllo

COMAU:

- riferimenti di posizione in coordinate di giunto;

- riferimenti di velocità;

- precompensazioni di corrente.

Page 14: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

14

Modo 6:

È il duale del modo 4, infatti il PC può leggere i seguenti dati:

- posizioni degli assi dei motori;

- correnti di riferimento dei motori;

e può inviare al C3G-900 i:

- riferimenti di posizione dei motori.

I modi 1, 2, 3, e 5, interagiscono con il C3G-900 a livello di generazione della traiettoria, operando

ad una frequenza di 100 Hz.

Con questi modi di funzionamento il PC riceve un segnale di interrupt dall’unità di governo ogni 20

ms. Quando l’interrupt è rilevato dall’unità di controllo, si hanno 18 ms per realizzare le seguenti

operazioni:

- trasferimento dei dati dalla memoria condivisa all’interno del PC in una memoria tampone di

ingresso (buffer di input);

- preparazione dei dati che devono essere inviati alla C3G-900 e trasferimento di essi in una

memoria tampone di uscita (buffer di output) all’interno della scheda;

- trasferimento dei dati dalla memoria tampone di uscita alla memoria condivisa.

Tutto questo è schematizzato dalla fig1.8; più in dettaglio si hanno i seguenti passi:

Figura 1.8: Modalità di funzionamento 1, 2, 3, 5.

1) Il C3G-900 manda un interrupt al PC.

2) Il PC legge dalla memoria condivisa i dati scritti dalla C3G-900 e li mette in una memoria

tampone di ingresso.

3) Dopo che il PC ha preparato i dati per essere mandati alla C3G-900e li ha messi in una memoria

tampone di uscita, esso scrive il contenuto di questo memoria tampone nella memoria condivisa.

4) Il C3G-900 legge dalla memoria condivisa i dati scritti dal PC.

Page 15: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

15

5) Il C3G-900 scrive un nuovo insieme di dati nella memoria condivisa.

Con questi modi rimangono attive tutte le funzioni del C3G-900 per la generazione della traiettoria

e le istruzioni di accensione (DRIVE ON) e di spegnimento (DRIVE OFF). I comandi di partenza e

di arresto del moto del robot vengono impartiti dall’utente attraverso la pressione di determinati

tasti della tastiera del PC, specificati nel programma in uso.

I modi 4 e 6 interagiscono con l’unità di governo a livello di controllo di giunti ed operano ad una

frequenza di 1 kHz.

Il PC riceve ad intervalli di 1 ms un segnale di interrupt dal C3G-900; dal momento in cui

l’interrupt viene rilevato l’elaboratore ha 0,7 ms per:

- acquisire le posizioni dei motori attraverso la lettura della memoria condivisa;

- calcolare, usando un opportuno algoritmo, i riferimenti di corrente dei motori;

- inviare i riferimenti calcolati al C3G-900 attraverso la scrittura nella memoria condivisa.

Durante i rimanenti 0,3 ms il controllo COMAU esegue le seguenti operazioni:

- acquisisce i riferimenti di corrente, tramite la lettura della memoria condivisa e invia questi dati al

DSP sulla SCC;

- legge dal resolver RPT le posizioni correnti dei motori;

- invia le posizioni al PC, scrivendole sulla memoria condivisa.

Tutto questo è schematizzato nella fig.1.9.

Figura 1.9: Modalità di funzionamento 4, 6.

A) Il PC legge la posizione dei motori.

B) Il PC realizza il controllo di posizione e prepara i riferimenti di corrente dei motori.

C) Il PC manda al C3G-900 i riferimenti di corrente dei motori.

Page 16: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

16

D) Il C3G-900 manda i riferimenti di corrente dei motori al DSP e le posizioni dei motori al PC.

Con questi modi non rimangono attive tutte le funzioni del C3G-900 per la generazione della

traiettoria, e nemmeno le istruzioni di accensione (DRIVE ON) e di spegnimento (DRIVE OFF).

Infatti, l’utente trasmetterà all’unità di governo la traiettoria dei giunti che ha deciso di muovere e i

comandi di accensione e di spegnimento dei motori, direttamente dal PC.

L’utilizzo della versione del controllo aperto comporta rischi addizionali per la sicurezza, visto che

alcuni controlli (vedi Tab.1) non sono eseguiti dall’unità di governo.

Modi

Controlli 1 2 3 4 5 6

Sovravelocità X X X X X

Fine corsa X X X X

Errori di posizione dei motori X

Sovracorrenti X

Tab.1 Controlli da effettuare nelle varie modalità di funzionamento.

Il controllo di sovravelocità verifica che tutti i riferimenti di velocità dei giunti siano ,in valore

assoluto, minori dei seguenti limiti di velocità ( Tab.2 ):

Assi 1 2 3 4 5 6

Limiti di velocità [Deg/s] 160 115 200 430 360 300

Tab.2 Limiti di velocità.

Il controllo dei fine corsa verifica che tutti i riferimenti di posizione dei giunti rimangano all’interno

dei reali valori di corsa eseguibili dai giunti (questi valori compaiono nella tabella di caratteristiche

tecniche del robot).

Il controllo dell’errore di posizione dei motori verifica, per ogni giunto, che la differenza tra i

riferimenti di posizione dei motori e la posizione reale dei motori risulti, in valore assoluto, minore

della soglia fissata che è di uno o due giri di motore.

Il controllo delle sovracorrenti verifica che tutti i riferimenti di corrente siano inferiori, in valore

assoluto, dai seguenti limiti di corrente (Tab.3):

Page 17: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

17

Assi 1 2 3 4 5 6

Limiti di corrente [A] 23 18 18 5.5 5.5 4

Tab. 3 Limiti di corrente.

Per questa ragione la Tecnospazio fornisce un pacchetto software di sicurezze, costituito da una

libreria di programmi in C (SAFETY.H).

Queste funzioni sono state preparate con lo scopo di controllare se certe soglie limite sono state

superate durante il movimento del robot con il controllo aperto. Tali funzioni devono essere

collegate al programma che l’utilizzatore vuole eseguire (il file SAFETY.H deve essere incluso).

Al termine del programma, se si sarà superata qualche soglia, la relativa procedura di verifica

emetterà un determinato codice, in modo che l’utente possa correggere l’errore da lui commesso

senza aver provocato danni al robot.

Un altro meccanismo di sicurezza che è sempre attivo in tutti i modi che si possono selezionare, è

quello chiamato WATCHDOG.

Lo scopo di questo meccanismo è doppio:

1) Controllare che il PC sia ”operativo” quando la comunicazione tra esso e il C3G-900 è stata

attivata. Infatti, se durante l’esecuzione di un programma sul PC, l’elaboratore andasse fuori uso

mentre il sistema si trova nello stato di DRIVE ON, ci si troverebbe in una situazione pericolosa

in cui non è possibile il governo del robot.

2) Controllare che il PC abbia completato il trasferimento dei dati all’unità di governo entro i limiti

di tempo (dall’arrivo del segnale di interrupt per i modi 1,2,3,5 il limite pari a 18 ms mentre per

i modi 4, 6 il limite è 0.7 ms).

Questo meccanismo di protezione utilizza un indicatore (flag) che può essere scritto e/o letto dai

due sistemi comunicanti e funziona come descritto in seguito.

Ad ogni segnale di interrupt il controllore verifica se il contenuto del flag è alto: in caso positivo

significa che il calcolatore lo ha posto precedentemente uguale ad 1 e di conseguenza l’unità di

controllo lo azzera; tutto questo fa supporre che il PC stia mantenendo il comando del robot e che

l’algoritmo di controllo sia attivo. In caso contrario il C3G-900 blocca il robot, frenando

meccanicamente tutti i giunti ed invia un segnale di ‘SYSTEM FATAL ERROR’, che attiva

automaticamente l’allarme sul pannello di programmazione del robot. L’utente in questo caso dovrà

sbloccare i giunti, utilizzando la procedura descritta nel manuale utente del PC-C3LINK.

Page 18: CAPITOLO 1 - unipv.it · PDF filecaso del robot SMART-3 S2, gli assi sono 6 più 2 aggiuntivi) e nella versione A in dotazione al ... • Circuiti di Alimentazione (PCA: Power Circuit

18

Un altro flag utile per controllare il corretto svolgimento del programma implementato dall’utente è

quello chiamato INTACTIVE; esso è gestito dal programma e dagli interrupt che lo pongono

rispettivamente a 0 e a 1, ed è importante per la sincronizzazione del PC con il C3G-900.

Per passare dalla modalità normale di funzionamento (modo 0) del C3G-900 alle altre, è necessario

seguire la seguente procedura:

1. Entrare nell’ambiente di sviluppo del robot lanciando il programma PCCRT.EXE situato

all’interno della directory C:\ROBOT\EMULATOR.

2. Dare il segnale di invio dopo avere selezionato l’opzione PROGRAM dal menù che compare sul

video.

3. Dare il segnale di invio dopo aver scelto l’opzione GO.

4. Digitare INI e premere invio.

5. Ripetere l’operazione fatta al punto 3.

6. Digitare CNR1 e premere invio.

7. Scegliere il modo di funzionamento desiderato.

8. Se è stato scelto uno dei due modi 4 o 6, selezionare gli assi da abilitare al moto che verranno

sbloccati.

Al termine di questa procedura è necessario inizializzare il PC-C3LINK con l’istruzione B3INIT

situata nella directory C:\PCC3LINK\SETUP, che abilita la comunicazione tra i due sistemi.