Cinematic A

11
4 Cinematica diretta dei robot In questa sezione verr` a 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. 4.1 Segmenti, giunti e loro parametri Un manipolatore meccanico consiste in una sequenza di segmenti rigidi chiamati link, con- nessi da giunti prismatici o di rotazione (vedi esempio in Figura 13). Ogni coppia giunto-link, rappresenta un grado di libert` a. Dunque, per un manipolatore con N gradi di libert` a ci sono N coppie giunto-link con il link 0 (non considerato parte del robot) ancorato a una base di appoggio dove di norma ` e stabilito un sistema di coordinate inerziale; all’ultimo link ` e 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 ` e connesso al pi` u a due altri link perch´ e 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

Transcript of Cinematic A

Page 1: Cinematic A

4 Cinematica diretta dei robot

In questa sezione verra fornito un metodo costruttivo per caratterizzare la posizione delpunto terminale di un manipolatore (detto anche effettore) in base alla posizione relativa diogni segmento (o link) rispetto al precedente segmento, ovvero, in altri termini, in base allaposizione di ogni giunto.

4.1 Segmenti, giunti e loro parametri

Un manipolatore meccanico consiste in una sequenza di segmenti rigidi chiamati link, con-nessi da giunti prismatici o di rotazione (vedi esempio in Figura 13). Ogni coppia giunto-link,rappresenta un grado di liberta. Dunque, per un manipolatore con N gradi di liberta ci sonoN coppie giunto-link con il link 0 (non considerato parte del robot) ancorato a una basedi appoggio dove di norma e stabilito un sistema di coordinate inerziale; all’ultimo link ecollegato 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 econnesso al piu a due altri link perche 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, soloi giunti rotazionali e prismatici sono comuni nei manipolatori. I primi sono giunti associatiad uno spostamento angolare dei link adiacenti (ad esempio, il giunto 2 in Figura 13), mentrei secondi sono associati ad uno spostamento lineare dei link adiacenti.

24

Page 2: Cinematic A

L’asse di un giunto si definisce come l’asse di rotazione o di traslazione individuato dalmovimento del giunto. Questo asse avra due normali, una per ogni link. Si faccia riferimentoalla Figura 14.

Figure 14: Sistemi di coordinate dei link e loro parametri.

Un link i e connesso, ripetiamo, al massimo ad altri due (cioe il link i− 1 e il link i + 1);pertanto, sono stabiliti due assi del giunto per ambedue le estremita della connessione. Ilsignificato dei link, considerati in un’ottica cinematica, e che essi mantengono una config-urazione fissa tra i loro giunti che puo essere caratterizzata da due parametri ai e αi. Ilparametro ai rappresenta la distanza piu breve misurata lungo la normale comune tra gliassi dei giunti (cioe gli assi zi−1 e zi rispettivamente per i giunti i e i + 1), e αi e l’angolocompreso tra gli assi dei giunti su un piano perpendicolare ad ai. Cosı ai e αi possono esserechiamati, rispettivamente, lunghezza e angolo di twist del link i. Essi sono associati allastruttura del link.

Dato l’asse zi, la posizione relativa dei due link adiacenti i − 1 e i e data da di, che e ladistanza misurata lungo l’asse del giunto fra la normale proveniente dall’asse del giunto i−1e la normale che va al giunto i + 1 (ovvero, il segmento ai). L’angolo θi del giunto e l’angoloformato dalle 2 normali, misurato su un piano ortogonale all’asse del giunto. Dunque, di 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 quattroparametri: ai, αi, di e θi. Una volta stabilita una convenzione di segno per ognuno di essi,questi costituiscono un insieme sufficiente a determinare completamente la configurazionecinematica di ciascun anello della catena articolata del braccio. Si enfatizza che questiparametri possono essere considerati a coppie: (ai, αi), che dipendono dalla struttura dellink, e (di, θi), parametri dei giunti, che dipendono dalla posizione relativa dei link adiacenti.

25

Page 3: Cinematic A

Link/giunto a α d θ

1 a1 α1 d1 θ1

2 a2 α2 d2 θ2

......

......

...

N aN αN dN θN

Table 1: Tabella dei parametri ai, αi, di e θi per un robot generico.

In base alla caratterizzazione precedente, dato un manipolatore, sulla base dei quattroparametri ai, αi, di e θi, si puo compilare una tabella strutturata come la Tabella 1, doveogni link (e giunto) corrisponde ad una riga su cui sono presenti i parametri caratteristici dellink e del giunto i. Questa tabella sara utile per il calcolo della cinematica diretta del robot,ovvero della funzione che trasforma le coordinate del sistema di effettore (o della mano) nelsistema di coordinate di base.

4.2 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 dicoordinate per ogni link di una catena articolata. La rappresentazione di Denavit-Hartenberg(D-H) consiste in una matrice di trasformazione omogenea i−1Ti ∈ R

4×4 che rappresenta ilsistema di coordinate del link i rispetto al riferimento del link precedente i − 1. Pertanto,attraverso trasformazioni sequenziali, l’estremita dell’effettore, espresso nell’ultimo sistemadi coordinate, puo essere trasformata ed espressa nelle “coordinate di base” che costituisconoil sistema di riferimento inerziale di questo sistema dinamico.

Come gia accennato, il robot e 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). Perognuno di questi N sistemi di riferimento (dove N sono i gradi di liberta della catena cine-matica), si danno di seguito delle regole di tracciamento in termini di: 1) posizione dell’assezi; 2) posizione del centro oi; 3) posizione dell’asse xi. La posizione dell’asse yi e infinedeterminabile univocamente dalle informazioni precedenti.

Procedura per la scelta dei riferimenti

A. Sistema di riferimento di base, (0xyz)0:

1. scegliere l’asse z0 come l’asse del primo giunto;

2. scegliere il centro arbitrariamente (ad esempio, al livello del piano di appoggio);

3. scegliere l’asse x0 arbitrariamente.

26

Page 4: Cinematic A

B. Sistema di riferimento del link 1 ≤ i ≤ N , (0xyz)i:

1. Scegliere l’asse zi come l’asse del giunto i + 1.

2. Scegliere il centro oi come segue:

• se gli assi zi−1 e zi sono sghembi, tracciare l’unico segmento ai perpendicolare adentrambi gli assi (che in effetti costituisce la loro distanza) e scegliere il centro oi

come l’intersezione del segmento ai con l’asse zi;

• se gli assi zi−1 e zi sono paralleli, poiche ci sono infiniti segmenti ai di minimadistanza tra zi−1 e zi, scegliere il centro oi arbitrariamente (a volte e comodoposizionarlo allineato con oi−1);

• se gli assi zi−1 e zi sono secanti, scegliere il centro oi al punto di intersezione deidue assi.

3. Scegliere l’asse xi come segue:

• se gli assi zi−1 e zi sono sghembi o paralleli, scegliere l’asse xi come il prolunga-mento del segmento ai dopo il passaggio per il centro oi;

• se gli assi zi−1 e zi sono secanti, scegliere l’asse xi nella direzione perpendicolareal piano individuato da zi e zi−1, con verso arbitrario.

C. Sistema di riferimento d’effettore (della mano), (0xyz)e:

1. Scegliere l’asse ze nella direzione di avvicinamento;

2. Scegliere il centro oe al centro della pinza o sul punto terminale di un utensile (adesempio, la punta di un trapano);

3. Scegliere l’asse xe nella direzione di apertura della pinza (detta anche scorrimento, oalzo), o arbitrariamente nel caso di utensili piu sofisticati.

Si osservi che in un certo numero di situazioni, la procedura appena definita non daindicazioni precise sul posizionamento dei sistemi di riferimento. In particolare, cio accadenei seguenti casi:

• Per la terna 0, poiche solo l’asse z0 e fissato, si puo scegliere liberamente sia o0 che x0.

• Per la terna N , poiche non esiste il giunto N + 1, l’asse xN ha il solo vincolo di essereortogonale all’asse zN−1, e gli altri parametri sono liberi.

• Quando due assi consecutivi sono paralleli o secanti. Nel primo caso, la posizione delcentro oN e arbitraria lungo tali assi; nel secondo, il verso di xN e arbitrario.

27

Page 5: Cinematic A

4.3 Trasformazione omogenea associata ad un link

Stabilito il sistema di coordinate di D-H per ogni link, si puo sviluppare facilmente unamatrice di trasformazione omogenea che metta in relazione il sistema di coordinate i-esimocol 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 3.1, sovrapponendoil sistema di riferimento (0xyz)i al sistema di riferimento (0xyz)i−1, bisogna effettuare leseguenti trasformazioni elementari per riportare (0xyz)i nella sua posizione originaria:

1. traslare lungo l’asse zi−1 di una lunghezza pari a di per portare l’origine oi sul puntodi intersezione tra il segmento ai e l’asse zi−1;

2. ruotare intorno all’asse zi−1 di un angolo θi per allineare l’asse xi con il segmento ai;

3. traslare lungo l’asse xi di una lunghezza pari ad ai per portare oi nella posizioneoriginaria;

4. ruotare intorno all’asse xi di un angolo pari ad αi per portare l’asse zi nella posizioneoriginaria.

Le prime due trasformazioni sono riferite al sistema di riferimento i − 1 e corrispon-dono dunque alla premoltiplicazione per le matrici Ttr,[0 0 di] e Tz,θi

, rispettivamente. Leultime due trasformazioni, sono invece riferite al sistema di riferimento i e corrispondonoalla postmoltiplicazione per le matrici Ttr,[ai 0 0] e Tx,αi

, rispettivamente. In sintesi, la trasfor-mazione i−1Ti si costruisce secondo la seguente sequenza: I → Ttr,[0 0 di] → Tz,θi

Ttr,[0 0 di] →

Tz,θiTtr,[0 0 di] Ttr,[ai 0 0] → Tz,θi

Ttr,[0 0 di] Ttr,[ai 0 0] Tx,αi, e risulta essere:

i−1Ti = Tz,θiTtr,[0 0 di] Ttr,[ai 0 0] Tx,αi

. (22)

Si osservi l’analogia tra la trasformazione (22) e l’Esempio 3.1, dove peraltro, la matricei−1Ti e calcolata esplicitamente.

Poiche la ((22) e di valore generale, essa puo essere applicata iterativamente sostituendoi dati della Tabella 1 per ottenere in maniera immediata la matrice 0Te della cinematicadiretta. Il calcolo della cinematica diretta, si scompone in una procedura costituita daiseguenti passi:

1. Si analizza la struttura posizionando tutti i sistemi di riferimento secondo la proceduravista precedentemente;

2. In base alla posizione dei sistemi di riferimento, si ricavano i parametri di D-H, com-pilando la Tabella 1.

3. Si sostituiscono i valori della riga i-esima della tabella nella corrispettiva matrice ditrasformazione i−1Ti e si semplificano le moltiplicazioni

4. Si moltiplicano tutte le matrici ricavate al punto precedente per ricavare la matricefinale:

p0 = 0Te pe

= 0T11T2 · · · i−1Ti · · ·

N−1TNNTe pe.

(23)

28

Page 6: Cinematic A

Tale procedura presenta un solo punto che puo risultare non di immediata facilita, costitu-ito dalla estrapolazione dei parametri di D-H in base alla posizione delle terne di riferimento,che e un’operazione prettamente di tipo geometrico. Si tenga peraltro presente che gli angolidi giunto θi per i giunti rotazionali e gli offset di giunto di per i giunti prismatici, non sononecessariamente coincidenti con gli angoli geometrici scelti per descrivere la configurazionedel robot. Dunque, riportare tali angoli nella tabella di D-H senza aver verificato questacoincidenza, puo portare ad errori nel calcolo della cinematica globale. Questo concetto efacilmente verificabile riflettendo sul fatto che la definizione delle coordinate geometriche diun robot e arbitraria, e che, necessariamente, scelte diverse degli angoli geometrici, devonocorrispondere a opportune differenze nella matrice di cinematica diretta per non modificareil risultato finale (la geometria del robot e sempre la stessa).

Nell’osservazione seguente e indicato un possibile metodo pratico per la determinazionedei parametri di D-H.

Osservazione 4.1 Date due terne (oxyz)i−1 e (oxyz)i, con riferimento alla Figura 14, unapossibile procedura per stimare i parametri D-H e di portare dapprima l’asse zi−1 sull’assezi per stimare ai e successivamente, ruotarlo intorno a xi per stimare αi. Per la stima didi e θi, conviene, in generale, fare l’operazione inversa, ovvero riportare l’asse zi verso ilsistema di riferimento (oxyz)i−1 ruotandolo di −αi e traslandolo di −ai. A questo punto,uno spostamento di −di e necessario per portare oi a coincidere con oi−1 e una rotazione di−θi e necessaria per portare xi a sovrapporsi con xi−1. La convenienza nel misurare di e θi

tornando sul sistema (oxyz)i−1 deriva dal fatto che questi parametri sono relativi al giuntoi di cui zi−1 e l’asse. ◦

4.4 Spazio dei giunti e spazio operativo

Come si e visto nei paragrafi precedenti, l’equazione cinematica diretta di un manipolatoreconsente di esprimere la posizione e l’orientamento della terna utensile di un robot rispettoalla terna di base, in funzione delle variabili di giunto.

Nello specificare il compito da far eseguire all’organo terminale del manipolatore sorge lanecessita di assegnare posizione e orientamento della terna utensile, eventualmente in fun-zione del tempo (traiettoria). Mentre per la posizione si puo procedere in maniera semplice,specificare l’orientamento mediante una matrice di rotazione risulta difficile in quanto bisognagarantire che le nove componenti soddisfino, istante per istante, i vincoli di ortonormalita.

Il problema della descrizione dell’orientamento dell’organo terminale si presta ad unasoluzione naturale se invece si fa ricorso ad una delle rappresentazioni minime introdottenella Sezione 3.1 in quanto, in tal caso, risulta agevole assegnare una legge di moto allaterna di angoli scelta per rappresentare l’orientamento.

Si puo pertanto individuare la posizione con un numero minimo di coordinate definitodalla geometria della struttura e si puo specificare l’orientamento ricorrendo a una rapp-resentazione minima in termini delle variabili che caratterizzano la rotazione della ternautensile rispetto alla terna base (ad esempio, angoli di Eulero o angoli di RPY). E in tal

29

Page 7: Cinematic A

modo possibile descrivere la postura del manipolatore mediante il vettore

x =

[

p

φ

]

,

dove p ∈ R3 caratterizza la posizione dell’organo terminale e φ il suo orientamento.

Tale rappresentazione di posizione e orientamento consente la descrizione del compitoassegnato all’organo terminale in termini di un numero di parametri strutturalmente in-dipendenti tra di loro. Lo spazio in cui e definito il vettore x e quello rispetto al quale vienetipicamente specificata l’operazione richiesta al manipolatore; pertanto esso viene denom-inato spazio operativo. Con spazio dei giunti (o spazio delle configurazioni), invece, ci siriferisce allo spazio in cui e definito il vettore delle variabili di giunto:

q =

q1...qn

,

dove qi = θi per un giunto rotazionale e qi = di per un giunto prismatico. Tenendo contodella dipendenza di posizione e orientamento dalle variabili di giunto, l’equazione cinematicadiretta puo scriversi in una forma alternativa rispetto alla (23), come

x = k(q), (24)

dove la funzione vettoriale k(·), non lineare in generale, permette il calcolo delle variabilinello spazio operativo a partire dalla conoscenza delle variabili nello spazio dei giunti.

E opportuno precisare che la dipendenza delle variabili di orientamento dalle variabilidi giunto nella (24), non risulta agevole tranne che in casi semplici. Infatti, nelle ipotesipiu generali, di uno spazio operativo esadimensionale, il calcolo delle tre componenti dellafunzione φ(q) non e attuabile in forma diretta ma passa comunque attraverso il calcolo diuna matrice di rotazione.

Con riferimento allo spazio operativo, come elemento di valutazione delle prestazioni diun robot, si definisce spazio di lavoro di un manipolatore la regione descritta dall’originedella terna utensile quando ai giunti del manipolatore si fanno eseguire tutti i moti possi-bili. Sovente si usa distinguere tra spazio di lavoro raggiungibile e spazio di lavoro destro(spazio di destrezza). Il secondo e la regione che l’origine della terna utensile puo descrivereassumendo differenti orientamenti, mentre il primo e la regione che l’origine della terna uten-sile puo raggiungere con almeno un orientamento. Ovviamente lo spazio di lavoro destro eun sottoinsieme dello spazio di lavoro raggiungibile.

4.5 Esempi e esercizi

In questa sezione vengono forniti alcuni esempi ed esercizi per il calcolo della cinematicadiretta di un robot.

Esempio 4.1 (Manipolatore SCARA) In questo esempio si procedera a calcolare la trasfor-mazione cinematica diretta per un robot di tipo SCARA. La struttura del robot ed i sistemi

30

Page 8: Cinematic A

Figure 15: Il manipolatore SCARA con i sistemi di riferimento.

di riferimento, assegnati seguendo la procedura di Denavit-Hartenberg, sono riportati nellaFigura 15.

Il vettore delle variabili di giunto e dato da:

q = [ θ1 θ2 d3 θ4 ], (25)

ed i parametri cinematici che caratterizzano il robot sono:

θ d l α

1 θ1 d1 `1 02 θ2 0 `2 +π

3 0 d3 0 04 θ4 0 0 0

Le matrici di trasformazione, tenendo conto della (22), sono date da:

3T4 =

cos θ4 − sin θ4 0 0sin θ4 cos θ4 0 0

0 0 1 00 0 0 1

, (26)

2T3 =

1 0 0 00 1 0 00 0 1 d3

0 0 0 1

, (27)

31

Page 9: Cinematic A

1T2 =

cos θ2 sin θ2 0 `2 cos θ2

sin θ2 − cos θ2 0 `2 sin θ2

0 0 −1 00 0 0 1

, (28)

0T1 =

cos θ1 − sin θ1 0 `1 cos θ1

sin θ1 cos θ1 0 `1 sin θ1

0 0 1 d1

0 0 0 1

. (29)

La matrice di trasformazione mano-base, cioe la 0T4, e data da:

0T4 = 0T11T2

2T33T4 (30)

=

C12−4 S12−4 0 `1C1 + `2C12

S12−4 −C12−4 0 `1S1 + `2S12

0 0 −1 d1 − d3

0 0 0 1

, (31)

in cui C12−4 indica la funzione cos(θ1 + θ2 − θ4), S12−4 indica la funzione sin(θ1 + θ2 − θ4),C1 indica la funzione cos(θ1), S1 indica la funzione sin(θ1), ed analogamente C12 indica lafunzione cos(θ1 + θ2), e S12 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 e dunque data da:

x0 = `1C1 + `2C12,

y0 = `1S1 + `2S12,

z0 = d1 − d3.

?

Esercizio 4.1 Calcolare la matrice di cinematica diretta dello Stanford Robot Arm, e per ilrobot 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 matriciassociate ad ogni link e poi si moltiplichino le matrici per ottenere la trasformazione globale.

?

Esercizio 4.2 Si osservi che nell’Esempio 4.1, il posizionamento del centro dei sistemi diriferimento 1, 2 e 3 rispettivamente sui giunti 2, 3 e 4 e arbitrario. Si ricalcoli la cinematicadiretta del robot posizionando i centri dei 3 sistemi di riferimento in corrispondenza del pianodi appoggio e orientando gli assi z di tutti e tre i sistemi verso l’alto. Successivamente, siverifichi (algebricamente o numericamente) che la matrice di cinematica diretta risultante ela stessa. ?

Esercizio 4.3 Collocare i sistemi di riferimento e calcolare la cinematica diretta per i robotrappresentati in Figura 18: il manipolatore sferico e il manipolatore antropomorfo. ?

32

Page 10: Cinematic A

Figure 16: Lo Stanford robot arm con i sistemi di riferimento.

Figure 17: Un robot PUMA con i sistemi di riferimento.

33

Page 11: Cinematic A

Figure 18: Manipolatore sferico e manipolatore antropomorfo.

5 Cinematica inversa dei robot

Ancora da scrivere

34