ROBOTS A CINEMATICA RIDONDANTE: NUOVI SVILUPPI CONSENTITI DAGLI AZIONAMENTI DIRETTI E DAGLI ALGORITMI DI CONTROLLO GENETICI
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
ROBOTS A CINEMATICA RIDONDANTE: NUOVI SVILUPPI CONSENTITI DAGLI AZIONAMENTI DIRETTI E DAGLI ALGORITMI DI CONTROLLO GENETICI R. Faglia (*), M. Filippini (**), A. Zapponi (***) (*)Dip. Ing. Meccanica – Univ. degli Studi di Brescia Via Branze 38 – Brescia Italy tel +39 030 3715401 fax +39 030 3702448 e-mail: rfaglia@ing.unibs.it (**) Tube Tech Machinery Srl Via Bonfadina 33 – Cazzago SM (BS) Italy tel +39 030 7256311 fax +39 030 7256333 e-mail: info@tubetechmachinery.com (***) Alpha Progetti Via Golgi 5/7 - Gussago (BS) Italy tel +39 030 3731165 fax +39 030 310933 e-mail: info@alphaprogetti.com PREMESSA L'analisi delle problematiche connesse a un particolare processo produttivo e la volontà commerciale di risolverle, ha portato a una efficace collaborazione tra imprese ed enti di ricerca, che ha permesso lo sviluppo di un macchinario così innovativo da essere premiato alla recente Esposizione Mondiale delle Macchine Utensili (EMO 2003). In questo lavoro, partendo dal contesto in cui è sorta la problematica, si descrivono i passi compiuti per arrivare al successo tecnologico (e commerciale) del macchinario.
IL CONTESTO TECNOLOGICO Vi sono impianti di produzione di tubi saldati che, a partire da lamiera in acciaio al carbonio o in acciaio inossidabile producono tubi e tubolari di sezione tonda, quadrata e rettangolare. Tale processo consiste nel sottoporre la lamiera di partenza in rotoli (coils) all'azione di costrizione esercitata da una serie di gabbie a due cilindri coniugati, rotanti in senso inverso con la medesima velocità periferica, che forzano il materiale ad assumere una sezione corrispondente alla luce che rimane tra i cilindri stessi. In particolare, nella laminazione del tubo, una serie di rulli forzano una lamiera piana ad assumere la forma cilindrica e quando il cilindro, aperto lungo una generatrice, è formato si salda proprio lungo la generatrice realizzando il tubo. Il processo di produzione è in continuo e si compone essenzialmente delle fasi di formatura, saldatura continua e calibratura della sezione ottenuta. Come ultima fase deve essere eseguito il taglio a misura del tubo formato: generalmente si ottengono spezzoni di lunghezza compresa tra i 6 e i 12 metri. Attualmente l’operazione di taglio viene effettuata mediante asportazione di truciolo (segatrici a disco) con gli inevitabili inconvenienti ad essa connessi: rumore, usura degli utensili, formazione di bave e trucioli, impiego di acqua emulsionata come lubro-refrigerante. Un’esigenza delle
società produttrici di tubi saldati è quella di eliminare gli inconvenienti indicati specialmente quando si tratti di tubi in acciaio inossidabile oppure quando la destinazione dei loro prodotti sia il settore alimentare o quello dell’arredamento. L'ANALISI La Tube Tech Machinery, azienda produttrice di macchine utensili attiva nel settore siderurgico, con acuto spirito imprenditoriale ha percepito che la risoluzione di questa problematica avrebbe potuto rappresentare un'ottima opportunità commerciale. Di conseguenza decise di investire nell'analisi del problema e già dalle prime fasi si capì che ci si doveva concentrare sul taglio dell’acciao inossidabile, più difficile da tagliare con sistemi tradizionali rispetto all’acciaio al carbonio, e si sarebbe dovuto scartare una qualche evoluzione della tecnologia tradizionale che non avrebbe in ogni caso portato all’eliminazione di bave, rumore e sporcizia. Poiché l'operazione più delicata della laminazione dei tubi è la saldatura, ci si impose di renderla l'operazione vincolo, e quindi di raggiungere delle velocità di taglio tubo al minimo pari alla velocità di saldatura. La tecnologia al momento disponibile che univa questi requisiti è quella Laser e dunque si è deciso di utilizzarla; nel dettagliare ulteriormente le specifiche di quella che sarebbe
diventata una spezzonatrice laser da collocare in linea a valle del processo di formatura tubi, emersero di conseguenza altre esigenze che andiamo a elencare: • in primo luogo doveva avere una conformazione tale da permettere il “taglio al volo” di tubi; • la sezione dei tubi non sarebbe dovuta essere solo circolare ma anche quadrata e rettangolare; • infine, poiché la macchina avrebbe dovuto sostituire le segatrici esistenti, doveva avere delle dimensioni simili a queste. Tutte queste specifiche hanno guidato un lungo lavoro di studio che si è poi concretizzato in una serie di progetti che ha portato alla realizzazione della macchina. LA FASE DI PROGETTO Il punto di partenza per la progettazione è stato, come si è detto, l'utilizzo della tecnologia Laser. Laser è l'acronimo di “Light Amplification by Stimulated Emission of Radiation” ossia amplificazione della luce tramite emissione stimolata di radiazione. In pratica si adotta un dispositivo che “amplifica” la luce con potenza di emissione di diverse migliaia di watt, in grado di tagliare la lamiera. L'amplificazione avviene in un generatore che emette un fascio di luce che deve essere portato in posizione attraverso una serie di specchi collocati
all’interno di strutture protette e focalizzato correttamente sul materiale, affinchè esplichi la funzione di taglio. Fino a quel momento le macchine per il taglio di tubo mediante tecnologia laser presupponevano la possibilità del tubo di compiere rotazioni attorno al proprio asse. Nel caso della spezzonatrice laser il tubo non può girare attorno al proprio asse e quindi il problema principale era quello di condurre il fascio tutt'intorno al lungo cilindro metallico proveniente dalla fase di saldatura. Le ipotesi iniziali di macchinario simile all'apparecchiatura medica per T.A.C. o di due bracci meccanici contrapposti e rotanti furono rapidamente abbandonate; la soluzione adottata ha voluto in qualche modo imitare il movimento antropomorfo dell'avamabraccio, del polso e della mano, fatta a uncino, nella rotazione intorno a un ostacolo. Le condizioni da rispettare sono: • ortogonalità del raggio laser alla superficie da tagliare; • velocità di taglio costante anche nelle zone di discontinuità Questa soluzione ha comportato l'adozione di una configurazione cinematica costituita da cinque assi in serie, di cui tre lineari e due rotativi, la cui disposizione è visibile in figura, più un sesto asse di compensazione. Nel dettaglio, vi sono quattro assi interpolati per la
realizzazione della traiettoria (Y, Z, A, B) più due assi (quello di compensazione C - non rappresentato in figura - e quello di “inseguimento” della linea X) indipendenti. L’asse T è un movimento di registrazione delle lunette e sarà trascurato nella presente trattazione. La realizzazione di questa particolare cinematica e della dinamica a questa connessa ha portato alla luce due importanti requisiti tecnici: • l'adozione di movimentazioni a elevata dinamica a causa delle accelerazioni necessarie per mantenere costante la velocità di taglio con la testina di focalizzazione sempre ortogonale al profilo del tubo. Le accelerazioni sono estremamente elevate, non tanto nell'esecuzione dei profili circolari quanto nella realizzazione degli “spigoli” dei profili quadri e rettangoli; • l’esigenza di girare con la testina di focalizzazione attorno al tubo connessa alla necessità di evitare collisioni del braccio porta testa col tubo stesso ha dato origine ad un cinematismo non convenzionale ridondante. La ridondanza è causata dalla componente orizzontale dell'asse inclinato che si sovrappone al movimento lineare dell’asse coniugato. LA SCELTA DEGLI AZIONAMENTI Le specifiche tecniche risultanti dalla prima fase di progetto hanno evidenziato la necessità di ottenere movimentazioni estremamente veloci e con accelerazioni superiori a quelle che di norma vengono realizzate con i tradizionali sistemi motore rotante-vite. In particolare i cicli teorici imponevano
velocità dell’ordine dei 2 m/s e accelerazioni superiori ai 2 12m/s , grandezze superiori a quelle che di norma si riescono a realizzare con catene cinematiche tradizionali. Da un punto di vista cinematico la configurazione tradizionale di un’azionamento lineare è composto da motori brushless rotativi collegati, direttamente o infrapponendo un riduttore, a viti senza fine che traducono il movimento da rotativo a lineare. E’ utile ricordare che le viti, normalmente a ricircolo di sfere, hanno un limite di funzionamento governato dal rapporto tra diametro della vite e velocità di rotazione alla quale è sottoposta. Tale vincolo si traduce in un limite di velocità pari a circa 60m/min (1 m/s); a questo si aggiunge la norma di buona progettazione relativa a considerare critica un'accelerazione 2 superiore ai 10m/s per un motore brushless rotativo. Per questo si è dovuto procedere con l'adozione di motorizzazioni dirette, sia sugli assi lineari (sfruttate nella pratica fino a velocità di 2,3 m/s e accelerazioni di 2g (20 2 m/s )) sia per le rotazioni dell' “avambraccio” e del “polso”, realizzate con due motori di tipo torque. Nel motore torque la parte primaria (statore) è costituita da un’avvolgimento trifase sviluppato in senso anulare e da una parte secondaria (rotore) a magneti permanenti solidali al componente da azionare. Si tratta in sostanza di un motore Brushless ad elevato numero di poli (alcune decine) che può sviluppare velocità massime dell’ordine di qualche centinaio di giri/min. All’interno della gamma proposta da Siemens la coppia sviluppata può raggiungere il considerevole valore di 4.100 Nm.
Con questo tipo di azionamento gli elementi di trasmissione meccanici quali i riduttori non sono più necessari, si eliminano così le imprecisioni introdotte dalla meccanica. Il motore Torque consente inoltre un funzionamento virtualmente esente da usura e manutenzione. L’adozione di questo tipo di motori ha permesso di realizzare componenti meccanicamente semplici, rigidi e compatti e dunque di ottenere accelerazioni angolari più elevate. Altro fattore fondamentale per la macchina in oggetto è stata la possibilità di conseguire qualsiasi posizione intermedia dell’asse con corretta rigidità di posizionamento, grazie alla notevole prontezza di regolazione. Inoltre dall’eliminazione della catena cinematica tradizionale (riduttore, giunti, ecc.) è conseguita un’apprezzabile semplicità di montaggio. L’accoppiamento meccanico tra motore e componente è, come si è detto, estremamente rigido, ma a causa dell’elevata dinamica hanno acquistato rilievo l’elasticità torsionale fra la struttura che ospita il motore e la colonna inclinata a 45° e quella fra il sistema di misura e l’avambraccio. Al fine di poter sfruttare al massimo le prestazioni dei motori torque è stato importante rispettare le seguenti linee guida: ·precisione nella scelta, posizionamento e montaggio del sistema di misura e degli elementi di fissaggio delle parti mobili rispetto alle fisse;
• piccolo rapporto tra masse in movimento e masse fisse; • rigidità e smorzamento elevato di tutte le parti meccaniche. Particolare cura è stata quindi posta nella realizzazione di tutti i componenti strutturali della macchina per ridurre il più possibile le masse in movimento, a partire naturalmente dall' “avambraccio” meccanico – chiamato amichevolmente “mandolino”. Tale componente è stato realizzato in lega leggera e conformato seguendo le indicazioni delle analisi F.E.M., adottate del resto su tutti i componenti delicati della macchina. IL CONTROLLO: ALGORITMI GENETICI Dopo l’esposizione generale delle caratteristiche della macchina, passiamo ora ad un’analisi della cinematica del robot, così da poter poi giungere alla descrizione in termini matematici della metodologia adottata per definire le traiettorie. Lo spunto originale del sistema è la “ridondanza”. Tale ridondanza è stata introdotta per evitare il contatto del robot con il tubolare da tagliare e si è pensato di utilizzarla anche per distribuire al meglio la potenza dei motori durante il movimento. E’ un po’ quello che, in natura, succede nel braccio umano, che è un tipico sistema ridondante in quanto con diversità di movimenti è possibile fare una medesima operazione. La scelta della migliore combinazione di movimento tra le infinite possibili viene operata tramite l’utilizzo di un “algoritmo genetico” che ricalca in termini matematici la strategia evolutiva darwiniana. In termini pratici, secondo tale teoria fra individui, dotati di caratteristiche peculiari, avviene, con particolari regole, una selezione che consente di fare “sopravvivere” solo quelli che consumano meno energia. Analogamente, alla fine dell’elaborazione, l’algoritmo genetico seleziona la combinazione di leggi di movimento che ottimizza la distribuzione dell’energia all’interno del sistema. Introduciamo innanzitutto una simbologia per denotare le grandezze geometriche principali e le coordinate ai giunti del sistema.
Con riferimento alla figura 1, si sono indicati con l1 la lunghezza del braccio e con l2 quella della torcia laser. q3 l2 Y l1 q2 q1 45° X O q0 Figura 1 – Schema strutturale del robot. Rispetto al sistema di riferimento scelto, sono poi stati evidenziati i quattro gradi di libertà del robot, avendo trascurata la coordinata d’inseguimento del profilato ortogonale al piano ininfluente ai fini del calcolo delle traiettorie per la movimentazione del robot attorno al profilo da tagliare. Saranno pertanto utilizzati i simboli q0 per la coordinata relativa al carro trasversale, q1 per lo spostamento del carro inclinato, q2 per la rotazione del braccio e q3 per la rotazione della testina. Più in generale indichiamo con Q={q0, q1, q2, q3} il vettore delle coordinate ai giunti e con S={x, y, } quello delle coordinate della “pinza”, in cui oltre ai due termini cartesiani si è considerata l’inclinazione della torcia rispetto all’asse orizzontale. Dalla meccanica dei robot è noto che la cinematica diretta può essere descritta dalle seguenti equazioni: S = F (Q ) S&= JQ& (1) S& &= J& Q&+ JQ &&
che, date le coordinate ai giunti e le loro derivate temporali, permettono di determinare posa, velocità e accelerazione della pinza attraverso il legame funzionale F(·) e la matrice ∂F (Q ) jacobiana J= che ne deriva. ∂Q In base alla geometria del robot (Figura 1) si osserva che la funzione F(·) può essere espressa dal seguente sistema di equazioni non lineari: x = q0 + 2 / 2q1 + l1 cos q2 + l 2 cos(q2 + q3 ) y = 2 / 2q1 + l1 sin q2 + l 2 sin (q2 + q3 ) (2) θ = q 2 + q3 da cui si ottiene facilmente la matrice jacobiana: 1 2 /2 − l 1 sin q 2 − l 2 sin (q 2 + q 3 ) − l 2 sin (q 2 + q 3 ) J = 0 2 /2 l 1 cos q 2 + l 2 cos (q 2 + q 3 ) l 2 cos (q 2 + q 3 ) (3) 0 0 1 1 La derivata rispetto al tempo di questa matrice permette di risolvere la cinematica diretta a livello delle accelerazioni, per la quale si ha: 0 0 − l1q&2 cos q 2 − l 2 (q&1 + q&2 ) cos (q2 + q3 ) − l2 (q&1 + q&2 ) cos (q2 + q3 ) dJ (4) J&= = 0 0 − l1q&2 sin q 2 − l 2 (q&1 + q&2 ) sin (q2 + q3 ) − l2 (q&1 + q&2 ) sin (q2 + q3 ) dt 0 0 0 0 Più interessante per i nostri scopi, è la risoluzione del problema cinematico inverso, per il quale si sottolinea che durante l’operazione di taglio le coordinate della torcia devono seguire i punti della superficie da tagliare, mentre il suo orientamento deve mantenersi ortogonale alla medesima superficie. Un ulteriore vincolo si ha sulla velocità del
movimento che, lungo l’ascissa curvilinea percorsa dalla torcia, deve mantenersi il più possibile costante. E’ bene a questo punto ricordare che il robot in esame presenta una ridondanza (cosa bene evidenziata anche dall’aver ottenuto una matrice jacobiana rettangolare) che, a fronte di un dato 1 set di coordinate della torcia, introduce posizioni dei giunti, tutte soddisfacenti la posa da assumere. L’inversione delle equazioni (1) presenta quindi la difficoltà di dover invertire una matrice non invertibile in quanto rettangolare. Si ricorre in questi casi all’utilizzo della cosiddetta matrice pseudoinversa che, nell’inversione di un sistema lineare di equazioni con infinite soluzioni, permette di ricavare automaticamente quella di norma euclidea minima. L’utilizzo della pseudoinversa aiuta inoltre a risolvere il problema inverso anche a livello delle posizioni, in quanto, adottando un metodo numerico come quello di Newton- Raphson, l’inversione del sistema S=F(Q) si traduce nella reiterazione del calcolo di una soluzione Qi a partire da una soluzione meno precisa Qi-1. Senza entrare nei dettagli, + indicando con J la matrice pseudoinversa di J e detto S il vettore della posa da raggiungere, il calcolo del set di coordinate ai giunti Q si ottiene iterando la seguente equazione a partire da una prima soluzione approssimata Q0: Qi = Qi −1 + J + (S − F (Qi −1 )) (5) Nel nostro caso, conviene utilizzare, in luogo della matrice pseudoinversa, la matrice pseudoinversa pesata che, grazie all’introduzione di alcuni parametri, permette di guidare la soluzione in direzioni diverse da quella a norma minima. Ciò, da un lato è necessario per escludere le soluzioni che vedrebbero il robot impattare contro il tubo, e in secondo luogo, consente un’ottimizzazione nella scelta della soluzione fra tutte quelle ammissibili. Formalmente la matrice * pseudoinversa pesata J si ottiene condizionando la pseudoinversa con una matrice diagonale W=diag(w0, w1, w2, w3) contenente i parametri con cui vengono pesate le varie soluzioni così come indicato nella (6):
(6) ( J * = W −1 JW −1 ) + In pratica, fissata la posa S da raggiungere in un certo istante t, al variare dei parametri di W, si ottengono, applicando ripetutamente il metodo di Newton-Raphson, le infinite soluzioni Q tra cui scegliere la più adatta a conseguire gli obiettivi preposti. Chiaramente, nulla vieta di utilizzare parametri W diversi per il calcolo delle successive posizioni assunte dalla pinza durante il suo movimento attorno al profilo, così da offrire l’opportunità di un’ottimizzazione lungo tutto il * percorso realizzato. La matrice J viene quindi a dipendere dal parametro tempo, anche se la variazione dei parametri W deve avvenire con una certa continuità, in modo da non generare implicitamente irregolarità nel movimento: vedremo in seguito come ciò sarà garantito nel caso in esame. Mentre per risolvere il problema inverso a livello delle posizioni si è utilizzato un metodo numerico, a livello di velocità basta la semplice introduzione della matrice pseudoinversa pesata: S&= J Q&= JW −1W Q& (JW ) S&= W Q& −1 + W (JW ) S&= Q& (7) −1 −1 + Q&= J * S& * La dipendenza di J dal tempo genera qualche complicazione a livello delle accelerazioni per le quali, derivando S& rispetto al tempo, si ha: S& &= J& W −1WQ&+ JW&−1WQ&+ JW −1W&Q&+ JW −1WQ && (8) e dopo qualche passaggio matematico si ottiene la formula: & Q&= J * S& [ &− J&Q& − W ] [ −1 W& + W&− 1W Q& ] (9)
Riassumendo, dalla trattazione precedente si evince che ad in ogni istante t del moto, dovremo definire una quaterna di parametri per poter risolvere compiutamente il problema cinematico inverso. Prima di passare alla descrizione dell’algoritmo utilizzato per la determinazione di tali parametri, descriviamo brevemente l’ultimo passaggio che lega le condizioni di movimento imposte sulla pinza a quelle ricavate sui giunti. Al fine di mantenere la trattazione generale, e svincolarci quindi dalla particolare sezione da tagliare, noto il profilo su cui operare, è possibile calcolarne il perimetro e definire lungo esso una coordinata a partire dalla scelta di una posizione iniziale e di un verso di percorrenza. Indicata con s tale ascissa curvilinea, e fissata la velocità di taglio s& che la pinza deve mantenere nel percorrerla, risultano implicitamente definite le caratteristiche cinematiche S, S&, e S &&che la pinza deve assumere ad ogni istante. Allo scopo di evitare urti alla partenza e a fine moto e l’innesco di vibrazioni a fronte di brusche variazioni della curvatura lungo il profilo, la legge di moto s(t) può essere fissata ad hoc, regolando opportunamente l’intensità del laser per evitare “bruciature” in quei tratti in cui si è costretti a lavorare con velocità minori. Senza entrare nei dettagli, diciamo solamente che in base alla precisione di movimento richiesta la legge s(t) viene campionata su un certo numero di punti, cui corrispondono le successive posizioni della pinza. Indicato con N tale numero, ne segue che per ogni traiettoria della torcia si hanno N i i i i quadruple e quindi un totale di 4N parametri w da determinare in modo che vengano rispettati i vincoli. Nella pratica, un valore sensato per N è nell’ordine dei 2000 punti, a cui corrispondono 8000 parametri incogniti. L’elevato numero di parametri da ottimizzare e la necessità di dover escludere alcune potenziali soluzioni per rispettare i vincoli del problema, hanno spinto alla scelta di un metodo non convenzionale di ottimizzazione come l’algoritmo genetico in seguito descritto. L’eventuale mole di calcoli coinvolta non ha peraltro condizionato l’idea, confortati anche dal fatto che lo studio delle traiettorie può avvenire off-line. Gli algoritmi genetici fanno parte di una più ampia categoria di
metodologie di ottimizzazione matematica note come strategie di tipo evolutivo. L’idea che sta alla base degli algoritmi genetici è quella di cercare di riproporre in termini matematici ciò che accade in natura riguardo al processo di selezione naturale degli individui di una certa specie animale. In termini generali, si può dire che il metodo prevede di assimilare il vettore dei parametri da ottimizzare al codice genetico degli individui di una certa specie. Così come, di generazione in generazione, gli esseri viventi si adattano alle condizioni ambientali in cui si trovano a vivere, in modo analogo, le potenziali soluzioni di un problema matematico vengono via, via sempre più affinate nell’inseguimento di un certo obiettivo da raggiungere. Il metodo vede pertanto l’evoluzione di un gruppo di potenziali soluzioni, a partire da una prima generazione di individui caratterizzati da un codice genetico definito anche in modo casuale all’interno di certi range ammessi per ogni carattere. Il codice genetico di ogni soluzione è rappresentato dal vettore dei parametri da ottimizzare, nel nostro caso gli 8000 elementi di W, trasformato in codice binario. Il processo riproduttivo per la creazione di una nuova generazione, viene simulato facendo nascere un nuovo codice genetico figlio attraverso la combinazione dei codici genetici di due individui genitori selezionati dalla generazione corrente. Grazie all’applicazione di alcuni operatori genetici non meglio descritti in questa sede, come il cross-over, l’ereditarietà e la mutazione, il codice genetico figlio è caratterizzato da aspetti comuni sia al padre che alla madre oltre che dall’introduzione di elementi casuali. La scelta dei genitori avviene premiando la selezione degli individui meglio adattati all’ambiente, così da rendere mediamente prevalente la sopravivenza del codice genetico più evoluto ai fini del conseguimento dell’obiettivo da raggiungere. Il processo viene reiterato più volte creando una successione di generazioni di individui sempre più adatti alle specifiche del problema. La qualità di ogni individuo, è computata in base a particolari funzioni obiettivo in seguito descritte. L’algoritmo si adatta bene alle nostre esigenze, in quanto nella generazione dei parametri è possibile intervenire con una procedura di controllo sugli elementi ottenuti, scartando
all’occorrenza quelle soluzioni che non rispettano i vincoli del problema. E’ altresì possibile un’ulteriore manipolazione del codice genetico, di volta in volta ricavato, per fare in modo che le N-uple di quaterne di parametri siano tali che i gruppi adiacenti non differiscano troppo tra loro, garantendo così la continuità nei diagrammi delle accelerazioni delle coordinate ai giunti. Nella fattispecie, si è deciso di trasformare il codice genetico offerto dall’algoritmo, con l’applicazione di un’interpolazione polinomiale di ventesimo grado assicurando in questo modo la fluidità del movimento nel passaggio da un punto della traiettoria a quello successivo. Rispetto agli algoritmi genetici tradizionalmente utilizzati, nel nostro caso, è stata introdotta una variante che vede i cromosomi allungarsi durante il processo evolutivo. Più precisamente, nella generazione di ogni nuovo individuo, l’algoritmo costruisce le traiettorie a partire dalla posizione iniziale della pinza, attraverso una serie di tentativi che cercano di completare il percorso, legando il codice genetico alle traiettorie parzialmente definite. Di fatto, il metodo funziona secondo due fasi successive. Nella prima si cerca di determinare un possibile percorso completo della pinza a partire dalla posizione iniziale del robot. Inizialmente, i cromosomi della prima generazione sono quindi 0 0 0 0 tutti costituiti dai soli quattro parametri che permettono di spostare la pinza dalla posizione iniziale al primo punto della traiettoria. Al fine di raggiungere i successivi punti della traiettoria, si innesca poi nell’algoritmo una procedura che cerca di allungare il codice genetico di ogni cromosoma, ottenendo nel passaggio dall’i-esima alla i+1- 0 0 0 0 1 esima posa una sequenza del tipo < w0 , w1 , w2 , w3 , w0 , 1 1 1 2 2 2 2 3 3 3 3 i i w1 , w2 , w3 , w0 , w1 , w2 , w3 , w0 , w1 , w2 , w3 ,…, w0 , w1 , i i w2 , w3 >. La procedura genera i quattro parametri per passare ad ogni nuovo punto in un intorno di quelli ottenuti al passo precedente così da non avere variazioni troppo repentine nei loro valori. In nuovi gruppi di geni vengono via via accodati nel cromosoma allungandolo sino a completare la traiettoria o sino a che viene meno il rispetto dei vincoli. In questo contesto, oltre che ottimizzare la funzione obiettivo, si massimizza il numero i di punti raggiunti dalla traiettoria parziale.
Una volta completata la prima fase, tutti i cromosomi saranno caratterizzati da 4N elementi e l’algoritmo prosegue nella sua ottimizzazione della sola funzione obiettivo. Figura 2 – Successive pose assunte dal robot durante il processo di simulazione/ottimizzazione A titolo di esempio, in figura 2 è stata evidenziata la traiettoria assunta dal primo giunto rotoidale in due diversi momenti dell’ottimizzazione. Le immagini sono tratte da un software di simulazione/ottimizzazione che è stato appositamente sviluppato per implementare l’algoritmo precedentemente descritto. L’unificazione dell’obiettivo nelle due fasi descritte è stata semplicemente ottenuta dal contributo di due termini definendo una funzione obiettivo del tipo: { ( )} min G W i = min 1 i ( ) + G1 W i (10) in cui G1 è legato al valore massimo delle azioni d’inerzia agenti sui quattro link durante il movimento. Per rendere l’ottimizzazione più flessibile, si è infine pensato di minimizzare una funzione obiettivo più articolata, del tipo: λ0 { } min G(W i ) = min i + λ1G1(W i ) + λ2G2 (W i ) + λ3G3 (W i ) (11) in cui vengono mescolati tramite i pesi j i contributi di ( ) & G1 W = Q& legato al valore della massima accelerazione i
( )= nel generico punto della traiettoria, di G2 W i Q& Q &&ds in qualche modo legato all’energia globale del movimento lungo l’ascissa curvilinea s e ( ) G3 W i = & Q&ds legato ad un contributo globale lungo la traiettoria delle azioni d’inerzia. Il software implementato permette attraverso appositi cursori di variare il valore dei parametri j durante l’ottimizzazione così da valutare in modo immediato le modifiche apportate run-time sulla funzione obiettivo. I risultati hanno consentito di ottenere sulla macchina reale movimentazioni talmente armoniose da richiamare alla mente traiettorie naturali proprie dei movimenti umani. CONCLUSIONI La realizzazione della spezzonatrice laser denominata Speedfly 5 operata dalla Tube Tech Machinery è stata possibile grazie alle ingenti risorse economiche messe a disposizione, alla volontà e alla determinazione messe in campo per il raggiungimento del traguardo, alla partecipazione al progetto di diverse realtà chiamate a collaborare ciascuna per la propria specializzazione. Del gruppo di lavoro, coordinato da tecnici Tube Tech, hanno fatto parte • il Professore Rodolfo Faglia, docente di Meccanica applicata alle macchine della facoltà di Ingegneria dell’Università degli Studi di Brescia validamente coadiuvato dall’Ing Bussola, • il colosso dell’elettronica Siemens per la parte applicativa riguardante motori, azionamenti e controllo, • la Società Alpha Progetti per la progettazione meccanica. Da questa esperienza emergono alcuni punti che sono alla base della filosofia Tube Tech: per essere innovativi è necessario investire in ricerca e sviluppo creando stretti rapporti di collaborazione tra Università e mondo del lavoro. Siamo orgogliosi di quanto abbiamo fatto perché crediamo siano queste le realtà in grado di assicurare lavoro e successo a chi ha ancora voglia di creare.
Puoi anche leggere