CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6...

11
51 CAPITOLO 5 PROCESSO DI IDENTIFICAZIONE E COMPENSAZIONE DELLA COPPIA GRAVITAZIONALE INTRODUZIONE In questo capitolo vengono presentate le prove sperimentali per l’identificazione della coppia dovuta alla forza peso agente sugli assi del robot. Lo scopo è quello di presentare alcune tecniche particolari atte all’identificazione di grandezze non lineari. Tutte le prove di identificazione realizzate sul robot sono state eseguite considerando un singolo giunto. L’asse del robot scelto per eseguire tutte le prove è l’asse 3, in virtù del fatto che il giunto in questione, con un opportuno posizionamento, risulta il solo “in gravità” e con un’adeguata scelta dei riferimenti è possibile trascurare le componenti di coppia dovute all’inerzia. Il risultato dell’identificazione è successivamente impiegato per realizzare un sistema di regolazione della posizione in grado di eliminare gli effetti della gravità e realizzare il corretto inseguimento di traiettoria imposto. 5.1 PROCEDIMENTO DI IDENTIFICAZIONE DELLA COPPIA GRAVITAZIONALE Nel capitolo 2 è stata trattata la dinamica del robot ed è stata proposta per la coppia dovuta alla forza peso un’espressione del tipo: In particolare, applicando tale espressione al giunto 3 si ha: dove: q 3 = q m3 /τ 3 posizione angolare del giunto 3 q m3 posizione angolare del motore dell’asse 3 ( ) ) 1 . 5 ( sen sen l g l g q K q g l m T = = 3 sen q K T g g = ( ) 2 . 5

Transcript of CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6...

Page 1: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

51

CAPITOLO 5

PROCESSO DI IDENTIFICAZIONE E COMPENSAZIONE

DELLA COPPIA GRAVITAZIONALE

INTRODUZIONE

In questo capitolo vengono presentate le prove sperimentali per l’identificazione della coppia

dovuta alla forza peso agente sugli assi del robot. Lo scopo è quello di presentare alcune tecniche

particolari atte all’identificazione di grandezze non lineari.

Tutte le prove di identificazione realizzate sul robot sono state eseguite considerando un singolo

giunto. L’asse del robot scelto per eseguire tutte le prove è l’asse 3, in virtù del fatto che il giunto in

questione, con un opportuno posizionamento, risulta il solo “in gravità” e con un’adeguata scelta dei

riferimenti è possibile trascurare le componenti di coppia dovute all’inerzia.

Il risultato dell’identificazione è successivamente impiegato per realizzare un sistema di regolazione

della posizione in grado di eliminare gli effetti della gravità e realizzare il corretto inseguimento di

traiettoria imposto.

5.1 PROCEDIMENTO DI IDENTIFICAZIONE DELLA COPPIA

GRAVITAZIONALE

Nel capitolo 2 è stata trattata la dinamica del robot ed è stata proposta per la coppia dovuta alla

forza peso un’espressione del tipo:

In particolare, applicando tale espressione al giunto 3 si ha:

dove:

q3 = qm3/τ3 posizione angolare del giunto 3

qm3 posizione angolare del motore dell’asse 3

( ) )1.5(sensen lglg qKqglmT =⋅⋅⋅=

3sen qKT gg = ( )2.5

Page 2: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

52

τ3 = -60,00392 rapporto di trasmissione del giunto 3

Utilizzando riferimenti di posizione a rampa per il giunto 3, “grav270.d e grav_270.d” i cui

andamenti sono rappresentati rispettivamente in figura 5.1 e in figura 5.2, la dinamica del giunto

non è interessata da termini di coppia d’inerzia ed essendo la velocità costante le componenti di

coppia dovute alla forza di Coriolis e alla forza centrifuga sono costanti ( )cos,0 tqq == .

Figura 5.2 Riferimento di posizione generato da ‘grav_270.dat’.

Figura 5.1 Riferimento di posizione generato da ‘grav270.dat’.

Page 3: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

53

Usando il controllore PID fornito dalla “Tecnospazio”, impiegando i riferimenti “grav270.d e

grav_270.d”, si ottengono i dati raccolti nei documenti “gravità5.dat e gravità6.dat”.

Vengono misurate le correnti durante l’escursione del giunto 3 tra:

-150°→+120° +120°→-150°

Si riscontra una differenza tra i due andamenti, dovuta a valori costanti in modulo e a parità di

ascissa, dei termini dipendenti dalla velocità (attrito viscoso e coulombiano) concordi con il segno

della coppia di gravità in una direzione di movimento e discordi nella direzione opposta. Ciò

significa che l’andamento mediano tra i due è dovuto alla coppia gravitazionale cercata, che in

termini di corrente è esprimibile come 5.2.

È necessario verificare tramite una corretta identificazione (eseguita con il metodo dei minimi

quadrati) alcuni andamenti sinusoidali che si hanno nelle due diverse condizioni di moto come

mostrato in figura 5.3:

dove 3q rappresenta lo spostamento tra il link 3 e la verticale tale che:

( ) ( )333 sen qqKqT gg += ( )3.5

Figura 5.3 Andamento della corrente proporzionale alla coppia gravitazionale

(verde) a fronte di un riferimento a rampa.

( ) 0per0 333 =+= qqqTg

Page 4: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

54

Dall’analisi dell’andamento mostrato in figura è possibile giungere ad una prima identificazione dei

parametri della funzione che descrive l’andamento della corrente e quindi della coppia

gravitazionale, in funzione della posizione angolare del giunto 3:

Cioè:

Kg = 3.7

q = 20° = 0.349 rad

Una volta che la coppia gravitazionale sarà stata compensata correttamente è possibile procedere

all’identificazione della coppia di attrito viscoso e coulombiano e alla coppia d’inerzia.

5.2 CONTROLLO PID CON COMPENSAZIONE DELLA COPPIA

GRAVITAZIONALE

Allo scopo di disporre di un programma per l’interfaccia tra PC e C3G-900 in grado di garantire la

compensazione della coppia gravitazionale, sono stati realizzati:

• Un programma in linguaggio C che consente al PC di assumere il controllo del robot attraverso

un regolatore di posizione di tipo PID, M4CGRAV.C, illustrato in appendice A;

• Un programma Matlab che genera il riferimento di posizione;

• Un programma Matlab che calcola i valori di coppia da fornire a M4CGRAV.C per attuare la

compensazione in feedforward della coppia gravitazionale;

• Un programma Matlab che permette l’analisi delle correnti e degli errori di posizione;

La strategia di regolazione su cui si basa l’algoritmo implementato in M4GRAV.C consiste in una

compensazione feedforward della coppia gravitazionale (si osserva che è importante verificare che

l’istruzione compg=250 sen(q), sia eseguita senza che venga persa la connessione con la scheda

PC_C3G).

È possibile esprimere la coppia gravitazionale in funzione della posizione angolare del motore θm,

invece che di quella del giunto ql e per far ciò è necessario considerare il rapporto di trasmissione:

( ) ( )°+= 20sen7.3 33 qqTg

( )°+⋅⋅= 20cossen mgg qtKT ( )4.5

Page 5: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

55

con

dove qm è espresso in bit-resolver.

Al fine di evidenziare la bontà dell’algoritmo di controllo, si visualizza il riferimento di posizione

impostato ed il posizionamento reale del motore in funzione del tempo. Ciò rende ben visibile

l’inseguimento di traiettoria e l’errore commesso dal regolatore.

La compensazione consente di ridurre l’errore di posizione commesso dal sistema

nell’inseguimento della traiettoria impostata in ingresso. Il risultato ottenuto dalla compensazione

della coppia gravitazionale è molto interessante ed è evidente come il controllore realizzato con una

tecnica di tipo feedforward porti ad un miglioramento nel posizionamento del braccio.

3

2cost

65536(5.5)

BITRBITRm

l mqq q

πτ

⋅= = ⋅

00392.603 −=τ

( )00392.60655362cos−⋅

= πt radq 349.020 =°=

[ ] 463.25230

20477.3 =⋅=DACgK

Figura 5.4 Andamento della norma dell’errore di posizione commessodal controllore con compensazione della coppiagravitazionale.

Page 6: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

56

Per apprezzare la differenza tra l’errore di posizione in assenza di compensazione e quello che si

manifesta dopo la totale compensazione della coppia gravitazionale, i risultati del controllo di

posizione realizzato dal programma M4CGRAV.C vengono confrontati con quelli che si hanno

utilizzando il programma principale che normalmente regola il funzionamento del robot,

M4MAIN.C; il confronto tra gli andamenti, calcolati in gradi, è riportato in figura 5.5.

È evidente che l’errore ottenuto con l’impiego del regolatore con compensazione è minore di quello

che si ha nel caso di controllore PID senza compensazione di gravità.

Nel seguito vengono presentati gli andamenti temporali sia delle correnti di riferimento inviate agli

azionamenti dai diversi algoritmi di controllo sia delle velocità dell’albero motore dell’asse 3

rispettivamente senza e con compensazione della coppia di gravità.

Figura 5.5 Confronto degli andamenti della norma dell’errore di posizione commessi daicontrollori: con e senza compensazione della coppia gravitazionale,rispettivamente indicati dai tracciati rosso e blu.

Page 7: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

57

Figura 5.6 Riferimento di corrente in ingresso all’azionamento 3 con l’impiegodel controllore di tipo PID senza compensazione di gravità.

Figura 5.7 Riferimento di corrente in ingresso all’azionamento 3 con l’impiegodel controllore di tipo PID con compensazione di gravità.

Page 8: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

58

Figura 5.8 Velocità dell’albero motore ottenuta con l’impiego del controllore di tipoPID senza compensazione di gravità.

Figura 5.9 Velocità dell’albero motore ottenuta con l’impiego del controllore di tipo PIDcon compensazione di gravità.

Page 9: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

59

È evidente la notevole differenza tra i due sistemi di controllo e come l’impiego del controllore con

compensazione richieda un contributo minore da parte del regolatore PID che genera il riferimento

di corrente minore, questo si traduce in una minore sollecitazione del motore e in un più efficace

inseguimento di traiettoria.

È opportuno osservare, inoltre, come l’andamento temporale della velocità dell’albero motore sia

del tutto analogo per entrambi i sistemi di controllo.

5.3 ESTENSIONE DELL’ANALISI AD UN MANIPOLATORE A DUE LINK

IN GRAVITÀ

Le considerazioni svolte nel paragrafo 5.1 sono valide nell’ipotesi di considerare solo l’asse 3 del

robot SMART 3 S2. La coppia gravitazionale agente su di esso risulta, in accordo con la (5.3):

dove:

m3 = massa totale rotante attorno all’asse di rotazione.

l3 = distanza tra l’asse di rotazione e il centro di massa.

q = sfasamento tra q3 e la verticale, nel senso che Tg = 0 per 3 3 0q q+ = .

Se invece si ha un manipolatore con due link che si muovono nel piano verticale allora:

L’espressione della coppia gravitazionale in funzione della posizione dei giunti diventa quindi:

L’obiettivo è l’identificazione dei parametri ‘a’ e ‘b’ dato un determinato riferimento in ingresso al

giunto 2.

( )3333 sen qqlgmTg += ( )6.5

[ ] )7.5(32Tqqq =

( ) ( ) ( )( )

( ) ( )( )

+

++=

+

+++=

32

322

3233

323322223

coscoscos

coscoscos

qqbqqbqa

qqglmqqglmqglmglm

Tg( )8.5

2223 gxmglma += 33 gxmb = ( )9.5

Page 10: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

60

Il coefficiente ‘b’ è stato calcolato nel paragrafo 5.1 dall’analisi della curva vista in figura 5.3. Per

ottenere tale andamento si era scelto un riferimento a rampa in modo che:

in modo da non avere coppia d’inerzia.

La dinamica del sistema, che nella sua forma completa è data da:

risulta quindi semplificata, anche per il fatto di poter trascurare i termini piccoli in valore assoluto

dovuti alla forza centrifuga e di Coriolis. Il termine

in cui CF rappresenta l’attrito Columbiano e 33qFV l’attrito viscoso, è positivo per un senso di

rotazione, mentre risulta negativo nel senso opposto.

In tal modo misurando la corrente I3 si risale a:

Il problema è l’identificazione del parametro ‘a’. È possibile procedere analogamente a quanto fatto

precedentemente per giungere alla definizione di ‘b’, tenendo fissa la posizione del giunto 3,

q3 = cost, e fornendo una rampa come riferimento al giunto 2 nei due versi di movimento.

La dinamica del giunto 2 risulta quindi:

Ponendo allora β=3q , cioè considerando il giunto 3 fermo in una determinata posizione, ad

esempio con 0=β , si ha:

0cos 33 =⇒= qtq

( ) )10.5(333333 IKTFqTqF tCgV ==++

)11.5(33 cFqF CV =+

( ) ( ) )12.5(sen 333 qqbqTg +=

( ) )13.5(2222222 IKTFqTqF tCgV ==++

( ) ( ) ( ) )14.5(coscos 3222 qqbqaqTg ++=

( ) ( ) ( )22 cos qbaqTg +=

Page 11: CAPITOLO 5 - Università degli Studi di Pavia · 2013. 10. 5. · Tg = m3 g l3 sen()q3 + q3 ()5.6 [] 2 3 (5.7) q = q q T ()() () ( ) () + + + = + + + + = 2 3 23 3 3 2 3 cos cos cos

61

ciò che consente di ottenere (a+b) dalla misura di corrente al giunto 3 e sostituendo il valore già

trovato per ‘b’ si risale quindi ad ‘a’; è così possibile risalire ai parametri necessari

all’identificazione della coppia gravitazionale e alla sua compensazione, anche nel caso di sistema

con due link in gravità.