Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot Analisi cinematica del PUMA 1 Equazioni di chiusura La Fig. 1 mostra la convenzione adottata per la scelta dei sistemi di riferimento su ciascun membro. Si adotta la notazione di Denavit-Hartenberg ponendo (k=1…6): - φk: angolo di rotazione della k-esima coppia rotoidale; - σk: offset lungo l'asse della k-esima coppia rotoidale; - αk: twist del membro k-esimo; - ak: offset del membro k-esimo. Il segno dei parametri geometrici e di movimento è determinato utilizzando la convenzione di Morgan. Il significato delle matrici di trasformazione è anch’esso illustrato in Fig. 1. Le matrici di movimento Mk e di geometria Gk sono rispettivamente uguali a (1) ⎡cos φk ⎢ sin φ k Mk = ⎢ ⎢ 0 ⎢ ⎣ 0 − sin φk cos φk 0 0 0 0⎤ 0 0 ⎥⎥ , 1 σk ⎥ ⎥ 0 1⎦ 0 ⎡1 ⎢0 cos α k Gk = ⎢ ⎢0 sin α k ⎢ 0 ⎣0 ak ⎤ 0 ⎥⎥ 0⎥ ⎥ 1⎦ 0 − sin α k cos α k 0 mentre la matrice di trasformazione da Sik a Sik −1 è (2) ⎡cos φk ⎢ sin φ k Hk = MkGk = ⎢ ⎢ 0 ⎢ ⎣ 0 − cos α k sin φk cos α k cos φk sin α k 0 sin α k sin φk − sin α k cos φk cos α k 0 ak cos φk ⎤ ak sin φk ⎥⎥ σk ⎥ ⎥ 1 ⎦ La Fig. 2 mostra il PUMA nella configurazione individuata da φk =0 (k=1…6) (configurazione di riferimento). In essa, tutti gli assi x sono tra loro paralleli. Nella medesima figura è riportata una tabella in cui sono compendiate le caratteristiche geometriche del PUMA. Le matrici di trasformazione valgono ⎡c1 ⎢s H1 = ⎢ 1 ⎢0 ⎢ ⎣0 0 s1 0 −c1 1 0 0 0 0⎤ 0 ⎥⎥ , 0⎥ ⎥ 1⎦ ⎡c2 ⎢s H2 = ⎢ 2 ⎢0 ⎢ ⎣0 − s2 c2 0 0 0 a2 c2 ⎤ 0 a2 s2 ⎥⎥ , 1 σ2 ⎥ ⎥ 0 1 ⎦ ⎡c3 ⎢s H3 = ⎢ 3 ⎢0 ⎢ ⎣0 0 − s3 0 −1 c3 0 0 0 − s6 0 0⎤ 0 0 ⎥⎥ 1 0⎥ ⎥ 0 1⎦ 0⎤ 0⎥⎥ 0⎥ ⎥ 1⎦ (3) ⎡c4 ⎢s H4 = ⎢ 4 ⎢0 ⎢ ⎣0 0 s4 0 −c4 1 0 0 0 0⎤ 0 ⎥⎥ , σ4⎥ ⎥ 1⎦ ⎡ c5 ⎢s H5 = ⎢ 5 ⎢0 ⎢ ⎣0 0 − s5 0 −1 c5 0 0 0 0⎤ 0 ⎥⎥ , 0⎥ ⎥ 1⎦ ⎡c6 ⎢s H6 = ⎢ 6 ⎢0 ⎢ ⎣0 c6 0 0 ove sk = sin φk e ck = cos φk (k=1…6). La matrice E di trasformazione delle coordinate da S 6j a Si0 , espressa in funzione degli angoli φk (k=1…6), è data da (4) E = H123 H 456 con 1 Università di Bologna – Facoltà d'Ingegneria (5) H123 Meccanica dei Robot ⎡ c1c23 ⎢s c = H1H 2 H 3 = ⎢ 1 23 ⎢ s23 ⎢ ⎣ 0 − s1 c1 0 0 −c1s23 − s1s23 c23 0 a2 c1c2 + σ 2 s1 ⎤ a2 s1c2 − σ 2 c1 ⎥⎥ ⎥ a2 s2 ⎥ 1 ⎦ e (6) H 456 ⎡ c4 c5c6 − s4 s6 ⎢s c c + c s = H 4H5H6 = ⎢ 4 5 6 4 6 ⎢ s5c6 ⎢ 0 ⎣ −c4 c5 s6 − s4 c6 − s4 c5 s6 + c4 c6 − s5 s6 0 −c4 s5 0 ⎤ − s4 s5 0 ⎥⎥ c5 σ4⎥ ⎥ 0 1⎦ ove s23 = sin (φ2 + φ3 ) e c23 = cos (φ2 + φ3 ) . La matrice E ha la seguente forma (7) ⎡E E = ⎢ TR ⎣0 x⎤ 1 ⎥⎦ in cui il minore ortogonale ER esprime l'orientamento di S6j rispetto a Si0 e il vettore x=[x, y, z]T la posizione di O6j in Si0 ( O6j è il centro del polso sferico costituito dai membri f, g e h). 2 Analisi di posizione diretta Nell’analisi di posizione diretta occorre determinare la postura della mano, essendo note le variabili di giunto. Il problema si risolve in maniera immediata sostituendo i valori noti di φk (k=1…6) nella matrice a secondo membro dell’Eq. (4), determinando così la matrice E. 3 Analisi di posizione inversa Nel problema cinematico inverso è assegnata la postura della mano (cioè la matrice E) e occorre calcolare il valore delle variabili di giunto. La condizione (4) rappresenta quindi un sistema di equazioni nelle incognite φk (k=1…6). 3.1 Determinazione delle variabili di giunto φ1, φ2 e φ3 Come si può notare osservando la Fig. 2, la posizione di O6j in Si0 dipende unicamente da φ1, φ2 e φ3. Se si estraggono dal sistema (4) le equazioni di indici 14, 24 e 34 si ottiene infatti (8) ⎧−σ 4c1s23 + a2c1c2 + σ 2 s1 = x ⎪ ⎨ −σ 4 s1s23 + a2 s1c2 − σ 2c1 = y ⎪ σ 4 c23 + a2 s2 = z ⎩ ossia (9) ⎧ ( a2 c2 − σ 4 s23 ) c1 + σ 2 s1 = x ⎪ ⎨ −σ 2 c1 + ( a2 c2 − σ 4 s23 ) s1 = y ⎪ σ 4 c23 + a2 s2 = z ⎩ Le condizioni (9), relative ai soli termini di traslazione della matrice di trasformazione E, rappresentano notoriamente un set di tre equazioni indipendenti all'interno del sistema (4). Nel caso contingente, esse consentono di determinare direttamente φ1, φ2 e φ3. 2 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot Dalle prime due delle Eq. (9) si possono ricavare c1 e s1 in funzione di φ2 e φ3: c1 = (10) D1 , D0 s1 = D2 D0 con (11) D0 = a2 c2 − σ 4 s23 −σ 2 σ2 , a2 c2 − σ 4 s23 x σ2 , y a2 c2 − σ 4 s23 D1 = D2 = a2 c2 − σ 4 s23 x −σ 2 y Si osservi che D0 non può annullarsi per valori reali di φ2 e φ3, essendo D0 = ( a2 c2 − σ 4 s23 ) + σ 22 > 0 2 (12) Inoltre, i valori di c1 e s1 forniti dall’Eq. (10) non sono tra loro indipendenti, in quanto coseno e seno dello stesso angolo φ1. Deve perciò essere imposta l'equazione di congruenza c12 + s12 = 1 (13) la quale, esplicitata mediante le Eq. (10) e (11), conduce a D12 + D22 = D02 (14) ossia (15) 2 2 2 ⎡⎣ x ( a2 c2 − σ 4 s23 ) − yσ 2 ⎤⎦ + ⎡⎣ y ( a2 c2 − σ 4 s23 ) + xσ 2 ⎤⎦ = ⎡( a2 c2 − σ 4 s23 ) + σ 22 ⎤ ⎣ ⎦ 2 Espandendo il quadrato a primo membro si ottiene (16) (x 2 2 2 + y 2 ) ⎡( a2 c2 − σ 4 s23 ) + σ 22 ⎤ = ⎡( a2 c2 − σ 4 s23 ) + σ 22 ⎤ ⎣ ⎦ ⎣ ⎦ 2 Nell’Eq. (16) è lecito dividere entrambi i membri per D0, quantità certamente non nulla (v. Eq. (12)); si ha pertanto (17) ( a2c2 − σ 4 s23 ) 2 = x 2 + y 2 − σ 22 La terza delle Eq. (9) e la stessa Eq. (17) rappresentano il risultato dell'eliminazione dal sistema (9) dell'incognita φ1. In altre parole, la risoluzione del sistema (9), nelle incognite φ1, φ2 e φ3, è stata ricondotta alla risoluzione del sistema (18) ⎧⎪ σ 4 c23 + a2 s2 = z ⎨ 2 2 2 2 ⎪⎩( a2 c2 − σ 4 s23 ) = x + y − σ 2 nelle sole incongite φ2 e φ3 (come si vedrà nel Par. 4, le Eq. (18) possono essere ottenute più speditamente per via geometrica). Se nelle Eq. (18) si sommano membro a membro la seconda con il quadrato della prima, si ottiene (19) σ 42c232 + a22 s22 + 2a2σ 4 s2c23 + σ 42 s232 + a22 c22 − 2a2σ 4c2 s23 = x 2 + y 2 + z 2 − σ 22 e dunque (20) σ 42 + a22 + 2a2σ 4 ( s2 c23 − c2 s23 ) = x 2 + y 2 + z 2 − σ 22 Con semplici passaggi trigonometrici si ricava (21) −2a2σ 4 s3 = x 2 + y 2 + z 2 − σ 22 − σ 42 − a22 3 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot Tale condizione, dipendendo linearmente solo dalla seconda delle Eq. (18), può sostituire unicamente quest'ultima all'interno del sistema medesimo. Ci si riduce quindi a ricavare φ2 e φ3 dalla coppia di relazioni costituite dall’Eq. (21) e dalla prima delle Eq. (18), qui di seguito riportate per comodità: ⎧ σ 22 + σ 42 + a22 − ( x 2 + y 2 + z 2 ) ⎪ s3 = 2a2σ 4 ⎨ ⎪ ⎩σ 4c23 + a2 s2 = z (22) In particolare, la prima delle Eq. (22) fornisce esplicitamente sin φ3, cioè due soluzioni in φ3 (siano φ3a e φ3b) distinguibili dal valore di cos φ3: c3 = ± 1 − s32 (23) I valori di φ3a e φ3b sono entrambi reali se s3 ∈ [ −1, 1] . Supponendo ora noto il valore di φ3 (sia esso φ3a o φ3b), dalla seconda delle Eq. (22) si può ricavare φ2: (σ 4c3 ) c2 + ( a2 − σ 4 s3 ) s2 = z (24) Utilizzando le note relazioni trigonometriche c2 = (25) 1 − t22 , 1 + t22 s2 = 2t2 1 + t22 ove t2 = tan (φ2 2 ) , l’Eq. (24) diviene (26) ( z + σ 4c3 ) t22 − 2 ( a2 − σ 4 s3 ) t2 + ( z − σ 4c3 ) = 0 la quale porge (27) t2 = a2 − σ 4 s3 ± a22 + σ 42 − z 2 − 2a2σ 4 s3 z + σ 4 c3 Poiché, in virtù dell’Eq. (21), (28) a22 + σ 42 − z 2 − 2a2σ 4 s3 = x 2 + y 2 − σ 22 l’Eq. (27) può essere scritta nella forma (29) a2 − σ 4 s3 ± x 2 + y 2 − σ 22 t2 = z + σ 4 c3 L’Eq. (29) fornisce per φ2 le soluzioni: φ2′a e φ2′′a per φ3 = φ3a , φ2′b e φ2′′b per φ3 = φ3b . Il radicando a secondo membro dell’Eq. (29) assume lo stesso valore per entrambe le radici di φ3. Ne consegue che i valori di φ2′a , φ2′′a , φ2′b e φ2′′b sono o tutti reali o tutti complessi. Per ognuna delle quattro possibili coppie di valori (φ2, φ3) la sostituzione a ritroso nelle Eq. (10) e (11) conduce ad unico valore di φ1. Il sistema (9) ammette pertanto quattro soluzioni in φ1, φ2 e φ3. 3.2 Determinazione delle variabili di giunto φ4, φ5 e φ6 Per determinare le rimanenti incognite φ4, φ5 e φ6 occorre considerare le nove equazioni relative alle componenti di orientamento dell'equazione matriciale (4) (componenti di indici ij, i, j=1, 2, 3). Indicando con Hk,R il minore di rotazione (3×3) della matrice di trasformazione Hk (4×4), dall’Eq. (4) 4 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot si ottiene T H 456, R = H123, RER (30) il cui secondo membro è noto, perché tali sono gli angoli φ1, φ2 e φ3 da cui H123,R dipende. T Indicati con gij (i, j=1, 2, 3) gli elementi di H123, R E R , e tenendo persente l’Eq. (6), l’Eq. (30) può essere scritta nella forma (31) ⎡ c4 c5 c6 − s4 s6 ⎢s c c + c s ⎢ 4 5 6 4 6 ⎢⎣ s5c6 −c4 c5 s6 − s4 c6 − s4c5 s6 + c4 c6 − s5 s6 −c4 s5 ⎤ ⎡ g11 − s4 s5 ⎥⎥ = ⎢⎢ g 21 c5 ⎥⎦ ⎢⎣ g31 g12 g 22 g32 g13 ⎤ g 23 ⎥⎥ g33 ⎥⎦ Se si ipotizza g33 ≠ 1 , le equazioni del sistema (31) di indici 13, 23, 33, 31 e 32 consentono di ricavare φ4, φ5 e φ6. Dall'equazione di posto 33 si ha infatti c5 = g33 (32) la quale fornisce due soluzioni per φ5, caratterizzate da s5 = ± 1 − c52 (33) Dalle relazioni di indici 13 e 23 si deduce (34) c4 = − g13 , s5 s4 = − g 23 s5 g31 , s5 s6 = − g32 s5 Infine, dalle equazioni di posto 31 e 32 si ha (35) c6 = − Ad ognuna delle quattro possibili terne (φ1, φ2, φ3) precedentemente determinate sono perciò associabili, se g33 ≠ 1 (e quindi s5 ≠ 0 ), due distinte terne (φ4, φ5, φ6), per un totale di otto soluzioni di (4). Nel caso sia g33 = 1 (cioè s5 = 0 ), le equazioni aventi posto 13, 23, 31 e 32 nel sistema (31) sono identicamente soddisfatte. Rimangono da considerare le rimanenti quattro equazioni, le quali, per c5 = ±1 , diventano (36) ⎡ ± cos (φ6 ± φ4 ) m sin (φ6 ± φ4 ) ⎤ ⎡ g11 ⎢ ⎥= cos (φ6 ± φ4 ) ⎦ ⎢⎣ g 21 ⎣ sin (φ6 ± φ4 ) g12 ⎤ g 22 ⎥⎦ con g11 = g 22 e g12 = g 21 , e dove occorre prendere o i segni superiori o quelli inferiori. Le Eq. (36) si riducono alle due condizioni significative (37) ± cos (φ6 ± φ4 ) = g11 , sin (φ6 ± φ4 ) = g 21 A fronte dei valori φ5 = 0 o π , l’Eq. (37) fornisce un'infinità di possibili coppie (φ4, φ6). 3.3 [1] [2] [3] [4] Schema del processo risolutivo Determinazione di φ3, mediante la prima delle Eq. (22) e l’Eq. (23) (2 soluzioni). Determinazione di φ2, mediante l’Eq. (29) (2 soluzioni). Determinazione di φ1, mediante l’Eq. (10). Determinazione di φ5, mediante le Eq. (32) e (33) (2 soluzioni). 5 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot [5] Determinazione di φ4, mediante l’Eq. (34). [6] Determinazione di φ6, mediante l’Eq. (35). Nel caso in cui risulti g33 = 1 , i passi [4]-[6] sono sostituiti dai seguenti: [4’] Determinazione di φ5 ( φ5 = 0 se g 33 = 1 , φ5 = π se g33 = −1 ). [5’] Scelta arbitraria di φ4 ∈ [ 0, 2π[ (∞ soluzioni). [6’] Determinazione di φ6, mediante l’Eq. (37). Il passo [1] può fornire per φ3 due valori reali distinti o due valori reali coincidenti (per c3 = 0 ) o due valori complessi coniugati. Se i due valori di φ3 (siano φ3a e φ3b) sono reali, si può passare alla successiva fase [2] e verificare se il discriminante ∆ dell’Eq. (29) (che assume lo stesso valore sia per φ3a sia per φ3b) sia maggiore, minore o uguale a zero. Se ∆> 0, s'individuano per φ2 le soluzioni reali φ2′a e φ2′′a con φ3 = φ3a , φ2′b e φ2′′b con φ3 = φ3b ; se invece ∆= 0 (e quindi, dall’Eq. (18), a2 c2 − σ 4 s23 = 0 ) risulta φ2′a = φ2′′a e φ2′b = φ2′′b . In ogni caso, se ∆≥ 0, si può passare alla successiva fase [3], che individua sempre un solo valore per φ1. La condizione g33 = 1 , che discrimina tra le sequenze [4]-[6] e [4’]-[6’], deve ora essere valutata in corrispondenza ad ognuna delle quattro terne di valori (φ1, φ2, φ3) precedentemente individuate. In ogni caso, le soluzioni per φ5 sono reali. Esse coincidono se s5 = 0 , diversamente sono distinte. Se per ogni terna (φ1, φ2, φ3) è g33 ≠ 1 , l’analisi di posizione inversa ammette otto soluzioni. Altrimenti, queste sono in numero infinito. 4 Spazio di lavoro In questo paragrafo si determinerà lo spazio di lavoro teorico del PUMA (assumendo O6j come punto di riferimento della mano). Si prescinderà, cioè, dai problemi legati all’interferenza tra i membri e si assumerà che ogni coppia rotoidale possa realizzare una rotazione relativa pari a 360°. Ciò implica che il polso sferico possa produrre, in una qualunque posizione, un orientamento qualsiasi della mano e che soltanto la posizione di O6j sia soggetta a limitazione. In queste condizioni, lo spazio di lavoro destro coincide con quello raggiungibile. Si assumerà, inoltre, a2 ≥ σ 4 . La prima delle Eq. (22) ammette soluzioni reali solo se il modulo del secondo membro è minore o uguale a 1 e dunque σ 22 + ( a2 − σ 4 ) ≤ x 2 + y 2 + z 2 ≤ σ 22 + ( a2 + σ 4 ) 2 (38) 2 Ciò significa che O6j deve giacere nello spazio compreso tra due sfere, centrate in O0i e aventi raggi uguali a σ 22 + ( a2 − σ 4 ) e σ 22 + ( a2 + σ 4 ) rispettivamente. 2 2 L’Eq. (29) ammette soluzioni reali solo se il suo discriminante è maggiore o uguale a zero e dunque (39) x 2 + y 2 ≥ σ 22 Ciò significa che O6j deve anche giacere all’esterno di un cilindro d’asse z0i e raggio σ 2 . Lo spazio di lavoro teorico del PUMA è illustrato in Fig. 3. Le condizioni (38) e (39) hanno la seguente interpretazione geometrica. Indicando con r la proiezione del vettore ( O6j − O2j ) nel piano x0i y0i , dalla Fig. 4 risulta (40) ⎧ z = a2 s2 + σ 4 c23 ⎪ ⎨ r = a2c2 − σ 4 s23 ⎪ 2 2 2 2 ⎩r = x + y − σ 2 6 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot e conseguentemente ( a2c2 − σ 4 s23 ) (41) 2 = x 2 + y 2 − σ 22 La prima delle Eq. (40) e l’Eq. (41) coincidono con le Eq. (18) ricavate analiticamente nel Par. 3.1. È evidente che il braccio costituito dai membri d e e raggiunge la propria massima (risp. minima) elongazione quando φ3 = − π 2 (risp. φ3 = π 2 ). In questo caso, risulta ⎧⎪ z = ( a2 + σ 4 ) s2 ⎨ ⎪⎩ r = ( a2 + σ 4 ) c2 (42) ⎧⎪ z = ( a2 − σ 4 ) s2 (risp. ⎨ ) ⎪⎩ r = ( a2 − σ 4 ) c2 Le Eq. (42), unitamente alla terza delle Eq. (40), porgono (43) x 2 + y 2 + z 2 = σ 22 + ( a2 + σ 4 ) 2 (risp. x 2 + y 2 + z 2 = σ 22 + ( a2 − σ 4 ) ) 2 Le Eq. (43) forniscono le condizioni (38). Inoltre, poiché dalla seconda delle Eq. (40) risulta 0 ≤ r ≤ a2 + σ 4 (44) la terza delle Eq. (40) porge σ 22 ≤ x 2 + y 2 ≤ σ 22 + ( a2 + σ 4 ) (45) 2 Se sono soddisfatte le condizioni (38), la disuguaglianza a destra è automaticamente soddisfatta. La disuguaglianza a sinistra fornisce invece la condizione (39). 5 Analisi di velocità La velocità del punto di riferimento O6j si può calcolare differenziando l’Eq. (8) rispetto al tempo (46) ⎡ σ 4 s1s23 − a2 s1c2 + σ 2c1 −σ 4 c1c23 − a2 c1s2 ⎢ ⎢ −σ 4 c1s23 + a2 c1c2 + σ 2 s1 −σ 4 s1c23 − a2 s1s2 ⎢⎣ −σ 4 s23 + a2 c2 0 −σ 4 c1c23 ⎤ ⎡φ&1 ⎤ ⎢ ⎥ −σ 4 s1c23 ⎥⎥ ⎢φ&2 ⎥ = x& −σ 4 s23 ⎥⎦ ⎢⎣φ&3 ⎥⎦ mentre la velocità angolare della mano si può ottenere tenendo presente che & ET % =E ω R R (47) oppure, in maniera computazionalmente più comoda, come ω= ∑ k =1,6 (48) ⎡0⎤ ⎢ ⎥ & k −1 = ∑ φ k ( H1, R L H k −1, R ) ⎢ 0 ⎥ = k =1,6 ⎢⎣1 ⎥⎦ φ& z i k ( = φ&1I + φ&2 H1, R + φ&3 H1, R H 2, R + K + φ&6 H1, R H 2, R H 3, R H 4, R H 5, R ) ⎡0 ⎤ ⎢0 ⎥ ⎢ ⎥ ⎢⎣1 ⎥⎦ Le Eq. (46) e (48), espanse e scritte in forma matriciale, porgono l’equazione di velocità del PUMA (49) ⎡φ&1 ⎤ ⎢ ⎥ ⎡ x& ⎤ J⎢ M ⎥ = ⎢ ⎥ ω ⎢φ&6 ⎥ ⎣ ⎦ ⎣ ⎦ dove la matrice jacobiana è pari a 7 Università di Bologna – Facoltà d'Ingegneria (50) ⎡ σ 4 s1 s23 − a2 s1c2 + σ 2 c1 ⎢ −σ c s + a c c + σ s 2 1 2 2 1 ⎢ 4 1 23 ⎢ 0 J=⎢ 0 ⎢ ⎢ 0 ⎢ 1 ⎢⎣ Meccanica dei Robot −σ 4 c1c23 − a2 c1 s2 −σ 4 c1c23 0 0 −σ 4 s1c23 − a2 s1 s2 −σ 4 s1c23 0 0 −σ 4 s23 + a2 c2 −σ 4 s23 0 0 s1 s1 −c1 s23 c1c23 s4 + s1c4 −c1 0 −c1 0 − s1 s23 c23 s1c23 s4 − c1c4 s23 s4 ⎤ ⎥ 0 ⎥ ⎥ 0 ⎥ s1 s4 s5 − c1c23 c4 s5 − c1 s23 c5 ⎥ −c1 s4 s5 − s1c23 c4 s5 − s1 s23 c5 ⎥ ⎥ − s23 c4 s5 + c23 c5 ⎥⎦ 0 Indicando con J1 e J2 i minori 3×3 posti lungo la diagonale principale di J, risulta, dopo qualche passaggio, (51) det J = det J1 det J 2 = σ 4 a2 ( a2 c2 − σ 4 s23 ) c3 s5 Si noti che (52) det J ∝ ∂ ( a2 s2 + σ 4 c23 ) ∂s3 ∂c5 ∂φ2 ∂φ3 ∂φ5 dove le funzioni argomento delle derivate parziali coincidono con i primi membri delle Eq. (22) e (32). La fattorizzazione dello jacobiano fornisce, come noto, delle valide indicazioni per la scrittura delle equazioni di chiusura in forma triangolare. 6 Configurazioni singolari Dall’Eq. (51) risulta che le condizioni (53) a2 c2 − σ 4 s23 = 0 (54) c3 = 0 (55) s5 = 0 individuano le configurazioni singolari del PUMA. In ciascuna di esse, due soluzioni reali dell’analisi di posizione inversa diventano coincidenti (v. Par. 3.3) e la mano del PUMA perde un grado di libertà. Infatti, quando le condizioni (53) e (54) sono soddisfatte, O6j giace sulla frontiera dello spazio di lavoro: rispettivamente, sul cilindro espresso dall’Eq. (39) oppure su una delle due sfere espresse dalle Eq. (38). Le Fig. 5 e 6 illustrano, rispettivamente, il grado di libertà perso. Quando è soddisfatta la condizione (55), gli assi delle tre coppie rotoidali del polso sferico diventano coplanari (in particolare, il primo ed il terzo diventano coincidenti) e risulta quindi impossibile conferire alla mano una componente di velocità angolare perpendicolare a tale piano. 8 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot zkj , zki −1 Skj , Sik −1 αk > 0 φk k zkj−1 Skj −1 z i k k ak > 0 Sik σk > 0 φk +1 k−1 φk −1 k+1 φk > 0 Okj k−1 σk α k −1 ak −1 φk xkj−1 , xki −1 Oki −1 αk ak Oki xkj , xki Okj−1 Sik −1 Mk S kj Gk Sik Hk = MkGk Fig. 1. Convenzione di Denavit-Hartenberg/Morgan. 9 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot z3i , z4j , z5i , z6j h O0i ≡ O1j ≡ O1i O2j σ2 O4j ≡ O4i ≡ O5j ≡ O5i ≡ O6j g z0i , z1j f z4i , z5j x4j , x4i , x5j , x5i , x6j c x0i , x1j , x1i e i 1 z,z d b j 2 σ4 a2 x2j , x2i , x3j , x3i z2i , z3j σk αk ak M1 0 90° 0 M2 σ2 0° a2 O2i ≡ O3j ≡ O3i M3 0 −90° 0 M4 σ4 90° 0 M5 0 −90° 0 Fig. 2. Configurazione di riferimento e caratteristiche geometriche del PUMA. 10 M6 0 0° 0 Università di Bologna – Facoltà d'Ingegneria Meccanica dei Robot z0i σ 22 + ( a2 + σ 4 ) 2 h O6j e O0i σ 22 + ( a2 − σ 4 ) 2 c d b 2σ 2 Fig. 3. Spazio di lavoro del PUMA. 11 x0i Università di Bologna – Facoltà d'Ingegneria y1i Meccanica dei Robot y1i O6j O6j φ2+φ3 σ4 z σ4 φ3 φ2+φ3 φ3 φ2 a2 a2 O1i ≡ O0i φ2 x1i x1i r O ≡O i 1 i 0 y0i y0i O1i ≡ O0i O1i ≡ O0i σ2 φ1 O6j x1i φ1 i 0 x O2j O6j x0i v=0 r z1i x1i z1i Fig. 5. Configurazione di singolarità individuata dall’Eq. a2 c2 − σ 4 s23 = 0 . Fig. 4. Determinazione delle equazioni di posizione del PUMA. v=0 y1i φ3 = − π 2 y1i φ3 = O6j π 2 v=0 O6j φ2 φ2 i 1 x1i x O1i ≡ O0i O1i ≡ O0i Fig. 6. Configurazioni di singolarità individuate dall’Eq. c3 = 0 . 12