| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
| robotica [2025/05/27 06:52] – [Impostazioni e particolarità] admin | robotica [2026/06/05 12:52] (versione attuale) – [Documentazione] admin |
|---|
| * 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 === |
| * 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 |
| * [[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 ==== |
| | |
| 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) |
| * 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 ==== |
| |
| 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 ===== |