4 Cinematica diretta dei robot In questa sezione verrà fornito un metodo costruttivo per caratterizzare la posizione del punto terminale di un manipolatore (detto anche effettore) in base alla posizione relativa di ogni segmento (o link) rispetto al precedente segmento, ovvero, in altri termini, in base alla posizione di ogni giunto 41 Segmenti, giunti e loro parametri Un manipolatore meccanico consiste in una sequenza di segmenti rigidi chiamati link, connessi da giunti prismatici o di rotazione (vedi esempio in Figura 13) Ogni coppia giunto-link, rappresenta un grado di libertà Dunque, per un manipolatore con N gradi di libertà ci sono N coppie giunto-link con il link 0 (non considerato parte del robot) ancorato a una base di appoggio dove di norma è stabilito un sistema di coordinate inerziale; all ultimo link è collegato un utensile I giunti e i link sono numerati in successione partendo dalla base; così il giunto 1 costituisce il punto di connessione fra il link 1 e la base di supporto Ogni link è connesso al più a due altri link perché non si formino catene chiuse Figure 13: Il robot PUMA In generale, due link sono collegati fra loro con un giunto di prima specie, e di questi, solo i giunti rotazionali e prismatici sono comuni nei manipolatori I primi sono giunti associati ad uno spostamento angolare dei link adiacenti (ad esempio, il giunto 2 in Figura 13), mentre i secondi sono associati ad uno spostamento lineare dei link adiacenti 24
L asse di un giunto si definisce come l asse di rotazione o di traslazione individuato dal movimento del giunto Questo asse avrà due normali, una per ogni link Si faccia riferimento alla Figura 14 Figure 14: Sistemi di coordinate dei link e loro parametri Un link i è connesso, ripetiamo, al massimo ad altri due (cioè il link i 1 e il link i + 1); pertanto, sono stabiliti due assi del giunto per ambedue le estremità della connessione Il significato dei link, considerati in un ottica cinematica, è che essi mantengono una configurazione fissa tra i loro giunti che può essere caratterizzata da due parametri a i e α i Il parametro a i rappresenta la distanza più breve misurata lungo la normale comune tra gli assi dei giunti (cioè gli assi z i 1 e z i rispettivamente per i giunti i e i + 1), e α i è l angolo compreso tra gli assi dei giunti su un piano perpendicolare ad a i Così a i e α i possono essere chiamati, rispettivamente, lunghezza e angolo di twist del link i Essi sono associati alla struttura del link Dato l asse z i, la posizione relativa dei due link adiacenti i 1 e i è data da d i, che è la distanza misurata lungo l asse del giunto fra la normale proveniente dall asse del giunto i 1 e la normale che va al giunto i + 1 (ovvero, il segmento a i ) L angolo θ i del giunto è l angolo formato dalle 2 normali, misurato su un piano ortogonale all asse del giunto Dunque, d i e θ i possono essere chiamati rispettivamente distanza e angolo di giunto, fra due link adiacenti Essi sono associati alla posizione relativa tra i due link Riassumendo, a ciascuna coppia giunto/link di un manipolatore sono associati quattro parametri: a i, α i, d i e θ i Una volta stabilita una convenzione di segno per ognuno di essi, questi costituiscono un insieme sufficiente a determinare completamente la configurazione cinematica di ciascun anello della catena articolata del braccio Si enfatizza che questi parametri possono essere considerati a coppie: (a i, α i ), che dipendono dalla struttura del link, e (d i, θ i ), parametri dei giunti, che dipendono dalla posizione relativa dei link adiacenti 25
Link/giunto a α d θ 1 a 1 α 1 d 1 θ 1 2 a 2 α 2 d 2 θ 2 N a N α N d N θ N Table 1: Tabella dei parametri a i, α i, d i e θ i per un robot generico In base alla caratterizzazione precedente, dato un manipolatore, sulla base dei quattro parametri a i, α i, d i e θ i, si può compilare una tabella strutturata come la Tabella 1, dove ogni link (e giunto) corrisponde ad una riga su cui sono presenti i parametri caratteristici del link e del giunto i Questa tabella sarà utile per il calcolo della cinematica diretta del robot, ovvero della funzione che trasforma le coordinate del sistema di effettore (o della mano) nel sistema di coordinate di base 42 Rappresentazione di Denavit-Hartenberg Per descrivere le relazioni di rotazione e traslazione tra link adiacenti, Denavit e Hartenberg [1955] hanno proposto un metodo matriciale per stabilire sistematicamente un sistema di coordinate per ogni link di una catena articolata La rappresentazione di Denavit-Hartenberg (D-H) consiste in una matrice di trasformazione omogenea i 1 T i R 4 4 che rappresenta il sistema di coordinate del link i rispetto al riferimento del link precedente i 1 Pertanto, attraverso trasformazioni sequenziali, l estremità dell effettore, espresso nell ultimo sistema di coordinate, può essere trasformata ed espressa nelle coordinate di base che costituiscono il sistema di riferimento inerziale di questo sistema dinamico Come già accennato, il robot è individuato da un sistema di riferimento inerziale (0xyz) o, detto di base, da un sistema di riferimento di effettore (0xyz) e (anche detto della mano ) e dai sistemi di riferimento intermedi, ognuno associato ad un link (e ad un giunto) Per ognuno di questi N sistemi di riferimento (dove N sono i gradi di libertà della catena cinematica), si danno di seguito delle regole di tracciamento in termini di: 1) posizione dell asse z i ; 2) posizione del centro o i ; 3) posizione dell asse x i La posizione dell asse y i è infine determinabile univocamente dalle informazioni precedenti Procedura per la scelta dei riferimenti A Sistema di riferimento di base, (0xyz) 0 : 1 scegliere l asse z 0 come l asse del primo giunto; 2 scegliere il centro arbitrariamente (ad esempio, al livello del piano di appoggio); 3 scegliere l asse x 0 arbitrariamente 26
B Sistema di riferimento del link 1 i N, (0xyz) i : 1 Scegliere l asse z i come l asse del giunto i + 1 2 Scegliere il centro o i come segue: se gli assi z i 1 e z i sono sghembi, tracciare l unico segmento a i perpendicolare ad entrambi gli assi (che in effetti costituisce la loro distanza) e scegliere il centro o i come l intersezione del segmento a i con l asse z i ; se gli assi z i 1 e z i sono paralleli, poiché ci sono infiniti segmenti a i di minima distanza tra z i 1 e z i, scegliere il centro o i arbitrariamente (a volte è comodo posizionarlo allineato con o i 1 ); se gli assi z i 1 e z i sono secanti, scegliere il centro o i al punto di intersezione dei due assi 3 Scegliere l asse x i come segue: se gli assi z i 1 e z i sono sghembi o paralleli, scegliere l asse x i come il prolungamento del segmento a i dopo il passaggio per il centro o i ; se gli assi z i 1 e z i sono secanti, scegliere l asse x i nella direzione perpendicolare al piano individuato da z i e z i 1, con verso arbitrario C Sistema di riferimento d effettore (della mano), (0xyz) e : 1 Scegliere l asse z e nella direzione di avvicinamento; 2 Scegliere il centro o e al centro della pinza o sul punto terminale di un utensile (ad esempio, la punta di un trapano); 3 Scegliere l asse x e nella direzione di apertura della pinza (detta anche scorrimento, o alzo), o arbitrariamente nel caso di utensili più sofisticati Si osservi che in un certo numero di situazioni, la procedura appena definita non dà indicazioni precise sul posizionamento dei sistemi di riferimento In particolare, ciò accade nei seguenti casi: Per la terna 0, poiché solo l asse z 0 è fissato, si può scegliere liberamente sia o 0 che x 0 Per la terna N, poiché non esiste il giunto N + 1, l asse x N ha il solo vincolo di essere ortogonale all asse z N 1, e gli altri parametri sono liberi Quando due assi consecutivi sono paralleli o secanti Nel primo caso, la posizione del centro o N è arbitraria lungo tali assi; nel secondo, il verso di x N è arbitrario 27
43 Trasformazione omogenea associata ad un link Stabilito il sistema di coordinate di D-H per ogni link, si può sviluppare facilmente una matrice di trasformazione omogenea che metta in relazione il sistema di coordinate i-esimo col sistema di il coordinate (i 1)-esimo In particolare, con riferimento alla Figura 14, si osservi che, in base alla regola mnemonica data nell Osservazione 31, sovrapponendo il sistema di riferimento (0xyz) i al sistema di riferimento (0xyz) i 1, bisogna effettuare le seguenti trasformazioni elementari per riportare (0xyz) i nella sua posizione originaria: 1 traslare lungo l asse z i 1 di una lunghezza pari a d i per portare l origine o i sul punto di intersezione tra il segmento a i e l asse z i 1 ; 2 ruotare intorno all asse z i 1 di un angolo θ i per allineare l asse x i con il segmento a i ; 3 traslare lungo l asse x i di una lunghezza pari ad a i per portare o i nella posizione originaria; 4 ruotare intorno all asse x i di un angolo pari ad α i per portare l asse z i nella posizione originaria Le prime due trasformazioni sono riferite al sistema di riferimento i 1 e corrispondono dunque alla premoltiplicazione per le matrici T tr,[0 0 di ] e T z,θi, rispettivamente Le ultime due trasformazioni, sono invece riferite al sistema di riferimento i e corrispondono alla postmoltiplicazione per le matrici T tr,[ai 0 0] e T x,αi, rispettivamente In sintesi, la trasformazione i 1 T i si costruisce secondo la seguente sequenza: I T tr,[0 0 di ] T z,θi T tr,[0 0 di ] T z,θi T tr,[0 0 di ] T tr,[ai 0 0] T z,θi T tr,[0 0 di ] T tr,[ai 0 0] T x,αi, e risulta essere: i 1 T i = T z,θi T tr,[0 0 di ] T tr,[ai 0 0] T x,αi (22) Si osservi l analogia tra la trasformazione (22) e l Esempio 31, dove peraltro, la matrice i 1 T i è calcolata esplicitamente Poiché la ((22) è di valore generale, essa può essere applicata iterativamente sostituendo i dati della Tabella 1 per ottenere in maniera immediata la matrice 0 T e della cinematica diretta Il calcolo della cinematica diretta, si scompone in una procedura costituita dai seguenti passi: 1 Si analizza la struttura posizionando tutti i sistemi di riferimento secondo la procedura vista precedentemente; 2 In base alla posizione dei sistemi di riferimento, si ricavano i parametri di D-H, compilando la Tabella 1 3 Si sostituiscono i valori della riga i-esima della tabella nella corrispettiva matrice di trasformazione i 1 T i e si semplificano le moltiplicazioni 4 Si moltiplicano tutte le matrici ricavate al punto precedente per ricavare la matrice finale: p 0 = 0 T e p e = 0 T 1 1 T 2 i 1 T i N 1 T N N T e p e (23) 28
Tale procedura presenta un solo punto che può risultare non di immediata facilità, costituito dalla estrapolazione dei parametri di D-H in base alla posizione delle terne di riferimento, che è un operazione prettamente di tipo geometrico Si tenga peraltro presente che gli angoli di giunto θ i per i giunti rotazionali e gli offset di giunto d i per i giunti prismatici, non sono necessariamente coincidenti con gli angoli geometrici scelti per descrivere la configurazione del robot Dunque, riportare tali angoli nella tabella di D-H senza aver verificato questa coincidenza, può portare ad errori nel calcolo della cinematica globale Questo concetto è facilmente verificabile riflettendo sul fatto che la definizione delle coordinate geometriche di un robot è arbitraria, e che, necessariamente, scelte diverse degli angoli geometrici, devono corrispondere a opportune differenze nella matrice di cinematica diretta per non modificare il risultato finale (la geometria del robot è sempre la stessa) Nell osservazione seguente è indicato un possibile metodo pratico per la determinazione dei parametri di D-H Osservazione 41 Date due terne (oxyz) i 1 e (oxyz) i, con riferimento alla Figura 14, una possibile procedura per stimare i parametri D-H è di portare dapprima l asse z i 1 sull asse z i per stimare a i e successivamente, ruotarlo intorno a x i per stimare α i Per la stima di d i e θ i, conviene, in generale, fare l operazione inversa, ovvero riportare l asse z i verso il sistema di riferimento (oxyz) i 1 ruotandolo di α i e traslandolo di a i A questo punto, uno spostamento di d i è necessario per portare o i a coincidere con o i 1 e una rotazione di θ i è necessaria per portare x i a sovrapporsi con x i 1 La convenienza nel misurare d i e θ i tornando sul sistema (oxyz) i 1 deriva dal fatto che questi parametri sono relativi al giunto i di cui z i 1 è l asse 44 Spazio dei giunti e spazio operativo Come si è visto nei paragrafi precedenti, l equazione cinematica diretta di un manipolatore consente di esprimere la posizione e l orientamento della terna utensile di un robot rispetto alla terna di base, in funzione delle variabili di giunto Nello specificare il compito da far eseguire all organo terminale del manipolatore sorge la necessità di assegnare posizione e orientamento della terna utensile, eventualmente in funzione del tempo (traiettoria) Mentre per la posizione si può procedere in maniera semplice, specificare l orientamento mediante una matrice di rotazione risulta difficile in quanto bisogna garantire che le nove componenti soddisfino, istante per istante, i vincoli di ortonormalità Il problema della descrizione dell orientamento dell organo terminale si presta ad una soluzione naturale se invece si fa ricorso ad una delle rappresentazioni minime introdotte nella Sezione 31 in quanto, in tal caso, risulta agevole assegnare una legge di moto alla terna di angoli scelta per rappresentare l orientamento Si può pertanto individuare la posizione con un numero minimo di coordinate definito dalla geometria della struttura e si può specificare l orientamento ricorrendo a una rappresentazione minima in termini delle variabili che caratterizzano la rotazione della terna utensile rispetto alla terna base (ad esempio, angoli di Eulero o angoli di RPY) È in tal 29
modo possibile descrivere la postura del manipolatore mediante il vettore [ ] p x =, φ dove p R 3 caratterizza la posizione dell organo terminale e φ il suo orientamento Tale rappresentazione di posizione e orientamento consente la descrizione del compito assegnato all organo terminale in termini di un numero di parametri strutturalmente indipendenti tra di loro Lo spazio in cui è definito il vettore x è quello rispetto al quale viene tipicamente specificata l operazione richiesta al manipolatore; pertanto esso viene denominato spazio operativo Con spazio dei giunti (o spazio delle configurazioni), invece, ci si riferisce allo spazio in cui è definito il vettore delle variabili di giunto: q = dove q i = θ i per un giunto rotazionale e q i = d i per un giunto prismatico Tenendo conto della dipendenza di posizione e orientamento dalle variabili di giunto, l equazione cinematica diretta può scriversi in una forma alternativa rispetto alla (23), come q 1 q n, x = k(q), (24) dove la funzione vettoriale k( ), non lineare in generale, permette il calcolo delle variabili nello spazio operativo a partire dalla conoscenza delle variabili nello spazio dei giunti È opportuno precisare che la dipendenza delle variabili di orientamento dalle variabili di giunto nella (24), non risulta agevole tranne che in casi semplici Infatti, nelle ipotesi più generali, di uno spazio operativo esadimensionale, il calcolo delle tre componenti della funzione φ(q) non è attuabile in forma diretta ma passa comunque attraverso il calcolo di una matrice di rotazione Con riferimento allo spazio operativo, come elemento di valutazione delle prestazioni di un robot, si definisce spazio di lavoro di un manipolatore la regione descritta dall origine della terna utensile quando ai giunti del manipolatore si fanno eseguire tutti i moti possibili Sovente si usa distinguere tra spazio di lavoro raggiungibile e spazio di lavoro destro (spazio di destrezza) Il secondo è la regione che l origine della terna utensile può descrivere assumendo differenti orientamenti, mentre il primo è la regione che l origine della terna utensile può raggiungere con almeno un orientamento Ovviamente lo spazio di lavoro destro è un sottoinsieme dello spazio di lavoro raggiungibile 45 Esempi e esercizi In questa sezione vengono forniti alcuni esempi ed esercizi per il calcolo della cinematica diretta di un robot Esempio 41 (Manipolatore SCARA) In questo esempio si procederà a calcolare la trasformazione cinematica diretta per un robot di tipo SCARA La struttura del robot ed i sistemi 30
Figure 15: Il manipolatore SCARA con i sistemi di riferimento di riferimento, assegnati seguendo la procedura di Denavit-Hartenberg, sono riportati nella Figura 15 Il vettore delle variabili di giunto è dato da: ed i parametri cinematici che caratterizzano il robot sono: q = [ θ 1 θ 2 d 3 θ 4 ], (25) θ d l α 1 θ 1 d 1 l 1 0 2 θ 2 0 l 2 +π 3 0 d 3 0 0 4 θ 4 0 0 0 Le matrici di trasformazione, tenendo conto della (22), sono date da: cos θ 4 sin θ 4 0 0 3 T 4 = sin θ 4 cos θ 4 0 0 0 0 1 0, (26) 0 0 0 1 2 T 3 = 1 0 0 0 0 1 0 0 0 0 1 d 3 0 0 0 1 31, (27)
1 T 2 = 0 T 1 = cos θ 2 sin θ 2 0 l 2 cos θ 2 sin θ 2 cos θ 2 0 l 2 sin θ 2 0 0 1 0 0 0 0 1 cos θ 1 sin θ 1 0 l 1 cos θ 1 sin θ 1 cos θ 1 0 l 1 sin θ 1 0 0 1 d 1 0 0 0 1 La matrice di trasformazione mano-base, cioè la 0 T 4, è data da:, (28) (29) 0 T 4 = 0 T 1 1 T 2 2 T 3 3 T 4 (30) C 12 4 S 12 4 0 l 1 C 1 + l 2 C 12 = S 12 4 C 12 4 0 l 1 S 1 + l 2 S 12 0 0 1 d 1 d 3, (31) 0 0 0 1 in cui C 12 4 indica la funzione cos(θ 1 + θ 2 θ 4 ), S 12 4 indica la funzione sin(θ 1 + θ 2 θ 4 ), C 1 indica la funzione cos(θ 1 ), S 1 indica la funzione sin(θ 1 ), ed analogamente C 12 indica la funzione cos(θ 1 + θ 2 ), e S 12 indica la funzione sin(θ 1 + θ 2 ) La posizione della mano (ovvero, la posizione dell origine della terna associata alla mano) espressa nelle coordinate di base è dunque data da: x 0 = l 1 C 1 + l 2 C 12, y 0 = l 1 S 1 + l 2 S 12, z 0 = d 1 d 3 Esercizio 41 Calcolare la matrice di cinematica diretta dello Stanford Robot Arm, e per il robot PUMA, utilizzando i sistemi di riferimento rappresentati in Figura 16 e in Figura 17, rispettivamente Si scriva dapprima la tabella dei parametri cinematici, calcolando le matrici associate ad ogni link e poi si moltiplichino le matrici per ottenere la trasformazione globale Esercizio 42 Si osservi che nell Esempio 41, il posizionamento del centro dei sistemi di riferimento 1, 2 e 3 rispettivamente sui giunti 2, 3 e 4 è arbitrario Si ricalcoli la cinematica diretta del robot posizionando i centri dei 3 sistemi di riferimento in corrispondenza del piano di appoggio e orientando gli assi z di tutti e tre i sistemi verso l alto Successivamente, si verifichi (algebricamente o numericamente) che la matrice di cinematica diretta risultante è la stessa Esercizio 43 Collocare i sistemi di riferimento e calcolare la cinematica diretta per i robot rappresentati in Figura 18: il manipolatore sferico e il manipolatore antropomorfo 32
Figure 16: Lo Stanford robot arm con i sistemi di riferimento Figure 17: Un robot PUMA con i sistemi di riferimento 33
Figure 18: Manipolatore sferico e manipolatore antropomorfo 5 Cinematica inversa dei robot Ancora da scrivere 34