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
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’.
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
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
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.
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.
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à.
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à.
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
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 +=
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à.
Top Related