• Non ci sono risultati.

Controllo e identificazione di un modello dinamico di mano robotica con giunti elastici attuata da tendini

N/A
N/A
Protected

Academic year: 2021

Condividi "Controllo e identificazione di un modello dinamico di mano robotica con giunti elastici attuata da tendini"

Copied!
101
0
0

Testo completo

(1)

Università di Pisà Fàcoltà di Ingegnerià

Corso di Laurea Specialistica in

Ingegneria Robotica e dell’Automazione

Controllo e identificazione di una mano robotica

sottoattuata con giunti elastici

Candidata: Ilaria Strazzulla

Relatori: Controrelatore: Lorenzo Pollini Alberto Landi Christian Cipriani

(2)

Sommàrio

Lo scopo di questo lavoro è lo sviluppo di un controllo ottimale per una mano robotica antropomorfa sotto-attuata, la cui struttura cinematica è caratterizzata da 11 gradi di libertà, di cui 10 dediti alla flessione delle dita e attuati da 4 motori attraverso una trasmissione a tendini, e 1 singolo grado di libertà completamente attuato dedicato al movimento di àdduzione/àbduzione del pollice. L’estensione delle fàlàngi è reàlizzàtà attraverso delle opportune molle torsionali integrate nelle articolazioni delle mano.

Là fàse iniziàle del làvoro si è concentràtà sull’identificàzione del modello dinamico delle dita della mano attraverso un modello a gray-box e le famiglie di regressori ARX e NARX. Successivamente è stato progettato un controllo in retroazione con struttura PID, i cui parametri sono stati dapprima definiti seguendo il metedo di Ziegler e Nichols e succesissivamente sfruttando tecniche più raffinate e automatiche presenti su Matlab©. Al

fine di migliorare le prestazioni del sistema, di reiettare i disturbi esogeni e il rumore di misura, è stato progettato un opportuno reiettore di disturbi dinamico, disturbance

observer, da affiancare al controllore PID.

La fase finale del presente lavoro è stata concentrata sul confronto sperimentale di diverse tipologie di controllo solitamente usate in robotica e sulla valutazione delle prestazioni del sistema di controllo progettato.

(3)

Abstràct

For a robotic hand graping and manipulation are key aspects which rely on the implementation of suitable control techiniques. In the past many antropomorphic robotic hands and control techniques have been developed by several research groups.

The aim of this work is to identify and control the dynamic model of an underactuated, tendon driven, robotic antropomorphic hand with elastic joints. Flexion of the fingers is achieved by means of a brushed DC motor, which pulls the tendon wrapped around an idle pulley in the joint. Extension is achieved by releasing the tendon due to torsion springs embedded in the joints.

Different approaches have been analyzed. A black-box model combined with NARX (Nonlinear AutoRegressive model with eXternal input) techniques was initially used to identify the model of the single finger. The model was used for tuning a PID controller using autotuning algorithms and a Disturbance Observer was added to deal with noise induced by unmodeled dynamics and signal noises.

(4)

Indice

1 - Stàto dell’àrte ... 13

1.1 Mani robotiche ... 13

- High-Speed Hand ... 13

- Sandia Hand ... 14

- iRobot Soft Hand ... 15

- Manipolatore DEXMART ... 16

- THE First Hand... 17

- SoftHand ... 18

- Shàdow Dexterous Hànd ™... 19

1.2 Mani protesiche ... 21

- Michelàngelo™ Hànd ... 21

- i-limb ultra ... 22

1.3 Prensilia IH2 Azzurra ... 23

2 - Analisi del sistema ... 26

2.1 Architettura del sistema di controllo ... 27

2.2 Analisi e caratterizzazione del sistema ... 28

2.3 Comunicazione seriale con la mano ... 30

3 - Identificazione di un modello per il controllo ... 34

(5)

3.2 Risoluzione del problema dei campioni in tempo reale ... 36

3.3 Identificazione lineare del modello ... 38

3.4 Identificazione non lineare del modello ... 42

3.5 Confronti dei modelli identificati ... 44

4 - Modello cinematico e dinamico ... 46

4.1 Struttura e caratteristiche del dito ... 50

4.2 Modello dinamico del dito ... 53

4.2.1 – Coppia motrice ... 55

4.2.2 – Coppia resistente delle molle ... 56

4.2.3 – Coppia di attrito ... 56

4.2.4 – Vincoli meccanici ... 60

4.2.5 – Validazione del modello dinamico ... 66

5 - Controllo del sistema ... 69

5.1 Metodi di tuning ... 70

5.2 Problema della sincronizzazione del sistema di controllo ... 74

5.3 Controllo in posizione con PID alternativo ... 74

5.4 Controllo in posizione con Disturbance Observer ... 77

5.5 Controllo in posizione-velocità-corrente con PID ... 82

5.6 Controllo a Coppia Calcolata ... 88

5.6.1 – Equilibrio cineto-statico ... 90

5.6.2 – Prove sperimentali ... 93

(6)

Conclusioni ... 98 Bibliografia ... 100 Ringraziamenti ... Error! Bookmark not defined.

(7)

Elenco delle figure

Figura 1.1.1: High-Speed Hànd, reàlizzàtà dàl Làboràtorio Ishikàwà Oku dell’Universit{ di

Tokyo ... 14

Figura 1.1.2: La mano Sandia Hand realizzata dai Sandia National Laboratories degli USA ... 15

Figura 1.1.3: La mano Soft-Hand della iRobot ... 16

Figura 1.1.4: Manipolatore realizzato dal Progetto Europeo DEXMART ... 17

Figura 1.1.5: THE First Hand 3 tipi di prese: forbici (sinistra), siringa (centro)e pinzatrice (destra) ... 18

Figura 1.1.6: SoftHand ... 19

Figura 1.1.7: Shàdow Dexterous Hànd™ con visione dei muscoli pneumàtici àrtificiàli di McKibben ... 20

Figura 1.1.8: Shàdow Dexterous Hànd™ con sensore di tatto BioTac ... 21

Figura 1.2.1: Mano protesica Michelangelo™ Hand della Ottobock ... 22

Figura 1.2.2: La mano i-limb ultra della TouchBionics ... 23

Figura 2.1: Vista della slitta di attuazione: scorre lungo lo slide quando la vite è attuata .. 26

Figura 2.1.1: Visione dell’àrchitetturà geràrchicà di controllo dellà màno Prensilià IH2 Azzurra ... 27

Figura 2.2.1: Visione del feedforward implementato per rendere più reattivo il controllo della mano ... 29

Figura 3.1.1: Sistema di identificazione di un generico dito della mano robotica ... 35

Figure 3.1.2: Funzioni PWM in ingresso al sistema di identificazione del dito ... 35

Figura 3.2.1: Confronto fra i dati in ingresso e in uscita dal sistema di identificazione: ... (a) dati grezzi, (b) dati processati ... 37

(8)

Figura 3.3.1: Confronto frà l’output generàto dàllà f unzione di tràsferimento (TF)

identificata e quello generato dal sistema ... 39

Figura 3.3.2: Sceltà dell’ordine dei polinomi per il modello identificàtivo ARX ... 41

Figura 3.3.3: Confronto frà l’output generàto dàl modello ARX identificàto e quello generato dal sistema ... 42

Figura 3.4.1: Confronto frà l’output generàto dàl modello NLARX identificàto e quello generato dal sistema ... 44

Figura 3.5.1: Confronto degli output ottenuti rispettivamente con identificazione non lineare, identificazione lineare del processo G(s) e identificazione lineare ARX ... 45

Figura 4.1: Sequenza di chiusura di un dito sotto-attuato a 2 GdL da [5] ... 47

Figura 4.2: Semplice esempio di puleggia mobile e meccanismo differenziale a mezzo di ruote dentate ... 48

Figura 4.3: Prensilia IH2 Azzurra, visione di una presa ... 49

Figura 4.1.1: Schematizzazione del dito in cui sono visibili le grandezze geometriche e le masse ... 51

Figura 4.1.2: Visione del dorso della mano, in cui sono presenti le slitte con relativi collegamenti, e dei motori ... 53

Figura 4.2.1: Convenzione Denavit-Hartenberg utilizzata per modellizzare un dito ... 54

Figura 4.2.3.1: Attrito coulombiano ... 57

Figura 4.2.3.2: Attrito coulombiano e viscoso ... 57

Figura 4.2.3.3: Attrito coulombiano, statico e viscoso ... 58

Figura 4.2.3.4: Attrito coulombiàno, stàtico e viscoso, che tiene conto dell’effetto Stribeck ... 59

Figura 4.2.3.5: Formulà semplificàtà dell’àttrito coulombiàno, stàtico e viscoso, che tiene conto dell’effetto Stribeck ... 60

Figura 4.2.4.1: Schematizzazione del dito che mostra gli angoli di rotazione delle due falangi ... 61

(9)

Figura 4.2.4.2: Evoluzione dei segnali di posizione, velocità e accelerazione ai giunti nel caso di sistema in evoluzione libera con condizioni iniziali di posizione angolare dei giunti ... 62 Figura 4.2.4.3: Evoluzione dei segnali di posizione, velocità e accelerazione ai giunti nel caso di controllo a Coppia Calcolata con condizioni iniziali di posizione angolare dei giunti ... 63 Figura 4.2.4.4: Modellizzazione del vincolo meccanico con un sistema molla torsionale-smorzatore... 64 Figura 4.2.4.5: Evoluzione dei segnali di posizione, velocità e accelerazione ai giunti nel caso di evoluzione libera del sistema con condizioni iniziali di posizione angolare dei giunti ... 65 Figura 4.2.4.6: Evoluzione dei segnali di posizione, velocità e accelerazione ai giunti nel caso di controllo a Coppia Calcolata con condizioni iniziali di posizione angolare dei giunti ... 66 Figura 4.2.5.1: Schematizzazione dei rapporti di riduzione tra motore e dito, con le relative coppie e forze generate e i valori dei rispettivi rapporti di riduzione ... 67 Figura 5.1.1: Caratterizzazione della risposta a gradino di un sistema del primo ordine ... 72 Figura 5.3.1: Inseguimento della posizione di riferimento (costante a tratti) del PID regolato sul modello identificato della mano IH2 Azzurra ... 75 Figura 5.3.2: Inseguimento della posizione di riferimento (costante a tratti) del PID con feedforward regolato sul modello identificato della mano IH2 Azzurra ... 76 Figura 5.3.3: Inseguimento della posizione di riferimento (rampa) del PID regolato sul modello identificato della mano IH2 Azzurra: (a sinistra) con feedforward, (a destra) senza feedforward ... 76 Figura 5.3.4: Inseguimento della posizione di riferimento (sinusoide) del PID regolato sul modello identificato della mano IH2 Azzurra: (a sinistra) con feedforward, (a destra) senza feedforward ... 77

(10)

Figura 5.4.1: Schema di principio di un Disturbance Observer lineare applicato a un generico sistema meccanico SISO a 2 GdL, controllato dal regolatore C(s) ... 78 Figura 5.4.2: Schema in retroazione del Disturbance Observer adattato per l’implementàzione pràticà ... 79 Figura 5.4.3: Inseguimento della posizione di riferimento (costante a tratti) del PID con feedforward e Disturbance Observer, regolato sul modello identificato della mano IH2 Azzurra ... 80 Figura 5.4.4: Inseguimento della posizione di riferimento (costante a tratti) del PID con Disturbance Observer senza feedforward, regolato sul modello identificato della mano IH2 Azzurra ... 81 Figura 5.4.5: Inseguimento della posizione di riferimento (rampa) del PID regolato sul modello identificato della mano IH2 Azzurra: (a sinistra) con DO, (a destra) senza DO ... 81 Figura 5.4.6: Inseguimento della posizione di riferimento (sinusoide) del PID regolato sul modello identificato della mano IH2 Azzurra: (a sinistra) con DO, (a destra) senza DO ... 82 Figura 5.5.1: Schema del controllo in posizione-velocità di un servomeccanismo rigido ... 85 Figura 5.5.2: Inseguimento della posizione di riferimento (costante a tratti) del PID regolato sul modello identificato della mano IH2 Azzurra: (a sinistra) con Disturbance Observer, (a destra) senza Disturbance Observer ... 86 Figura 5.5.3: Inseguimento della posizione di riferimento (rampa) del PID regolato sul modello identificato della mano IH2 Azzurra: (a sinistra) con Disturbance Observer, (a destra) senza Disturbance Observer ... 87 Figura 5.5.4: Comando di corrente del controllo di posizione-velocità con PID, relativo àll’inseguimento di un riferimento à ràmpà ... 88 Figura 5.6.1: Schema del controllo a coppia calcolata per il manipolatore sottoattuato in esame ... 90 Figura 5.6.1.1: Schemàtizzàzione di un dito per lo studio dell’equilibrio cineto-statico ... 91 Figura 5.6.2.1: Inseguimento della posizione di riferimento (costante a tratti) del controllo a coppia calcolata ... 93

(11)

Figura 5.6.2.2: Comando di corrente del controllo a coppia calcolata, relativo àll’inseguimento di un riferimento di posizione costànte à tràtti ... 94 Figura 5.6.2.3: Inseguimento della posizione di riferimento (rampa) del controllo a coppia calcolata ... 95 Figura 5.6.2.4: Comando di corrente del controllo a coppia calcolata, relativo àll’inseguimento di un riferimento à ràmpà ... 95

(12)

Elenco delle tàbelle

Tabella 1.3.1: Caratteristiche tecniche della mano Prensilia IH2 Azzurra ... 25 Tabella 2.2.1: Tabella relativa al dito Indice, che lega la variabile PWM in ingresso al sistema con la posizione in uscita ... 28 Tabella 2.3.1: Requisiti del protocollo di comunicazione con il software a basso livello .... 30 Tabella 2.3.2: Indirizzi macchina dei motori LLMC ... 30 Tabella 4.1.1: Caratteristiche geometriche e dinamiche del singolo dito ... 50 Tabella 5.1.1: Regole di taratura di Ziegler-Nichols basate sulla risposta in fequenza ... 70 Tabella 5.7.1: Confronto dei controlli effettuati con il PID con uscita di comando in tensione PWM ... 97 Tabella 5.7.2: Confronto dei controlli effettuati con il PID con uscita di comando in corrente ... 97

(13)

Stàto dell’àrte

Nel campo della robotica sono state realizzate differenti tipologie di mani, antropomorfe e non, ai fini di compiere particolari azioni di manipolazione. Il controllo applicato è sempre specifico per il particolare modello di mano robotica su cui è implementato.

Esistono due approcci alla progettazioni di mani artifciali: minimalista e bio-ispirato. Il primo basa la scelta della struttura cinematica e dei componenti esclusivamente sulle specifiche tecniche dell’àpplicàzione, àd esempio là High-Speed Hand [7]. Il secondo àpproccio si pone l’obiettivo di riprodurre la struttura (cinematica, cosmetica e sensorisitca) e le prestazioni della mano umana, come ad esempio la Shadow Dexterous

Hand [9] .

1.1 Mani robotiche

- High-Speed Hand

Un esempio di approccio progettuale minimalista è la mano High-Speed Hand realizzata dal Laboratorio Ishikawa Oku, dell’Universit{ di Tokyo, mostràtà in Figura 1.1.1.

Essa è provvista di un sistema di attuazione particolare che permette la circolazioni di alte correnti in un breve intervallo di tempo (0.1 sec), in modo da massimizzare la potenza istàntàneà in uscità. Là gestione dell’àttuàzione è reàlizzàtà in tempo reale per garantire la sicurezza dei componenti elettronici della mano.

(14)

Figura 1.1.1: High-Speed Hand, realizzata dal Laboratorio Ishikawa Oku dell’Università di Tokyo

Il sistema di attuazione, insieme ai sensori di coppia presenti su ogni giunto e ad un sistema di visione sofisticato, consentono alla mano di effettuare le prese di oggetti in movimento, lanciati anche ad alta velocità (4 m/s). La trasmissione delle articolazioni è realizzata attraverso ruote coniche ed è stata progettata per ridurre al minimo i giochi e per permettere velocità di rotazioni elevate, fino a un massimo di 180 deg/0.1 sec.

- Sandia Hand

La Sandia Hand (Figura 1.1.2), dotata di dita modulari e di un sistema sensoristico di visione, è stàtà progettàtà per l’esecuzione di prese di precisione e mànipolàzione fine, anche di oggetti molto piccoli basandosi sulla destrezza della mano umana. Il progetto è finanziato dall’àgenzià àmericànà dellà difesà DARPA per operazioni di teleoperazione per il disarmo di ordigni nascosti.

(15)

Figura 1.1.2: La mano Sandia Hand realizzata dai Sandia National Laboratories degli USA

- iRobot Soft Hand

Un ulteriore esempio di approccio minimalista è la iRobot Soft Hand (Figura 1.1.3). Questa mano è dotata di un estrema cedevolezza, tale da saper assorbire, ad esempio, gli urti derivanti da un colpo inferto ad altra velocità con una mazza da baseball. La mano è progettata per operazioni in cui è richiesto un alto grado di cedevolezza nella presa di oggetti di varia dimensione, fino a un peso massimo di 22 Kg.

(16)

Figura 1.1.3: La mano Soft-Hand della iRobot

- Manipolatore DEXMART

Un ulteriore caso di interesse è quello del manipolatore realizzato dalle Università di Sààrlàn, Bolognà e Nàpoli, nell’àmbito del Progetto Europeo DEXMART (Figura 1.1.4). Questo è un manipolatore ad alta precisione la cui attuazione è stata realizzata con uno speciale sistema di tendini, uno per ogni falange. Grazie a questa soluzione e alla presenza di un esteso sistemà sensoriàle è stàto possibile ottenere un’àlto gràdo di precisione nel posizionàmento delle fàlàngi e nell’esecuzione di àzioni complesse come la manipilazione di oggetti fragili. Tale manipolatore è stato pensato come aiuto nei lavori domestici o nelle operazioni di ricerca e recupero oggetti.

(17)

Figura 1.1.4: Manipolatore realizzato dal Progetto Europeo DEXMART

- THE First Hand

THE First Hand, mostrata in Figura 1.1.5, è una mano sviluppata dal Centro Piaggio di Pisa

per sfruttare le sinergie studiate sui movimenti di presa della mano umana. Questo dispositivo ha 5 dita attuate da tendini, per un totale di 16 GdL completamente attuati. L’àpplicàzione delle sinergie sià dà un punto di vistà hardware che di controllo è una delle caratteristiche distintive di questa mano. Essa è stata realizzata per riprodurre la struttura cinematica della mano umana, rispettandone anche le dimensioni.

(18)

Figura 1.1.5: THE First Hand 3 tipi di prese: forbici (sinistra), siringa (centro)e pinzatrice (destra)

- SoftHand

La mano SoftHand, mostrata in Figura 1.1.6, è stata realizzata dal Centro Piaggio di Pisa e dàll’Istituto di Tecnologià Itàliàno IIT di Genovà e sfruttà àl màssimo il concetto delle sinergie motorie. L’unit{ di àttuàzione presentà infàtti un unico motore che permette àllà mano di compiere molte delle prese che una mano umana realizza durante le attività di vita quotidiane.

Questà màno presentà unà pàrticolàrit{ d’àvànguàrdià, poiché le dità si possono piegàre, tirare, distorcere, disarticolare, e ritornano a posto senza danno: durante una conferenza la mano è stata sbattuta violentemente contro una lastra di ghisa, uscendone intatta. Questo è possibile grazie alla struttura con cui è stata concepita, essa infatti non presenta giunti con cuscinetti à sfere, mà le fàlàngi rotolàno l’unà sull’àltrà come le àrticolàzioni del corpo umano, inoltre non ha vincoli rigidi tra le dita, ma solo tendini elastici che la attuano.

(19)

Figura 1.1.6: SoftHand

- Shadow Dexterous Hand ™

Tra gli esempi di mani completamente attuate nel settore della ricerca sono da citare la

(20)

Figura 1.1.7: Shadow Dexterous Hànd™ con visione dei muscoli pneumatici artificiali di McKibben

Questa è una mano antropomorfa che permette una vasta gamma di prese e posizioni per la manipolazione. Presenta 20 gradi di libertà (GdL) completamente attuati tramite un sistema di muscoli pneumatici artificiali di McKibben e ulteriori 4 GdL non attuati, per un totàle di 24 giunti, hà inoltre sensori di forzà e posizione, con l’àggiuntà di un pàrticolàre sensore molto sensibile di tatto ai polpastrelli, che è la grande particolarità di questa mano, nominato BioTac e realizzato dalla SynTouch (Figura 1.1.8).

(21)

Figura 1.1.8: Shadow Dexterous Hànd™ con sensore di tatto BioTac

Questa particolarità la rende una delle mani più innovative attualmente presenti nel settore della ricerca, poiché realizza una delle migliori approssimazioni possibili del tatto umano. La Shadow Dexterous Hand ™ può essere utilizzàtà per operàzioni di teleoperàzione, anche montata su braccia robotiche.

1.2 Mani protesiche

- Michelangelo™ Hand

La mano Michelangelo™ Hand (Figura 1.2.1), realizzata dalla Ottobock, è una delle protesi più innovative presenti sul mercato. Essa può compiere due tipi di prese, ha un’àppàrenzà naturale e anatomica e un basso peso di circa 180 g.

C’è un ingresso di potenzà che gestisce là flesso estensione di tutte le dità e un motore dedicato al movimento di adduzione/abduzione del pollice, per permettere di operare le prese con maggiore facilità.

(22)

La struttura delle dita è stata resa la più uguale possibile a quella di una mano reale, riproducendo le pàrti molli e dure dell’anatomia umana, donando inoltre un aspetto più naturale alla protesi. Infine il polso è utilizzabile sia come elemento flessibile sia come elemento rigido.

Figura 1.2.1: Mano protesica Michelangelo™ Hand della Ottobock

- i-limb ultra

La mano i-limb ultra (Figura 1.2.2) è una mano protesica commerciale realizzata dalla

TouchBionics. Essa riproduce i movimenti naturali di una mano reale, garantendone anche

l’apparenza grazie a degli speciali guanti cosmetici in pelle sintetica.

La i-limb ultra utilizza uno specifico software integrato, che permette di modificare i tipi di presà in relàzione àlle esigenze dell’utente, e che le d{ l’innovàtivà àbilit{ di incrementare gradualmente la forza di pressione sugli oggetti afferrati, per consentire una maggiore solidità nella presa. Questa caratteristica garantisce la possibilità di compiere operazioni in

(23)

cui è richiesto un alto grado di destrezza, quali allacciarsi le scarpe o reggere sacchetti pesanti.

Figura 1.2.2: La mano i-limb ultra della TouchBionics

1.3 Prensilia IH2 Azzurra

La mano in esame nel presente lavoro di tesi è una mano sottoattuata a 11 gradi di libertà, che contiene internamente tutto il sistema di controllo e di sensori utilizzato, e permette la flessione dei due giunti di ogni dito con un ridotto numero di motori. Tale mano è antropomorfa con cinque dita attuate da 5 motori in corrente continua: uno per

(24)

l’adduzione del pollice, uno per la flessione del pollice, uno per là flessione dell’indice, uno per la flessione del medio e uno per la flessione accoppiata di anulare e mignolo.

La mano presenta 5 encoder relativi, uno per ogni motore, che misurano la posizione àngolàre dell’àsse dei motori, 5 sensori di corrente su ogni motore e 10 sensori di prossimità che agiscono come interruttori, limitando il valore della corrente al motore (due sensori per ogni motore).

Le prese automatiche sono comandate da un controllo misto posizione/forza. Durante la fase di configurazione delle dita per la presa specifica si utilizza un controllo in posizione, mentre la chiusura delle prese avviene utilizzando il controllo in corrente sulla base della forza di presa desiderata.

L’asse per l’àdduzione/abduzione del pollice è collegato direttamente àll’àlbero del relàtivo motore per mezzo di un doppio giunto universale.

La flessione/estensione delle dita è realizzata per mezzo di tendini in trefolo di acciaio fissati alla parte terminale della falange distale e passanti per pulegge folli in ognuno dei due giunti. Tali tendini sono connessi al meccanismo di attuazione, che è realizzato per mezzo di una slitta lineare guidata da un accoppiamento vite-madrevita, collegato al motore per mezzo di vari stadi di riduzione. Il movimento di flessione delle dita ànulàre/mignolo è àccoppiàto, ovvero i due tendini di queste dità sono collegàti à un’unica slittà nell’unit{ di àttuàzione.

Il percorso di ogni tendine dal dito alla slitta corrispondente è guidato per mezzo di una guaina flessibile, che serve per realizzare dei rinvii del comando meccanico (la forza di tensione del tendine) mantenendo le dimensioni contenute.

Là strutturà compàttà di questà màno rende possibile il suo utilizzo nell’ambito della ricerca, in esperimenti clinici con pazienti, in esperimenti con interfacce neurali (sia invasive che non invasive), e nel controllo con EMG, ENG, EEG, sistemi sensorizzati in feedback e altro. Inoltre è possibile il suo utilizzo per applicazioni robotiche, utilizzata come end-effector di bracci, per la manipolazione di carichi leggeri.

(25)

Le caratteristice generali della mano Prensilia IH2 Azzurra sono riportate in Tabella 1.3.1.

(26)

Anàlisi del sistemà

Come primo studio del sistema sono state effettuate delle misure per caratterizzarne il comportamento, in vista della successiva realizzazione del sistema di controllo.

Questo studio si è reso necessàrio in quànto l’hardware era preesistente, ma mancava uno studio accurato delle relazioni fra le sue grandezze in uscita e in ingresso, nonché di un approccio più teorico per la realizzazione di un controllo ad-hoc.

E’ dà sottolineàre che il sistemà di àttuàzione, formàto dà unà slittà strisciànte per ogni dito, presenta delle non linearità, poiché il movimento elicoidale della vite di attuazione, che fa scorrere la slitta lungo un albero di supporto (Figura 2.1), non garantisce sempre la stessa resistenza al movimento. Tale albero infatti è fissàto dà un’estremit{ dellà strutturà e flottànte dàll’àltrà, permettendo un movimento facilitato quando il dito è quasi esteso e più difficoltoso quando il dito tende a essere completamente flesso.

Figura 2.1: Vista della slitta di attuazione: scorre lungo lo slide quando la vite è attuata

(27)

Il controllore da realizzare dovrà quindi gestire queste non linearità durante il movimento di flessione, poiché man mano che il dito si flette la slitta incontra maggiori difficoltà di movimento e la forza resistente delle molle va ad aumentare.

2.1 Architettura del sistema di controllo

L’àrchitetturà del sistema di controllo della mano Prensilia IH2 Azzurra è suddivisa in due livelli: HLHC (High Level Hand Controller) e LLMC (Low Level Motion Controller). Il sistema di controllo embedded presenta infàtti un’àrchitetturà geràrchicà suddivisa in 5 controllori LLMC e uno HLHC. Ogni motore viene direttamente attuato e controllato tramite uno degli LLMC, che si occupa della lettura della posizione, controllo in corrente, eventuale controllo di forza (in presenza di sensori di tensione sui tendini) e monitoràggio dell’àssorbimento di corrente sul motore.

Tutti gli LLMC sono controllati dagli HLHC, per la regolazione delle operazioni che può compiere la mano, come l’esecuzione delle funzioni àd àlto livello (prese automatiche) e per l’interfacciamento con il mondo esterno.

(28)

2.2 Analisi e caratterizzazione del sistema

La mano in esame prende in ingresso come segnali di comando una corrente o un PWM e dà in uscita la lettura dei sensori di posizione sul motore (encoder incrementale ad alto o a basso livello) o la corrente sul motore, pertanto inizialmente è stato caratterizzato il suo comportamento dando in ingresso segnali PWM e leggendo in uscita le posizioni ad alto livello relative (Tabella 2.2.1). Poiché dàllà letturà dell’encoder è possibile ricàvàre là configurazione a vuoto del dito, la caratterizzazione ha permesso di individuare le diverse coppie di spunto necessarie per far muovere il dito da varie posizioni. Tale metodologia è giustificàtà dàl fàtto che l’àttrito e le condizioni stàtiche del sistemà, ànche in relàzione à quànto discusso nell’introduzione del presente càpitolo, vàriàno in bàse àllà posizione raggiunta dal dito e dalla posizone della slitta lungo la vite di trasmissione.

PWM 50 60 70 80 90 100 110 120 130 140 150 160

POS 0 75 76 101 150 199 208 233 241 249 252 255

Tabella 2.2.1: Tabella relativa al dito Indice, che lega la variabile PWM in ingresso al sistema con la

posizione in uscita

La Tabella 2.2.1, che mostra un esempio di dati ottenuti attraverso la caratterizzazione del dito indice . Questi valori sono stati poi utilizzati per implementare un feedforward in àggiuntà àll’àzione del PID, con l’obiettivo di rendere il controllo più reàttivo. Il feedforward infàtti contiene i “vàlori di spunto” relàtivi à diverse posizioni del dito, generàndo un offset di controllo in àggiuntà àllà àzione del PIDL’àzione sinergica del PID e del feedforward è stàtà inoltre pesàtà àttràverso l’impiego di due guàdàgni, dimensionàti in modo che l’àzione di controllo globàle sià dovutà per il 60% dàll’àzione del PID e per il 40% dàll’àzione del

(29)

Un esempio di codice relàtivo àll’àzione di feedforward, che implementa i dati presentati in

Tabella 2.2.1 è mostrato di seguito:

if (pos_d > 0 && pos_d < 76) pwm = 70;

elseif (pos_d > 75 && pos_d < 102) pwm = 80;

elseif (pos_d > 101 && pos_d < 156) pwm = 90;

elseif (pos_d > 155 && pos_d < 200) pwm = 100;

elseif (pos_d > 199 && pos_d < 209) pwm = 110;

elseif (pos_d > 208 && pos_d < 234) pwm = 120;

elseif (pos_d > 233 && pos_d < 242) pwm = 130;

elseif (pos_d > 241 && pos_d < 249) pwm = 140;

elseif (pos_d > 248 && pos_d < 253) pwm = 150;

elseif (pos_d > 252 && pos_d <= 255) pwm = 160;

(30)

2.3 Comunicazione seriale con la mano

Per poter interàgire con l’hàrdwàre della mano Prensilia IH2 Azzurra è stato necessario implementare una comunicazione seriale con il microcontrollore presente sulla mano. Il protocollo utilizzàto per comunicàre direttàmente con l’hàrdwàre è lo RS232 (Tabella

2.3.1), tramite questo si accede alle funzioni a basso livello gestite dai motori LLMC.

Tabella 2.3.1: Requisiti del protocollo di comunicazione con il software a basso livello

Ogni motore LLMC è identificato da un indirizzo univoco assegnato in fase di costruzione, rappresentato da un numero binario, secondo la tabella seguente:

(31)

Il sistema di controllo è stato sia simulato che direttamente collegato alla mano utilizzando Matlab-Simulink.

La comunicazione seriale è stata realizzata in ambiente Simulink attraverso la realizzazione di una funzione denominata S-Function. Questa è stata scritta in codice C++ e si interfaccia àutomàticàmente con l’àmbiente Màtlàb-Simulink utilizzando specifici blocchi della libreria Simulink.

La comunicazione seriale sfrutta una classe Serial.h e Serial.cpp nella quale sono definite tutte le variabili e le funzioni da utilizzare nella S-Function implementata hand.cpp.

Nella classe Serial sono definite in particolare le funzioni Open(), Close() e Setup(), rispettivamente per iniziare e chiudere la comunicazione seriale e per settare tutti i parametri necessari, e le funzioni Write() e Read(), non bloccanti, per scrivere e leggere dati sul buffer seriale.

La S-Function hand.cpp, secondo il template utilizzato da Simulink, si compone di 5 sottofunzioni:

- mdlInitializeSizes(): è la funzione di inizializzazione della struttura che Simulink utilizzerà, al suo interno è definito il numero delle varibili di ingresso e di uscita, il loro tipo e dimensione. Nel càso in esàme ci sono 3 vàriàbili d’ingresso: MA, indirizzo del motore da controllare, pos_ref, la posizione desiderata in ingresso al sistema di controllo, e pwm_cmd, il comando PWM generato dal PID. In uscita sono definite 4 variabili: pos_HLHC, che legge là posizione àttuàle dell’encoder ad alto livello sul motore, da cui si ricava la posizione in cui si trova la slitta e quindi la posizione del dito,

pos_LLHC, che legge là posizione dell’encoder à bàsso livello, delta, che manda in output

l’intervàllo di tempo in ms tra due o più operazioni di interesse, ai fini della sincronizzazione, e infine sync, che manda in uscita l’intervàllo di tempo in ms tra due esecuzioni della hand.cpp, per verificare la sincronizzazione del sistema di controllo in Simulink con la mano robotica.

(32)

- mdlInitializeSampleTimes(): è la funzione che inizializza il valore del tempo di campionamento utilizzato da Simulink per il controllo. Poiché tale valore si riferisce al tempo di simulazione e non al tempo reale, la sincronizzazione con il tempo reale è gestità àll’interno dellà hand.cpp dà un’àpposità sezione di codice.

- mdlStart(): è la funzione che compie le fasi preliminari di inizializzazione delle variabili di lavoro, essà viene chiàmàtà un’unicà voltà àll’inizio dellà simulàzione. In questa funzione è gestità l’àpertura della comunicàzione seriàle, l’àssegnàzione dellà COM relativa alla porta con cui si intende comunicare con l’hàrwàre, l’àssegnàzione dei parametri specifici per la comunicazione seriale da utilizzare (Read() non bloccante,

baudrate, tipologia di pacchetti scambiati, ...). In questa funzione viene inoltre

disabilitato il controllo del PID implementato sul microcontrollore della mano robotica, in modo da utilizzare il PID del sistema di controllo realizzato su Simulink, e viene settata la priorità di esecuzione della S-Function alla massima possibile, in modo da andare alla massima velocità di esecuzione.

- mdlOutputs(): è la funzione che elabora le variabili in ingresso e manda in uscita i valori richiesti, definiti precedentemente nella mdlInitializeSizes(). Essa si compone di due blocchi logici, nel primo si verifica che le variabili pos_ref e pwm_cmd siano cambiate e in caso affermativo si manda alla mano robotica il nuovo valore di comando PWM, rielaborando il valore per poterlo mandare in un pacchetto di 10 bit. Nel caso in cui le due variabili non siano cambiate rispetto al passo precedente, significa che la posizione desiderata è raggiunta, in questo caso il motore DC viene staccato e la posizione rimane bloccata grazie alla coppia di stallo.

Nel primo blocco logico, oltre àll’invio del nuovo comàndo PWM, si realizza anche la sincronizzazione del tempo di simulazione, utilizzato da Simulink, con il tempo reale. Questo è reso possibile grazie alla classe definita TimeSyncTSC, che permette la realizzazione di un Soft Real-Time su Windows.

Infatti, dopo l’invio del nuovo comàndo PWM, c’è là sezione di codice che prevede un’àttesà attiva della funzione, finché il tempo di simulazione (più veloce del tempo

(33)

reale) non raggiuge il valore del tempo reale, calcolato grazie alla lettura del clock corrente nel registro TSC (Time Step Counter) del processore.

Dopo là sincronizzàzione c’è là sezione di codice relativa alla lettura della posizione attuàle dell’encoder ad alto livello sul motore che si sta controllando, di seguito c’è là letturà dell’encoder à bàsso livello.

- mdlTerminate(): è la funzione che terminà l’esecuzione dell’interà S-Function, in essa viene chiusa la comunicazione seriale e ripristinata la priorità normale di esecuzione.

(34)

Identificàzione di un modello per il

controllo

La mano robotica Prensilia IH2 Azzurra aveva già programmato all’interno del suo microcontrollore PIC18F4431 un sistema di controllo realizzato secondo una logica PID. I parametri relativi ai guadagni del PID sono stati impostati in maniera empirica per ogni dito e garantiscono una buona funzionalità della mano robotica, permettendole di essere stàbile àll’interno dellà gàmmà di movimenti àppositàmente pensàti per àpplicàzione biomedica. Essi sono le prese laterali, le prese a 2 dita e a 3 dita e le prese cilindriche.

3.1 Identificazione del modello di un generico dito

Allo scopo di implementare un controllo più robusto, in grado di migliorare le prestazioni di quello già esistente, di garantire la stabilità e una buona reiezione dei disturbi, è stato identificato il modello dinamico della mano robotica.

E’ stàto identificàto un modello per ogni dito dellà màno poiché, nonostànte là strutturà meccànicà sià uguàle per tutti, l’evidenzà sperimentàle mette àllà luce come ogni dito àbbià lievi differenze di comportamento durante il movimento rispetto agli altri. Tali differenze sono del tutto aleatorie e possono essere causate da le tolleranze di fabbricazione, diversa lubrificazione degli accoppiamenti, da un eventuale allentamento delle molle torsionali o da qualsiasi altra evenienza di natura imprevedibile.

Per identificare il modello dinamico del generico dito, è stato realizzato un sistema di identificàzione nell’àmbiente Màtlàb-Simulink, come mostrato in Figura 3.1.1.

(35)

Figura 3.1.1: Sistema di identificazione di un generico dito della mano robotica

Il blocco d’ingresso pwm in real time manda alla mano robotica dei valori di PWM, secondo delle funzioni scelte:

Figure 3.1.2: Funzioni PWM in ingresso al sistema di identificazione del dito

Entrambi i segnàli d’ingresso e d’uscità àl sistemà di identificàzione vengono màndàti àl workspace di Matlab© e salvati in strutture temporali, sotto forma di dati campionati.

Il sistema di identificazione in Figura 3.1.1 viene utilizzato per ogni dito della mano robotica, esso spedisce in ingresso un segnale PWM, tramite interfaccia seriale, al microcontrollore della mano, quindi invia una richiesta di lettura della posizione angolare (reàlizzàtà dà l’encoder relàtivo) à cui si trovà il motore. La risposta del microcontrollore viene inviàtà di nuovo sull’interfàccià seriàle, lettà e memorizzàtà nel workspàce di Matlab©, àll’interno di unà strutturà temporizzàtà.

(36)

3.2 Risoluzione del problema dei campioni in tempo reale

Comunicando con un dispositivo fisico, come la mano, si è posto il problema di garantire la coerenza dei dati acquisiti dal sistema di identificazione (Figura 3.1.1). Poiché Matlab-Simulink simula secondo un proprio tempo interno, non legato al tempo reale, il real time è stato gestito in maniera software, durante la fase di identificazione del sistema, per mezzo delle funzioni di libreria tic() e toc().

Esse fanno rispettivamente partire e fermare un timer sincronizzato con il tempo reale, che memorizza il tempo in una variabile di tipo double. Gràzie àll’utilizzo di tàli funzioni è stàto possibile realizzare un semplice sistema in tempo-reale, efficiente per lo scopo preposto di mandare il segnale PWM a una frequenza fissata e nota.

Il blocco pwm in real time (Figura 3.1.1), che manda il segnale PWM in ingresso alla mano, è quindi programmato in maniera da garantire una frequenza tempo-reale fissata, con un errore di càmpionàmento trà un sàmple e l’àltro che vàrià trà secondi. Tale

errore è accettabile, poiché i valori con cui vengono mandati i segnali PWM hanno una frequenzà dell’ordine di 1 Hz, ràràmente dellà decinà di Hz.

Una volta acquisiti i dati, essi vengono processati per allineare la scala dei tempi di campionamento sul tempo reale. A questo scopo è stata implementata la funzione Matlab© adjust_time(), che prende come parametri i valori letti di PWM, posizione angolare del

motore e tempo di càmpionàmento utilizzàto per l’identificàzione. Essa ritorna i valori correttamente temporizzati secondo la scala dei tempi reale, la stessa utilizzata dal blocco

pwm in real time per mandare il segnale PWM campionato.

La fase di elaborazione è molto importante, poichè garantisce la coerenza dei segnali che verrano successivamente utilizzati dagli algoritmi di identificazione per ricavare un modello del singolo dito.

(37)

Figura 3.2.1: Confronto fra i dati in ingresso e in uscita dal sistema di identificazione:

(38)

3.3 Identificazione lineare del modello

Unà voltà ottenuti i dàti àllineàti è possibile procedere àll’identificàzione verà e proprià del modello di un generico dito.

Per fàre questo è stàto utilizzàto l’Identification Toolbox di Matlab©, il quale rivece in

ingresso dei dàti càmpionàti e, tràmite un’interfàccià gràficà, càlcolà unà funzione di trasferimento che è in gràdo di restituire un’uscità simile à quellà del sistemà reàle.

Tale funzione di trasferimento è ottenuta forzando dei parametri caratteristici del modello, quàli àd esempio l’eventuàle ritàrdo (delay), numero di zeri, numero di poli, grado relativo della funzione.

Per l’identificàzione lineàre del modello di un generico dito sono stàti consideràti 10

dataset di valori, costituiti ognuno dà unà strutturà dàti d’ingresso e unà d’uscità, ottenuti

dallo schema mostrato in Figura 3.1.1. Ogni dataset d’ingresso-uscita z è stato suddiviso in unà pàrte per l’identificàzione e unà pàrte per là vàlidàzione dei dàti, rispettivàmente identificazione e validazione.

Elaborando i dati per mezzo del Identification Toolbox, sono state ricavate delle funzioni di trasferimento simili tra loro. Dal loro studio è stato possibile giungere infine alla scelta di un’unicà funzione di tràsferimento compostà dà 2 poli complessi coniugàti, un’àzione integrativa , uno zero e un guadagno K secondo la formula seguente:

( ) ( )

( ( ) ( ) )

dove i valori dei parametri caratteristici del modello sono stati identificati come segue: (1)

(39)

{

Purtoppo questo tipo di identificazione non riesce a descrivere fedelmente il comportamento del sistema, poiché esso risulta essere intrinsecamente non lineare ed è quindi più conveniente descriverlo con le equazioni dinamiche proprie della robotica. Il màssimo fitting che si ottiene dàll’identificàzione lineàre è pàri àl 40%, pertanto si è concluso che qualunque funzione di trasferimento del generico dito, identificata con questa procedura, non risulta essere in grado di descrivere il comportamento del sistema originario in fase di simulazione. In Figura 3.3.1 è mostràto l’àndàmento del fitting al 40%, l’àsse delle àscisse mostrà un sottoinsieme dell’intervàllo temporàle poiché si riferisce àl dataset di validazione .

Figura 3.3.1: Confronto fra l’output generato dalla f unzione di trasferimento (TF) identificata e

(40)

E’ stàto provàto un ulteriore metodo di identificàzione lineàre, bàsàto sullà fàmiglià di regressori ARX (AutoRegressive model with eXternal input).

Questa famiglia di modelli è stata scelta poiché il modello ARX è preferibile nell’identificazione di sistemi in cui i disturbi si sommano alle azioni di controllo (es. il vento su un àereo). Nel presente studio i disturbi in gioco sono l’àttrito e le incertezze di modello, che àgiscono ànch’esse come ulteriori àzioni di controllo sul sistema.

Il generico modello ARX si può esprimere nella forma:

( ) ( ) ( ) ( ) ( )

Le funzioni polinomiali ( ) e ( ) sono rispettivamente il polinomio dei poli e il polinomio degli zeri della funzione di trasferimento da identificare, ( ) è l’errore di predizione e è il vettore dei coefficienti dei polinomi e rappresenta i parametri non noti del modello.

Per mezzo del Identification Toolbox è stàto possibile trovàre quàle fosse l’ordine più àdàtto per i polinomi A e B (Figura 3.3.2), ottenendo:

{

dove è il numero di poli, è il numero di zeri e è il tempo di ritardo del sistema (dead time). Tipicamente per un sistema di controllo campionato se non è presente alcun ritardo.

(41)

Figura 3.3.2: Scelta dell’ordine dei polinomi per il modello identificativo ARX

Anche questo secondo tentativo di identificazione lineare non ha portato a buoni risultati, in quanto il fitting del modello identificato è peggiore rispetto al caso precedente, questo è reso evidente in Figura 3.3.3.

(42)

Figura 3.3.3: Confronto fra l’output generato dal modello ARX identificato e quello generato dal

sistema

3.4 Identificazione non lineare del modello

Visti i risultàti ottenuti con l’identificàzione lineàre, si è pàssàti à unà secondà tipologià di identificazione, utilizzando il metodo dei regressori non lineari secondo il modello NARX (Nonlinear AutoRegressive model with eXternal input). Questa famiglia di modelli è stata scelta poiché gli ARX e NARX sono le famiglie preferibili nell’identificàzione di sistemi in cui i disturbi si sommano alle azioni di controllo (es. il vento su un aereo). Nel presente studio i

(43)

disturbi in gioco sono l’àttrito e le incertezze di modello, che àgiscono ànch’esse come ulteriori azioni di controllo sul sistema.

La scelta della famiglia di modelli NARX è inoltre giustificata dalla sua semplicità rispetto alle altre famiglie di modelli.

Per l’identificàzione non lineàre, utilizzàndo àncorà lo Identification Toolbox di Matlab©, è

stato cercato il numero di regressori che rende la funzione identificata più fedele al modello originale e il miglior algoritmo di convergenza. Il numero di regressori da utilizzare si trova selezionàndolo come opzione àll’interno dell’interfàccià gràficà del toolbox, come vincolo dellà stimà del modello. L’àlgoritmo di convergenzà è stàto trovàto empiricàmente, valutando più stime e scegliendo per il sistema in esame un modello NARX SISO (Single

Input Single Output), con 2 regressori per l’uscità e 2 per l’ingresso, senzà ritàrdo, con

algoritmo di minimizzazione Adaptive Gauss-Newton Method.

Come previsto, i risultàti dell’identificàzione non lineàre si sono rivelàti molto più soddisfacenti rispetto al caso lineare, garantendo un fitting superiore al 96%.

In Figura 3.4.1 è mostràto l’output del modello NARX identificàto, l’àsse delle àscisse comprende un sottoinsieme dell’intervàllo temporàle poiché si riferisce àl dàtàset di validazione .

(44)

Figura 3.4.1: Confronto fra l’output generato dal modello NLARX identificato e quello generato dal

sistema

3.5 Confronti dei modelli identificati

I risultati ottenuti dàll’identificàzione sono mostrati in Figura 3.5.1, da essi si evince bene come il càso non lineàre (NARX) identifichi àl meglio l’uscità del sistemà.

(45)

Figura 3.5.1: Confronto degli output ottenuti rispettivamente con identificazione non lineare,

(46)

Modello cinemàtico e dinàmico

Un sistema sotto-attuato è generalmente definito come un sistema che abbia un numero di attuatori inferiore ai gradi di libertà del meccanismo (GdL) [2,3] o, equivalentemente, come un sistema che abbia il vettore degli ingressi più piccolo del vettore delle uscite di stato. La definizione di attuazione studiando le dita è differente dal concetto di sotto-attuazione usualmente presentato in robotica e le due nozioni non devono essere confuse. Le dita sotto-attuate generalmente si avvalgono di elementi elastici nei giunti inattuati [1,4]. Quindi possiamo pensare che gli stati associati a tali giunti siano non raggiungibili (da un punto di vista di controllo e al limite non osservabili se non vi è posto un sensore di posizione) o passivamente attuati invece di inattuati.

Nella maggior parte delle dita sotto-attuate, il wrench di attuazione è applicato àll’ingresso del dito e trasmesso alle falangi successive attraverso idonei elementi meccanici, pulegge, tendini, quadrilateri articolati, ruote dentate, etc. Elementi passivi, come molle e limiti meccanici, sono previsti al fine di ottenere una presa compliante o

auto-adattativa [5]. Tale tipo di presa prevede che le dita si avvolgano àll’oggetto àdàttàndosi

alla forma di questo anche in caso di geometrie complesse. Mentre il dito si chiude sull’oggetto, là configurazione del dito ad ogni istante è determinata attraverso le condizioni al contorno imposte dàll’oggetto e dàlle àzioni dinàmiche che regolano il reaching del dito. A contatto avvenuto solo là geometrià dell’oggetto influenzà là configurazione del dito, il quale, attraverso le falangi, eserciterà opportune forze. Una sequenza di reaching e presa dell’oggetto dà pàrte di un dito sotto-attuato a due falangi è rappresentata in Figura 4.1.

(47)

Figura 4.1: Sequenza di chiusura di un dito sotto-attuato a 2 GdL da [5]

Il dito è attuato attraverso il link inferiore, come si evince dalla freccia. Dato che il sistema possiede 2 GdL ma un solo attuatore, un elemento elastico risulta necessario perchè il sistema possa essere definito sotto-attuato e possa realizzare una presa auto-adattativa. I meccanismi sotto-attuati sono piccoli, leggeri e permettono una riduzione del numero di àttuàtori. Inoltre il controllo non gestisce che l’unico ingresso con una riduzione notevole dei segnali in gioco (non risulta necessaria il controllo coordinato di tutte le falangi). Di contro l’ànàlisi del meccanismo risulta complessa ma essenziale affinchè il meccanismo realizzi la presa desiderata.

Come spiegàto precedentemente nell’introduzione (pàràgràfo 1.3) il manipolatore in esame presenta delle molle torsionali ai giunti di ogni dito. Le molle torsionali sono utilizzate per realizzare un meccanismo di attuazione differenziale, dove le rigidezze delle molle servono per definire il rapporto di trasmissione tra i giunti durante la chiusura a vuoto. In questo modo si possono muovere più gradi di libertà del manipolatore con un numero limitato di attuatori, per semplificare il controllo senza perdere proprietà di adattabilità del manipolatore a oggetti di forma complessa.

(48)

Un meccànismo differenziàle è un sistemà in cui 3 ingressi dinàmici (l’estensione à n ingressi è ovvia) agiscono in equilibrio. Il noto e semplice esempio è la puleggia folle con un cavo avvolto rappresentata in Figura 4.2.

Figura 4.2: Semplice esempio di puleggia mobile e meccanismo differenziale a mezzo di ruote dentate

Nella mano in esame ogni dito ha la stessa struttura, è composto da due link in alluminio con ai giunti due pulegge folli di raggio differente e delle molle torsionali.

Le conoscenze riguardanti il modello cinematico sono state utilizzate per sviluppare l’hàrdwàre dellà màno in esàme nel presente làvoro di tesi. Là Prensilià IH2 Azzurrà è unà mano a 11 gradi di libertà, 2 per ogni dito che compie flessione e un grado di libertà àggiuntivo per il pollice che compie ànche l’àdduzione. Là strutturà delle fàlàngi prossimàli è in àlluminio, mentre le fàlàngi distàli sono in màteriàle siliconico, un po’ incurvàte, per riprodurre il naturale aspetto di flessione fra le falangi mediana e distale rispetto alla prossimale (Figura 4.3). In questo modo si possono utilizzare soltanto due giunti per ogni dito, puntando maggiormente sulla semplicità del modello meccanico e del controllo.

(49)

Figura 4.3: Prensilia IH2 Azzurra, visione di una presa

Per riprodurre delle traiettorie di chiusura simili alla mano umana, sono presenti su ogni giunto di ogni dito delle molle torsionali, con differenti costanti di rigidezza e precarico .

Le rigidezze e i precarichi delle molle torsionali del giunto prossimale sono definiti in (3).

{ * + * + * + * + { (3)

(50)

Le rigidezze e i precarichi delle molle torsionali del giunto distale sono definiti in (4). { * + * + * + {

4.1 Struttura e caratteristiche del dito

Per avere una maggiore semplicità strutturale, tutte le dita della mano Prensilia IH2 Azzurra hanno la stessa forma e struttura. Le caratteristiche tecniche del singolo dito sono mostrate in Tabella 4.1.1.

Link 1 Link 2

massa 12 [g] 10 [g]

lunghezza 36 [mm] 49 [mm]

diametro link 16 [mm] 16 [mm]

distanza del Centro di Massa

rispetto àll’origine del Link 18 [mm] 24.5 [mm]

inerzia alla rotazione 1488 [ ] 2160.8 [ ]

raggio puleggia 7.25 [mm] 3.65 [mm]

Tabella 4.1.1: Caratteristiche geometriche e dinamiche del singolo dito

(51)

In Figura 4.1.1 è mostrata una schematizzazione del dito, dove con il termine viene indicata la lunghezza del link i-esimo, con il raggio della puleggia i-esima, con la massa del link i-esimo e con il centro di massa del link i-esimo.

Figura 4.1.1: Schematizzazione del dito in cui sono visibili le grandezze geometriche e le masse

Il tendine, in Figura 4.1.1 schematizzato in rosso, è un trefolo in acciaio, capace di sopportare tensioni fino a un massimo di 152 N, mentre l’àttuàtore è in gràdo di esercitàre una forza massima di 65 N. Esso è fissato da un làto àll’estremit{ finàle dellà fàlànge distàle e dàll’àltro àllà slittà che àttuà là flessione del dito, percorrendo entràmbe le pulegge. Nel giunto che collega la falange prossimale alla mano (MCP) sono presenti 4 molle torsionali, precaricate in modo da mantenere la falange estesa, la posizione è stabile grazie alla presenza di un vincolo meccanico alla base della falange stessa. Nel secondo giunto (PIP), che collega la falange prossimale a quella distale, sono invece montate 3 molle torsionali.

(52)

Esse generano una forza di reazione minore di quelle del gunto MCP, poiché sul giunto PIP è necessario una forza di reazione minore per tenere estesa la falange.

A seguito dei rapporti di riduzione implementati per mezzo delle molle torsionali, quando il tendine viene attuato dalla slitta, la falange distale sarà la prima a flettersi.

Il passaggio del tendine dalla puleggia prossimale al sistema di attuazione slitta – vite è guidato grazie alla presenza di una guaina in materiale sintetico ad alta resistenza (bowden

cable), che permette il direzionàmento del tendine direttàmente àll’interno del sistemà di

attuazione, minimizzando il tragitto al fine di ridurre gli effetti di attrito viscoso e conseguente riduzione dell’efficienzà.

Il sistema di attuazione è situato nel dorso della mano ed è composto da una slitta lineare accoppiata a una vite, che la fa scorrere in una sede di 22 mm. Sono presenti 4 slitte, una per là flessione dell’indice, unà per là flessione del medio, unà per là flessione del pollice e una per la flessione combinata di anulare e mignolo. In Figura 4.1.2 è mostrato il sistema di slitte utilizzato per ogni dito.

La vite che attua la slitta è collegata a un motore in corrente continua, attraverso un sistema di riduzione composto da ingranaggi e a un riduttore epicicloidale sul motore. L’àdduzione del pollice è àttuàtà direttàmente dà un ulteriore motore in corrente continuà, collegato al dito tramite un riduttore e un doppio giunto di Cardano.

(53)

Figura 4.1.2: Visione del dorso della mano, in cui sono presenti le slitte con relativi collegamenti, e dei

motori

4.2 Modello dinamico del dito

Parte dello studio del presente lavoro di tesi ha previsto un approfondimento sulla modellazione e simulazione della dinamica di un dito della mano Prensilia IH2 Azzurra.

(54)

Questo non pecca in generalità, poiché tutte le dita della mano robotica sono uguali. Di non semplice modellazione sono stati i vincoli meccànici e l’àttrito (statico e dinamico), presente in maniera evidente nella struttura reale. Si sono in seguito effettuate delle scelte sui modelli implementati, per migliorare i tempi di risposta e validare il comportamento dinamico in simulazione, assicurandone la coerenza con gli esperimenti reali fatti sulla mano robotica.

La dinamica del dito è stata modellata secondo la teoria classica della robotica, utilizzando la convenzione di Denavit-Hartenberg per la definizione dei sistemi di riferimento relativi sul dito e per il calcolo dei jacobiani.

Figura 4.2.1: Convenzione Denavit-Hartenberg utilizzata per modellizzare un dito Link

1 0 0

(55)

In (5) si riporta la dinamica del sistema a due gradi di libertà in esame. ( ) * ( ( )) ( ( )) ( ( )) + ( ̇) [ ̇ ̇ ( ) ( ̇ ̇ ) ( ) ( ) ] ( ) [ (( ( ) ( ) ( ( )) ( )) ]

Dove la variabile rappresenta la posizione angolare del link i-esimo, ̇ la velocità angolare, è l’inerzià, la massa, la lunghezza del link , il centro di massa e g è l’àcceleràzione di gràvit{.

Essendo la struttura di ogni dito uguale, la descrizione che segue verrà fatta per il generico dito.

4.2.1 – Coppia motrice

Entrambi i giunti presenti sono di accoppiamento rotoidale, su di essi sono applicate coppie resistenti dovute àll’àttrito e alle molle torsionali e coppie motrici generate dalla tensione del tendine attuato sulle pulegge. Per lo studio delle tensioni sul tendine viene utilizzata l’àpprossimazione di cavo inestensibile, che risulta plausibile poiché i carichi a cui esso è soggetto sono inferiori alla tensione massima da catalogo. Le coppie motrici ai giunti si calcolano quindi moltiplicando la tensione del cavo per il raggio della relativa puleggia (6).

(56)

dove il pedice i sta ad indicare la i-esima puleggia.

4.2.2 – Coppia resistente delle molle

Per il calcolo delle coppie resistenti dovute alle molle, va tenuto in considerazione un valore di precarico per ogni molla.

∑ ∑ ( )

Il valore di ogni precarico e di ogni costante di rigidezza , mostrati nelle equazioni (3) e (4), è stato scelto per garantire un movimento conforme a quello che segue la mano umana.

4.2.3 – Coppia di attrito

L’àttrito presente nella struttura è dovuto allo sfregamento del tendine contro le superfici delle pulegge, al passaggio del tendine àll’interno della guaina che funge da guida (bowden

cable) e àll’àccoppiàmento vite – madrevite relativo alla slitta. Esso genera una coppia di

attrito , per cui sono stati pensati diversi modelli per rappresentarla, partendo dal caso più semplice dell’attrito viscoso, fino ad arrivare alla forma più dettagliata:

(6)

(57)

1. Attrito coulombiano:

( ̇)

dove è la coppia di attrito statico, ̇ è la velocità angolare del link i-esimo e la funzione sign( ) è definita come:

( ) ,

Figura 4.2.3.1: Attrito coulombiano

2. Attrito coulombiano e viscoso:

( ̇) ( ̇)

dove è il coefficiente di attrito viscoso, è la coppia di attrito statico e ̇ è la velocità angolare del link i-esimo.

Figura 4.2.3.2: Attrito coulombiano e viscoso

(8)

(9)

(58)

3. Attrito coulombiano, statico e viscoso:

{ ( ̇ ̇) ( ̇ )

Figura 4.2.3.3: Attrito coulombiano, statico e viscoso

4. Attrito coulombiano, statico e viscoso, che tiene conto dell’effetto Stribeck:

( ( ) | ̇|) ( ̇ ) ̇

dove è la coppia di attrito statico, è la coppia di primo distacco, è un coefficiente che serve à decidere là pendenzà dell’àttrito di Stribeck (Figura 4.2.3.4), è il coefficiente di attrito viscoso e ̇ è la velocità angolare del link i-esimo.

(11)

(59)

Figura 4.2.3.4: Attrito coulombiano, statico e viscoso, che tiene conto dell’effetto Stribeck

Una volta calcolata la coppia di primo distacco in maniera sperimentale, il valore dei coefficienti è stato trovato empiricamente, in modo da adattarli al caso in esame. Per una trattazione più completa riguardante i calcoli della coppia si rimanda alla

sezione relativa allo studio sul motore.

Una versione semplificata dell’espressione (12) è stata ricavata da [2], essa risulta migliore in fase di simulazione, nonostante entrambe appesantiscano eccessivamente la velocit{ di càlcolo dell’àmbiente Màtlàb-Simulink.

( ( ̇) ( ̇ ) ( ̇) ( ̇

(60)

Figura 4.2.3.5: Formula semplificata dell’attrito coulombiano, statico e viscoso, che tiene conto

dell’effetto Stribeck

A causa dell’eccessivà complessità computazionale, in fase di simulazione si è reso necessàrio scegliere l’espressione dell’àttrito viscoso

̇

come àpprossimàzione dell’àttrito sul dito. Sviluppi futuri potranno essere effettuati utilizzando una delle espressioni più complesse sopra elencate, avvalendosi di mezzi di calcolo più potenti.

4.2.4 – Vincoli meccanici

Il sistema in esame presentà dei vincoli meccànici che ne gàràntiscono l’integrit{ e la correttezza dei movimenti. Essi sono presenti sulla struttura del dito, alla base di ogni falange.

(61)

Figura 4.2.4.1: Schematizzazione del dito che mostra gli angoli di rotazione delle due falangi

Con riferimento alla Figura 4.2.4.1, entrambe le falangi presentano due vincoli, uno che permette là posturà verticàle e l’àltro che permette là rotazione fino a una determinata soglia di chiusura.

Posto il verso di rotazione positivo in senso orario e lo zero sull’àsse y del sistema di riferimento mostrato in Figura 4.2.4.1, la prima falange può ruotare di un angolo

gradi, mentre la seconda falange può ruotare di un angolo gradi. I vincoli meccanici sono stati modellizzati inizialmente utilizzando delle saturazioni sulla posizione e la velocità angolare di ogni falange.

Tale scelta, nonstante fosse concettualmente la più semplice, si è rivelata inapplicabile in fase di simulazione, a causa dei forti problemi di integrazione che gli algoritmi di solver hanno incontrato nell’integràzione delle equazioni dinamiche.

(62)

Il Figura 4.2.4.2 è mostràtà l’evoluzione libera della dinamica del dito, che ha un comportamento assolutamente non conforme alla realtà.

Figura 4.2.4.2: Evoluzione dei segnali di posizione, velocità e accelerazione ai giunti nel caso di

sistema in evoluzione libera con condizioni iniziali di posizione angolare dei giunti * +

Si nota come le velocità non rispettino il vincolo del contatto, che viene imposto dalla presenza delle saturazioni sulla posizione angolare di ogni giunto. Le velocità infatti non vanno a zero quando il dito raggiunge i vincoli meccanici del sistema.

Questo problema si ripercuote su un eventuale controllo implementato, in quanto i controlli classici sui manipolatori (Coppia Calcolata, Controllo alla Arimoto, etc..) richiedono in ingresso almeno i segnali di posizione e velocità del sistema. Questo genera un’erràtà interpretàzione dellà dinàmicà dà pàrte del controllore e di un comportamento non conforme àll’evoluzione fisica da parte del sistema dinamico. In Figura 4.2.4.3 viene

(63)

mostrata l’evoluzione del dito sotto l’àzione di comàndo dellà Coppià Càlcolàtà applicata al modello dinamico descritto in precedenza.

Figura 4.2.4.3: Evoluzione dei segnali di posizione, velocità e accelerazione ai giunti nel caso di

controllo a Coppia Calcolata con condizioni iniziali di posizione angolare dei giunti * +

Si nota come le velocità non rispettino il vincolo del contatto imposto dalla presenza delle saturazioni sulla posizione angolare di ogni giunto.

Per risoltere questo problema si è deciso di modellizzare i vincoli meccanici con un sistema molla-smorzatore, dove la molla è torsionale e la sua forza di reazione è applicata ai giunti del manipolatore. I vincoli si attivano quando il link, durante la sua rotazione, si trova vicino a uno dei fine corsa meccanici.

(64)

Figura 4.2.4.4: Modellizzazione del vincolo meccanico con un sistema molla torsionale-smorzatore

Sistemi simili a quello proposto vengono utilizzati in letteratura per simulare urti non elastici e modelli di contatto [11].

I vincoli meccanici così modellizzati, generano una coppia resistente che blocca la rotazione del giunto e che si àttivà solàmente nell’intorno del vincolo stesso:

{ ( ) ̇

e sono rispettivamente la costante di rigidezza della molla e il coefficiente di smorzamento.

(65)

Questa implementazione ha risolto le problematiche precedentemente esposte ottenendo comportamenti coerenti con la dinamica prevista, come mostrato in Figura 4.2.4.5.

Figura 4.2.4.5: Evoluzione dei segnali di posizione, velocità e accelerazione ai giunti nel caso di

evoluzione libera del sistema con condizioni iniziali di posizione angolare dei giunti * +

Stavolta i risultati del controllo a Coppia Calcolata sul secondo modello dinamico sono corretti da un punto di vista fisico: la velocità del dito quando tocca i vincoli meccanici diventa nulla e il controllo gestisce una dinamica di evoluzione corretta del sistema:

Figura

Figura 1.1.1: High-Speed Hand, realizzata dal Laboratorio Ishikawa Oku dell’Università di Tokyo
Figura 1.1.2: La mano Sandia Hand realizzata dai Sandia National Laboratories degli USA
Figura 2.1: Vista della slitta di attuazione:  scorre lungo lo slide quando la vite è attuata
Figura 2.1.1: Visione dell’architettura gerarchica di controllo della mano Prensilia IH2 Azzurra
+7

Riferimenti

Documenti correlati

Sotto Piero Leopoldo, la tenuta venne sottoposta ad una intensa riorganizzazione, basata su interventi nei boschi, e di riassetto idraulico, con l’esecuzione di alcune colmate,

L’individuazione però di una nuova curva di distribuzione, che rifletta una situazione di traiettorie dei velivoli sulla pavimentazione maggiormente canalizzata , determina

Gli obiettivi principali della tesi sono tre: la progettazione urbanistica, quella architettonica e funzionale (del solo stadio di calcio) e infine uno studio strutturale

Mais comme les plus hautes entreprises sont ordinairement aussi les plus périlleuses, certainement celle-cy n’est point sans beaucoup de danger ; car encore qu’il

Si progetteranno vari controllori usando metodi di controllo differenti: lo studio della risposta in frequenza con Bode e Nyquist, del luogo delle radici e la progettazione di un

Per un pi` u completo studio della risposta del sistema in catena aperta applicher` o la stessa analisi, svolta per il gradino unitario, alla rampa lineare come ingresso del

Utilizzando il comando rltool(tf(num,den)) Matlab restituisce il luogo delle radici della funzione di trasferimento in input con la possibilità di spostare le radici lungo il

Come si può notare, i due poli dominanti sono quelli più vicini all’asse immaginario, cioè -0.1098 ± 5.2504i, che sono radici complesse coniugate. La vicinanza di due poli e