Strumenti Utente

Strumenti Sito


robotica

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
robotica [2025/05/27 06:52] – [Impostazioni e particolarità] adminrobotica [2026/11/10 16:57] (versione attuale) – [Installazione e licenze] admin
Linea 180: Linea 180:
 ==== Installazione e licenze ==== ==== 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'indirizzo IP del server a cui richiedere una licenza che viene impegnata solo mentre lo si usa e poi restituita.+RobotStudio si può utilizzare gratuitamente per 30 giorni poi richiede una licenza per funzionare. <del>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'indirizzo IP del server a cui richiedere una licenza che viene impegnata solo mentre lo si usa e poi restituita.</del> Dal 2026 è cambiato il sistema di gestione delle licenze: ABB autorizza uno o due referenti per istituto che gestiscono licenze associate ad account ABB che vanno rinnovate ogni 30 giorni. Non c'è più un server per le licenze ma procede così: 
 +  * si attiva un account ABB con la mail istituzionale della scuola  
 +  * il referente scolastico manda un invito alla mail per attivare la licenza 
 +  * ogni 30 giorni il referente rinnova le licenze 
 +Questa gestione richiede un referente scolastico per le licenze ma permette di usare RobotStudio anche a casa.
  
 Oltre ad installare RobotStudio occorre anche installare questi Add-In: Oltre ad installare RobotStudio occorre anche installare questi Add-In:
Linea 187: Linea 191:
   * Wizard Easy Programming, per la programmazione a blocchi su Flexpendant   * Wizard Easy Programming, per la programmazione a blocchi su Flexpendant
  
-RobotWare 7 a sua volta propone l'installazione del software Virtual Flexpendant, indipendente da RobotStudio, che simula l'unità di programmazione esterna Flexpendant. Per fare in modo che la pinza interagisca con gli oggetti nelle simulazioni conviene installare anche il componente [[https://forums.robotstudio.com/discussion/12138/recent-update-march-2021-download-virtual-smartgripper-2-3-01?utm_source=community-search&utm_medium=organic-search&utm_term=virtual+smartgripper|Virtual SmartGripper]].+RobotWare 7 a sua volta propone l'installazione del software Virtual Flexpendant, indipendente da RobotStudio, che simula l'unità di programmazione esterna Flexpendant. <del>Per fare in modo che la pinza interagisca con gli oggetti nelle simulazioni conviene installare anche il componente [[https://forums.robotstudio.com/discussion/12138/recent-update-march-2021-download-virtual-smartgripper-2-3-01?utm_source=community-search&utm_medium=organic-search&utm_term=virtual+smartgripper|Virtual SmartGripper]].</del> Dal 2026 lo smart component Virtual Smartgripper non è più supportato e bisogna ricorrere a soluzioni alternative (molto più complicate) per interagire con altri corpi in simulazione((peraltro non è possibile continuare a utilizzare le versioni precedenti perché è cambiata la gestione delle licenze e il nuovo sistema non è compatibile con le versioni precedenti di RobotStudio)).
  
 ==== File associati a RobotStudio ==== ==== File associati a RobotStudio ====
Linea 227: Linea 231:
   * spuntare le opzioni //Collision Detection// e //Multitasking// del controller per avere a disposizione i blocchi dello SmartGripper nell'ambiente di programmazione Wizard; il modo più semplice per farlo è spuntare //Opzioni di personalizzazione// quando si crea il controller   * spuntare le opzioni //Collision Detection// e //Multitasking// del controller per avere a disposizione i blocchi dello SmartGripper nell'ambiente di programmazione Wizard; il modo più semplice per farlo è spuntare //Opzioni di personalizzazione// quando si crea il controller
   * attivare queste opzioni 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   * attivare queste opzioni 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
-Le opzioni sopra indicate si possono impostare quando si crea un nuovo progetto includendo un controllore (mettendo la spunta su //Opzioni di personalizzazione//) oppure dalla scheda Controllore cliccando //Installazione|Modifica Installazione// e selezionandole nella scheda //Caratteristiche//.+Le opzioni sopra indicate si possono impostare quando si crea un nuovo progetto includendo un controllore (mettendo la spunta su //Opzioni di personalizzazione//) oppure dalla scheda Controllore cliccando //Installazione|Modifica Installazione// e selezionandole nella scheda //Caratteristiche//; le opzioni sono documentate nel documento [[https://library.abb.com/d/3HAC079823-007|dati tecnici del prodotto Omnicore E line]]. Nella scheramata sotto le impostazioni modificate rispetto a quelle di default. 
 + 
 +{{::opzioni_controller.png|opzioni controller che replicano la configurazione del robot reale}}
  
 === Nel software === === Nel software ===
Linea 263: Linea 269:
   * il [[https://en.wikipedia.org/wiki/Programmable_Universal_Machine_for_Assembly|robot PUMA]]: [[https://digital.hagley.org/islandora/object/islandora%3A2650820|video promozionale del 1981]](([[https://drive.google.com/file/d/1ePaF6RTDwQbK_rGEGPs63upH9yXj81hV/view?usp=sharing|backup link]])) che permette di introdurre tutti i temi riguardanti la robotica industriale (vantaggi, utilizzi, giunti, programmazione online, movimento per giunti, sistemi di coordinate e movimenti cartesiani, cinematica inversa calcolo e singolarità, programmazione offline, cambio tool, ispezione e sistema di visone)   * il [[https://en.wikipedia.org/wiki/Programmable_Universal_Machine_for_Assembly|robot PUMA]]: [[https://digital.hagley.org/islandora/object/islandora%3A2650820|video promozionale del 1981]](([[https://drive.google.com/file/d/1ePaF6RTDwQbK_rGEGPs63upH9yXj81hV/view?usp=sharing|backup link]])) che permette di introdurre tutti i temi riguardanti la robotica industriale (vantaggi, utilizzi, giunti, programmazione online, movimento per giunti, sistemi di coordinate e movimenti cartesiani, cinematica inversa calcolo e singolarità, programmazione offline, cambio tool, ispezione e sistema di visone)
   * confronto con la soluzione moderna: [[https://www.youtube.com/watch?v=wsa6_uqB4y8|video del robot IRB 14050]], robot collaborativi, programmazione semplificata (wizard, auto-apprendimento o lead through)   * confronto con la soluzione moderna: [[https://www.youtube.com/watch?v=wsa6_uqB4y8|video del robot IRB 14050]], robot collaborativi, programmazione semplificata (wizard, auto-apprendimento o lead through)
-  * [[https://unchainedrobotics.de/en|quanto costa]] un robot collaborativo, produttori principali di robot+  * [[https://unchainedrobotics.de/en/category/robot/cobot|quanto costa]] un robot collaborativo, produttori principali di robot
   * perché un cobot: costo, trasportabilità, peso e ingombro, alimentazione, sicurezza, facilità d'uso   * perché un cobot: costo, trasportabilità, peso e ingombro, alimentazione, sicurezza, facilità d'uso
-  * perché il robot IRB 14050: il più usato nella didattica, programmazione-offline, stesso ambiente di sviluppo dei robot industriali+  * perché il robot IRB 14050: il più usato nella [[https://www.hoeplieditore.it/scuola/articolo/corso-di-robotica-fabrizio-cerri/opera/2503|didattica]], programmazione-offline, stesso ambiente di sviluppo dei robot industriali
   * esame delle parti del robot IRB14050 e della funzione svolta: parte meccanica e tool, controllore, flexpendant   * esame delle parti del robot IRB14050 e della funzione svolta: parte meccanica e tool, controllore, flexpendant
   * prime movimentazioni: accensione e attivazione motori, jog manuale da flexpendant, jog asse per asse e jog lineare, allineamento   * prime movimentazioni: accensione e attivazione motori, jog manuale da flexpendant, jog asse per asse e jog lineare, allineamento
Linea 396: Linea 402:
     * [[https://library.abb.com/d/3HAC082346-001|Application Manual I/O Engineering]]     * [[https://library.abb.com/d/3HAC082346-001|Application Manual I/O Engineering]]
     * [[https://library.abb.com/d/3HAC065041-001|Technical Reference Manual - System Parameters]]     * [[https://library.abb.com/d/3HAC065041-001|Technical Reference Manual - System Parameters]]
 +    * [[https://library.abb.com/d/3HAC079823-007|Dati tecnici dell'Omnicore E line]]
 +    * [[https://new.abb.com/products/robotics/nl/onze-robots/collaboratieve-robots/yumi/single-arm|file per CAD 3D del robot IRB14050]]
 ==== Altre risorse ==== ==== Altre risorse ====
    
Linea 446: Linea 454:
 Provo a fare uno scan della rete PROFINET da I/O Engineering ma non trova il PLC. Riprovo dopo aver impostato LLDP legacy. Rimetto LLDP standard e imposto il nome "omnicore" come compare di default su TIA Portal. Carico SW e HW sul PLC dopo aver corretto l'indirizzo IP del controller. Lo scan da I/O Engineering non va comunque. Provo a fare uno scan della rete PROFINET da I/O Engineering ma non trova il PLC. Riprovo dopo aver impostato LLDP legacy. Rimetto LLDP standard e imposto il nome "omnicore" come compare di default su TIA Portal. Carico SW e HW sul PLC dopo aver corretto l'indirizzo IP del controller. Lo scan da I/O Engineering non va comunque.
  
-Provo a seguire il [[https://www.youtube.com/watch?v=LEY-dQcxNvY|tutorial tedesco]] e poi  [[https://www.youtube.com/watch?v=jmbwrpESQeA|quello spagnolo]]. In I/O Engineering creo:+Provo a seguire il [[https://www.youtube.com/watch?v=LEY-dQcxNvY|tutorial danese]] e poi  [[https://www.youtube.com/watch?v=jmbwrpESQeA|quello spagnolo]]. In I/O Engineering creo:
   * nello slot 1: DO 64 byte (uscite PROFINET dal robot)   * nello slot 1: DO 64 byte (uscite PROFINET dal robot)
   * nello slot 2: DI 64 byte (ingressi PROFINET del robot)   * nello slot 2: DI 64 byte (ingressi PROFINET del robot)
Linea 454: Linea 462:
   * dalla vista generale dispositivi (espandibile sulla destra) aggiungo due moduli nell'ordine inverso rispetto a robotstudio (le uscite del controller sono ingressi del PLC): DI 64 bytes e DO 64 bytes   * dalla vista generale dispositivi (espandibile sulla destra) aggiungo due moduli nell'ordine inverso rispetto a robotstudio (le uscite del controller sono ingressi del PLC): DI 64 bytes e DO 64 bytes
 Compilo la configurazione hardware e la carico sul PLC. Poi scrivo un programma con un solo segmento dove attivando l'ingresso fisico I0.0 del PLC si attiva l'uscita Q2.0 su PROFINET (l'indirizzo si vede dalla vista generale dei dispositivi associata al controller ominicore in TIA Portal). Dopo aver caricato il programma, se mi collego online col controller e apro la vista I/O System dalla scheda Controllore, vedo l'ingresso digitale PROFINET passare a 1 quando attivo l'ingresso del PLC. Funziona! Compilo la configurazione hardware e la carico sul PLC. Poi scrivo un programma con un solo segmento dove attivando l'ingresso fisico I0.0 del PLC si attiva l'uscita Q2.0 su PROFINET (l'indirizzo si vede dalla vista generale dei dispositivi associata al controller ominicore in TIA Portal). Dopo aver caricato il programma, se mi collego online col controller e apro la vista I/O System dalla scheda Controllore, vedo l'ingresso digitale PROFINET passare a 1 quando attivo l'ingresso del PLC. Funziona!
 +
 +Per trattare integer e real bisogna impacchettare i dati e trasmetterli come byte. [[https://www.youtube.com/watch?v=jiUzABaVH9c|Questo video]] di Universal Robots spiega più o meno come fare.
  
 ==== Dalla simulazione al robot ==== ==== Dalla simulazione al robot ====
Linea 460: Linea 470:
  
 Una soluzione ancora migliore, ma forse più complicata per il gran numero di opzioni a disposizione, è quella di creare una "relazione" tra i due controller e fare un "transfer" di programmi e dati tra i due controller. Una soluzione ancora migliore, ma forse più complicata per il gran numero di opzioni a disposizione, è quella di creare una "relazione" tra i due controller e fare un "transfer" di programmi e dati tra i due controller.
 +
 +==== Importare modelli 3D da un CAD ====
 +
 +Il formato nativo di Robotstudio è ACIS con estensione ''.sat''. Non bisogna usare l'STL perché il modello non viene convertito correttamente in una //part//. Ho provato importando un assembly di parti create in Onshape. Purtroppo non si può fare da FreeCAD((ci sono due estensioni ma una è solo per l'importazione e l'altra richiede un software a pagamento)), bisogna importare su Onshape (ad esempio usando STEP come formato di scambio) e esportare in ACIS.
  
 ===== TODO ===== ===== TODO =====
robotica.1748328753.txt.gz · Ultima modifica: da admin