Parte di questo lavoro è stato utilizzato dal MdM Group della facoltà di Ingegneria dell'UNIVPM per realizzare il seguente articolo scientifico:
"Analysis of a Multibody Elastodynamic Model for Closed-Loop Kinematic Mechanisms." Proceedings of the ASME 2019 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Volume 9: 15th IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications. Anaheim, California, USA. August 18–21, 2019. V009T12A005. ASME. https://doi.org/10.1115/DETC2019-97901
Negli ultimi anni, l’interesse per applicazioni in cui il manipolatore interagisce con l’ambiente circostante è andato via via aumentando. Questo accade perché i robot sono sempre più utilizzati in aree in cui è prevista la cooperazione con gli operatori umani. Un tipico esempio è l’utilizzo di un manipolatore negli impianti industriali; nell’ambiente circostante vi può essere la presenza di operatori, altri manipolatori, o ogni tipo di elementi meccanici. Inoltre, per ragioni di produttività, si è portati alla ricerca di prestazioni massime in termini di tempo ciclo, e di conseguenza di velocità e accelerazioni raggiungibili dal meccanismo. Alle accelerazioni a cui si muovono i moderni robot paralleli (nel caso di studio 5/6 g) il contatto imprevisto con un operatore porterebbe all’infortunio di quest’ultimo.
Il fatto che venga garantita la sicurezza durante l’esecuzione di un’operazione è implementato facendo in modo che il manipolatore stesso abbia un comportamento cedevole. Ciò può essere ottenuto introducendo cedevolezza sui giunti e/o introducendo cedevolezza sulla struttura stessa, o parti di essa , ad esempio tramite l’impiego di link flessibili. In questo modo è possibile limitare i danni causati dal contatto accidentale tra robot e operatore o tra robot e ambiente di lavoro, diminuendo così il rischio di rotture o danneggiamenti.
Altro motivo per cui si realizzano i robot a corpi flessibili è quello di incrementare le prestazioni dinamiche del meccanismo andando a diminuire le inerzie in gioco.
Tuttavia, a fronte dei notevoli vantaggi in termini soprattutto di sicurezza, a seguito di un posizionamento effettuato all’interno dell’area di lavoro, l’end-effector inizia a vibrare, a causa dell’instaurarsi di effetti dinamici dovuti alla flessibilità intrinseca del sistema. Di conseguenza ai ricercatori è stato richiesto di realizzare dei modelli matematici sempre più sofisticati in grado di descrivere accuratamente il comportamento del sistema, in modo tale da poter sviluppare successivamente delle nuove tecniche tali che il robot flessibile abbini alla sicurezza anche la precisione nell’eseguire il compito richiesto.
Il presente lavoro si pone come primo step nella progettazione di un robot planare a cinematica parallela PKM 5R 2DOF, sistema a due gradi di libertà costituito da quattro link, più uno ideale che collega le cerniere a terra (pentalatero). Questo robot verrà progettato e successivamente realizzato per essere utilizzato come banco prova nell’ambito della ricerca inerente all’analisi e al controllo in anello chiuso di strutture robotiche flessibili, attraverso sensore di visione esterocettivo (eye to hand).
Il lavoro è stato svolto con la seguente modalità:
Inizialmente è stata implementata una procedura di ottimizzazione cinematica, statica e dinamica ad hoc, con la quale sono state calcolate le dimensioni principali dei link del manipolatore ed è stata definita la sua configurazione. La procedura, fondata sul concetto di isotropia, è stata adottata allo scopo di avere prestazioni quanto più possibile omogenee nell'area di lavoro utile. Tuttavia grande peso nell’orientare le scelte progettuali l’ha avuto anche il sensore di visione con il quale si desidera misurare le deformazioni dei membri flessibili e successivamente applicare un controllo in retroazione sul meccanismo. Inoltre anche la forma del workspace è stata tenuta in forte considerazione al fine di avere curve isolivello a curvatura meno variabile possibile in modo tale da avere omogeneità nelle misure che verranno successivamente effettuate tramite fastcam.
Il modello matematico multibody sviluppato permette inoltre il rapido calcolo e la verifica di coppie e forze agenti sulla struttura e può quindi fornire i parametri necessari ad una scelta precisa del gruppo motore-riduttore, grazie anche alla mappa di prestazione riguardante la sensibilità del meccanismo.
Nella seconda parte di questo lavoro è stato realizzato un algoritmo per la generazione di traiettorie isolivello all’interno del workspace utile, sempre tenendo presente l’obiettivo di voler ottenere misure tramite visione artificiale che possano essere il più possibile omogenee tra loro e al contempo di minimizzare le vibrazioni ad alta frequenza di cui i membri flessibili del meccanismo potrebbero essere affetti.
Infine è stato simulato l’inseguimento di queste traiettorie da parte del robot sia utilizzando il modello a corpi rigidi che quello a corpi flessibili. Lo scopo di queste simulazioni è quello di individuare le differenze, in ambito di inseguimento di traiettoria, tra il robot flessibile e quello rigido, e di sfruttare quindi i dati così ottenuti per effettuare una retroazione di tale discrepanza di posizionamento all’interno del sistema di controllo del robot dotato di corpi flessibili.
L'obiettivo della sintesi dimensionale è determinare i valori di ciascun parametro geometrico di un meccanismo tenendo in considerazione le prestazioni desiderate. Ogni parametro geometrico può avere un valore compreso tra zero e infinito, e gli indici di prestazione possono essere tra loro antagonisti, rendendo la sintesi dimensionale uno dei problemi più impegnativi nel campo. Per i meccanismi paralleli, il metodo utilizzato più frequentemente è quello di stabilire una funzione obiettivo con vincoli specifici e quindi cercare il risultato desiderato utilizzando un algoritmo di ottimizzazione. Questo approccio può sicuramente fornire un risultato ottimale dal punto di vista matematico, anche se spesso risulta poco utile da un punto di vista pratico. Inoltre, il metodo non riesce a illustrare la relazione tra un indice e i parametri di progettazione coinvolti. L'utente infatti non potrà sapere quanto effettivamente sia ottimale il risultato ottenuto, non potendo appurare se quello individuato è un massimo relativo o assoluto. In più, se il numero dei vincoli di progettazione è ampio, la procedura sarà piuttosto complicata (come accade nel caso in esame). Infine, se la funzione obiettivo cambia, il progettista dovrà impostare l'ottimizzazione da zero, mentre uno degli obiettivi di questo lavoro consiste nel fornire ai futuri progettisti uno strumento per effettuare una rapida scelta delle dimensioni della macchina, dovendo questa essere riconfigurabile e quindi non legata a un set fisso di parametri.
Per tutti questi motivi alla fine ho preferito optare per una strada diversa rispetto al metodo basato sulla funzione costo, e cioè quella di creare delle mappe di progettazione. Tali mappe sono comunque ampiamente applicate nella progettazione industriale e utilizzate nella maggior parte dei manuali di progettazione.
Tuttavia, per poter realizzare tali mappe, è di primaria importanza la definizione di uno spazio che può incorporare tutti i meccanismi possibili (con diversi parametri geometrici) Un meccanismo parallelo consiste generalmente di almeno due catene cinematiche. Di conseguenza, diversi parametri geometrici sono coinvolti nella sintesi dimensionale della macchina. Supponiamo che un meccanismo abbia n parametri lineari caratteristici, ciascuno di questi è correlato agli indici di prestazione (cinematica, spazio di lavoro, singolarità, ecc.) del meccanismo e sono quindi definiti come parametri di progettazione, che sono oggetto della sintesi dimensionale. Dato che gli n parametri possono avere qualsiasi valore tra zero e infinito, risulta impossibile illustrare graficamente il rapporto tra un indice di prestazione e i parametri di progettazione.
Pertanto, l’insieme potenzialmente infinito delle lunghezze dei parametri è il problema principale nella progettazione di un meccanismo parallelo quando si utilizza il metodo delle mappe di prestazione. I problemi che si presentano possono essere riassunti come segue: (a) il modo in cui il numero di parametri di progettazione viene ridotto; (b) la procedura atta a individuare i limiti di ciascun parametro; (c) il modo in cui lo spazio di progettazione dei parametri (SdP) è definito e (d) se tale spazio di progettazione esiste e come viene affrontata la relazione tra i meccanismi con parametri finiti ed infiniti.
Altra cosa molto importante è quella di individuare i vincoli di progetto e di conseguenza selezionare gli indici di prestazione cinematici, statici e dinamici che meglio permettono di caratterizzare il manipolatore rispetto a tali vincoli.
Di seguito si riportano i passi seguiti per arrivare alla progettazione del Robot 5R
Innanzitutto, la progettazione del meccanismo 5R deve essere orientata alla misura delle deformazioni dei membri flessibili e al controllo del manipolatore tramite sistema di visione artificiale all’interno del suo spazio di lavoro utile. Le dimensioni dei suoi link dovranno quindi essere tali da garantire la massimizzazione dello sfruttamento del sensore di visione (fastacam 500 fps), impedire l’insorgere di vibrazioni indesiderate e a una frequenza non registrabile dal suddetto sensore, avere un workspace utile il più ampio possibile all’interno del quale il manipolatore possa muoversi con destrezza garantendo al contempo l’accuratezza della posa, poiché dovrà svolgere prove di inseguimento di traiettoria.
Di conseguenza i vincoli per la sintesi cinematica e dinamica del manipolatore sono stati:
Ovviamente ottimizzare tutti questi indici contemporaneamente non è possibile e di conseguenza si deve cercare il giusto bilanciamento.
La valutazione delle prestazioni del meccanismo parallelo in esame sta alla base di una progettazione ottimale. Inoltre la scelta del tipo di prestazioni che dovrebbero essere considerate è di primaria importanza. La matrice Jacobiana, la manipolabilità e il numero di condizionamento (LCI) sono concetti che sono stati proposti e utilizzati da sempre nei robot seriali e paralleli. In particolare, il numero di condizionamento della matrice Jacobiana viene utilizzato per valutare la destrezza di un robot.
Dovendo tener conto della visione artificiale, con la quale verrà effettuato il controllo, e della presenza dei membri flessibili, nel processo di progettazione del robot in esame sono stati introdotti ulteriori indici di prestazione oltre il LCI. Tali indici sono frutto di uno studio approfondito in MATLAB delle possibili forme del workspace, delle singolarità, della cinematica, della statica (mediante analisi FEM analitica) e della dinamica (scrivendo le equazioni di Newton-Eulero per i vari link mobili) e successivamente verificati mediante il software commerciale MSC ADAMS.
Matrice di Rigidezza dei link Flessibili per analisi FEM in Matlab
I 5 possibili workspace per il Robot 5R PKM 2DoF
L'ottimizzazione dimensionale del Robot, fondata sul concetto di isotropia, è stata adottata allo scopo di avere prestazioni quanto più possibile omogenee nell'area di lavoro ed ha portato alla definizione di un nuovo indice pratico delle prestazioni del manipolatore, e cioè l' Indice di Similarità Isotropica.
Questo indice può essere utile per valutare quanto la regione appartenente allo spazio di lavoro caratterizzata da isotropia cinematica coincida con quella caratterizzata da iso-cedevolezza. In questo modo, scegliendo un meccanismo per cui le due aree sono molto simili, si garantisce che, muovendo il terminale all’interno di tale regione, le prestazioni del robot siano isotropiche sia dal punto di vista cinematico che della cedevolezza. Per verificare la similarità delle due regioni isotropiche si è deciso di utilizzare un approccio statistico piuttosto che analitico, e in particolare si è scelto di utilizzare il coefficiente di similarità di Jaccard applicato in questo caso alla visione artificiale. Trattandosi di un'approssimazione digitale e non di uno studio analitico non fornisce una risposta accurata al 100% ; più pixel si usano, più preciso sarà il risultato (nel caso in esame sono state utilizzate immagini da 124 PPI ).
Il modello fisico dello spazio di progettazione per i manipolatori paralleli 5R 2DOF è un trapezio isoscele ABCD. Qualsiasi combinazione possibile dei link sono quindi rappresentate da un particolare insieme di valori sul trapezio ABCD.
Per comodità di utilizzo dei grafici ottenibili, viene introdotta anche un’omografia planare permettendoci quindi di passare da uno spazio di progettazione 3D a uno 2D.
Fatto ciò è possibile rappresentare le varie mappe di progettazione che come detto mettono in relazione gli indici prestazionali precedentemente individuati con le lunghezze dei link del meccanismo e la combinazione di queste lunghezze. All'interno di tali mappe i colori caldi indicano i valori ottimali, mentre quelli freddi le condizioni più sfavorevoli.
Ottenute le varie mappe di progettazione, si individuano per ognuna di esse dei range di valori accettabili che andranno a rappresentare i vincoli di progetto del robot e che quindi permettono di individuare la regione ammissibile all’interno dello spazio di progettazione in cui successivamente poter andare a cercare il meccanismo più idoneo a svolgere il compito desiderato .
Dopo aver identificato la regione ammissibile, esistono due modi per ottenere il risultato ottimale di progetto a livello di parametri adimensionali. Uno è quello di implementare un classico algoritmo di ricerca operativa basato su una funzione obiettivo opportunamente stabilita (ad esempio il riempimento del quadro di pixels). Tale metodo porterà a un’unica soluzione. L’altro consiste invece nel selezionare un meccanismo all'interno della regione ammissibile e successivamente analizzarlo al fine di verificarne le prestazioni, finché non si trova la soluzione più soddisfacente. Nel caso in esame si è optato per quest’ultima via, poiché per la buona riuscita del dimensionamento del meccanismo è necessario andare a considerare anche la forma del workspace, e di conseguenza delle curve isolivello che si sviluppano al suo interno. Per questa ragione si è proceduto a selezionare dei meccanismi e successivamente analizzarli dal punto di vista geometrico e delle prestazioni, finché non si è giunti alla soluzione ottimale
Lo scopo principale di questo lavoro consiste nel fornire degli strumenti progettuali da utilizzare successivamente nell’ambito dello sviluppo di una strategia di controllo finalizzata a limitare l'insorgere di vibrazioni nei manipolatori flessibili.
L’idea di base è quella di implementare un controllo in retroazione mediante visione artificiale estorocettiva (eye-to-hand). La variabile da retroazionare, in questo caso, è la posizione dell'end-effector. Gli attuatori che introducono forze attive sul sistema e che quindi saranno comandati dal controllore sono i motori elettrici posizionati sui giunti rotoidali a terra. Tuttavia, come si vedrà più avanti, da quanto emerso da simulazioni effettuate su semplici traiettorie rettilinee, questo approccio potrebbe avere diverse complicazioni per i seguenti motivi:
L’idea quindi sarebbe quella di determinare la correlazione tra il comportamento dinamico del robot flessibile nell’inseguimento di traiettorie e alcuni degli indici di prestazione visti in precedenza tramite la generazione di opportune traiettorie IsoLivello all’interno del workspace. Successivamente sarà possibile sfruttare questa conoscenza per generare in modo intelligente il percorso da far seguire al robot e la legge di moto da applicare in modo da abbattere il più possibile le oscillazioni. Non solo, andando a misurare la discrepanza tra la posa dell’EE del robot flessibile e di quello rigido nell’inseguimento di una medesima traiettoria IsoLivello sarà possibile stimare l’errore di posa dovuto ai link flessibili rispetto al modello rigido. Questa informazione potrebbe essere sfruttata successivamente per implementare il controllo in retroazione tramite visione artificiale andando quindi a compensare il comportamento elastico dei membri flessibili (ipotizzando, tramite modellazione dei link flessibili mediante screw displacement, che la risposta possa essere descritta come combinazione di soli due modi di vibrare, uno che agisce in direzione radiale al link flessibile, l'altro in direzione tangenziale).
Partendo dalle considerazioni precedenti si è passato quindi ad affrontare il problema della generazione delle traiettorie, che consiste nel comporre il percorso geometrico individuato dalle curve isolivello nello spazio cartesiano con una legge del moto desiderata. L'obiettivo è definire la funzione parametrica del tempo tale che i vincoli dati su velocità e accelerazioni del terminale siano soddisfatti. In particolare si desidera che le leggi di moto implementate non vadano ad eccitare le frequenze di risonanza meccanica del sistema. Inoltre si è interessati a un moto del terminale a "velocità costante", in modo tale da garantire omogeneità di condizioni tra le misure che verranno effettuate mediante visione artificiale e, per lo stesso motivo, si è cercato di minimizzare i possibili effetti indesiderati a livello dinamico dovuti ad esempio a una curvatura non regolare del cammino del terminale .
Fatte queste considerazioni preliminari si è proceduto alla realizzazione dell’algoritmo di pianificazione delle traiettorie.
Per prima cosa è stata estratta una nuvola di punti isolivello, andandoli a selezionare con una certa tolleranza intorno al valore desiderato. Ciò significa che tali punti presentano una, seppur bassa, rumorosità. Per questo motivo è stata scelta, piuttosto che una curva interpolante i dati, una approssimante nel senso dei minimi quadrati, al fine di garantire una maggiore levigatezza della curva. Questo è importante perché, come già detto, è necessario che la traiettoria generata sia tale da ridurre le forze d’inerzia e non indurre eccessive vibrazioni durante il movimento (soprattutto vibrazioni ad alte frequenze tali da non poter essere rilevate dal sensore di visione). Di conseguenza avere un cammino “smooth” e successivamente una legge di moto con fase di accelerazione e decelerazione controllata diventa fondamentale.
La curva parametrica scelta per modellare le curve isolivello nello spazio cartesiano è stata la B-Spline. Il problema principale con l'utilizzo delle tecniche di interpolazione/approssimazione con B-Spline è che, a differenza delle tradizionali tecniche di interpolazione lineare o circolare in cui la lunghezza del segmento è nota analiticamente, la lunghezza del cammino della B-Spline non lo è. Per questo motivo quando la curva viene approssimata con incrementi costanti del parametro u, gli spostamenti tangenziali del terminale non saranno costanti e quindi possono verificarsi fluttuazioni indesiderate sul profilo pianificato di velocità. Tali fluttuazioni possono portare ad alte accelerazioni ai giunti, a vibrazioni, oltre che alla possibilità di saturazione degli attuatori. Si rende quindi necessaria una riparametrizzazione basata sulla lunghezza della curva.
Riassumendo, i passaggi per la generazione delle traiettorie sono stati i seguenti:
Dopo aver dimensionato i link del robot e generato le opportune traiettorie isolivello, lo step successivo della ricerca consiste nell’effettuare delle simulazioni dinamiche di inseguimento di traiettoria, al fine di determinare le differenze di comportamento tra un robot a membri rigidi e uno a membri flessibili nel raggiungere la posa desiderata in relazione a un determinato valore dell’indice di prestazione considerato. Questa conoscenza non solo potrà essere sfruttata per determinare l’eventuale legame tra un certo indice di prestazione e il comportamento dinamico del meccanismo (utile quindi per una eventuale riprogettazione dello stesso o per generare in modo intelligente le traiettorie più performanti per le classiche applicazioni di moto punto a punto), ma anche per determinare la quota parte dell’errore di posa, rispetto alla traiettoria di riferimento, riconducibile alla deformabilità dei link. Sarà quindi possibile utilizzare la conoscenza acquisita mediante le simulazioni di cui sopra, per reiettare la componente dell’errore di posa dovuto alla flessibilità dei link e, di conseguenza, coadiuvare il sistema di controllo basato sulla visione artificiale a svolgere efficacemente il suo compito. Cioè, adottando questa strategia, la natura flessibile dei link verrebbe considerata come un disturbo di entità nota (ad esempio mediante un algoritmo di apprendimento che permetta di implementare dei modelli predittivi) che agisce sul sistema modificandone il comportamento dinamico e quindi l’andamento dell’uscita rispetto al caso classico di robot a membri rigidi.
Un ipotetico controllo in retroazione basato su questo principio potrebbe essere il seguente:
Per poter far ciò è necessario sviluppare un modello del pentalatero sia a membri rigidi che flessibili. A tal fine sono stati seguiti due metodi per l’analisi e la modellazione di questo sistema multibody:
Prima di procedere alla simulazione delle traiettorie Isolivello si è deciso di effettuare uno step intermedio, e cioè quello di effettuare delle simulazioni di traiettorie rettilinee nello spazio cartesiano. La ratio di tale scelta risiede nel fatto che si è voluto prima testare il modello matematico della dinamica del pentalatero rigido su curve più semplici in modo tale da assicurarsi che reagisca nel modo corretto e che ci si aspetta. Successivamente, superato questo test, potrà essere utilizzato per simulare traiettorie più complesse.
A sinistra è riportata una delle traiettorie rettilinee pianificate nello spazio cartesiano. In particolare questa traiettoria è ottenuta combinando il percorso rettilineo in una zona ad elevato condition number con la legge del moto ottenuta mediante il polinomio di ordine sei
Una volta pianificata la traiettoria, i segnali inerenti le leggi di coppia ai giunti attuati e i valori delle condizioni iniziali del manipolatore vengono esportati in ambiente Simulink per effettuare le simulazioni in catena aperta. I segnali di coppia saranno gli ingressi delle S-Function contenente il modello matematico della dinamica del robot 5R a membri rigidi e flessibili, e saranno esportati in Simulink grazie ai blocchi di tipo From_Workspace, mentre le condizioni iniziali stampate a video saranno opportunamente copiate all’interno delle S-Function stesse.
Infine i risultati delle simulazioni dei due modelli (rigido e flessibile) vengono tra loro comparati
Dalla figura e dall'animazione notiamo che, come c’era da attendersi, la discrepanza tra i due modelli si concentra sulla precisione di posizionamento lungo l’asse delle ordinate, mentre la traiettoria lunga l’asse delle ascisse è identica nella due simulazioni e perfettamente combaciante con la traiettoria desiderata.
Possiamo inoltre notare come tra le due traiettorie vi sia una discrepanza massima di 7 µm. Ciò dipende dal fatto che le accelerazioni in gioco sono molto piccole (almeno dieci volte più piccole di quelle di interesse applicativo), e quindi la deflessione dei membri flessibili e sostanzialmente trascurabile.
Lo sviluppo futuro della ricerca prevederà la simulazione dell’inseguimento di traiettorie isolivello in cui la legge del moto sarà caratterizzata da accelerazioni quantomeno dell’ordine del g (g-force), poiché interessa testare il meccanismo nelle condizioni di lavoro più estreme al fine di individuarne i limiti prestazionali.