Sei sulla pagina 1di 19

Indice:

Obiettivi
Ambiti di utilizzo
Modalit di funzionamento
Posizionamento Assistito vs Posizionamento
Automatico
Architettura
Componenti software
Utilizzo del software ORME
Conclusioni e risultati
Sviluppi futuri
Dimostrazione

Introduzione:
Obiettivo: sviluppo di un software per lausilio alla programmazione di
robot per il posizionamento di oggetti
Oggetti da movimentare: prismi retti con facce superiore e inferiore non
concave
Area di lavoro: piano

Il programma riproduce
lambiente di lavoro

Lutente programma
manualmente i posizionamenti

Il software guida lutilizzatore
nel trascinamento

Introduzione:
Obiettivo: sviluppo di un software per lausilio alla programmazione di
robot per il posizionamento di oggetti
Oggetti da movimentare: prismi retti con facce superiore e inferiore non
concave
Area di lavoro: piano

Il programma riproduce
lambiente di lavoro

Lutente programma
manualmente i posizionamenti

Il software guida lutilizzatore
nel trascinamento

Ambiti di utilizzo:
Il software stato sviluppato su richiesta di
unazienda produttrice di prefabbricati in cemento
armato.
Il robot deve posizionare le sponde lungo un
perimetro al cui interno verr successivamente
fatta la colata di cemento.



Il software stato sviluppato presso Sintec
Ingegneria s.r.l.

Ambiti di utilizzo:
Il software utilizzabile per problemi in cui:
Gli oggetti sono prismi retti con facce non concave
Il piano di lavoro rettangolare
Il magazzino a pile differenti di oggetti omogenei
Pallettizzazione con vincoli aggiunti:
Ogni strato di pallettizzazione un piano di lavoro
Gli oggetti in un singolo strato hanno tutti la stessa
profondit
Gli oggetti in ogni strato devono coprire la maggior
parte della superficie occupata dallo strato
superiore.
Modalit di funzionamento
Pianificazione












Definizione posizione degli
oggetti e calcolo coordinate


coordinate
Esecuzione












Il robot sposta gli oggetti


Posizionamento Assistito
PRO
Lutente sceglie la disposizione senza schemi
prefissati
Gli oggetti possono essere diversi tra di loro e non
rettangolari
CONTRO
Si devono definire gli accostamenti e lordine
Durante i drag & drop le misure sono discretizzate
a causa dei pixels
vs
Posizionamento Automatico:
Architettura
ORME (OFFLINE): genera la disposizione su file
CONTROLLORE DEL ROBOT (ONLINE):
movimenta il robot in base alla disposizione
Componenti software di ORME:
Il sistema software suddiviso in sei
sottosistemi cooperanti che sono:
oggetti depositabili,
magazzino (rappresentato dallistanza del database),
area di lavoro (area di deposito degli oggetti
depositabili),
disegni dxf (contenente figure costruttive),
file di output,
vincolatori (risolvono lerrore pixels e definiscono gli
accostamenti).
I Vincolatori:
Un vincolatore un mezzo che tiene conto di tutte le condizioni
meccaniche per il corretto posizionamento reale degli oggetti.
E istanziato dalla classe Binder:
ha il compito di manipolare le coordinate di un oggetto depositabile
dipende da un elemento dellarea di lavoro (oggetti depositabili, oggetti
fissi, sagome importate dal dxf )





Per avere un effetto complessivo migliorato si possono applicare pi
vincolatori in successione








I Vincolatori:
Generalizzazione dei vincolatori:




Allineatori



Attrattori








I Vincolatori:
I vincolatori sono generalizzati da:
Repulsori



Fissatori



Segnalatori








O
I Vincolatori:
Ordine di applicazione dei vincolatori:
1. Repulsori
2. Fissatori
3. Attrattori ad oggetti
4. Attrattori a dxf
5. Allineatori a dxf
6. Allineatori ad oggetti
7. Segnalatori




















Il metodo contains di
PlaceableObject:
Serve a determinare se un punto contenuto allinterno di un poligono, usato per
click del mouse per il drag & drop
determinare la sovrapposizione di due poligono
Teorema della corda di Jordan



Codice:
public bool contains (PointF p)
{
bool res = false;
int contIntersect = 0;
for (int i = 0; i < vectP.Length; i++)
{
PointF p1 = new PointF(vectP[i].X, vectP[i].Y);
PointF p2 = new PointF((vectP[(i + 1) %
vectP.Length].X),(vectP[(i + 1) % vectP.Length].Y));
if (Util.intersects(p1, p2, p))
contIntersect++;
}
return ((contIntersect % 2) == 1);
}
Utilizzo del software ORME:
1. Si popola il database con gli oggetti disponibili nel
magazzino reale
2. Eventualmente si importano sagome da un dxf da
utilizzare come guide nel posizionamento
3. Si trascinano gli oggetti dal magazzino virtuale allarea di
lavoro, allineandoli al dxf o agli oggetti gi depositati
4. Gli oggetti possono essere ruotati e si pu definire la
direzione di accostamento
5. Una volta terminato il trascinamento, lo stato
delloggetto risulta:
Correttamente accostato
Non correttamente accostato
Non accostato
6. Una volta terminati tutti i posizionamenti si salva il file
che successivamente potr essere letto dal controllore
del robot
Conclusioni e risultati:
Il software grazie allausilio dei vincolatori
impedisce allutente di effettuare operazioni non
consentite
Inoltre non permette di creare situazioni
pericolose per il posizionamento reale del robot
Si adatta ai problemi reali e ad ogni esigenza
tecnologica grazie ai connettori virtuali
I tempi di generazione del file sono di ordine
polinomiale e sono in pratica molto rapidi.
Il software risultato subito intuitivo alloperatore
Il sistema stato installato in unazienda a Gomel,
Bielorussia ed operativo.
Sviluppi futuri:
Sviluppare laccostamento su pi lati per
poligoni anche concavi
Adattare il software per limpiego nella
pallettizzazione
Sviluppare diversi connettori virtuali per
renderlo multipiattaforma.
Dimostrazione :