Strumenti Utente

Strumenti Sito


pw2026

Questa è una vecchia versione del documento!


Project Work 2026 - Scacchi con il robot ABB

Project work che coinvolge le materie di Elettrotecnica ed Elettronica e Sistemi Automatici curato dai prof. Leonardo Canducci e Paolo Lumini.

Robot industriali

Per la teoria si rimanda alla pagina del sito di quinta di TPSEE.

Robotstudio

La programmazione del robot si fa nell'ambiente di sviluppo RobotStudio di ABB. Nei laboratori è installata la versione 2024 e 20251). Il software è gratuito per le scuole ma richiede una licenza gestita da un server - il PC del docente in L03 - che deve essere acceso.

Lezione 1

  • avvio di RobotStudio
  • creazione di una stazione robotica
  • inserimento del robot IRB14050 alla stazione
  • aggiunta del tool Virtual Smart Gripper alla stazione (NB accettare l'esecuzione del codice nella finestra di dialogo che compare) e collegamento al robot con drag-and-drop
  • aggiunta del tool Smart Gripper e successiva eliminazione (questo passo serve ad avere un sistema di riferimento sul TCP della pinza che manca nel tool Virtual Smart Gripper)
  • aggiunta del controller virtuale da Home|Virtual Controller|dal profilo
  • panoramica sull'interfaccia grafica di RobotStudio

Lezione 2

  • apertura di un file pack and go2) per scompattare un progetto esistente con una copia del robot e del controller configurata come quella presente in laboratorio
  • movimentazione del robot: tasto destro da Home|Profilo|IRB14050 e sposta il meccanismo per giunti
  • movimentazione del robot: tasto destro da Home|Profilo|IRB14050 e sposta il meccanismo linearmente
  • movimentazione del robot in ambiente grafico con “sposta il giunto” dalla scheda home (evitare di usare le frecce circolari rosse!)
  • movimentazione del robot in ambiente grafico con “jog TCP” dalla scheda home, scelta dell'utensile e del sistema di riferimento più comodo
  • riposizionamento del robot: tasto destro da Home|Profilo|IRB14050|Sposta verso la posizone → home
  • modellazione della scacchiera
    • dalla scheda modellazione|solido|superficie con coordinate -500, -160, 0 e dimensioni 40×40
    • duplicare una parte (8 caselle, poi due file)
    • cambiare il colore delle caselle (modifica|imposta il colore)
    • duplicazione delle prime due file per formare la scacchiera
    • creazione del gruppo scacchiera con le parti delle 64 caselle
  • modellazione del pezzo con le dimensioni di un mattoncino del gioco da tavolo jenga
    • dalla scheda modellazione|solido|scatola coordinate -500, -160, 0 e dimensioni 25x15x75

Lezione 3

  • spostare il pezzo al centro della casella in basso a sinistra (a8 del giocatore): posizione|posiziona|un punto
    • attivazione dello snap al centro di un corpo e selezione dei punti di partenza e arrivo
  • allineamento del TCP all'asse z (da profilo|tasto destro|allinea)

Lezione 4

  • ruotiamo il pezzo di 90° attorno all'asse z scegliendo il punto attorno al quale ruota con lo snap sulla faccia superiore del pezzo
  • ricordarsi di cambiare il nome dei moduli in opzioni|robotica|sincronizzazione mettendo MainModule dappertutto
  • cambiamo l'origine della scacchiera con Modifica|Imposta origine locale e scegliamo l'angolo in basso a sinistra (-500, -160, 0 oppure snap con “fai scattare la fine”)
  • definizione del sistema di riferimento oggetto wobjScacchiera nell'angolo della scacchiera
    • home|altro|crea oggetto di lavoro, snap “fai scattare la fine”
    • da percorsi e target: individuare e selezionare un oggetto di lavoro, agganciare (“allega a”) un wobjScacchiera al corpo scacchiera
    • esempio del perché sia utile usare un oggetto di lavoro invece del sistema di riferimento universale (creare un target e spostare la scacchiera)
  • definizione di un jointTarget per sollevare il robot: sollevo il robot con “sposta il giunto”, lo allineo perpendicolarmente al piano e aggiusto l'orientamento della pinza con “jog TCP” poi con cliccando sull'anello blu digito 90°
  • definizione di due target nel punto di presa del pezzo e nel punto di approccio sopra il punto di presa
  • tipo di movimentazioni: moveAbsJ, moveJ, moveL e criteri di scelta
  • caratteristiche delle istruzioni di movimento: velcità, precisione, utensile, sistema di riferimento
  • definizione delle istruzioni in una procedura
  • concetto di sincronizzazione da e verso il RAPID
  • il linguaggio di programmazione RAPID
  • definizione delle procedure apriPinza e chiudiPinza e loro utilizzo in ambiente grafico
  • pick and place del pezzo
    • definizione di altri due target
    • istruzioni di movimento
    • gestione della procedura
    • sincronizzazione col RAPID
    • creazione di un punto di reset e simulazione

Lezione 5

  • definizione di una funzione (procedura) nel RAPID e sincronizzazione con la stazione (ambiente grafico)

Lezione 6

  • definizione di un target duplicandone uno esistente e aggiungendo un offset
  • differenza tra istruzioni di movimento: quando usare moveJ e quando usare moveL
  • parametri delle istruzioni di movimento: quando usare fine come zona
  • creazione di un'istruzione di movimento da un target esistente
  • riordinare le istruzioni in ambiente grafico
  • utilizzo dello smart-component Virtual SmartGripper; cosa fare quando ci sono dei bug:
    • dalla scheda home|profilo fare doppio click su SC_SmartGripper
    • nella finestra che si apre a sinistra cliccare il penultimo pulsante in basso “ReInizialization_Elabled” poi cliccare quello sotto “ReInizialize_SmartGripper”
    • la finestra si chiude e il componente smargripper dovrebbe tornare a funzionare: resettare la simulazione dalla scheda Simulazione|Reset e riprovare
  • la funzione Offs per ottenere un nuovo target spostato di una certa quantità lungo gli assi x, y, z
  • creazione e chiamata delle procedure prelievo e deposito

Lezione 7

  • procedure con parametri
  • definizioni di variabili
  • astrazione e generalizzazione delle procedure prelievo e deposito
  • coordinate di prelievo e deposito in un unico dato numerico
  • estrazione delle coordinate dal dato numerico con le funzioni DIV e MOD

Torna all'indice.

1)
in quest'ultima un bug fastidioso impedisce di usare lo snap nella movimentazione del TCP
2)
vedi qui
Questo sito Web utilizza i cookie. Utilizzando il sito Web, l'utente accetta la memorizzazione dei cookie sul proprio computer. Inoltre riconosci di aver letto e compreso la nostra Informativa sulla privacy. Se non sei d'accordo, lascia il sito.Maggiori informazioni sui cookie
pw2026.1780607181.txt.gz · Ultima modifica: da admin