Processo di identificazione e compensazione dell`attrito

Transcript

Processo di identificazione e compensazione dell`attrito
80
CAPITOLO 8
PROCESSO DI IDENTIFICAZIONE E COMPENSAZIONE DELL’ATTRITO
INTRODUZIONE
In questo capitolo è descritto un metodo teorico per l’identificazione dell’attrito, attraverso
l’impiego della normale strumentazione di laboratorio.
Il risultato dell’identificazione viene successivamente impiegato per realizzare un sistema di
regolazione della posizione, in grado di compensare l’effetto dell’attrito e realizzare il corretto
inseguimento della traiettoria impostata.
Quindi sono descritte le prove sperimentali per l’identificazione dell’attrito e dell’inerzia, eseguite
con la metodologia precedentemente illustrata.
8.1 IL PROBLEMA DEL CONTROLLO
Tra le numerose tecniche che possono essere impiegate nel controllo di un manipolatore, quella
prescelta, nonché il modo con cui essa è realizzata, può avere una significativa influenza sulle
prestazioni del manipolatore e di conseguenza sul campo di applicazione. Naturalmente, oltre alla
teoria, anche il sistema di azionamento dei giunti del manipolatore ha un effetto sul tipo di strategia
di controllo impiegata.
Il robot SMART3 S2 viene attuato da servomotori elettrici con organi di trasmissione ad elevato
rapporto di riduzione, ed è proprio la presenza delle trasmissioni che tende a linearizzare la
dinamica del sistema, disaccoppiando di fatto i giunti a causa della riduzione degli effetti delle non
linearità e dell’accoppiamento sugli attuatori stessi.
Alle trasmissioni tuttavia sono associati fenomeni di attrito, elasticità e giochi che limitano le
prestazioni del sistema, specie per quanto riguarda la precisione del posizionamento, anche più di
quanto sia dovuto alle inerzie dipendenti dalla configurazione e dalle forze di Coriolis, ecc. Per
contro, se il robot fosse azionato con motori di coppia calettati direttamente sul giunto senza organi
di riduzione, i problemi di attrito, elasticità e giochi sarebbero in gran parte ridotti; diventerebbe di
contro significativo il peso dell’inerzia del carico, delle non linearità e dell’accoppiamento tra i
giunti. Di conseguenza, al fine di ottenere elevate prestazioni, devono essere affrontate
problematiche di controllo impostate diversamente.
81
In questo lavoro si è scelto di effettuare una regolazione che sia in grado di migliorare le prestazioni
in relazione alla dinamica del robot, migliorando l’errore di posizione e quindi la risposta del
sistema. In particolare ciò è stato ottenuto compensando l’attrito dei giunti, dopo averlo identificato.
Le procedure di identificazione consentono appunto di ricavare i parametri dei modelli matematici i
quali esprimono quantitativamente l’andamento osservato nei dati sperimentali; in questo caso si è
inteso identificare in particolare l’attrito nelle sue diverse componenti.
Molti metodi di identificazione consentono di analizzare solo modelli lineari che richiedono quindi
la conoscenza a priori della struttura del fenomeno e di solito è necessario disporre allo scopo una
strumentazione ed un hardware aggiuntivi che comportano degli alti costi.
Il metodo di identificazione scelto [8] consente di stimare una componente fortemente non lineare
come l’attrito; il procedimento consiste nell’analisi dei segnali di errore relativi agli anelli di
regolazione retroazionati, precisamente quelli di velocità e di posizione, che definiscono a loro volta
il segnale di riferimento per il regolatore di corrente situato all’interno dell’azionamento.
Il metodo ha il proprio punto di forza nel fatto che l’hardware necessario è quello già presente per la
regolazione; lo svantaggio è che nell’errore di anello ci sono componenti proporzionali ad altri
elementi di disturbo, alcuni dei quali compensabili, come l’inerzia del sistema, altri che devono
essere eliminati attraverso metodi numerici, come ad esempio i disturbi relativi al convertitore di
potenza.
8.2 METODO PER L’IDENTIFICAZIONE SPERIMENTALE
DELL’ATTRITO
Le prove sperimentali per la raccolta delle misure necessarie all’identificazione sono state eseguite
nella modalità 4 di funzionamento del controllo aperto. Si ricorda che questa modalità consente la
lettura da parte dell’elaboratore personale della posizione angolare misurata nei motori del robot e
la scrittura nella memoria condivisa del riferimento di corrente che alimenta i motori stessi. Essa
consente inoltre di stabilire quali assi mettere in movimento, lasciando gli altri bloccati
meccanicamente, ciò che permette di stimare i parametri per ogni singolo giunto.
A tale scopo la modalità 4 esclude il sistema di controllo dell’unità C3G-900 e lo sostituisce con un
algoritmo di controllo implementato sul calcolatore in linguaggio C se si decide di lavorare in
anello chiuso, o di non sostituirlo affatto qualora si decida di lavorare in anello aperto.
In questo lavoro le prove sperimentali condotte per identificare i vari modelli sono state effettuate in
anello chiuso per tutti i giunti. In teoria, almeno per quanto riguarda i giunti non in gravità (assi 1,
4, 5, 6), questa scelta non è vincolante, dal momento che gli stessi risultati si sarebbero potuti
ottenere in anello aperto, inserendo un riferimento di corrente e misurando la velocità dei motori.
82
Lo stesso non si può dire per gli assi in gravità, per i quali la scelta della configurazione in anello
chiuso è obbligata, al fine di mantenere sotto controllo i giunti che, altrimenti, tenderebbero a
cadere, in quanto sottoposti alla forza peso.
Per ognuna delle prove eseguite è stato definito un riferimento di posizione per la procedura che
gestisce il controllo degli assi; una volta eseguito l’algoritmo di regolazione di tipo PID vengono
registrate sulla memoria condivisa le correnti di riferimento per gli azionamenti del robot, così da
eseguire la traiettoria impostata.
Durante il movimento il programma attua la chiusura degli anelli di posizione e velocità e alla fine
salva le correnti e le posizioni realmente raggiunte dal robot in due vettori, current.dat e
motpos.dat.
Lo schema di principio utilizzato per identificare l’attrito è mostrato nella seguente figura 8.1.
εθ
qmrifrif
Qm
Riferimento
di posizione
e
-
Regolatore
PID
IrifIrif
Riferimento
di corrente
Sistema
motore
+
trasmissione
qQm
m
Posizione
Figura 8.1 - Schema usato per le prove di identificazione.
Per il conseguimento delle diverse componenti dell’attrito i valori ottenuti sono stati trattati
attraverso appositi programmi, creati in ambiente Matlab, chiò che consente di rilevare agevolmente
la caratteristica d’attrito, grazie alla possibilità di sfruttare i regolatori di tipo PID.
Nel caso del robot SMART3 S2 la posizione dei giunti viene controllata tramite sei regolatori,
ognuno tarato sulle caratteristiche dinamiche del corrispondente giunto.
L’identificazione della curva di Stribeck [11] viene svolta in due fasi: una prima in cui vengono
considerate le sole retroazioni di posizione e velocità ed una seconda nella quale si realizza la
compensazione dell’inerzia tramite un segnale di reazione anticipata (feedforward).
Il sistema utilizzato per la prima fase è rappresentato nella figura 8.2, nel quale non è presente
alcuna compensazione.
Nella parte sinistra è rappresentato lo schema di regolazione implementato dal programma, che
fornisce al robot il riferimento di corrente. La parte destra invece rappresenta il modello del sistema
fisico costituito da un singolo giunto robotico supposto rigido, di cui si vuole identificare l’attrito.
83
Figura 8.2 - Schema a blocchi del sistema utilizzato per l’identificazione dell’attrito.
L’azionamento genera una coppia motrice stabilita in base al riferimento di corrente (segnale Ifb)
generato da un regolatore PID, realizzato in ambiente di programmazione C.
La regolazione utilizza due retroazioni che consentono al sistema di eseguire la traiettoria di
posizione e di mantenere la stabilità del sistema. Il primo anello di retroazione utilizza l’errore di
posizione ε q e, dopo averlo moltiplicato per un guadagno Kp, lo somma al segnale ottenuto dalla
seconda retroazione; questo utilizza l’errore di velocità dopo averlo moltiplicato per un blocco PI ,
per ottenere il segnale di corrente Ifb :
I fb = K pv ⋅ (q rif − q ) +
Ki
⋅ (q rif − q ) + K p ⋅ (q rif − q )
s
(8.1)
Nelle (8.1) e (8.2) non viene considerato il blocco diretto supplementare che interviene nella
generazione del riferimento di velocità, in quanto il suo significato verrà analizzato ampiamente in
seguito; questa scelta non altera comunque la presentazione del metodo di identificazione.
Moltiplicando i valori di corrente di feedback (Ifb), misurati dall’unità di controllo del robot, per la
costante di coppia kt si ottengono i valori della coppia (Tfb).
Derivando quindi il segnale di posizione è possibile ricavare la velocità q e tracciare la
caratteristica coppia-velocità del motore che per un giunto non in gravità è identificabile, a meno
dell’inerzia, con la curva di Stribeck.
84
Per eseguire una misura dell’attrito occorre quindi stimare l’inerzia complessiva J del sistema, così
da poterla successivamente eliminare. La sua compensazione si realizza tramite un blocco diretto in
anello aperto (feedforward) che agisce sul sistema come un disturbo; esso utilizza la corrente
Figura 8.3 - Schema a blocchi utilizzato per la compensazione dell’inerzia.
Iff (figura 8.3), ottenuta mediante il prodotto tra l’accelerazione angolare di riferimento qrif ed il
guadagno J del blocco diretto.
La somma dei segnali di retroazione con il segnale di compensazione diretta costituisce il
riferimento di coppia da inviare all’azionamento (Irif = Iff + Ifb).
I rif = K pv ⋅ (q rif − q ) +
Ki
⋅ (q rif − q ) + K p ⋅ (q rif − q ) + J ⋅ qrif
s
(8.2)
Se la compensazione fosse completa a causa della esattezza della stima, non vi sarebbero errori nulli
negli anelli di retroazione, per cui in condizioni ideali si potrebbe fare a meno dei regolatori.
Come conseguenza se si conoscessero tutte le componenti che intervengono nell’equazione della
dinamica, con i blocchi feedforward, si potrebbe controllare il robot fornendo ai motori la corrente
esatta per realizzare il movimento.
8.3 COMPENSAZIONE DELL’ATTRITO
Dopo aver descritto i passaggi che portano all’identificazione e compensazione dell’inerzia si
sviluppa ora un metodo iterativo per la misura sperimentale dell’attrito.
85
Questa operazione viene realizzata tramite un segnale aggiuntivo diretto in anello aperto
(feedforward) e consente di conoscere i valori dell’attrito viscoso, statico e coulombiano (figura
8.1), responsabili della dinamica del motore.
L’attrito viscoso viene ricavato stimando la pendenza della caratteristica di Stribeck, tramite una
misura dell’angolo Dm; questo valore, inserito in un ulteriore blocco diretto D, viene compensato
moltiplicandolo per la velocità di riferimento (figura 8.4).
La strategia utilizzata in seguito per la compensazione degli attriti statico e coulombiano è del tutto
simile a quella vista precedentemente. L’unica differenza è legata al fatto che queste due
componenti costituiscono delle non linearità; per tale ragione vengono trattate via software in modo
diverso rispetto all’inerzia e all’attrito viscoso e più precisamente: l’attrito statico contribuisce alla
corrente di feedforward (Iff) soltanto a velocità nulla, mentre quello coulombiano concorre
attraverso una corrente costante in modulo, che cambia di segno ogni qualvolta s’inverte la velocità.
Lo schema di regolazione completo è quello riportato in figura 8.4.
Figura 8.4 - Schema di regolazione finale per la compensazione dell’attrito.
L’unico effetto che rimane non compensato riguarda la componente relativa alla zona di stick-slip;
tuttavia esso, che risente fortemente delle condizioni operative, può essere ridotto attraverso
un’adeguata lubrificazione. Le limitazioni relative alla regione di avanzamento a scatti appariranno
come un errore nella traiettoria che il sistema deve seguire, risultando comunque di piccola entità.
Esso è tanto più piccolo quanto migliore sarà l’identificazione delle diverse componenti di attrito.
Il programma ATTRITO.M realizzato in ambiente MATLAB raccoglie ed elabora i dati ottenuti
applicando il metodo di identificazione ai giunti del robot.
86
8.4 INQUINAMENTO DA DISTURBI NELL’IDENTIFICAZIONE
Un problema che sorge con i metodi di identificazione è costituito dall’inquinamento dei risultati
dovuto ai disturbi che agiscono sul sistema.
Esistono metodi in grado di attenuare i segnali che non sono correlati con i riferimenti, come ad
esempio il rumore casuale asincrono e incorrelato rispetto al tempo.
Altri tipi di segnali indesiderati che agiscono sul sistema sono invece funzione delle traiettorie
impostate, come ad esempio il carico gravitazionale, gli effetti dell’accelerazione di Coriolis,
l’ondulazione di coppia presente nell’azionamento ecc. Per ottenere un risultato in base al quale gli
effetti di questi disturbi risultino limitati è necessario attenuare quei segnali asincroni (e quindi non
correlati) con il comune riferimento di velocità.
In questo lavoro tale aspetto non sarà tuttavia preso in considerazione, anche se questo, come si
vedrà in seguito, non impedirà di ottenere risultati soddisfacenti.
8.5 PROGRAMMI UTILIZZATI PER L’IDENTIFICAZIONE E LA
COMPENSAZIONE DELL’ATTRITO
Allo scopo di disporre di un programma per l’interfaccia tra PC e C3G 900 in grado di realizzare
l’identificazione dell’attrito e di avere allo stesso tempo una comoda interfaccia utente per il
trattamento dei dati ed il progetto delle caratteristiche del regolatore, sono stati realizzati:
• un programma in linguaggio C che consente al PC di gestire l’interfaccia;
• un programma Matlab che genera i riferimenti di posizione da inviare al controllore.
I due programmi sono stati interfacciati nel modo previsto dal programma in C, il quale restituisce i
dati riguardanti le correnti e le posizioni attuate dai motori nel movimento imposto. Questi dati
vengono poi utilizzati in ambiente Matlab per visualizzare la caratteristiche dell’attrito, rendendone
possibile la compensazione.
I due programmi sono denominati rispettivamente M4ATTRI.C, riportato in Appendice A, e
CREATETA.M.
I valori del riferimento di posizione sono di tipo angolare e sono espressi in unità di conteggio del
risolutore [bit resolver], quindi per convertirli da gradi a bit resolver si utilizza la relazione:
qbit resolver = 65536⋅τ/360 qrad
dove τ è il rapporto di trasmissione.
(8.3)
87
Imponendo la traiettoria a forma di campana rappresentata in figura 8.5, si avrà un profilo di
velocità triangolare con accelerazione e decelerazione costante, che corrisponde a un movimento di
tipo uniformemente accelerato.
Figura 8.5 - Riferimenti di posizione, velocità e accelerazione impostati per le prove.
8.6 PROVE SPERIMENTALI
Lo scopo della seconda parte di questo capitolo è 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.
88
L’asse del robot scelto per eseguire tutte le prove è l’asse 1, in virtù del fatto che il giunto in
questione, non essendo un asse in gravità, non presenta la componente di coppia relativa alla forza
peso.
Quando vengono eseguite delle prove a singolo giunto, si instaurano, anche se tutti gli altri assi
vengono frenati meccanicamente, delle oscillazioni su alcuni di essi, per effetto degli elementi di
accoppiamento tra motore e giunto, nonché della posizione dei rispettivi assi di rotazione. Di
conseguenza, gli assi non interessati direttamente dall’esperimento contribuiscono ugualmente alla
dinamica da identificare. Ciò è vero soprattutto per la presenza dei giunti 2 e 3, poiché hanno assi di
rotazione paralleli. Come risultato si stabiliscono quindi dei fenomeni di dinamica risonante, dovuti
appunto alla presenza di questi assi.
8.7 RISULTATI SPERIMENTALI DELLE PROVE
Le prove sperimentali si articolano in due parti: una prima in cui si esegue l’identificazione e la
compensazione dell’inerzia ed una seconda che realizza le stesse operazioni per l’attrito.
Le procedure di identificazione e compensazione precedentemente descritte contribuiscono a
realizzare un sensibile miglioramento delle prestazioni dinamiche del sistema.
8.7.1 RISULTATI DELL’IDENTIFICAZIONE DELL’ATTRITO.
Per poter eseguire la procedura di identificazione, bisogna in primo luogo collegare i due sistemi,
cambiando il modo di funzionamento.
Eseguita tale operazione viene avviato il programma principale M4ATTRI.C, situato nella cartella
C:\PCC3LINK\SAMPLE\M46>.
Successivamente il programma richiede il nome del file.d creato precedentemente in ambiente
Matlab e contenente il riferimento di posizione in unità digitali.
Effettuate queste prime operazioni il programma esegue le sue diverse procedure, a seconda dello
schema a blocchi che deve realizzare e restituisce la sequenza temporale di correnti e posizioni reali
assunte dal motore, mediante le quali è possibile identificare e compensare l’attrito.
Il grafico di figura 8.6, ricavato imponendo al giunto robotico la traiettoria di figura 8.5, rappresenta
l’andamento della corrente di feedback Ifb in funzione della velocità del motore; in questo caso, non
essendo presente alcun blocco diretto in anello aperto (figura 8.2), la corrente di feedforward è nulla
e quindi Irif ≡ Ifb.
89
L’andamento della corrente Ifb (figura 8.6), a meno della costante di coppia Kt, rispecchia il modello
dell’attrito presentato nel capitolo 7, in cui sono evidenti le diverse componenti dell’equazione della
dinamica di un manipolatore.
Per la scelta del giunto effettuata, in tale equazione non è presente la coppia di gravità, mentre le
forze centrifughe e di Coriolis possono essere trascurate; di conseguenza, l’equazione del moto si
presenta come segue:
τ = J (q) ⋅ q + Fv ⋅ q + Tc ⋅ sign(q )
(8.4)
90
Figura 8.6 - Identificazione dell’attrito senza compensazione dell’inerzia.
91
Un fattore che merita attenzione è l’inerzia, che in un robot antropomorfo non è costante, bensì
dipendente dalla posizione dei diversi giunti.
A tale proposito le prove sono state eseguite a singolo giunto, frenando meccanicamente gli altri
cinque; è appunto questa metodica di lavoro che ha permesso di mantenere l’inerzia costante.
La posizione dei singoli giunti è stata scelta in modo da eseguire le prove con un’inerzia media, che
coincide con la posizione di riposo del robot ($CAL_SYS).
Durante il movimento, a causa della presenza della coppia d’inerzia, si verifica un’isteresi della
corrente di feedback (figura 8.6), rappresentata nel grafico da ∆Ifb.
Tale fenomeno è legato alle variazioni della velocità; in particolare, durante la fase di decelerazione
le coppie di attrito mantengono lo stesso segno algebrico, mentre quella d’inerzia s’inverte, in
quanto il vettore accelerazione cambia il verso.
Di conseguenza, in fase di decelerazione l’inerzia contribuisce in favore della coppia motrice,
essendo di segno contrario agli attriti.
L’attrito viscoso influenza la pendenza della curva, mentre della discontinuità a velocità nulla è
responsabile l’attrito statico. Inoltre si può osservare come alle basse velocità l’attrito assuma un
comportamento analogo a quello sintetizzato dalla curva di Stribeck (figura 7.1).
Figura 8.7 – Traiettoria impostata (verde) e posizione reale (rosso).
92
Per rendere evidente la bontà del software di regolazione, sono stati visualizzati il riferimento di
posizione impostato ed il posizionamento reale del motore in funzione del tempo. Ciò rende ben
visibile l’inseguimento della traiettoria e l’errore commesso dal regolatore, riportato in figura 8.7.
Il grafico è visualizzato in radianti per consentire una facile lettura dei dati, così da semplificare i
calcoli di trasformazione effettuati con la relazione (8.3).
Figura 8.8 - Errore di posizione senza compensazione dell’inerzia.
Osservando l’errore di posizione (figura 8.8), è evidente come questo aumenti al crescere della
velocità del braccio, in quanto è necessario un regolatore più veloce per seguire le variazioni di
velocità; di conseguenza, l’errore di posizione tende ad annullarsi per velocità basse.
Inoltre, sono visibili delle notevoli discontinuità. All’avviamento infatti la forte accelerazione non
consente al regolatore di inseguire la traiettoria con grande precisione e l’errore aumenta
notevolmente; un’altra forte variazione si verifica poi in fase di decelerazione, in cui la forza
d’inerzia risulta essere in favore del moto e partecipa anch’essa alla riduzione dell’errore.
Queste brusche variazioni dell’errore di posizione sono presenti in modo speculare nella fase di
riposizionamento del braccio.
Nel grafico di figura 8.8 è anche evidente come l’errore a regime non sia nullo, in quanto non si è
utilizzato una componente integrale nell’anello di posizione.
Per l’identificazione dell’attrito occorre eliminare l’isteresi presente in figura 8.6. Poiché
l’andamento della coppia segue quello della corrente, (sempre a meno della costante Kt), è possibile
misurare la corrente di indotto dei motori e quindi conoscere il valore della coppia motrice.
93
Per eseguire la compensazione dell’inerzia del sistema, occorre fornire al programma di
identificazione il guadagno J; una sua stima può essere ottenuta empiricamente valutando
l’ampiezza del ciclo di isteresi ∆Ifb nel modo seguente:
J=
∆I fb ⋅ K t
2
⋅
1
qm
(8.5)
L’isteresi della corrente di feedback, identificabile con ∆Ifb, vale:
∆I fb = 52 bit-resolver = 0.762 A
Conoscendo il valore della costante del motore (Kt = 0.54 Nm/Aeff) è possibile ricavare quello della
coppia di inerzia come segue:
Ti = Kt ⋅ ⋅ ∆I fb = 0.54 ⋅ 0.762 = 0.4115 Nm
(8.6)
94
Figura 8.9 - Risultato dell’identificazione dell’attrito con compensazione dell’inerzia.
95
Se la stima dell’inerzia è corretta, tramite compensazione feedforward è possibile ottenere la curva
sperimentale dell’attrito misurando la corrente di feedback. Quest’ultima non corrisponde a tutta la
corrente di riferimento inviata ai motori, in quanto ad essa dev’essere sommato il contributo
proveniente dal blocco diretto (Iff).
Inoltre, si sottolinea il fatto che la corrente di riferimento del motore è sempre la stessa, poiché nelle
le prove eseguite lo spostamento angolare del relativo giunto è stato mantenuto costante.
Per tracciare la caratteristica sperimentale di attrito è stato utilizzato lo schema a blocchi di figura
8.3, modificando la corrispondente funzione PID del programma principale M4MAIN.C con
l’inserimento del primo blocco diretto J.
8.7.2 RISULTATI DELLA COMPENSAZIONE DELL’ATTRITO.
Effettuata l’identificazione della curva di Stribeck, è possibile ridurre l’errore di posizione
procedendo con la compensazione dell’attrito, mediante lo schema a blocchi di figura 8.4.
Dal modello della curva di attrito, valutando la pendenza della caratteristica, è possibile determinare
il coefficiente di attrito viscoso e, analizzando l’intercetta dell’asse y, ricavare anche la componente
di attrito coulombiano.
Dalla misura dei segmenti a e b è possibile risalire alla pendenza della caratteristica, oppure, con
una stima ai minimi quadrati, si può ricavare la pendenza e quindi l’attrito viscoso.
Per q > 0, la retta che approssima la curva di Stribeck (figura 8.9) ha equazione:
I fb = 0.00012 ⋅ ω + 75
[bit-resolver]
(8.7)
in cui il primo termine rappresenta l’attrito viscoso che, come già detto, è funzione della velocità,
mentre il secondo identifica quello coulombiano che risulta approssimativamente costante.
Il valore massimo della coppia di attrito viscoso Tv max si ricava come segue:
I v max =
( 0.00012 ⋅ ωmax ) ⋅ 30 ( 0.00012 ⋅ 636252 ) ⋅ 30
.
A
=
= 1119
2047
2047
Per passare dalle unità digitali agli Ampère si è moltiplicato per il rapporto di conversione
mentre il valore di ωmax = 636252 bit-resolver corrisponde circa a 60 rad/s (figura 8.10).
30
,
2047
96
Coppia massima di attrito viscoso:
Fv max = K t ⋅ I v max = 0.54 ⋅1.119 = 0.604 Nm
(8.8)
Inserendo il valore pari a Fv
max
all’interno del blocco D dell’anello diretto si è in grado di
compensare la componente di attrito viscoso.
Figura 8.10 - Risultato della compensazione dell’attrito viscoso.
Dalla figura precedente è visibile come gli attriti statico e coulombiano influiscano, rispettivamente:
all’avviamento e durante l’inversione di velocità e come essi siano identificabili misurando
l’intercetta sull’asse y.
Coppia di attrito statico:
Fs = K t ⋅ I s = 0.54 ⋅1.76 = 0.792 Nm
(8.9)
Per ω > 0, la (8.7) rappresenta la coppia che il motore deve sviluppare per consentire al braccio di
iniziare muoversi.
Il valore di Is è stato ricavato dalla caratteristica di figura 8.10.
Coppia di attrito coulombiano:
97
Fc = K t ⋅ I c = 0.54 ⋅ 75 ⋅
30
= 0.594
2047
Nm
(8.10)
I valori di Fs e Fc ricavati nelle (8.9) e (8.10) sono relativi a valori di velocità positivi. Se il motore
viene avviato in senso contrario si può osservare come anche le coppie di attrito invertano il proprio
segno.
Vi è poi da osservare che per velocità negative i valori di Fs e Fc non risultano uguali in modulo a
quelli ottenuti per velocità positive; questo comportamento è maggiormente accentuato per l’attrito
statico.
A questo punto l’identificazione dell’attrito può ritenersi completata.
La compensazione dell’attrito coulombiano viene eseguita incorporando questi parametri nella
regolazione feedforward; essa risulterà ottimale solo se la corrente residua Ifb diventa prossima a
zero (figura 8.11).
Figura 8.11 - Effetto della compensazione dell’attrito coulombiano.
Il risultato della compensazione consente di ridurre l’errore di posizione commesso dal sistema
nell’inseguire la traiettoria impostata in ingresso: ciò costituisce un tipico problema nel controllo di
macchine per l’automazione.
98
Figura 8.12 - Errore di posizione dopo la compensazione delle diverse componenti dell’attrito.
Attraverso l’inserimento di un guadagno Fc è possibile effettuare la compensazione dell’attrito
coulombiano, in modo tale da ottenere un errore di posizione praticamente trascurabile;
l’andamento dell’errore di posizione è riportato in figura 8.12.
Il risultato ottenuto dalla compensazione dell’attrito è molto interessante, in quanto è evidente come
il regolatore realizzato con una tecnica di tipo feedforward
porti ad un miglioramento nel
posizionamento del braccio.
Figura 8.13 – Confronto tra errori di posizione .
99
Per apprezzare la differenza tra un errore di posizione senza alcuna compensazione ed uno che si
manifesta dopo la totale compensazione dell’attrito, si sono riportati i due andamenti calcolati in
radianti.
Il massimo valore dell’errore di posizione senza compensazione d’attrito è pari a:
0.205 rad = 3.14°
mentre quello con compensazione vale:
0.028 rad = 1.60°
I regolatori relativi a questi assi sono stati tarati in modo da rendere stabile il sistema, anche rispetto
alle variazioni dell’inerzia. Inoltre, è stato omesso l’uso della componente integrale dell’errore di
posizione nel controllo in quanto, in presenza di attrito e di eventuali fenomeni di stick-slip,
l’integratore è responsabile della nascita di cicli limite che portano all’instabilità; in tal caso, si
osserverà la presenza di un errore a regime non nullo.
[ms]
Figura 8.14 – Confronto tra correnti con e senza regolazione diretta in funzione del tempo.
Naturalmente, un miglioramento del posizionamento attraverso l’uso di termini di FFW era un
risultato facilmente intuibile; in ogni caso anche visualizzando le correnti è evidente come in
100
seguito alla compensazione dell’attrito vi siano meno discontinuità di corrente; ciò che significa che
il regolatore fa meno fatica ad inseguire la traiettoria impostata (figura 8.14).
Figura 8.15 – Confronto tra correnti con e senza compensazione dell’attrito.
101
CONSIDERAZIONI CONCLUSIVE
Questo lavoro ha preso in esame una struttura industriale costituita da un robot antropomorfo,
descrivendone il modello meccanico, definendo alcuni algoritmi di regolazione comprendenti la
compensazione di varie grandezze fisiche e verificandone l’efficacia con numerose prove di
laboratorio, allo scopo di ottenere un controllo del sistema affidabile ed in grado di fornire un
soddisfacente comportamento statico e dinamico.
La parte di analisi del processo ha utilizzato una modellistica ormai consolidata per evidenziare la
varietà e le diverse possibilità di schemi di regolazione. Uno tra questi, largamente utilizzato nel
presente lavoro, è basato su un meccanismo di compensazione anticipata (feedforward) dei disturbi
e di altri fenomeni non facilmente modellizzabili a causa della loro intrinseca nonlinearità, come
l’attrito e le componenti di forza gravitazionale.
Proprio dallo studio, dall’identificazione e dalla misura sperimentale di questi ultimi si è tratta da un
lato la conferma delle loro principali caratteristiche e dell’effetto sulle prestazioni del sistema,
mentre dall’altro si sono potuti definire i parametri dei blocchi di regolazione necessari a migliorare
la risposta dinamica e la precisione di posizionamento a regime del robot.
Nelle fasi sperimentali di misura e di controllo si è inoltre messo in evidenza il ruolo determinante
dell’hardware e del software utilizzati sulla prestazione complessiva della macchina. La crescente
potenza di calcolo e l’organizzazione del controllore in architetture innovative consentono infatti di
unire alle caratteristiche di sicurezza indispensabili per questo tipo di prodotti industriali, anche
l’impiego di tecniche di regolazione avanzate da un punto di vista teorico e utili rispetto alle
aspettative dell’utilizzatore.
A partire da una struttura prettamente industriale si è messo a punto, presso il Laboratorio di
Robotica del Dipartimento di Ingegneria Elettrica, un banco di prova che si ritiene possa essere utile
anche per svolgere ulteriori ricerche di approfondimento sulle caratteristiche del robot, dei suoi
carichi e delle modalità con cui può essere comandato nel modo più efficace.