Fabio Calegari
Introduzione all’utilizzo di
ROBCADTM
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
INTRODUZIONE
1
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
INTERFACCIA UTENTE
L’interfaccia grafica si presenta sotto forma di finestre multiple, ciascuna con una propria
funzione logica. Nell’illustrazione seguente è visibile l’interfaccia utente.
La finestra dei menù mostra la lista dei menù relativi al modulo caricato.
La finestra grafica mostra la ricostruzione grafica dell’ambiente virtuale. Può essere
ridimensionata e suddivisa in più parti per la contemporanea raffigurazione di diversi punti di
osservazione.
La finestra dei comandi mostra la lista dei comandi relativi al menù selezionato nella finestra dei
menù.
La finestra dei messaggi mostra una linea dei messaggi per l’operatore ed una linea di
immissione dati.
La finestra dei dati mostra una serie di dati prodotti dal comando eseguito. Ad esempio può
contenere informazioni sulla posizione di un robot.
La finestra di supporto (utilities window) contiene una serie di icone per l’attivazione rapida di
alcuni moduli.
2
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
CREAZIONE DEGLI ELEMENTI DELLA CELLA
ROBCAD possiede un potente “modellatore” CAD che permette di creare oggetti, meccanismi e
robot da impiegare nelle simulazioni. Per attivare il modellatore occorre selezionare “modeling”
dal menù “robcad”: la finestra dei menù viene aggiornata con i sottomenù di modeling e vengono
mostrati, automaticamente nella finestra dei comandi, i comandi relativi al sottomenù “files”.
Per iniziare la sessione di modellazione occorre dare il comando “open” e selezionare il nome
dell’oggetto che si vuole creare: se si seleziona un oggetto preesistente questo verrà aperto per le
modifiche, mentre se si seleziona un nome nuovo verrà creato un nuovo oggetto. È possibile
scegliere se modellare l’oggetto nella cella di lavoro o separatamente. Scegliendo la prima
opzione, se si utilizza lo stesso oggetto in più celle di lavoro, verrà modificato solo l’oggetto
nella cella di lavoro selezionata; scegliendo la seconda opzione l’oggetto verrà modificato in
tutte le celle di lavoro.
Nella finestra di supporto compaiono una serie di icone specifiche dell’ambiente MODELING
tra cui:
• General: attiva comandi generali del tipo copia, incolla, duplica…
• Mover: attiva comandi specifici per il posizionamento dei vari elementi.
• 2D sketcher: attiva una serie di comandi per la creazione di punti, linee…
• 3D sketcher: attiva una serie di comandi per la creazione di solidi esatti.
• Query: attiva una serie di comandi per la misurazione delle proprietà geometriche degli
elementi.
3
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
esatti. Il 3D sketcher si basa sulla rappresentazione CSG ma, attraverso il comando “explode” è
possibile scomporre il solido nelle superfici che lo costituiscono ad alterarle tramite il 2D
sketcher.
Attivando il “material editor” è possibile poi colorare o applicare textures agli oggetti creati.
ROBCAD permette di creare oggetti dotati di una cinematica che possono essere meccanismi o
robot. La distinzione tra i due tipi di oggetti consiste nel fatto che un meccanismo deve possedere
un riferimento base, mentre un robot deve possedere un riferimento base ed un riferimento
utensile.
Per assegnare una cinematica ad un oggetto occorre definirne i giunti, siano essi rotazionali o
prismatici. Per definire un giunto bisogna raggruppare gli elementi che costituiscono un unico
segmento in un “link” con l’apposito comando, ed occorre assegnare un segmento che identifichi
l’asse del giunto. A questo punto è possibile creare il giunto con il comando “create joint”,
specificando il link principale, il link secondario, l’asse ed il tipo di giunto.
Una volta definiti i giunti è possibile editarli per assegnarne le caratteristiche cinematiche e
dinamiche quali la massima corsa, la massima accelerazione.
Il meccanismo non è utilizzabile finché non viene impartito il comando “define mechanism” che
predispone la cinematica del meccanismo.
Al termine delle operazioni di modellazione occorre impartire il comando “close”.
Per creare la cella di lavoro occorre scegliere “workcell” dal menù “robcad”: la finestra dei menù
viene aggiornata con i sottomenù di workcell e vengono mostrati, automaticamente nella finestra
dei comandi, i comandi relativi al sottomenù “layout”.
Attraverso il comando “get component” è possibile importare nella cella gli oggetti
precedentemente creati o disponibili nella libreria.
Sono disponibili svariati comandi per il posizionamento dell’oggetto nella cella, per il
ridimensionamento della superficie di lavoro, per muovere meccanismi e robot, per aggiungere
nuove visuali e perfino per variare l’angolo di provenienza della luce!
La seguente figura mostra un esempio di una possibile cella di lavoro.
4
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
Sono visibili il manipolatore, il sistema di nastri trasportatori, l’armadio del controllore del robot
ed una macchina utensile.
Il pavimento è quadrettato in modo da facilitare il posizionamento degli oggetti, la spaziatura è
impostabile a piacimento. Sono state realizzate anche le pareti del locale, rese volutamente
semistrasparenti.
Per muovere un meccanismo occorre specificare a quale meccanismo si riferiscono le istruzioni
di movimento attraverso il comando “active mechanism”. È possibile utilizzare i comandi “joint
jog” e “robot jog” che attivano dei joystick che permettono di muovere il meccanismo per giunti
o in coordinate cartesiane.
È possibile registrare delle locazioni nello spazio che possono essere riutilizzate per
riposizionare il robot in un secondo tempo. Ad esempio è possibile memorizzare la posizione in
cui deve portarsi il robot per afferrare un pezzo da lavorare.
Per realizzare una simulazione occorre prima scrivere dei “task” in linguaggio TDL, che
permette di specificare le istruzioni di movimento e le operazioni da effettuare in modo molto
simile a quanto è in grado di fare un linguaggio di programmazione di alto livello orientato al
robot. La sintassi è molto simile al linguaggio PDL2 di COMAU, particolare giustificato dalla
stretta collaborazione tra le due aziende.
È possibile realizzare i task in modo interattivo attraverso il menù “tdl” o in modo manuale con
un editor di testo.
La regola generale per realizzare una simulazione è scrivere un task per ogni meccanismo e
sincronizzare le operazioni tramite le istruzioni WAIT e SIGNAL su segnali specificati in un
apposito file di comunicazione.
È possibile generare oggetti nello spazio di lavoro e sostituire un oggetto con un altro, particolare
utile per realizzare la simulazione ciclica della lavorazione di un pezzo. Ad esempio è possibile
5
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
generare un pezzo grezzo su di un nastro trasportatore, farlo afferrare da un robot che lo carica su
una macchina. Al termine della lavorazione della macchina si sostituisce il pezzo grezzo con il
pezzo lavorato in modo da dare l’impressione visiva della lavorazione avvenuta.
È necessario scrivere un file TDL per ogni task. I task hanno una sezione di dichiarazione delle
variabili ed una sezione eseguibile. La struttura tipica è:
task of mechanism;
<dichiarazione variabili>
begin
<sequenza di istruzioni>; --questo è un commento
nomeproc();
<sequenza di istruzioni>;
end;
procedure nomeproc(); --subroutine
<dichiarazione variabili locali>
begin
<sequenza di istruzioni>;
end;
end of task;
La prima riga definisce il meccanismo a cui si riferisce il task. La prima sezione di dichiarazione
variabili contiene le variabili globali, visibili cioè sia nella sezione principale che nelle
subroutine. La sezione di codice compresa tra la prima coppia di begin ed end è il blocco
principale. La seconda coppia di begin ed end rappresenta la sequenza di istruzioni della
procedura nomeproc che può disporre di variabili locali. La procedura nomeproc è una
subroutine che viene richiamata nel blocco principale, permettendo di raggruppare operazioni
ripetitive in modo comodo ed efficace.
Il linguaggio TDL mette a disposizione una serie di strutture di controllo molto simili a quelle
messe a disposizione dai più comuni linguaggi di programmazione di alto livello, di seguito
descritte.
• IF, l’istruzione IF permette di eseguire una scelta tra due gruppi di istruzioni a seconda
del valore di un’espressione (ad esempio a == b).
if boolean_exp then
<istruzioni>
else
<istruzioni>
end if;
6
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
• SELECT, l’istruzione SELECT permette di eseguire una scelta tra n gruppi di istruzioni
a seconda del valore assunto da un’espressione.
select espressione of
case intval1:
<istruzioni>
case intval2:
<istruzioni>
default:
<istruzioni>
end select;
7
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
while expression do
<istruzioni>
end while;
repeat
<istruzioni>
until expression;
8
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
repeat
<istruzioni>
forever;
goto label;
<istruzioni>
label:
<istruzioni>
ISTRUZIONI
Le istruzioni TDL sono innumerevoli, per cui vengono descritte le più comuni.
9
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
10
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
boolean
integer
real
string
location
compmodel
compname
...
PROCEDURE E FUNZIONI
la generica funzione è:
11
Introduzione all’utilizzo di ROBCADTM Ing. Fabio Calegari
Una volta preparati i file TDL è necessario compilarli per ottenere il file di simulazione che
avrà estensione .s e che potrà essere eseguito.
Per fare questo occorre attivare il menù “simulation” che consiste in due sottomenù
principali: “execution” e “preparation”. Utilizzando il comando “open simulation” si crea il
file simulazione, inizialmente vuoto, che si vuole realizzare. Attraverso “include task” è
possibile specificare tutti i file TDL necessari. È stato già accennato al fatto che i task sono
sincronizzati da segnali, e proprio per questo è disponibile il comando “signal table” che
permette di creare il file di connessione. Se la compilazione va a buon fine viene preparato il
file di simulazione. Attivando il sottomenù “execution” è possibile caricare la simulazione ed
eseguirla. Tra le altre cose, nella finestra dei messaggi, è disponibile un cronometro che
permette di misurare la durata di ciascuna fase della lavorazione.
FUNZIONI AVANZATE
12