robotica
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
robotica [2024/05/05 17:44] – [Lezione 5] admin | robotica [2024/05/14 21:16] (versione attuale) – [Impostazioni e particolarità] admin | ||
---|---|---|---|
Linea 165: | Linea 165: | ||
In genere si muove il robot con movimenti moveJ tranne quando si devono fare lavorazioni precise. In questo caso ci si avvicina al punto di lavoro definendo un target su punto di approccio, da raggiungere con movimenti moveJ, per poi procedere con movimenti moveL solo dove è necessario; per allontanarsi si definisce un target su un punto di svincolo e da lì si procede con movimenti moveJ. | In genere si muove il robot con movimenti moveJ tranne quando si devono fare lavorazioni precise. In questo caso ci si avvicina al punto di lavoro definendo un target su punto di approccio, da raggiungere con movimenti moveJ, per poi procedere con movimenti moveL solo dove è necessario; per allontanarsi si definisce un target su un punto di svincolo e da lì si procede con movimenti moveJ. | ||
+ | |||
+ | ===== RobotStudio ===== | ||
+ | |||
+ | Nell' | ||
+ | * specialmente nelle versioni più recenti è piuttosto impegnativo come risorse | ||
+ | * i crash non sono frequenti ma capitano, meglio salvare spesso | ||
+ | * è tradotto male in italiano (Project è tradotto proietta invece che progetto ma ci sono tanti altri esempi) | ||
+ | * il calcolo dei movimenti fallisce troppo spesso, o fallisce in maniera imprevedibile, | ||
+ | ==== Installazione e licenze ==== | ||
+ | |||
+ | RobotStudio si può utilizzare gratuitamente per 30 giorni poi richiede una licenza per funzionare. A scuola è installato un server che dispone di 100 licenze concesse a titolo gratuito da ABB ma da rinnovare ogni anno. RobotStudio va configurato indicando l' | ||
+ | |||
+ | Oltre ad installare RobotStudio occorre anche installare questi Add-In: | ||
+ | * RobotWare 7, OS del controllore del robot IRB14050 | ||
+ | * SmartGripper, | ||
+ | * Wizard Easy Programming, | ||
+ | |||
+ | RobotWare 7 a sua volta propone l' | ||
+ | |||
+ | ==== Impostazioni e particolarità ==== | ||
+ | |||
+ | Ci sono una serie di impostazioni e procedure non bene documentate che è meglio utilizzare. | ||
+ | |||
+ | === SmartGripper === | ||
+ | |||
+ | Per cominciare, se si vuole replicare la stazione con il robot vero e proprio serve: | ||
+ | * creare una stazione | ||
+ | * importare il robot IRB14050 | ||
+ | * aggiungere un controller virtuale (dal profilo) | ||
+ | * aggiungere l' | ||
+ | * aggiungere un secondo end-effector SmartGripper (non virtual), collegarlo al robot e poi cancellarlo | ||
+ | |||
+ | L' | ||
+ | |||
+ | === Impostazioni del controllore === | ||
+ | |||
+ | Si può usare RobotStudio anche senza modificare le opzioni predefinite ma sarebbe meglio: | ||
+ | * modificare il parametro //Arm Angle Reference// | ||
+ | * spuntare le opzioni //Collision Detection// e // | ||
+ | |||
+ | Altre opzioni che risultano attivate nel controller reale e che non sono presenti di default: | ||
+ | * Absolute Accuracy | ||
+ | * RW Add-In Prepared | ||
+ | * Collsion Avoidance | ||
+ | * Integrated Vision Interface | ||
+ | * Path Recovery | ||
+ | * RobotStudio Connect | ||
+ | * Soft Move | ||
+ | * World Zone | ||
+ | * Profinet Device | ||
+ | |||
+ | |||
+ | === Nel software === | ||
+ | |||
+ | Quando il calcolo dei movimenti genera il warning //Errore d' | ||
+ | |||
+ | CornerPathWarning FALSE; | ||
+ | | ||
+ | In simulazione non è richiesto ma la pinza del robot richiede una calibrazione ad ogni nuovo avvio del controller. Per farla in automatico inserire nel condice RAPID le istruzioni: | ||
+ | |||
+ | g_JogIn; | ||
+ | WaitTime 1; | ||
+ | g_Calibrate; | ||
+ | |||
+ | Che chiudono la pinza e dopo un secondo effettuano la calibrazione. | ||
===== Lezioni in aula con la 5C ===== | ===== Lezioni in aula con la 5C ===== | ||
+ | |||
+ | |||
==== Lezione 1 ==== | ==== Lezione 1 ==== | ||
Linea 198: | Linea 265: | ||
==== Lezione 4 ==== | ==== Lezione 4 ==== | ||
- | * movimentazione del robot con Flexpendant in simulazione e dal vero | + | * movimentazione del robot con Flexpendant((descritta nella sezione 1.3 del Manuale Operatore per Omnicore)) |
* movimento per giunti e movimento lineare | * movimento per giunti e movimento lineare | ||
* allineamento del tool al piano e riorientamento del tool | * allineamento del tool al piano e riorientamento del tool | ||
Linea 207: | Linea 274: | ||
* interfaccia della Flexpendant: | * interfaccia della Flexpendant: | ||
- | * pagina principale e pagine secondarie, chiudere le pagine | + | * pagina principale e applicazioni((descrizione nella sezione 2.2.3 del Manuale Operatore Omnicore)), chiudere le applicazioni |
- | * tasti fisici | + | * tasti fisici, vista QuickSet |
* control panel: auto/ | * control panel: auto/ | ||
+ | * execution: singolo/ | ||
* barra di stato, impostazioni, | * barra di stato, impostazioni, | ||
- | * jog: vista, informazioni sulla posizione, lock dei movimenti, sistema di coordinate, tipo di movimento, tool e workobject | + | * jog: vista, informazioni sulla posizione, lock dei movimenti, sistema di coordinate((sezione 5.2 del Manuale Operatore Omnicore oppure sezione 2.1 del manuale Panoramica del linguaggio RAPID)), tipo di movimento, tool e workobject |
* controllo del robot dalla Flexpendant virtuale | * controllo del robot dalla Flexpendant virtuale | ||
- | * generalità sulla movimentazione del robot: percorsi, tipo di movimento, singolarità | + | * generalità sulla movimentazione del robot: percorsi, tipo di movimento, singolarità((sezione 2.7 del manuale Panoramica del linguaggio RAPID)) |
- | * istruzioni di movimento: tool, moveJ, moveL, velocità, | + | * istruzioni di movimento: |
+ | |||
+ | ==== Lezione 6 ==== | ||
+ | |||
+ | * sincronizzazione tra ambiente grafico e controller (e viceversa) | ||
* programmazione grafica con l' | * programmazione grafica con l' | ||
- | | + | * seguiamo il tutorial della Flexpendant |
+ | * passiamo alla applicazione code((sezione 6.3 del Manuale Operatore Omnicore)): il programma è tradotto in RAPID (sia su Flexpendant che su RobotStudio) | ||
+ | | ||
+ | |||
+ | ==== Lezione 7 ==== | ||
+ | |||
+ | Simulazione: | ||
+ | * si possono eseguire i singoli movimenti (o i singoli percorsi) dall' | ||
+ | * viene simulato il RAPID -> occorre sincronizzare | ||
+ | * se non è presente una procedura (o percorso) che si chiama main bisogna definire un punto di ingresso per la simulazione | ||
+ | * per tornare a un punto di partenza basterà selezionare un target e spostare il robot (dalla scheda profilo) | ||
+ | * è utile memorizzare uno stato iniziale della simulazione a cui tornare prima di lanciarla | ||
+ | * si può attivare la traccia TCP per vedere il percorso effettivo | ||
+ | * si può registrare e esportare la simulazione come video | ||
+ | |||
+ | Concetti sul RAPID: | ||
+ | * non è case sensitive | ||
+ | * segnaposto (ad es. < | ||
+ | * commenti e operatori | ||
+ | * moduli e procedure, modulo main | ||
+ | * programma = cartella con moduli (.mod) e descrizione (.pgf) | ||
+ | * procedure, funzioni (restituiscono un valore) e routine trap (interrupt) | ||
+ | * variabili persistenti | ||
+ | * arresto del programma | ||
+ | * help online: manuale operatore RobotStudio e manuale completo del RAPID (reference istruzioni) | ||
+ | * le istruzioni del gripper sono documentate nel [[https:// | ||
+ | * Intellisense e TAB | ||
+ | |||
+ | Esercizio: | ||
+ | * spacchettare pack-and-go (robot+controller+tooldata+procedure pinza) | ||
+ | * creare due workobject | ||
+ | * selezione tool e workobject | ||
+ | * selezionare MoveAbsJ nella barra di stato | ||
+ | * creare un JointTarget Sollevato | ||
+ | * trascinare nel main per insegnare l' | ||
+ | * provare il movimento (sposta Home poi Sposta lungo il percorso) | ||
+ | * imposta UCS (user coordinate system) | ||
+ | * creare un solido e duplicarlo (5 copie) | ||
+ | * moveL v100 fine | ||
+ | * creare target (selezione e snap) | ||
+ | * moveJ v500 z10, spostamento lineare e posizione approccio | ||
+ | * chiamata a procedure apri pinza, chiudi pinza | ||
+ | * chiamata a istruzione waittime | ||
+ | * punto reset simulazione | ||
+ | * sincronizzazione e simulazione | ||
+ | * istruzioni moveJ e moveL | ||
+ | * uso di Offs | ||
+ | * simulazione | ||
+ | * esportazione video | ||
+ | * salvataggio e trasferimento al robot | ||
===== Risorse e documentazione ===== | ===== Risorse e documentazione ===== |
robotica.1714931085.txt.gz · Ultima modifica: 2024/05/05 17:44 da admin