4.5 Implementazione
4.5.2 Scelta dei blocchi SimMechanics e parametrizzazione
L’implementazione e le simulazioni del modello, sviluppato nell’ambito di questa tesi, sono state eseguite in ambiente SimMechanics, un codice di tipo multi-body, parte di Simulink Physical
Modelling (Matlab,MathWorks®). Il vantaggio dell’utilizzo di questo software risiede nella
possibilità di interfacciarsi con tutti i blocchi Simulink e con il Workspace di Matlab, un ambiente già ampiamente noto ed impiegato in molte branche dell’ingegneria.
In questo paragrafo si cerca di descrivere brevemente la scelta di ogni blocco
SimMechanics, che ha portato alla simulazione del modello. Si sottolinea che tutti i dati
d’interesse, specificati nella maschera visualizzata all’apertura di ogni blocco, sono stati “parametrizzati”, ovvero definiti e riportati in appositi MAT-file (file .m) di Matlab (MathWorks®), ossia script, così da poter essere richiamati e inclusi nel Workspace di Matlab (MathWorks®) ad ogni lancio del file dalla Command Window. Questa scelta risponde a due vantaggi: la possibilità di modificare o aggiornare i dati direttamente tramite script in maniera più conveniente e meno soggetta a errori; una maggior chiarezza espositiva in base ad un criterio di standardizzazione dei parametri utilizzati. La fase di definizione/dichiarazione dei parametri specifici relativi a ciascun blocco SimMechanics, analizzato di seguito, è stata riportata nell’Appendice C.
4.5.2.1 Machine Environment
Questo blocco, che è sempre connesso ad un blocco Ground, ha permesso la modifica dei parametri dell’ambiente in cui si muove il modello, quali la gravità, la modalità di analisi, le dimensioni dell’ambiente e le tolleranze delle configurazioni. In Fig. 4.27 è mostrata la maschera che specifica il tipo di definizione che è stata scelta per i parametri d’interesse.
63 Fig. 4.27
Maschera dei parametri del blocco Machine Environment
Come si evince dalla Fig. 4.27, la dimensionalità dell’ambiente del modello è assunta 3D e la modalità di analisi scelta è la Forward Dynamics. Nell’area Constraints della maschera di Fig. 4.27, è stato scelto come solutore per i vincoli il Machine Precision Constraint Solver che al momento della simulazione fornisce i risultati migliori, in termini di accuratezza, secondo la precisione numerica del computer.
4.5.2.2 Ground
Ad un blocco Ground, che rappresenta il telaio nel sistema di riferimento inerziale globale
World CS, è associato un sistema di coordinate con la stessa orientazione del World CS e in questo
caso anche con la stessa origine in (0,0,0). Il Ground è il punto fisso di partenza del modello (Fig. 4.28).
Fig. 4.28
64 Il SDR fisso o World CS, scelto, è stato orientato come in Fig. 4.29 per il vantaggio di avere la forza di gravità posizionata lungo l’asse z verticale.
Fig. 4.29
Orientamento della terna fissa del modello
Il World CS, definito F0 nella Fig. 4.30, è il riferimento solidale alla base del robot. Per rimanere coerenti a questa scelta, la terna F0 del modello SimMechanics implementato, a cui è solidale l’unico blocco Ground presente nella macchina, è stato orientato come F0.
Fig. 4.30 (6)
La terna F0 è il riferimento solidale alla base del robot
4.5.2.3 Orientazione dei corpi e convenzione D-H
Una questione delicata riguarda l’orientazione dei corpi. È possibile per l’utente definire questa proprietà all’interno del blocco Body attraverso la definizione dell’origine e dell’orientazione dei sistemi di coordinate locali solidali ad un corpo rigido (Body CS). Durante l’implementazione, i Body CS sono stati presi nei punti di attacco di ogni link della catena cinematica e orientati secondo la Convenzione D-H, come accennato precedentemente.
La rappresentazione di D-H è un metodo matriciale per descrivere le relazioni di traslazione e rotazione tra link adiacenti. La matrice di trasformazione è lo strumento operativo che permette di uniformare il modo di trattare numericamente traslazioni e rotazioni; la relazione 4.9 mostra che, attraverso la matrice omogenea T, è possibile convertire le coordinate del vettore
puvw, espresse nel Body CS OUVW, nelle coordinate del vettore pxyz, espresse nel World CS
OXYZ.
65 Le matrici omogenee di rotazione e traslazione possono essere moltiplicate tra loro per ottenere una matrice composta, come indicato nell’espressione 4.10:
T = T01T12 …. Tn-1n (4.10)
Le matrici di trasformazione omogenea dipendono da quattro parametri geometrici (ai, αi, di, Ɵi), di cui solo uno costituisce l’incognita. In particolare, a ciascun link del manipolatore vengono associati due parametri (di e Ɵi), che determinano la posizione relativa dei link adiacenti (parametri di giunto) e due parametri (ai e αi), che determinano la struttura del link. Dal punto di vista cinematico un link mantiene una configurazione fissa tra due giunti, detta struttura del link i- esimo, che può essere caratterizzata mediante la lunghezza (ai) e l’angolo di rotazione (αi) del link i-esimo, pertanto:
ai è la distanza minima misurata lungo la normale comune tra gli assi dei giunti
αi è l’angolo compreso tra gli assi dei giunti su un piano normale ad ai
La posizione relativa del link i-esimo rispetto al link (i-1)-esimo può essere definita misurando la distanza (di) e l’angolo (Ɵi) tra i due link adiacenti, pertanto si definiscono:
di come la distanza fra le rette normali misurata lungo l’asse del giunto i-esimo
Ɵi come l’angolo compreso tra le due normali misurato su un piano normale all’asse stesso.
Riassumendo, i parametri geometrici ai, αi, di e Ɵi, associati ad ogni link, costituiscono un insieme sufficiente a determinare completamente la configurazione cinematica di ciascun anello della catena cinematica del braccio robotico, quindi descrivono completamente tutti i giunti rotazionali o prismatici. Per un giunto rotoidale i parametri di, ai, αi restano costanti e varia solo Ɵi, per un giunto prismatico Ɵi, ai, αi restano costanti e la variabile di giunto è solo di.
L’applicazione dell’algoritmo di D-H per rappresentare i SDR ortonormali, coerenti per un robot, facilita lo sviluppo del procedimento logico per la soluzione dei giunti. I passi fondamentali dell’algoritmo possono essere così sintetizzati:
1) determinazione del SDR fondamentale (World CS)
2) determinazione del Body CS di ogni giunto (da 1 a 7), pertanto stabilire: asse del giunto
origine del sistema di coordinate asse x
asse y
3) determinazione del Body CS dell’effettore, uscente dal robot.
66 Nel nostro caso, dato il robot a 7 (n) DOF, si assegna un SDR ortonormale ad ogni link: l’assegnamento inizia dalla base e procede fino all’E-E per un totale di 8 (n+1) SDR. Attraverso trasformazioni sequenziali, la posizione dell’E-E, espressa nelle coordinate del sistema solidale all’effettore (Body CS), può essere trasformata ed espressa nel sistema World CS (sistema inerziale di riferimento). Stabilito il sistema di coordinate di D-H per ciascun link, si può definire una matrice di trasformazione omogenea che mette in relazione i SDR adiacenti, effettuando le trasformazioni di rotazione e traslazione (Fig. 4.31) descritte di seguito:
rotazione intorno all’asse xi di un angolo di αi per allineare gli assi z traslazione di ai lungo l’asse xi
traslazione di una quantità di lungo zi-1 per portare le due origini a coincidere rotazione intorno all’asse zi-1 di un angolo Ɵi per allineare gli assi x
Fig. 4.31 (6)
Rappresentazione di Denavit-Hartenberg
Queste trasformazioni possono essere espresse mediante un’unica matrice di trasformazione omogenea, come mostrato nella 4.11:
i-1
Ai=Tz,Ɵ Tz,d Tx,a Tx,α (4.11)