• Non ci sono risultati.

Dinamica e controllo di un manipolatore

N/A
N/A
Protected

Academic year: 2021

Condividi "Dinamica e controllo di un manipolatore"

Copied!
28
0
0

Testo completo

(1)

Dinamica e controllo di un manipolatore

2.1 Introduzione

La deduzione del modello dinamico di un manipolatore gioca un ruolo essenziale in re- lazione ai problemi di simulazione del moto, di analisi di strutture di manipolazione e di determinazione di algoritmi di controllo. La simulazione del moto di un manipola- tore consente di provare strategie di controllo e tecniche di pianificazione di traiettoria senza la necessit`a di riferirsi ad una struttura di manipolazione fisicamente disponibile.

L’analisi del modello dinamico pu`o essere di aiuto nel progetto meccanico di prototipi. La conoscenza di forze e coppie richieste per l’esecuzione di movimenti tipici permette il corret- to dimensionamento degli attuatori, dei giunti, degli organi di trasmissione e dell’apparato sensoristico.

Gli obiettivi di questo capitolo sono:

• la presentazione del metodo di Lagrange per la descrizione in forma chiusa dell’e- quazione del moto nello spazio dei giunti;

• la presentazione del controllo di cedevolezza e di impedenza necessari per la gestione dell’interazione manipolatore-ambiente esterno, punto chiave nella robotica per la riabilitazione.

17

(2)

2.2 La formulazione di Lagrange

Con la formulazione di Lagrange [6], le equazioni posson esseere derivate con un approc- cio indipendente dal sistema di coordinate di riferimento. Scelto un insieme di variabili λi, = 1, . . . n, denominate coordinate generalizzate che descrivano compiutamente le po- sizioni degli elementi meccanici costituenti il manipolatore ad n gradi di libert`a, si definsce lagrangiana del sistema meccanico la funzione:

ÃL = T − U (2.1)

dipendente dalle coordinate generalizzate, in cui T ed U sono rispettivamente l’energia cinetica e l’energia potenziale totali del sistema.

Le equazioni di Lagrange sono espresse da:

d dt

∂L

∂ ˙λi

∂L

∂λi

= ξi i = 1, . . . , n (2.2)

ove ξi `e la forza generalizzata associata alla coordinata generalizzata λi.

Per un manipolatore a catena cinematica aperta si ha che una scelta naturale per le coordinate generalizzate sono le variabili di giunto:

λ1

... λn

= q (2.3)

con q vettore delle variabili di giunto.

Alle forze generalizzate daranno contributo le forze non conservative, ovvero le coppie generate ai giunti dagli attuatori, le coppie di attrito ai giunti, nonch´e le coppie ai giunti indotte da forze esplicate dall’organo terminale sull’ambiente in situazioni di contatto.

Le equazioni descritte dalla (2.2)definiscono le relazioni esistenti tra forze generalizzate applicate al manipolatore e posizioni, velocit`a ed accelerazioni ai giunti; esse consentono pertanto di dedurre il modello dinamico del manipolatore, a partire dalla determinazione dell’energia cinetica e dell’energia potenziale del sistema meccanico, come spiegato nel seguito.

(3)

2.2.1 Determinazione dell’energia cinetica

Dato un manipolatore con n bracci rigidi. L’energia cinetica totale `e data dalla somma dei contributi relativi al moto di ogni braccio e dei contributi relativi al moto degli attuatori ai giunti:

T =

n

X

i=1

(Tli+ Tmi) (2.4)

in cui Tli denota l’energia cinetica del braccio i e Tmi l’energia cinetica del motore che aziona il giunto i.

Il contributo di energia cinetica del braccio i risulta espresso da:

Tli = 1 2

Z

Vli

˙ pi∗T

˙ pi

ρdV (2.5)

dove con ˙pisi indica il vettore velocit`a lineare e con ρ la densit`a della particella elementare i − esima di volume dV ; Vli `e il volume del braccio i.

Considerando il vettore posizione pi della particella elementare e il vettore posizione pli del baricentro del braccio, entrambi riferiti alla terna base1 del sistema si ha:

ri= [ rix riy riz ]T = pi − pli (2.6) con

pli = 1 mli

Z

Vli

piρdV (2.7)

con mli massa del braccio. Congruentemente alla (2.6), la relazione delle velocit`a pu`o essere espressa come:

p˙i = ˙pli+ ωi∧ ri = ˙pli+ S(ωi)ri (2.8) ove ˙pli indica la velocit`a lineare del baricentro e ωi la velocit`a angolare del braccio2. Sostituendo la (2.8) nella (2.5) si pu`o riconoscere come l’energia cinetica del singolo braccio sia costituita da tre contributi.

1Si utilizza il termine terna come sinonimo di sistema di riferimento cartesiano.

2Dato un prodotto vettoriale ~a ∧ ~b esso pu`o essere scritto anche come S(~a)~b, con S(~a) =

0 −az ay

az 0 −ax

−ay ax 0

(4)

Termine traslazionale

Il contributo traslazionale `e risulta:

1 2

Z

Vli

˙ pli

Tp˙liρdV = 1 2mlip˙li

Tp˙li (2.9)

Termine mutuo

Il contributo mutuo `e definito:

2 Ã1

2 Z

Vli

˙

pliTS(ωi)riρdV

!

= 2 Ã1

2p˙liTS(ωi) Z

Vli

(pi − p˙ li)ρdV

!

= 0 (2.10)

essendo, in virt`u della relazione (2.7), Z

Vli

˙

piρdV = pli Z

Vli

ρdV (2.11)

Termine Rotazionale Il contributo risulta:

1 2

Z

Vli

riTSTi)S(ωi)riρdV = 1 2ωTi

ÃZ

Vli

ST(ri)S(ri)ρdV

!

ωi (2.12)

ove `e stata utilizzata la propriet`a S(ωi)ri = −S(rii. Tenendo conto che:

S(ri) =

0 −riz riy

riz 0 −rix

−riy rix 0

(2.13)

si ottiene:

1 2

Z

Vli

riTSTi)S(ωi)riρdV = 1

2ωiTIliωi (2.14) La matrice

Ili =

R (r2iy+ riz2)ρdV R rixriyρdV R rixrizρdV

R (r2ix+ riz2)ρdV R riyrizρdV

R (r2ix+ r2iy)ρdV

=

Ilixx −Ilixy −Ilixz

Iliyy −Iliyz

Ilizz

(2.15)

(5)

`e simmetrica3 e rappresenta il tensore di inerzia baricentrale espresso in terna base.

Siccome la posizione del link i dipende dalla configurazione del manipolatore, se ne deduce che anche il tensore di inerzia sar`a per tanto variabile. Sfruttando le propriet`a delle matrici di rotazioni si pu`o scrivere la seguente relazione:

Ili = RiIliiRTi (2.16)

ove Ili

i `e il tensore di inerzia espresso nella terna solidale al link i ed Ri `e la matrice di passaggio da tale terna a quella base. Sommando i termini (2.9) e (2.14) si ottiene che l’energia cinetica del del braccio i risulta:

Tli = 1 2mlip˙li

Tp˙li+ 1

2ωTi RiIliiRTi ωi (2.17) Dalla (2.17) emerge che l’energia cinetica del link i `e dipendente dalla velocit`a del bari- centro e dalla velocit`a angolare. Al fine di rendere tale termine di energia funzione delle variabili di giunto si fa ricorso allo Jacobiano geometrico4 J:

˙

pli = jP(li1)q˙1+ . . . + jP i(li)q˙i (2.18) ωi = jO1(li)q˙1+ . . . + jOi(li)q˙i (2.19) ove i termini jP(li1) e jO1(li)sono i contributi delle colonne degli Jacobiani relative alle velocit`a dei giunti che precedono il link i − esimo. L’energia del link i pu`o essere per tanto scritta come:

Tli = 1

2m(li)˙qTJP(li)TJP(li)˙q +1

2˙qTJO(li)TRiI(li

i)RTi JO(li)˙q (2.20) Per calcolare il contributo di energia cinetica relativo al motore del giunto i , si pu`o procedere in maniera formalmente analoga a quanto visto fino ad ora. Un caso che ge- neralmente si considera `e quello di motori elettrici rotanti che possono attuare sia giunti rotoidali che prismatici attraverso opportuni cinematismi. Del motore i − 1 si considera che lo statore sia inglobato nella modellazione del link i, pertanto si deve calcolare soltanto il contributo del rotore.

3Il simbolo ∗ `e stato utilizzato per evitare la riscrittura degli elementi simmetrici.

4Per la definizione di Jacobiano geometrico e Jacobiano analitico, nonch`e per alcuni richiami di cinematica e cinematica differenziale si faccia riferimento all’APPENDICE A.

(6)

L’energia cinetica del rotore i pu`o scriversi come:

Tmi = 1

2mmipTm˙ipm˙i+1

2ωmTiImiωmi (2.21) ove mmi `e la massa del rotore, ˙pmi indica la velocit`a lineare del baricentro del rotore ed ωmi la velocit`a angolare del rotore. Analogamente a quanto fatto per la (2.17) si pu`o scrivere la (2.21) dei rotori come:

Tmi = 1

2mmi˙qTJP(mi)TJP(mi)˙q + +1

2˙qTJO(mi)TRmiImmiiRmTiJO(mi)˙q (2.22) In definitiva si pu`o ottenere l’energia cinetica del sistema sommando la (2.17) con la (2.22) e si ottiene che:

T = 1 2

n

X

i=1 n

X

j=1

bij(q) ˙qi˙qj = 1

2˙qTB(q) ˙q (2.23)

in cui:

B(q) =

n

X

i=1

(mliJP(li)TJP(li)+ JO(li)TRiIliiRTi JO(li) + mmiJP(mi)TJP(mi)+ JO(mi)TRiImmiiRTi JO(mi))

(2.24)

`e la matrice di inerzia del manipolatore. Essa gode delle seguenti propriet`a:

• quadrata di dimensioni nxn,

• definita positiva5,

• dipendente dalla configurazione del manipolatore (in generale).

2.2.2 Determinazione dell’energia potenziale

Cos`ı come per l’energia cinetica, l’energia potenziale totale `e data dalla somma dei con- tributi relativi a ogni braccio e dei contributi relativi ai rotori dei motori sui giunti:

U =

n

X

i=1

(Uli + Umi) (2.25)

Nell’ipotesi di braccio rigido, il generico contributo dovuto alle forze gravitazionali `e espresso da:

Uli = − Z

Vli

gT0piρdV = −mligT0pli (2.26)

5Una matrice A si definisce positiva se xTAx >0 ∀x 6= 0 e xTAx= 0 ⇐⇒ x = 0

(7)

in cui gT0 `e il vettore accelerazione di gravit`a riferito alla terna base (g0 = [0 0 − g]T qualora l’asse z `e quello verticale). In analogia alla (2.26) si pu`o scrivere per il motore i:

Umi = −mmig0Tpmi (2.27)

Facendo riferimento alla (2.25) si ottiene:

U = −

n

X

i=1

(mligT0pli + mmigT0pmi) (2.28) Da tale relazione si evidenzia che l’energia potenziale `e funzione esclusivamente dalla posizione dei centri di massa dei diversi link, ovvero dalle sole variabili di giunto q e non da ˙q.

2.2.3 Equazioni del moto

Tenendo conto delle espressioni (2.23) e (2.28) che rappresentano l’energia potenziale complessive del sistema meccanico, la sua lagrangiana (2.1) pu`o scriversi nel seguente modo:

L(q, ˙q) = T (q, ˙q) − U(q)

= 1 2

n

X

i=1 n

X

j=1

bij(q) ˙qi˙qj+

n

X

i=1

(mlig0Tpli+ mmig0Tpmi) (2.29)

Eseguendo le operazioni di derivazione richieste dalle equazioni di Lagrange (2.2), e no- tando che U non dipende da ˙q si ottiene che:

d dt

µ ∂L

∂ ˙qi

= d dt

µ ∂T

∂ ˙qi

=

n

X

j=1

bij(q)¨qj+

n

X

j=1

dbij(q) dt ˙qj

=

n

X

j=1

bij(q)¨qj+

n

X

j=1 n

X

k=1

∂bij(q)

∂qk

˙qk˙qj

(2.30)

ed anche:

∂T

∂qi = 1 2

n

X

j=1 n

X

k=1

∂bjk(q)

∂qi ˙qk˙qj (2.31)

ove si sono opportunamente scambiati gli indici mutui di sommatoria. Inoltre per quanto riguarda l’energa potenziale si pu`o srivere:

∂U

∂qi = −

n

X

j=1

µ

mljgT0 ∂plj

∂qi

+ mmjg0T∂pmj

∂qi

= gi(q) (2.32)

(8)

dove anche qui `e stato cambiato opportunamente l’indice di sommatoria si `e opportuna- mente cambiato l’indice di sommatoria. Pertanto l’equazione del moto risulta:

n

X

j

bij(q)¨qj +

n

X

j=1 n

X

k=1

hijk(q) ˙qj˙qk+ gi(q) = ξi i = 1, . . . , n (2.33)

dove si `e posto:

hijk= ∂bij

∂qk 1 2

∂bjk

∂qi (2.34)

Un’interpretazione fisica della (2.33) pone in evidenza le seguenti considerazioni:

• per i termini di accelerazione: il coefficiente bii rappresenta il momento di inerzia visto dall’asse giunto i, nella configurazione corrente del manipolatore, quando gli altri giunti sono bloccati; il coefficiente bij tiene conto dell’effetto dell’accelerazione del giunto i sul giunto j;

• per i termini quadratici in velocit`a: il termine hijj˙q2j rappresenta l’effetto centrifugo indotto al giunto i dalla velocit`a del giunto j; si noti che hiii= 0, perch´e ∂bii/∂qi= 0;

il termine hijk˙qj˙qk rappresenta l’effetto di Coriolis indotto al giunto i dalle velocit`a dei giunti j e k;

• per i termini dipendenti solo dalla configurazione: il termine girappresenta la coppia generata all’asse del giunto i nella configurazione corrente per effetto della gravit`a.

Per esplicitare le coppie non conservative agenti su ciascuno dei giunti `e necessario sottrarre alle coppie di attuazione τ i seguenti termini:

• l’attrito viscoso Fv˙q, dove la matrice diagonale (nxn) Fv denota i coefficienti di smorzamento viscoso di ciascun giunto;

• l’attrito coulombiano fs(q, ˙q), dove si pu`o scegliere come modello fs(q, ˙q) = Fssgn( ˙q), con Fs matrice diagonale (nxn);

• qualora il manipolatore interagisce con l’ambiente esterno, una parte delle coppie di attuazione dovr`a essere utilizzata per compensare le coppie resistenti ai giunti generate proprio dalle forze di interazione.

(9)

In conclusione l’equazione della dinamica di un manipolatore pu`o essere scritta nel seguente modo:

B(q)¨q + C(q, ˙q) ˙q + Fv˙q + Fssgn( ˙q) + g(q) = τ − JT(q)h (2.35) dove h `e il vettore (6x1) delle forze e delle coppie che per effetto dell’interazione il manipolatore esercita sull’ambiente e C `e una matrice quadrata (nxn) i cui termini cij

soddisfano la seguente relazione:

n

X

j=1

cij˙qj =

n

X

j=1 n

X

k=1

hijk˙qk˙qj (2.36)

2.2.4 L’antisimmetria della matrice ˙B− 2C

Per la derivazione degli algoritmi di controllo `e necessario descrivere una propriet`a notevole del modello dinamico: l’antisimmetria della matrice ˙B−2C. La matrice C pu`o essere scelta in modo non univoco infatti esistono diverse matrici i cui termini soddisfono la relazione (2.36). Una possibile scelta viene dall’elaborazione della (2.36) esplicitando il termine hijk:

n

X

j=1

cij˙qj =

n

X

j=1 n

X

k=1

hijk˙qk˙qj

=

n

X

j=1 n

X

k=1

µ ∂bij

∂qk 1 2

∂bjk

∂qi

˙qk˙qj

(2.37)

e, separando in due il primo termine al secondo membro si ottiene, a seguito di un opportuno scambio dell’ordine di sommatoria tra j e k, che:

n

X

j=1

cij˙qj = 1 2

n

X

j=1 n

X

k=1

∂bij

∂qk

˙qk˙qj+

n

X

j=1 n

X

k=1

µ ∂bij

∂qk ∂bjk

∂qi

˙qk˙qj (2.38)

Di conseguenza il generico elemento di C risulta:

cij =

n

X

k=1

cijk˙qk (2.39)

ove si `e posto:

cijk = 1 2

µ ∂bij

∂qk

+∂bik

∂qj bij

∂qi

(2.40) Tali coefficienti prendono il nome di coefficienti di Christoffel del primo tipo. Tale scelta per la matrice C consente di derivare una propriet`a notevole dell’equazione del moto (2.35). La

(10)

matrice N (q, ˙q) = ˙B(q) − 2C(q, ˙q) risulta antisimmetrica, ovvero dato un qualsiasi vettore w (nx1) vale la relazione wTN (q, ˙q)w = 0. Per derivare tale propriet`a si sostituisce la (2.40) nella (2.39):

cij = 1 2

n

X

k=1

∂bij

∂qk ˙qk+1 2

n

X

k=1

µ ∂bik

∂qj ∂bjk

∂qi

˙qk

= 1 2˙bij +1

2

n

X

k=1

µ ∂bik

∂qj ∂bjk

∂qi

˙qk

(2.41)

da cui l’espressione del generico elemento della matrice N risulta:

nij = ˙bij − 2cij =

n

X

k=1

µ ∂bjk

∂qi ∂bjk

∂qj

˙qk (2.42)

pertanto l’asserto `e dimostrato osservando che:

nij = −nji (2.43)

2.3 Il controllo del moto

In un’accezione del tutto generale, il problema del controllo equivale a determinare le forze generalizzate (forze e/o coppie) che gli attuatori devono applicare ai giunti in modo da garantire l’esecuzione di un certo task, soddisfacendo alcune richieste sul transitorio e sul regime [7]. Il task che deve compiere un manipolatore pu`o avere o l’organo terminale muoventesi nello spazio libero o interagente con l’ambiente esterno. Queste due diverse possibilit`a si traducono in diverse strategie di controllo:

• controllo del moto nello spazio libero,

• controllo di interazione.

Per il controllo del moto nello spazio libero esiste un approccio definito decentralizzato, in cui ogni singolo giunto viene controllato in modo indipendente, ed un approccio cen- tralizzato, in cui si tiene conto degli effetti dinamici di interazione di un giunto con tutti quanti gli altri. Inoltre per entrambi gli approcci si possono avere sia implementazioni nello spazio dei giunti che in quello operativo. Per il controllo di interazione l’unico ap- proccio possibile `e quello centralizzato e gli schemi pi`u usuali sono quelli nello spazio

(11)

operativo6. In definitiva le tecniche di controllo utilizzabili sono molteplici, ciascuna pu`o avere una notevole influenza sulle performance del sistema di manipolazione. Ad esempio, la necessit`a di un controllo continuo di una traiettoria specificata nello spazio operativo pu`o portare a implementazioni hardware e software diverse da quelle che consentono di ottenere un controllo punto-punto, in cui ha interesse il raggiungimento di posizioni speci- ficate nello spazio indipendentemente dalle traiettorie che vengono seguite. Generalmente le specifiche meccaniche del manipolatore sono fondamentali per la scelta del tipo di con- trollo che si intende scegliere. In presenza di un’attuazione mediante servomotori elettrici con organi di trasmissione ad elevato rapporto di riduzione, la presenza delle trasmis- sioni tende a linearizzare la dinamica del sisitema ed a disaccoppiare i giunti per via della riduzione degli effetti delle non linearit`a. Le trasmissioni per`o introducono attriti e giochi che limitano le prestazioni del robot, in tali condizioni si adoperano algoritmi centralizzati.

Qualora l’attuazione `e implementata con motori calettati direttamente sugli assi giunti il peso delle non linearit`a diventa pi`u elevato e pertanto si preferiscono schemi di controllo decentralizzati.

Prescindendo per ora dal tipo di manipolatore e dalle soluzioni meccaniche adottate, `e opportuno fare maggiore chiarezza sulle differenti problematiche dell’implementazione del controllo nello spazio operativo e in quello dei giunti.

1. La soluzione del controllo nello spazio dei giunti, illustrata schematicamente in Figu- ra 2.1, articola un problema complesso in due sottoproblemi: il primo `e relativo all’in- versione della cinematica del manipolatore per la traduzione delle specifiche di moto, generate nello spazio operativo, in grandezze di riferimento espresse nello spazio dei giunti; il secondo riguarda la realizzazione di un sistema di controllo nello spazio dei giunti che deve garantire, come in ogni sistema di controllo, l’inseguimento dei rife- rimenti da parte delle grandezze controllate. D’altra parte questa soluzione presenta l’inconveniente legato al fatto che concettualmente, realizzando l’azione di control- lo su grandezze caratteristiche nello spazio dei giunti , il controllo delle grandezze di interesse nello spazio opeerativo viene effettuato in anello aperto attraverso la struttura meccanica del manipolatore. Pertanto, `e chiaro che gli eventuali problemi relativi alla struttura del manipolatore quali le tolleranze di costruzione, l’ assen-

6Per la definizione di spazio operativo e di spazio dei giunti si rimanda all’APPENDICE A

(12)

Figura 2.1: Schema di principio di controllo nello spazio dei giunti.

Figura 2.2: Schema di principio di controllo nello spazio operativo.

za di calibrazione, i giochi negli organi di riduzione, la non perfetta rigidit`a della struttura, si ripercuotono in termini di perdita di precisione sulle variabili scelte per caratterizzare lo spazio operativo.

2. La soluzione del controllo nello spazio operativo, illustrata schematicamente in Figu- ra 2.2, segue un approccio di tipo globale che richiede una maggiore complessit`a algo- ritmica; basti pensare che con tale soluzione l’inversione cinematica `e assunta interna all’anello di controllo. I vantaggi che essa presenta da un punto di vista concettuale riguardano proprio il fatto che sono misurate grandezze dello spazio operativo; tale vantaggio `e per`o spesso apparente in quanto la misura non `e diretta ma dedotta, attraverso trasformazioni di cinematica diretta, da misure effettuate comunque su grandezze caratteristiche dello spazio dei giunti (ad esempio mediante l’utilizzo di encoder sui giunti).

Si procede adesso alla descrizione di alcuni algoritmi di controllo di tipo centralizzato, sia nello spazio dei giunti che in quello operativo. Non si considerano schemi di controllo

(13)

decentralizzati in quanto la loro utilit`a nell’ottica di un controllo dell’interazione `e di fatto nulla.

2.4 Il controllo centralizzato

Come si evince dalla formulazione di Lagrange, il manipolatore `e un insieme di n sistemi accoppiati, ovvero un sistema di tipo MIMO (Multi Input Multi Output), con n cop- pie ai giunti in ingresso ed n posizioni dei giunti in uscita [8]. Trattare il problema del controllo considerando un approccio multivariabile consente di tenere in debito conto il modello dinamico, il cui impiego si rende necessario al crescere delle prestazioni dinamiche richieste alla struttura di manipolazione. `E questo il caso di sistemi biomeccatronici per la riabilitazione, i quali richiedono notevoli prestazioni dinamiche dettate dalla specifi- ca dell’interazione con l’uomo. Di seguito sono descritti due algoritmi di controllo, sia per l’implementazione nello spazio dei giunti che in quello operativo: controllo PD con compensazione di gravit`a e controllo in dinamica inversa. Essi rappresentano il punto di partenza per lo sviluppo di algoritmi di controllo dell’interazione.

2.4.1 Il controllo PD compensato in gravit`a nello spazio giunti

Sia assegnata una configurazione costante di equilibrio con l’imposizione di un vettore di posizioni desiderate ai giunti qd. Mediante la chiusura di anelli di posizione su ogni giunto, si vuole individuare la struttura del controllore che assicuri la stabilit`a asintotica globale della posizione di equilibrio. La determinazione del vettore di controllo che assicura la sta- bilizzazione del punto di equilibrio `e basata sull’impiego del metodo diretto di Lyapunov.

Come stato del sistema si consideri il vettore [˜qT ˙qT]T, ove:

˜

q = qd− q (2.44)

`e l’errore tra il vettore della variabili di giunto desiderato e quello misurato. Si pu`o scegliere come funzione candidata di Lyapunov, la seguente forma quadrata definita positiva:

V ( ˙q, ˜q) = 1

2˙qTB(q) ˙q + 1

2q˜TKPq > 0˜ ∀ ˙q, ˜q 6= 0 (2.45) con KP matrice (nxn) simmetrica e definita positiva.

(14)

Figura 2.3: Schema di principio di controllo PD con compensazione di gravit`a nello spazio dei giunti.

Derivando la (2.45) rispetto al tempo si ottiene:

V = ˙q˙ TB(q)¨q + 1

2˙qTB(q) ˙q − ˙q˙ TKPq˜ (2.46) Ricavando B ¨q dalla (2.35) e trascurando il termine di attrito statico Fssgn( ˙q) ed il termine di interazione J(q)Th (il controllo PD non tiene conto dell’interazione) e sostituendolo nella (2.46), si ottiene:

V =˙ 1

2˙qT( ˙B(q) − 2C(q, ˙q)) ˙q − ˙qTF ˙q + ˙qT(u − g(q) − KPq)˜ (2.47) ove F indica la matrice (nxn) di attrito dinamico7 ed u il vettore di controllo, ovvero le coppie ai giunti τ . In virt`u dell’antisimmetria della matrice ˙B − 2C(q, ˙q) il primo termine a secondo membro della (2.47) `e nullo. Il secondo `e definito negativo, per cui la scelta:

u = g(q) + KPq˜ (2.48)

che caratterizza un controllore con azione proporzionale e di compensazione dei termini gravitazionali, consente di ottenere una ˙V semi-definita negativa, ovvero ˙V < 0∀ ˙q 6= 0, ˙V =

7Per comodit`a di scrittura si sostituisce F ad Fv

(15)

0 ⇐⇒ ˙q = 0. Il medesimo risultato si pu`o ottenere assumendo un’azione di controllo pi`u articolata:

u = g(q) + KPq − K˜ D˙q (2.49)

con KD matrice (nxn) definita positiva. Con tale legge di controllo si ha sia una azione di compensazione non lineare dei termini gravitazionali sia una azione lineare proporzionale- derivativa (PD). Sostituendo la (2.49) nella (2.47) si ottiene:

V = − ˙q˙ T(F + KD) ˙q (2.50)

il che lascia intuire come la presenza anche del termine derivativo possa, aumentando i valori assoluti assunti da ˙V , aumentare la prontezza di risposta del sistema. Quanto descritto fino ad ora prova che la funzione di Lyapunov decresce fin tanto che ˙q = 0.

Questo potrebbe indurre a pensare che tale controllo sia soltanto globalmente stabile (la ˙V sarebbe semi-definita negativa). Di fatti utilizzando la (2.49) la dinamica del manipolatore

`e espressa da:

B(q)¨q + C(q, ˙q) ˙q + F ˙q + g(q) = g(q) + KPq − K˜ D˙q (2.51) In condizioni di equilibrio (¨q = 0, ˙q = 0) si ottiene:

KPq = 0 ⇒ ˜q = q˜ d− q ≡ 0 (2.52)

Questo mostra chiaramente come il controllo PD con compensazione di gravit`a garantisca un comportamento globalmente asintoticamente stabile. Lo schema di controllo PD con compensazione di gravit`a `e riportato in Figura 2.3; si pu`o notare che questo schema di controllo richiede il calcolo on line del termine di gravit`a g(q).

2.4.2 Il controllo PD compensato in gravit`a nello spazio operativo In analogia con quanto visto nello spazio dei giunti a riguardo della stabilit`a di postura, assegnata una traittoria8 xd costante nello spazio operativo, si vuole individuare una struttura di controllo tale che l’errore ˜x = xd− x tenda asintoticamente a zero.

Al riguardo si scelga, come funzione candidata di Lyapunov, la forma quadratica definita positiva:

V ( ˙q, ˜˙ x) = 1

2˙qTB(q) ˙q +1

2x˜TKPx > 0˜ ∀ ˙q, ˜x 6= 0 (2.53)

8Si faccia riferimento all’APPENDICE A per la definizione di traiettoria nello spazio operativo.

(16)

con KP matrice (nxn) simmetrica e definita positiva. Derivando la (2.53) rispetto al tempo, si ottiene:

V = ˙q˙ TB(q)¨q +1

2˙qTB(q) ˙q + ˙˜˙ xTKPx˜ (2.54) e poich´e ˙xd = 0, si ha che ˙˜x = − ˙x = −JA(q) ˙q (con JA si indica lo Jacobiano analitico9).

La (2.54) diventa:

V = ˙q˙ TB(q)¨q +1

2˙qTB(q) ˙q − ˙q˙ TJAT(q)KPx˜ (2.55) Utilizzando la propriet`a di antisimmetria della matrice ˙B−2C e la (2.35), la (2.55) diventa:

V = − ˙q˙ TF ˙q + ˙qT(u − g(q) − JAT(q)KPx)˜ (2.56)

Questa equazione permette di dedurre la legge di controllo:

u = g(q) + JAT(q)KPx − J˜ ATKDJA(q) ˙q (2.57) con KD definita positiva. Come conseguenza, la (2.56) diventa:

V = − ˙q˙ TF ˙q − ˙qTJAT(q)KDJA(q) ˙q (2.58) Da quest’ultima relazione si deduce che qualunque traiettoria sia percorsa dal sistema la funzione di Lyapunov decresce fintanto che ˙q 6= 0. Il sistema pertanto perviene ad una postura di equilibrio. Procedendo in maniera analoga a quanto visto nello spazio dei giunti si ha che tale postura `e individuata da:

JAT(q)KPx = 0˜ (2.59)

Nell’ipotesi di Jacobiano di rango pieno, si ha che ˜x = xd− x = 0, ovvero il risultato cercato. Uno schema a blocchi del controllo PD nello spazio operativo `e riportato in Figura 2.4.

2.4.3 Controllo a dinamica inversa nello spazio giunti

Il controllo in dinamica inversa si pone come obiettivo quello di inseguire una traiettoria nello spazio dei giunti. Si parte dal modello dinamico del manipolatore, trascurando il termine di interazione, riscritto nella forma:

B(q)¨q + n(q, ˙q) = u (2.60)

9Si faccia riferimento all’APPENDICE A per la definizione dello Jacobiano analitico.

(17)

Figura 2.4: Schema di principio di controllo PD con compensazione di gravit`a nello spazio operativo.

dove si `e posto per semplicit`a:

n(q, ˙q) = C(q, ˙q) ˙q + F ˙q + g(q) (2.61) Mediante il controllo in dinamica inversa si cerca di ottenere una linearizzazione globale del sistema all’interno di un opportuno anello di retroazione. A tal proposito si sceglie:

u = B(q, ˙q)y + n(q, ˙q) (2.62)

con y nuovo vettore di ingresso che deve essere ancora determinato. In virt`u della (2.62) il modello dinamico del manipolatore si riduce alla forma:

¨

q = y (2.63)

Con questa relazione si evidenzia oltre che l’effetto linearizzante del controllo in dinamica inversa anche quello disaccoppiante (Figura 2.5): una qualunque componente yi influenza, con un legame di doppia integrazione, la sola variabile di giunto qi, indipendentemente dal moto degli altri giunti. A questo punto il problema `e ridotto alla determianzione di y in

(18)

modo che il sistema sia stabile. La scelta:

y = −KPq − KD˙q + r q + K¨ D˙q + KPq = r (2.64)

`e garanzia di stabilit`a del sistema qualora le matrici KP e KD sono definite positive. Se le le matrici vengono scelte diagonali con struttura:

KP = diag{ω21, . . . , ω2n} (2.65a) KD = diag{2ζ1ω1, . . . , 2ζnωn} (2.65b) si ottiene un sistema perfettamente disaccoppiato: la componente del riferimento ri in- fluenza la sola variabile di giunto qi con una relazione ingresso-uscita del secondo ordine caratterizzata da una pulsazione naturale ωi e da un coefficente di smorzamento ζi.

Assegnata la generica traiettoria di riferimento qd(t), l’inseguimento di questa traiet- toria da parte dell’uscita q(t) `e assicurato scegliendo r = ¨qd+ KD˙qd+ KPqd, infatti si ottiene come relazione finale l’equazione differenziale omogenea del secondo ordine:

¨˜

q + KD˜q + K˙ P˜qq = 0 (2.66)

che esprime la dinamica dell’errore di posizione. Tale errore converge a zero con una dinamica regolata dalle matrici KP e KD.

2.4.4 Controllo a dinamica inversa nello spazio operativo

Si considera ora il problema dell’inseguimento di una traiettoria specificata nello spazio operativo. Il punto di partenza `e anche in questo caso la relazione (2.60), ed anche in questo caso `e necessario ricorrere ad un’azione di controllo di tipo linearizzante, come espressa dalla (2.62), che conduce all’espressione (2.63). Il nuovo ingresso y deve per`o essere sintetizzato in modo tale da permettere l’inseguimento di una traiettoria desiderata xd, descritta nello spazio operativo. A tal proposito partendo dalla relazione differenziale10

˙x = JA˙q e derivando rispetto al tempo si ottiene:

¨

x = JA(q)¨q + ˙JA(q, ˙q) ˙q (2.67) dalla quale si pu`o ricavare:

¨

q = JA−1(q)(¨x − ˙JA(q, ˙q) ˙q) (2.68)

10Per maggiore dettaglio si faccia riferimento all’APPENDICE A.

(19)

Figura 2.5: Schema di controllo a dinamica inversa nello spazio giunti.

Sfruttando quest’ultima relazione ed in virt`u della (2.63) si pu`o scegliere come legge di controllo:

y = JA−1(q)( ¨xd+ KD˙˜x + KPx − ˙˜ JA(q, ˙q) ˙q) (2.69) con KD e KP matrici (diagonali) definite positive.

Sostituendo questa relazione nella (2.63) si ottiene:

¨˜

x + KD˙˜x + KPx = 0˜ (2.70)

ovvero l’equazione della dinamica dell’errore nello spazio operativo, con KDe KP parametri determinanti la velocit`a di convergenza dell’errore a zero. Lo schema per il controllo in dinamica inversa nello spazio operativo `e riportato in Figura 2.6. Da un’analisi critica di questo schema e facendo un confronto con quello di Figura 2.5, emerge che il progetto di un controllore nello spazio operativo passa comunque attraverso il calcolo dello Jacobiano del manipolatore. Ne consegue che controllare un manipolatore nello spazio operativo `e in genere pi`u complesso che controllarlo nello spazio dei giunti. Infatti, l’eventuale pre-

(20)

Figura 2.6: Schema di controllo a dinamica inversa nello spazio operativo.

senza di singolarit`a11 e/o di ridondanza12 influenza lo Jacobiano e gli effetti indotti sono in qualche modo difficili da interpretare con un controllore nello spazio operativo.

2.5 Il controllo di interazione

Per un manipolatore che deve interfacciarsi con l’uomo, ed in particolar modo con un individuo le cui funzionalit`a motorie siano per qualunque ragione compromesse, `e di fon- damentale importanza il controllo dell’interazione con l’ambiente. Dalla letteratura ap- pare abbastanza consueta la realizzazione di algoritmi di controllo dell’interazione descritti nello spazio operativo [10] perch`e in questo modo `e possibile somministrare una terapia riabilitativa robot-mediata ai pazienti affetti da disabilit`a motorie [12].

La grandezza che in maniera pi`u significativa riflette lo stato dell’interazione `e la forza

11I punti di singolarit`a cinematica sono tutti quelli per cui `e nullo il determinante dello Jacobiano.

12I manipolatori funzionanti in condizioni di sostanziale ridondanza sono caratterizzati da uno Jacobiano invertibile solo mediante pseudoinversa

(21)

Figura 2.7: Tabella descrittiva dell’analogia elettrico-meccanica di Maxwell.

di contatto all’organo terminale del manipolatore. In questo paragrafo si considerano gli schemi di controllo del moto quando il manipolatore interagisce con l’ambiente esterno.

Di seguito si definiscono il concetto di cedevolezza e di impedenza meccanica.

2.5.1 L’impedenza meccanica e la cedevolezza

L’idea di impedenza `e solitamente associata al mondo dell’elettronica. Partendo dal- l’analogia di Maxwell [9] tra le grandezze elettriche e quelle meccaniche `e possibile definire il concetto di impedenza meccanica. L’analogia di Maxwell fa corrispondere alla forza F la differenza di potenziale V , e alla velocit`a v con la corrente i, come si evince dal parallelo in Figura 2.7. L’impedenza elettrica ze, di un dato dispositivo, `e definita come il rapporto tensione/corrente nella variabile di Laplace, ovvero come funzione di trasferi- mento V (s)/i(s). L’impedenza meccanica zm pu`o essere definita parimenti come funzione di trasferimento F (s)/v(s). Va sottolineato che talvolta `e pi`u ricorrente la descrizione dell’impedenza meccanica in termini di rapporto F (s)/x(s), dove con x(s) si indica la posizione (e quindi lo spostamento) in funzione di s variabile di Laplace. Per quest’ultimo caso si pu`o fare riferimento ad un semplice esempio. Il sistema di Figura 2.8 `e costituito da una massa M sottoposta ad un carico esterno F (t), all’azione di una molla lineare con

(22)

Figura 2.8: Rappresentazione schematica di un sistema meccanico di tipo Massa-Molla- Smorzatore.

costante elastica K e a uno smorzatore B. L’equazione della dinamica di tale sistema `e facilmente ottenibile come:

M ˙v(t) + Bv(t) + k Z

v(t)dt = F (t) (2.71)

che riscritta in funzione della posizione x(t) diventa:

M ¨x(t) + B ˙x(t) + Kx(t) = F (t) (2.72) Applicando a quest’ultima relazione la trasformata di Laplace si ottiene:

M s2x(s) + Bsx(s) + kx(s) = F (s) (2.73) Da questa relazione `e possibile ricavare l’impedenza meccanica zm del sistema:

zm= F (s)

x(s) = M s2+ Bs + k (2.74)

L’impedenza meccanica che caratterizza un sistema meccanico `e pertanto caratterizzata da tre componenti:

Riferimenti

Documenti correlati

- CSTR steady-state model; unsteady/transient model, isothermal and non-isothermal (adiabatic e non- adiabatic case);.. - Nondimensionalization with parameters gamma, beta

PFR bidimensionale transitorio: schemi alle differenze finite per costruire il simulatore.

Il nucleo della procedura è costituito da un ciclo ripeti, in cui per 4 volte disegnamo un quadrato e poi spostiamo la tartaruga di 8 pixel. Il lato del quadrato deve essere ogni

Parlando in maniera ingenua anche in questo caso, si presume che il più alto numero di casi attuali e il numero di morti, e solo questi, sono il risultato del Covid-19.. Date

(v) Ripetere i punti precedenti nel caso in cui i due rami della cinghia possano essere assimilate a molle di trazione lineari (si ipotizzi che il precarico di trazione sia sufficiente

† Appena un pneumatico supera la soglia di scorrimento è necessaria una fase di riduzione della pressione frenante (Dumping) per fare recuperare stabilità alla ruota. † A una

[r]

[r]