• Non ci sono risultati.

5.2 Il task di catching di un oggetto in volo

N/A
N/A
Protected

Academic year: 2021

Condividi "5.2 Il task di catching di un oggetto in volo"

Copied!
27
0
0

Testo completo

(1)

Il controllo di livello intermedio

5.1 Introduzione

Dopo avere definito l’algorimtmo di basso livello `e necessario passare allo studio dell’al- goritmo di livello intermedio. All’interno di questo capitolo si parte con l’analisi e la modellazione della traiettoria di catching di un oggetto in volo. Successivamente si passa alla descrizione di un ambiente di simulazione sviluppato ad hoc in Matlab Simulink

r

. Tale simulatore, implementando la dinamica del meccanismo della piattaforma NEURArm sar`a utilizzato per sintetizzare e validare l’algoritmo di controllo di livello intermedio.

5.2 Il task di catching di un oggetto in volo

Per uno studio attento della traiettoria di catching `e necessario effettuare una appro- fondita analisi dei dati sperimentali, dai quali prendere spunto per una pianificazione adeguata della traiettoria da utilizzare come riferimento per il sistema di controllo di livello intermedio.

5.2.1 Analisi della traiettoria del task di catching

I dati sperimentali della traiettoria del task di catching, sono stati acquisiti presso l’ARTS Lab della Scuola Superiore Sant’Anna (Pisa), e non all’interno del presente lavoro di tesi.

Per l’acquisizione, il task di catching `e stato semplificato, costringendo il braccio di un soggetto umano a muoversiin un piano ed imponendo all’oggeto una traiettoria rettilinea.

123

(2)

L’apparato, realizzato ad hoc, presso l’ARTS Lab, permette all’oggetto in movimento di raggiungere velocit`a differenti (0.5 ÷ 1.5ms

−1

) (Figura 5.1).

Figura 5.1: Piattaforma per il task di catching di un oggetto in volo.

I dati gi`a disponibili, utilizzati all’interno del presente lavoro, sono stati acquisiti con il localizzatore Fastrack Polhemus, e si riferiscono al baricentro della mano del soggetto umano. Per NEURArm la traiettoria di catching `e riferita all’end-effector O

2

, come da Figura 3.5.

In Figura 5.2 `e riportata la traiettoria del baricentro della mano nello spazio operativo.

1

In Figura 5.3 sono riportate le coordinate x(t) ed y(t), dalle quali `e possibile ottenere l’andamento dell’ascissa curvilinea, riportata in Figura 5.4. L’ascissa curvilinea a

c

(n) al passo n − esimo `e definita come:

a

c

(n) = a

c

(n − 1) + p(x(n) − x(n − 1))

2

+ (y(n) − y(n − 1))

2

(5.1) In Figura 5.5 `e riportato il profilo di velocit`a dell’ascissa curvilinea, mentre in Figura 5.6 i profili di velocit`a delle coordinate x(t) e y(t), la cui analisi frequenziale `e riportata in Figura 5.7.

A partire dai grafici riportati

2

, si pu`o effettuare una descrizione dettagliata del task di catching, dividendolo in tre fasi.

1

Per rendere la trattazione pi` u agevole si far` a riferimento allo spazio operativo in termini di coordinate x e y invece che X

0

e Y

0

.

2

I grafici sono stati ottenuti elaborando i dati con il file Matlab Lettura dati sperimentali.m riportato

in APPENDICE C

(3)

Figura 5.2: Traiettoria nello spazio operativo del baricentro della mano nel task di catching.

Figura 5.3: Coordinate x(t) e y(t) del task di catching planare.

(4)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

t

m

Ascissa curvilinea vs tempo

Ascissa curvilinea SPERIMENTALE

Figura 5.4: Ascissa curvilinea del task di catching.

I fase Nella prima fase (da Start Point al punto A), la cui durata `e di circa 0.3s, sia la coordinata x che y aumentano, fino al raggiungimento dei rails sopra i quali `e vincolato a muoversi l’oggetto-slitta usato come target del task. In questa prima fase per la y si ha un profilo di velocit`a a campana, e siccome il maggiore spostamento per il baricentro della mano `e proprio lungo la direzione y, anche l’ascissa curvilinea a

c

ha un simile profilo di velocit`a.

II fase Nella seconda fase (dal punto A al punto B), di durata appena pari a circa 0.05s, si registra solo il decremento della coordinata x, anche in questo caso il profilo di velocit`a `e a campana. La coordinata y rimane pressoch´e invariata.

III fase La terza fase (dal punto B all’End Point), della durata di poco meno di 0.5s, successiva all’urto con l’oggetto, vede esclusivamente l’incremento della coordinata x. In questo caso la velocit`a non ha un profilo a campana, ma, mantenendosi sempre positiva, dopo aver raggiunto un massimo di circa 0.2ms

−1

, decresce in modulo fino a zero

3

.

3

La possibilit` a di identificare in modo netto le tre fasi nel task di catching `e data oltre che dai dati anche

dall’osservazione attenta dei filmati gi` a disponibili presso l’ARTS LAb della Scuola Superiore Sant’Anna

e relativi all’esecuzione del task cui si riferiscono gli stessi dati sperimentali analizzati.

(5)

Figura 5.5: Velocit`a dell’ascissa curvilinea del task di catching.

In definitiva, le tre fasi possono essere interpretate in questo modo: nel task di catching c’`e una fase iniziale in cui il soggetto porta la mano in una posizione tale da poter collidere con la possibile traiettoria dell’oggetto (in questo caso determinata dai rails). Successiva- mente il soggetto si prepara all’impatto andando incontro all’oggetto per poi facilitare lo smorzamento dell’energia trasmessa durante l’impatto, riducendo progressivamente a zero la velocit`a.

Dai dati `e possibile percepire anche le elevate performance dinamiche richieste sia al

manipolatore cha al sistema di controllo. Infatti, durante il task l’end effector deve essere

in grado di percorrere una traiettoria di circa 0.4m in appena 0.3s, con una velocit`a di

picco di circa 2.5ms

−1

, e con velocit`a iniziale e finale nulla. Nei grafici `e stato riportato

anche l’analisi in frequenza delle coordinate x e y, che evidenzia come il massimo contenuto

frequenziale sia nell’intervallo 0 − 5Hz, ma come alcune componenti frequenziali, sebbene

molto attenuate, siano presenti fino a 20Hz.

(6)

Figura 5.6: Velocit`a delle coordinate del task di catching.

5.2.2 Modellazione e pianificazione della traiettoria

Dopo aver analizzato i dati sperimentali, prendendo spunto da essi e compatibilmente con i limiti della meccanica di NEURArm, si procede alla pianificazione di una traiettoria smooth da utilizzare come ingresso − →

X

d

di riferimento per il Middle Level Control. La procedura di seguito descritta `e implementata nel file Pianificazione_traiettoria.m, il cui listato `e riportato in APPENDICE C. Anche per la pianificazione si fa riferimento alle 3 fasi, delimitate dagli istanti temporali t

0

= 0, t

A

, t

B

. Si parte con la pianificazione della traiettoria per la I fase (0 ≤ t ≤ t

A

) e si sceglie per l’ascissa curvilinea un profilo polinomiale di V grado:

a

c

(t) = b

5

t

5

+ b

4

t

4

+ b

3

t

3

+ b

2

t

2

+ b

1

t + b

0

(5.2)

(7)

Figura 5.7: Analisi in frequenza delle coordinate x(t) e y(t).

Per la determinazione dei coefficienti `e necessario imporre 6 vincoli:

 

 

 

 

 

 

 

 

a

c

(0) = 0 a

c

(t

A

) = a

Ac

˙

a

c

(0) = ˙ a

c

(t

A

) = 0

¨

a

c

(0) = ¨ a

c

(t

A

) = 0

(5.3)

dove con t

A

si indica proprio l’istante temporale relativo al punto A di transizione dalla I alla II fase. Da queste relazioni e risolvendo un sistema lineare di 6 equazioni in 6 incognite, `e possibile definire i coefficienti b

i

nel seguente modo:

 

 

 

 

 

 

 

 

b

0

= b

1

= b

2

= 0 b

4

= −

15at4Ac

A

b

3

= −

2b43tA

b

5

= −

5t2bA4

(5.4)

Inoltre rifacendosi ai dati sperimentali `e lecito ipotizzare che la traiettoria nello spazio

operativo sia approssimabile con una retta che congiunge lo Start Point, di coordinate

x(0),y(0) con il punto A, di coordinate x(t

A

),y(t

A

). Per questo motivo, e da semplici

(8)

considerazioni geomentriche, si definisce:

a

Ac

= p(x(t

A

) − x(0))

2

+ (y(t

A

) − y(0))

2

(5.5) Nota la legge oraria dell’ascissa curvilinea `e possibile ricavare successivamente quella delle due coordinate x(t) e y(t):

x(t) = x(0) + (x(t

A

) − x(0)) a

c

(t)

a

Ac

(5.6)

y(t) = y(0) + (y(t

A

) − y(0)) a

c

(t)

a

Ac

(5.7)

La scelta del polinomio di V grado `e determinata essenzialmente dalla necessit`a di imporre il valore dell’accelerazione nell’istante iniziale e finale garantendo contemporanea- mente un profilo di velocit`a a campana [36]. Infatti, una possibile alternativa per generare un profilo di velocit`a a campana `e una polinomiale cubica, con la quale non `e possi- bile per`o imporre contemporaneamente una condizione sulla posizione, sulla velocit`a e sull’accelerazione iniziale e finale (sono necessari 6 coefficienti).

Anche per la pianificazione della traiettoria nella II fase (t

A

< t ≤ t

B

) si sceglie per l’ascissa curvilinea un profilo polinomiale di V grado:

a

c

(t) = d

5

t

5

+ d

4

t

4

+ d

3

t

3

+ d

2

t

2

+ d

1

t + d

0

+ a

Ac

(5.8) Per la determinazione dei coefficienti d

i

si procede in modo analogo e si impongono le seguenti condizioni:

 

 

 

 

 

 

 

 

a

c

(t

A

) = a

Ac

a

c

(t

B

) = a

Bc

˙

a

c

(t

A

) = ˙ a

c

(t

B

) = 0

¨

a

c

(t

A

) = ¨ a

c

(t

B

) = 0

(5.9)

dove t

B

si riferisce al punto di transizione dalla I alla II. Anche per questa fase si ipotizza una traiettoria lineare, ovvero una retta che congiunge il punto A con il punto B, di coordinate x(t

B

), y(t

B

). Da ci`o si ottiene che:

a

Bc

= p(x(t

B

) − x(t

A

))

2

+ (y(t

B

) − y(t

A

))

2

(5.10)

(9)

Anche in questo caso, nota la legge oraria dell’ascissa curvilinea, `e possibile definire:

x(t) = x(t

A

) + (x(t

B

) − (t

A

)) a

c

(t) a

Bc

− a

Ac

(5.11)

y(t) = y(t

A

) + (y(t

B

) − y(t

A

)) a

c

(t) a

Bc

− a

Ac

(5.12) D’altra parte, per la II fase lo spostamento del baricentro della mano avviene senza una variazione significativa della coordinata y, questo si traduce nell’imporre y(t

A

) = y(t

B

).

Nella Tabella 5.1 sono riportati i valori numerici dei parametri fino ad ora considerati e stimati a partire dai dati sperimentali.

Parametro Valore Unit` a di misura

x(0) −1.211 · 10

−1

m

y(0) 2.875 · 10

−1

m

x(t

A

) −4.1 · 10

−2

m

y(t

A

) 6.2 · 10

−1

m

x(t

B

) −6 · 10

−2

m

y(t

B

) 6.2 · 10

−1

m

a

Ac

3.42 · 10

−1

m

a

Bc

3.61 · 10

−1

m

t

A

3 · 10

−3

s

t

B

3.51 · 10

−3

s

Tabella 5.1: Parametri per la pianificazione della traiettoria nel task di catching.

Per la terza parte della traiettoria non si ricorre all’utilizzo di una legge oraria. Questo

`e dovuto al fatto che la III fase della traiettoria `e conseguenza dell’urto, e come si vedr`a successivamente, essa pu`o essere ottenuta commutando il sistema di controllo di livello intermedio da controllore centralizzato in dinamica inversa a controllore di impedenza. In sostanza per t > t

B

si pone x(t) = x(t

B

) e y(t) = y(t

B

).

Nel file Pianificazione_traiettoria.m le leggi orarie x(t) e y(t) vengono salvate in

un file .mat, con passo di campionamento T = 0.001s, e saranno utilizzate successivamente

per la simulazione in Matlab Simulink.

(10)

−0.14 −0.12 −0.1 −0.08 −0.06 −0.04 −0.02 0 0.25

0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65

0.7 x vs y (scatter plot)

m

y

Scatter plot x vs y

Figura 5.8: Rappresentazione nello spazio operativo dello scatter plot x vs y, come da traiettoria pianificata.

Nelle Figure 5.8-5.10 sono riportati i risultati grafici della pianificazione.

Facendo un confronto tra lo scatter plot di Figura 5.2 e quello di Figura 5.8 si nota che nella traiettoria pianificata l’ascissa y assume come valore massimo y(t

A

) = 0.62m mentre nei dati sperimentali si ha y(t

A

) ' 0.67. Questa discrepanza si spiega sia con la mancanza nel meccanismo di NEURArm di un ulteriore link che possa dar conto del moto mediale della scapola, sia con il fatto che i link di NEURArm hanno dimensioni sensibilmente diverse, da quelle dei segmenti dell’arto superiore del soggetto che ha condotto il task cui i dati analizzati si riferiscono.

5.3 Sviluppo dell’ambiente di simulazione

Anche per la messa a punto dell’algoritmo di controllo di livello intermedio si rende nec-

essario lo sviluppo di un ambiente di simulazione. Anche in questo caso, per ottimizzare

la scelta dei coefficienti di controllo `e opportuno avere a disposizione un manipolatore

virtuale. Per questo motivo nel simulatore `e stata implementata la dinamica del manipo-

latore a 2 link, ricorrendo al modello di Lagrange, descritto nei capitoli precedenti. Per il

controllo, pur essendo il simulatore general purpose, in questo lavoro `e stato implementa-

(11)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0

0.1 0.2 0.3

0.4 Pianificazione ascissa curvilinea

m

Ascissa curvilinea

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0 1 2 3

m/s

Velocità ascissa curvilinea

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

−50 0 50

s

m/s2

Accelerazione ascissa curvilinea

Figura 5.9: Rappresentazione della legge oraria, della velocit`a e dell’accelerazione dell’ascissa curvilinea pianificata.

to un controllore ibrido: dinamica inversa fino al momento prima dell’urto con la slitta e controllo di impedenza (controllo di interazione), per la fase successiva. Entrambi questi algoritmi sono stati dettagliatamente descritti nel Capitolo 2.

5.3.1 Descrizione del simulatore

Per la descrizione dell’ambiente di simulazione si far`a largo uso di immagini per rendere la trattazione pi` u snella ed immediata. In Figura 5.11 `e riportata la schermata relativa al livello pi` u alto del simulatore. Si distinguono oltre oltre agli scope per la visualizzazione dei risultati altri 4 blocchi subsystems:

• x y desiderati, con blocchi per l’immagazzinamento dei file .mat nei quali `e descritta la traiettoria pianificata x

d

(t),y

d

(t) e blocchi derivatori per la generazione di ˙x

d

(t),

˙y

d

(t), ¨ x

d

(t) e ¨ y

d

(t), che completano l’ingresso al sistema di controllo ibrido (Figura 5.12);

• un blocco con 6 funzioni Matlab scritte ad hoc, contenenti i 6 coefficienti di controllo,

che vengono commutati in corrispondenza dell’urto, in virt` u di segnali a gradino

opportunamente scelti (Figura 5.13);

(12)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

−0.14

−0.12

−0.1

−0.08

−0.06

−0.04 Spazio vs tempo (ascissa x)

m

Ascissa x

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

0.2 0.3 0.4 0.5 0.6

0.7 Spazio vs tempo (ascissa y)

s

m

Ascissa y

Figura 5.10: Rappresentazione della legge oraria delle coordinate x(t) e y(t) pianificate.

• un blocco per la generazione del profilo di forza all’end effector cos`ı da simulare l’impatto con l’oggetto in volo (Figura 5.14);

• Manipolatore + sistema di controllo IBRIDO, all’interno del quale sono implemen- tati il sistema di controllo ibrido e le equazioni del modello di Lagrange per un manipolatore a 2 link (Figura 5.15).

Procedendo in modo gerarchico, si analizza con maggiore attenzione il subsystem Ma- nipolatore + sistema di controllo IBRIDO. Esso `e ulteriormente costituito da 4 subsystems:

• Vettore y di controllo per CONTROLLO IMPEDENZA, che implementa la relazione 2.89 (Figura 5.16), i blocchi che in figura sono denominati come Jij inv si riferiscono all’elemento della riga i − esima e della colonna j − esima della matrice J

−1

;

• Manipolatore a 2 link LINEARIZZATO E DISACCOPPIATO, che implementa la relazione 2.62, con la quale si effettua la linearizzazione ed il disaccoppiamento del modello di Lagrange (Figura 5.17);

• K, implementa la trasformazione non lineare dalle variabili di giunto θ

1

e θ

2

(si faccia riferimento alla Figura 3.5) a quelle dello spazio operativo x e y (Figura 5.18):

x = L

1

cos(θ

1

) + L

2

cos(θ

2

+ θ

1

) (5.13)

(13)

Figura 5.11: Schermata del livello pi` u alto del simulatore: ¨ NEURArm: MANIPOLATORE PLANARE A 2 LINK HUMAN LIKE¨ .

Figura 5.12: Subsystem x y desiderati.

(14)

Figura 5.13: Subsystem che genera i coefficienti di controllo.

Figura 5.14: Subsystem che genera il profilo di forza per simulare l’impatto con l’oggetto in volo.

y = L

1

sin(θ

1

) + L

2

sin(θ

2

+ θ

1

) (5.14) dove si indica con L

1

la lunghezza del link 1 e con L

2

la lunghezza del link 2;

• J, implementa lo Jacobiano geometrico per la determinazione della velocit`a dell’end effector nello spazio operativo (Figura 5.19):

J(θ

1

, θ

2

) =

−L

1

sin(θ

1

) − L

2

sin(θ

1

+ θ

2

) −L

2

sinθ

1

+ θ

2

L

1

cos(θ

1

) + L

2

cos(θ

1

+ θ

2

) +L

2

cosθ

1

+ θ

2

 (5.15)

In sostanza all’interno del manipolatore si implementa il modello di Lagrange per un

manipolatore a 2 link, in accordo alla relazione 2.35 ma trascurando i termini di attrito (i

giunti di NEURArm possono considerarsi Low friction) ed il termine di energia potenziale

(15)

Figura 5.15: Struttura del subsystem Manipolatore + sistema di controllo IBRIDO.

(il moto avviene su un piano orizzontale, quindi tutti i punti sono allo stesso potenziale gravitazionale):

B(θ

i

)

 θ ¨

1

θ ¨

2

 + C(θ

i

, ˙ θ

i

)

 θ ˙

1

θ ˙

2

 + J

T

i

)

 F

x

F

y

 =

 τ

1

τ

2

 con i = 1, 2 (5.16) dove si indicano con F

x

e F

y

le componenti del vettore forza che l’end effector esercita sull’ambiente esterno, definito nello spazio operativo, e con τ

1

e τ

2

le coppie agenti sui giunti 1 e 2.

Per rendere pi` u agevole l’implementazione dei coefficienti delle matrici B(θ

i

), C(θ

i

e J(θ

i

), descritte come:

B(θ

i

) =

b

11

b

12

b

21

b

22

 (5.17)

con b

12

= b

21

per le propriet`a di simmetria della matrice di inerzia;

C(θ

i

, ˙ θ

i

) =

c

11

c

12

c

21

c

22

 (5.18)

(16)

Figura 5.16: Struttura a blocchi del subsystem Vettore y di controllo per CONTROLLO IMPEDENZA.

J(θ

i

) =

j

11

j

12

j

21

j

22

 (5.19)

si `e fatto ricorso al software Mathcadr v11.0, che consente in modo agevole il calcolo letterale. Il file all’interno del quale `e possibile ritrovare i vari coefficienti esplicitati in accordo alla trattazione sulla dinamica dei manipolatori, fatta nel Capitolo 2, `e disponibile sul web, al sito

4

http://etd.adm.unipi.it/ETD-db/ETD-search/search.

5.4 Modellazione della forza durante l’urto

Per poter effettuare la simulazione del task di catching, `e necessario avere un modello del profilo di forza da inserire all’interno dell’ambiente di simulazione. Tale forza deve essere

4

Per prendere visione del file `e necessario utilizzare il link riportato e da l`ı effettuare una ricerca per

nome dell’autore; tale strategia rientra nell’ambito del progetto ETD per la consegna elettronica della tesi

di laurea; il nome del file `e Braccio robotico a 2 link con inerzie fisiologiche.mcd.

(17)

Figura 5.17: Struttura a blocci del subsystem Manipolatore a 2 link LINEARIZZATO E DISACCOPPIATO.

rappresentativa dell’urto tra l’end effector del manipolatore e l’oggetto in volo. D’altra parte, quando si fa riferimento ad un algoritmo di controllo dell’interazione non `e molto appropriato parlare di urti. In sostanza, ci`o che si fa `e ricorrere ad un artificio per poter simulare il cambiamento dell’impedenza del manipolatore durante il task.

Durante l’urto l’oggetto trasmette all’end effector una forza determinata dalla varia- zione della quantit`a di moto. L’ipotesi che si fa, per consentire la simulazione, `e che questa forza debba essere generata da coppie τ

1

e τ

2

ai giunti. Infatti nel modello di Lagrange h (vedi la relazione 2.35) `e intesa come forza che l’end effector esercita sull’ambiente esterno in virt` u di coppie ai giunti date da J

T

h.

5.4.1 Definizione del profilo di forza

Come precedentemente descritto, successivamente all’urto si ha un’accelerazione dell’end effector nella direzione delle x > 0. Tale accelerazione, indicata come x(t) (per t > t ¨

B

), pu`o essere rappresentativa della forza d’urto F

u

(t):

F

u

(t) ' m

o

x ¨ (5.20)

(18)

Figura 5.18: Struttura a blocchi del subsystem K.

Figura 5.19: Struttura a blocchi del subsystem J.

dove si `e indicato con m

o

la massa dell’oggetto in volo. Il profilo di forza cos`ı ottenuto

5

dai dati sperimentali `e interpolato con una curva esponenziale (RMSE=0.55), di equazione:

F

uint

(t) = F

o

e

−f t

(5.21)

In Figura 5.20 sono riportati sia il profilo di forza ottenuto elaborando i dati sperimentali, che quello ottenuto per mezzo dell’interpolazione.

Per avere una verifica della corretta modellazione del profilo di forza si `e applica- to il teorema dell’impulso. ` E stato calcolato un coefficiente di attendibilit`a λ dato dal

5

Per il calcolo della forza d’urto si rimanda al file Pianificazione profilo di forza.m, il cui listato `e

riportato in APPENDICE C.

(19)

Figura 5.20: Profilo della forza trasmessa all’end effector durante l’urto con l’oggetto in volo.

rappporto tra l’integrale della forza F

u

(t) nel tempo e la quantit`a di moto dell’oggetto immediatamente prima dell’urto:

λ = R

tB

F

uint

(t)dt m

o

v

o

(5.22) dove con v

o

si `e indicata la velocit`a dell’oggetto. Dai calcoli fatti all’interno del file Pianificazione_profilo_di_forza.m, risulta che λ = 0.94. Questo coefficiente garan- tisce che la stima `e attendibile al 94%. In Tabella 5.2 sono riportati i valori numerici dei parametri utilizzati per la modellazione della forza d’urto.

5.5 Sintesi dei coefficienti del controllore ibrido

Il controllore di livello intermedio, come precedentemente accennato, `e un algoritmo ibrido.

Nella fase antecedente all’urto si utilizza un controllore centralizzato in dinamica inversa

nello spazio operativo (legge di controllo definita in (2.62) e (2.69)). Nella fase successiva

all’urto il controllore, al fine di gestire l’interazione, diventa controllore di impedenza (legge

di controllo definita in (2.62) e in (2.89)).

(20)

Parametro Valore Unit` a di misura

m

o

5 · 10

−1

Kg

v

o

1.5 · 10

−1

ms

−1

F

o

7.29 ms

−1

f −65.96 ms

−1

Tabella 5.2: Parametri per la stima della forza d’urto.

5.5.1 Scelta dei coefficienti K

D

e K

P

: dinamica inversa

Utilizzando il controllo in dinamica inversa, la dinamica dell’errore per x(t) ed y(t), in accordo alla (2.70) `e descritta dalle seguenti funzioni di trasferimento nella variabile di Laplace:

H

x

(s) = x(s) ˜

˜

x

in

(s) = 1

s

2

+ K

Dx

s + K

P x

(5.23) H

y

(s) = y(s) ˜

˜

y

in

(s) = 1

s

2

+ K

Dy

s + K

P y

(5.24) con ˜ x(s) = x

d

(s) − x(s) e ˜y(s) = y

d

(s) − y(s), e con ˜x

in

(s) e ˜ y

in

(s) si indica l’errore in ingresso al sistema di controllo in dinamica inversa. Siccome per l’ambiente di simulazione si utilizzano blocchi di integrazione discetizzati con il tool Model Discretizer con metodo zero-order-hold, per definire i coefficienti di controllo `e opportuno ragionare nella variabile z. Pertanto si eseguono le seguenti discretizzazioni con metodo zero-order-hold:

H

x

(z) = (1 − z

−1

)Z

·

L

−1

· H

x

(s)) s

¸¸

(5.25)

H

y

(z) = (1 − z

−1

)Z

·

L

−1

· H

y

(s)) s

¸¸

(5.26) Ciascuna delle due funzioni H(z) `e del tipo:

H(z) = a + b(z − 1)

z − exp(−p

1

T ) + c(z − 1)

z − exp(−p

2

T ) (5.27)

dove T `e il passo di campionamento del sistema tempo discreto, mentre:

a = 1

p

1

p

2

(5.28)

b = 1

p

1

(p

1

− p

2

) (5.29)

(21)

c = − 1

p

1

p

2

− 1

p

1

(p

1

− p

2

) (5.30)

dove p

1

e p

2

sono definiti come:

p

1,2

= K

D

2 ±

q

K

D2

− 4K

P

(5.31)

ovvero sono i poli, cambiati di segno, della generica funzione di trasferimento H(s).

Per sceglire in modo ottimale i coefficienti K

D

e K

P

, in modo indistinto per la coordinta x o y, `e necessario imporre le seguenti condizioni:

• la dinamica dell’errore deve essere il pi`u possibile veloce, questo significa o porre i poli di H(s) il pi` u possibile in alta frequenza oppure, nel tempo discreto, porre i poli di H(z) il pi` u possibili vicino a zero;

• la risposta di H(z) al gradino deve tendere a zero per tempo infinito, ovvero in virt` u del teorema per il calcolo del valore finale, significa minimizzare il risultato del seguente limite:

z→1

lim (1 − z

−1

)H(z) = αβ − α − β − 2

(1 − α)(1 − β) (5.32)

dove si `e posto α = exp−p

1

T e β = exp−p

2

T .

Utilizzando le toolbox di Mathcad per la minimizzazione di funzioni di pi` u variabili, si

`e potuto dimostrare che il valore del limite riportato nella (5.32) tende a zero se α = β ed

`e tanto pi` u piccolo quanto pi` u α e β sono positivi e grandi in modulo. In virt` u di ci`o si `e posto: K

Dx

= K

Dy

= 2 · 1500 e K

P x

= K

P y

= 1500

2

. Questo equivale a garantire che la dinamica dell’errore `e caratterizzata da un polo doppio 750/πHz. Questa scelta consente di ottenere buoni risultati in simulazione, rimanendo lontani dal limite imposto dal teorema del campionamento di Nyquist, che per un passo di campionamento T = 0.001s, `e fissato a p

1

= p

2

= −500Hz.

5.5.2 Scelta dei coefficienti M

d

K

D

e K

P

: controllo di impedenza

Analogamente a quanto visto in precedenza, anche per i coefficienti del controllo di impe- denza si parte da considerazioni sulla dinamica dell’errore. In questo caso, in accordo alla (2.89), la dinamica dell’errore `e descritta dalle seguenti funzioni di trasferimento:

I

x

(s) = F

x

(s)

M

dx

s

2

+ K

Dx

s + K

P x

(5.33)

(22)

I

y

(s) = F

y

(s)

M

dy

s

2

+ K

Dy

s + K

P y

(5.34)

dove con F

x

(s) ed F

y

(s) si indicano rispettivamente le componenti lungo l’asse x ed y della forza di interazione durante l’urto. Siccome a seguito dell’urto, come precedentemente descritto, si ha la trasmissione della forza solo lungo l’asse x, ovvero quella del movimento del target del catching, l’interazione non determina spostamento nella direzione y. Per questo motivo, per la coordinata y la situazione `e analoga a quella precedente l’urto, e per questo motivo i coefficienti sono lasciati immutati (M

dy

`e posto uguale a 1). Per l’asse x occorre scegliere i coefficienti in modo che il comportamento del manipolatore sia assimilabile a quello di uno smorzatore. Partendo dai dati analizzati nei paragrafi precedenti, `e possibile calcolare l’errore ˜ x(t) negli istanti successivi all’urto (t > t

B

), ponendo x

d

(t) = x(t

B

). Per la stima del coefficiente di smorzamento, si procede nel modo seguente: se il braccio, successivamente all’urto si comporta come uno smorzatore, allora vale che ˙˜ x(t)K

Dx

= F

x

(t), ed integrando si ha che, quando l’azione di smorzamento `e terminata:

˜

x(t

) = F

x

(t

B

)t

s

K

Dx

(5.35) dove t

s

indica il tempo necessario al sistema per smorzare a zero la velocit`a iniziale del- l’oggetto, che corrisponde al tempo che l’errore impiega a raggiungere il valore massimo.

Dai dati sperimentali si `e stimato t

s

= 0.35s, mentre l’errore massimo `e stato stimato pari a 0.035m in modulo. Da qui si stima che K

Dx

' −80. Il segno meno, come d’altra parte anche per M

dx

= −1, `e spiegato dal fatto che l’errore `e negativo. Siccome il sistema si comporta da smorzatore puro, si pone K

P x

= 0.

5.6 Simulazione: risultati e discussione

La simulazione `e stata effettuata con i Simulation Parameters illustrati in Figura 5.21:

passo di campionamento fisso e pari a 0.001s, algoritmo di integrazione di Eulero, modalit`a di esecuzione Single Tasking.

I risultati dai quali si parte sono quelli relativi all’ascissa curvilinea e alle coordinate

x ed y (Figure 5.22-5.24). Analizzando attentamente i grafici si possono evidenziare le

seguenti informazioni:

(23)

Figura 5.21: Interfaccia con i Simulation Parameters utilizzati.

• il sistema di controllo ibrido, utilizzato per il controllore di livello intermedio consente di seguire la traiettoria pianificata con ritardo trascurabile e senza overshoot, fino al momento dell’urto.

• il simulatore evidenzia che il Middle Level Control permette, successivamente al- l’urto, e come evidenziato nel grafico della coordinata x(t), l’azione di controllo dell’impedenza durante l’interazione con l’oggetto in movimento;

• contemporaneamente la coordinata y, negli istanti successivi all’urto (t = 0.35s), rimane pressocch´e costante, a dimostrazione della sostanziale rigidezza mantenuta sulla direzione y; infatti, come spiegato nel precedente paragrafo, per la coordinata y non si `e verificato alcun cambiamento dei coefficienti di controllo;

In Figura 5.25 sono riportati i risultati in termini di Scatter plot x(t) vs y(t). Da questo grafico emerge la sostanziale capacit`a del controllore di replicare nello spazio operativo una traiettoria in tutto simile a quella ottenuta dall’elaborazione di dati sperimentali.

Per evidenziare come il sistema di controllo riesca a garantire le medesime performance

dinamiche (velocit`a massima, profilo di velocit`a, tempi di esecuzione del task), si pu`o fare

riferimento alla Figura 5.26. Dal grafico si nota (linea verde), come la traiettoria simulata

possa evidenziare in modo distinto le tre fasi del task di catching: da t

0

= 0s a t

A

= 0.30s

la velocit`a ha un perfetto profilo a campana, con una velocit`a di picco di circa 2.2ms

−1

di

poco inferiore a quella del profilo ottenuto dai dati sperimentali; da t

A

= 0.3s a t

B

= 0.35

(24)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45

0.5 Ascissa curvilinea vs tempo

s

m

Ascissa curvilinea SPERIMENTALE Ascissa curvilinea PIANIFICATA Ascissa curvilinea SIMULAZIONE

Figura 5.22: Ascissa curvilinea della traiettoria di catching: risultati della simulazione.

Figura 5.23: Coordinata x della traiettoria di catching: risultati della simulazione.

(25)

Figura 5.24: Coordinata y della traiettoria di catching: risultati della simulazione.

−0.14 −0.12 −0.1 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04

0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65

0.7 Traiettoria nello spazio operativo (Scatter plot)

X in m

Y in m

Traiettoria SPERIMENTALE Traiettoria PIANIFICATA Traiettoria SIMULAZIONE

Figura 5.25: Scatter plot x(t) vs y(t): risultati simulazione.

(26)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0

0.5 1 1.5 2

2.5 Velocità ascissa curvilinea vs tempo

s

m/s

Velocità ascissa SPERIMENTALE Velocità ascissa PIANIFICATA Velocità ascissa SIMULATA

Figura 5.26: Velocit`a dell’ascissa curvilinea a

c

(t): risultati della simulazione.

la velocit`a, in accordo alla traiettoria pianificata, ha un profilo a campana ma con un valore di picco di circa 0.7ms

−1

, ed anche in questo caso di poco inferiore a quello ottenuto dai dati sperimentali; da t

B

= 0.35 in poi, si ha che la velocit`a dell’ascissa curvilinea raggiunge in poco centesimi di secondo un massimo a 0.2ms

−1

, per poi tendere progressivamente a zero.

Un ultimo risultato, molto interessante, che si ottiene da questa simulazione riguarda

le coppie generate dal sistema di controllo per pilotare ciascuno dei due giunti di NEU-

RArm (SPALLA e GOMITO). Coppie, che essendo il sistema attuato in modalit`a agonista

antagonista, possono essere ottenute in fase di implementazione imponendo adeguati pro-

fili di forza su ciascuno dei cavi/tendini. In Figura 5.27 sono riportati, in rosso e in blu,

rispettivamente la coppia da generare sulla spalla e sul gomito, per consentire a NEURArm

l’esecuzione del task di reaching. In verde, nero e ciano, sono riportate rispettivamente

le coppie di gomito, spalla e scapola ottenute, non nel presente lavoro, dall’elaborazione

con il tool informatico ADAMS/View Software (plug-in LIFEMOD), dei dati sperimentali

della traiettoria di catching analizzati all’inizio di questo capitolo. Facendo riferimento

alla parte dei profili antecedente all’istante dell’urto (t

B

= 0.35s), si pu`o notare come l’an-

damento dei profili di coppia simulati, pur non essendo sovrapponibile a quello delle coppie

(27)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

−50

−40

−30

−20

−10 0 10 20 30

40 Coppie articolari

s

Nm

Coppia SIMULATA SPALLA Coppia SIMULATA GOMITO Coppia GOMITO SPERIMENTALE Coppia SPALLA SPERIMENTALE Coppia SCAPOLA SPERIMENTALE

Figura 5.27: Coppie articolari e coppie ai giunti: risultati della simulazione.

ottenute con ADAMS, siano dello stesso ordine di grandezza. La non sovrapponibilit`a `e

dovuta al fatto che con nell’elaborazione con ADAMS si tenevano in considerazione un

numero maggiore di gradi di libert`a.

Riferimenti

Documenti correlati

Nota: una cella contiene una stringa di caratteri Il Formato di una cella stabilisce come viene visualizzato il contenuto. A volte EXCEL assume un formato diverso da ciò

In EXCEL sono disponibili componenti aggiuntivi facoltativi (add-ins, add-on) che includono comandi e/o caratteristiche aggiuntive e. possono

E’ utile inserire commenti e istruzioni soprattutto se i fogli devono essere usati da altri.. Strumenti: Convalida dati. Consentono di controllare che i dati inseriti siano coerenti

Nota: una cella contiene una stringa di caratteri Il Formato di una cella stabilisce come viene visualizzato il contenuto. A volte EXCEL assume un formato diverso da ciò

Due ricercatori effettuano un esperimento sul moto rettilineo uniforme nelle medesime condizioni (velocità media, posizione iniziale, precisione delle misure) e ottengono i

Our results show that grounded theory articles in top management journals exhibit low second-party auditability: as Table 6.3 shows, majority of the grounded theory articles

 Various responsible bodies are defined by different bilateral agreements (with the Czech Republic, the Russian Federation, Norway and Sweden, it is the State Migration Service of

Per quanto riguarda le caratteristiche tecniche ci limitiamo allo studio di un solo sedimentatore (figura 29).. Antischiuma e PAC sono dosati sulla corrente in uscita dalla vasca.