Università degli Studi di Firenze Facoltà di Ingegneria
Classe di Lauree in Ingegneria dell’Informazione
Corso di Laurea in Ingegneria Elettronica A.A. : 2007/2008 Tesi di Laurea
Cont rol l o adatt ati vo a c omm ut az i one di un si s te m a me c c anic o
Relatore: Ing. Giorgio Battistelli
Firenze, Aprile 2009
Il candidato: Giovanni Sferro
Indice Introduzione …................................................................................................................................4 Capitolo 1: Il sistema meccanico
…..................................................................................5
1.1 Il motore in corrente continua DC.................................................................................5 1.2 I modelli cinematici
…........................................................................................8
1.3 Le specifiche di progetto...............................................................................................8 Capitolo 2: Tipologie di controllori...............................................................................................12 2.1 Principio del modello interno......................................................................................12 2.2 Controllori a relay........................................................................................................13 2.3 Controllori PID.............................................................................................................15 2.3.1
Controllori P................................................................................................15
2.3.2
Controllori PI...............................................................................................16
2.3.3
Controllori PID...........................................................................................17
Capitolo 3 Metodi di sintesi dei controllori....................................................................................18 3.1 Metodo Ziegler-Nichols in anello chiuso......................................................................18 3.2 Metodo Ziegler-Nichols in anello aperto.......................................................................19 3.3 Internal model control....................................................................................................22 3.4 Criterio di Bode..............................................................................................................23 Capitolo 4 : Progettazione dei controllori e valutazione delle prestazioni......................................24 4.1 Il sistema scarico...........................................................................................................25 4.2 Il sistema a medio carico...............................................................................................27 4.3 Il sistema a pieno carico................................................................................................30 4.4 Test incrociati dei controllori.........................................................................................34 Capitolo 5: Controllo adattativo......................................................................................................38 5.1 Premessa........................................................................................................................38 5.2 Controllo a commutazione con isteresi.........................................................................38 5.3 Funzionali di costo.......................................................................................................40 5.4 Riferimento virtuale......................................................................................................41 Capitolo 6: Risultati simulativi.......................................................................................................43 Conclusioni.....................................................................................................................................53 Appendice 1: L'isteresi....................................................................................................................54
2
Appendice 2: Il supervisore............................................................................................................55 Appendice 3: Il modello a stato condiviso.....................................................................................56 Ringraziamenti...............................................................................................................................58 Riferimenti e bibliografia...............................................................................................................60
3
Introduzione In un contesto di sempre più elevata industrializzazione dei processi e, conseguentemente, deumanizzazione della produzione si riscontra la necessità di creare sistemi in grado di esercitare su se stessi o su apparati a loro collegati logiche di controllo che rispettino criteri di efficienza e sicurezza. Nell’ambito del controllo dei processi, il modello matematico che si ha a disposizione non sempre rappresenta in maniera ottimale l'impianto reale da controllare e, spesso, i parametri del sistema possono essere variabili nel tempo e nello spazio, cioè possono dipendere anche da fattori ambientali o di produzione e non si ha alcuna informazione su come essi variano. Esiste, quindi, la necessità di arrivare ad avere sistemi di controllo che in presenza di impianti incerti, siano in grado di fornire segnali di controllo più appropriati possibile, in relazione a come sta funzionando il sistema nel preciso momento. Si definiscono quindi sistemi “adattativi”, in cui il sistema di controllo adatta il segnale fornito all’impianto, sulla base di informazioni ricavate dall’impianto stesso. Fra le tecniche di controllo adattativo, esiste quella cosiddetta a “commutazione”, che consente di ottenere l’adattamento del segnale di controllo al sistema tramite la selezione di un controllore tra un certo numero di controllori candidati. Tra le molte tecniche sviluppate in letteratura nel contesto del controllo adattativo a commutazione questa tesi rivolge la sua attenzione alla tecnica basata sul cosiddetto riferimento virtuale. Il primo capitolo di questa tesi fornisce una descrizione del modello di sistema fisico su cui andiamo a lavorare, comprese le descrizioni dei singoli elementi della catena cinematica, e la sua risposta senza sistemi di controllo. Nel secondo capitolo vengono introdotti i tipi di controllori che andremo ad utilizzare per controllare il sistema ed una parte teorica con i principi cardine del controllo automatico. Nel terzo capitolo vengono introdotti i metodi di taratura dei controllori esposti precedentemente. Nel quarto si sintetizzano i controllori ottimali per le tre situazioni di carico e si eseguono i primi test di prestazione. Nel quinto capitolo si introduce la teoria alla base del controllo a commutazione basato su riferimento virtuale. Nel sesto capitolo si descrive nel dettaglio lo schema per il controllo adattativo a commutazione del sistema meccanico preso in esame.
4
Capitolo1: Il sistema meccanico Oggetto di questa tesi è la progettazione e la validazione di un sistema per il controllo di un sistema di trasmissione flessibile costituito da un motore elettrico collegato ad un carico tramite una puleggia e due cinghie elastiche (Fig 1.1). Le pulegge sono supposte come elementi fissi ed anelastici, le caratteristiche fisiche delle cinghie invarianti nel periodo di misura, mentre si suppone che il carico possa variare nel tempo.
1.1 - La catena cinematica in studio [11] 1.1 Il motore in corrente continua DC Il motore DC si può schematizzare come in Fig. 1.2
1.2 - Modello elettromeccanico del motore DC [5]
5
Si tratta di un modello semplificato di un motore DC che muove un carico inerziale e mostra la velocità angolare t del carico in funzione della tensione di ingresso V a In questo modello le dinamiche del motore sono idealizzate: ad esempio il campo magnetico è supposto costante. Il circuito di ingresso è costituito dalla resistenza di ingresso R e l'induttanza L di autoinduzione. Grazie alla semplicità del modello è possibile sviluppare un sistema di equazioni differenziali che descrivano il sistema. Ad esempio le relazioni tra potenziale elettrico e forza meccanica applicata sono la legge di Faraday sull'induzione e la legge di Ampere su un conduttore in movimento in un campo magnetico. La coppia t vista all'albero è proporzionale alla corrente it in ingresso t =K m⋅it dove
K m è la costante dell'armatura è data dalle caratteristiche fisiche del motore, come la forza
del campo magnetico e il numero di avvolgimenti attorno al nucleo. La forza elettromotrice indotta V emf è proporzionale alla velocità angolare vista all'albero
V emf =K b t con
Kb
dipendente anche esso da parametri fisici del motore. Le leggi che descrivono la parte meccanica del motore sono derivate dalle leggi di Newton, secondo cui l'inerzia del carico moltiplicata per la derivata della velocità angolare è uguale alla somma delle coppie applicate all'albero J con
d =−K f t K i t dt
K f approssimazione lineare dell'attrito viscoso.
La parte elettrica del motore è descritta dalle formule V app t −V emf t =L
V app t =L
di R i t dt
di Ri tK b t dt
Da queste equazioni possiamo derivare due equazioni differenziali che descrivono il sistema, la prima in base alla derivata di i(t) e la seconda rispetto alla velocità angolare. K V t di R =- it - b t app dt L L L 6
K K d =- f t m it dt J J Nella figura 1.3 si può vedere la rappresentazione SISO del motore elettrico risultante da tale modello.
1.3 - Modello matematico del motore DC [5] Passando ad esaminare la trasmissione del moto dal motore al carico consideriamo la puleggia come un elemento che, sostanzialmente, non produce alcun effetto diretto sulla cinematica: esso infatti non esegue nessun tipo di lavoro (considerandolo senza attrito) sul moto. Si suppone che il carico possa assumere tre valori nominali: “Pieno carico”, “Mezzo carico”, “Scarico” che ci consentono di descrivere il sistema nelle condizioni limite in cui andrà ad operare. In un primo momento si supporrà che, dovendo cambiare il carico, il motore venga fermato e poi fatto ripartire; questo ci consentirà di considerare il carico come un valore costante e di poter arrivare alla determinazione di un controllore in ciascuna delle configurazioni considerate. Vedremo in seguito come un carico variabile nel tempo renda più complicata la definizione di un controllore soprattutto perché non si insegue più un riferimento fisso e che quindi fattori determinanti sono anche il ritardo con cui vengono seguiti i nuovi riferimenti, la sensitività alle piccole variazioni, l'innesco di componenti continue od oscillatorie (ad esempio segnali sinusoidali in ingresso a funzioni di trasferimento del secondo ordine). 7
1.2 I modelli cinematici I tre modelli che caratterizzano il sistema sono descritti dalle seguenti funzioni di trasferimento: Modello scarico: z−2⋅0.28261z−10.50666z−2 P 1 z = 1−1.41833z−11.58939z−2−1.31608z−30.88642z−4 Modello a medio carico: z −2⋅0.10276z−1 0.18123z−2 P 2 z = 1−1.99185z−12.20265z −2 −1.84083z−30.89413z−4 Modello a pieno carico: z −2⋅0.06408z−1 0.10407z−2 P 3 z = 1−2.09679z −12.31962z−2−1.93353z−30.87129z−4 Questi modelli derivano da misure fatte partendo dal moto, e quindi dalle tensioni applicate, del motore DC per osservare i valori restituiti, in uscita, dal sensore si posizione
associato al
carico. Quindi il sistema si considera affine ad un modello Black Box: traducendo direttamente dall'inglese il sistema è una scatola nera, cioè non ci è noto ciò che contiene. È possibile studiarne il comportamento esclusivamente analizzando le risposte che esso produce a fronte delle sollecitazioni che riceve. Abbiamo quindi un modello, approssimato, del sistema. Ad esso si contrappone il modello white-box in cui la dinamica interna è ben conosciuta e la descrizione del modello è perfetta, cioè non approssimata. Nel caso in esame la struttura interna del sistema (la catena cinematica) ci è nota ma si usa comunque un modello black-box in quanto un qualunque sistema fisico reale che abbia al suo interno elementi elastici deve prevedere un certo grado di approssimazione. 1.3 Specifiche di progetto Le specifiche che cercheremo di soddisfare sono le seguenti:
●
Stabilità del sistema: condizione imprescindibile per l'utilizzo fisico del sistema. 8
●
Fisica realizzabilità: come per la stabilità è una condizione, ovviamente, imprescindibile.
●
Sistemi a minima rotazione di fase: sistemi in cui tutti i poli del sistema di controllo sono nel raggio di cerchio unitario, per un sistema a tempo discreto.
●
Tempo di salita: il tempo che il sistema impiega per passare dal 10% al 90% del valore di regime per un ingresso al gradino. In questo caso deve essere inferiore a 1s.
●
Sovraelongazione: la percentuale di superamento del valore di regime per un ingresso a gradino, tipica dei sistemi con ordine superiore al primo. In questo esperimento non può essere maggiore del 10%
●
Reiezione dei disturbi al gradino: l'ampiezza all'uscita dei disturbi del gradino ridotta a 1/A entro 1.2s per ogni carico
●
Reiezione di disturbi costanti: all'infinito il sistema deve tendere al valore costante del gradino
●
Attenuazione dei disturbi in frequenza: il sistema deve attenuare i disturbi nella banda 00.2 Hz, per ogni carico.
●
Funzione di sensitività: la funzione di sensitività all'uscita deve essere in modulo minore di 6 dB per tutti i carichi (margine di guadagno maggiore di 0.5).
La prima analisi che è stata fatta riguarda il comportamento del sistema non retroazionato né sottoposto a controllori. Abbiamo quindi valutato, tramite Matlab\Simulink e l'ambiente Sisotool, la risposta al gradino del sistema nei tre casi di carico.Nello schema seguente abbiamo sintetizzato le risposte dei modelli:
\
Sistema scarico
Sist. a medio carico
Sist. a pieno carico
Tempo di salita
0.0684
0.0936
0.1384
Tempo assestamento
8.3204
14.0628
7.1716
Min. Assestamento
-0.0122
0.1286
0.3679
Max. Assestamento
2.1461
2.1617
1.8970
Overshoot
101.5952
101.0274
81.1757
Undershoot
1.1490
0
0
Picco
2.1461
2.1617
1.8970
Tempo del picco
0.3000
0.4500
0.5500
9
1.4 - Risposta al gradino del sistema scarico
1.5 - Risposta al gradino del sistema a medio carico
10
1.6 - Risposta al gradino del sistema a pieno carico Si può vedere come siano sistemi asintoticamente stabili, che convergono tutti ad un valore di regime, diverso però dal valore di riferimento, anche se con tempi grandemente superiori a quelli di progetto. Confrontando le risposte al gradino si può vedere come il sistema che converge più rapidamente sia quello a pieno carico, seguito da quello scarico e poi, con tempi quasi doppi, quello a medio carico. Questo comportamento può essere spiegato in maniera abbastanza semplice: la grande massa presente sul sistema a pieno carico funziona come un'inerzia che tende a regolarizzare il funzionamento, come fosse un volano. Il volano regolarizza il moto del sistema ma, con la sua grande massa, necessita che il motore imponga coppie elevate. Questo fenomeno non si ha con il sistema scarico che non ha masse (volani) da muovere; quindi il motore accelera e frena molto rapidamente senza inerzie. Il sistema a medio carico non ha nessuno dei vantaggi sopra esposti: necessita di coppie consistenti per muoversi e offre una massa che regolarizza poco il moto.
11
Capitolo 2: Tipologie di controllori Nell'uso industriale la scelta dei controllori è fortemente legata, oltre che da vincoli prestazionali, anche da limitazioni relative ai costi dell'acquisto, alla semplicità di ingegnerizzazione all'interno del prodotto, all'adattabilità a diverse tipologie di prodotto, alla scalabilità. Si tendono a preferire controllori con struttura fissa reperibili sul mercato che sia possibile programmare o adattare a tutta una serie di processi mediante il cambiamento di alcuni parametri caratteristici, ad esempio le reti di reazione o elementi circuitali esterni al controllore. In questo capitolo approfondiremo i principi che sono alla base della sintesi dei controllori e vedremo diversi tipi di controllori generalmente usati nella pratica industriale. 2.1 Principio del modello interno Prendiamo un generico impianto e consideriamo il problema dell'inseguimento perfetto cioè lim t->∞ e t =0 .
12
Si definiscono le seguenti quantità: L s =P s⋅C s ⋅H s
W s=
L s =
B s A s G s = A s A sB s
Y 0 s =
●
L s 1 L s
P s Q s . Q s
L'ipotesi di stabilità interna del sistema di controllo implica che G(s) ha sempre tutti i poli a parte reale minore di zero.
●
G(s) coincide nei problemi di inseguimento e reiezione di disturbi posti sull'uscita dell'impianto
Poiché
E s=G s⋅Y 0 s=
A s ⋅Y s Secondo il principio del modello interno per A s B s 0
avere inseguimento perfetto di un segnale di riferimento
Y 0 t
ogni polo a parte reale maggiore
di zero di Y 0 s deve essere anche polo di L(s) con almeno la stessa molteplicità 2.2 Controllori a relay Il controllore a relay è il sistema di controllo più semplice e dal funzionamento più elementare disponibile: se il valore di ingresso supera una certa soglia “Vs” il controllore esce con un'uscita “alta”, altrimenti con un uscita “bassa”. U =u max se V in V s U =u min se V in V s Sua rappresentazione circuitale è il comparatore (un amplificatore operazionale in catena aperta). Il problema principale di questo tipo di controllori è che, a fronte di una semplicità disarmante, sono soggetti al fenomeno del “chattering”, ovvero che in presenza di rumore, anche lieve, si possono avere commutazioni indesiderate tra un'uscita e l'altra. Ciò evidenzia un altro aspetto non molto 13
positivo di questo tipo di controlli: è impossibile tenere un regime costante e, inoltre, non vi è proporzionalità tra il valore della funzione errore è la velocità con cui si tende al riferimento. Il sistema chiederà sempre le stesse prestazioni al sistema fisico, presumibilmente il massimo, senza tenere conto di possibili, e probabili, piccoli aggiustamenti. Ciò innescherà un comportamento di carattere sinusoidale, non smorzato, della funzione errore.
2.1 – Funzionamento di un comparatore [2] Un miglioramento significativo al controllore a relay si ha adottando una “isteresi” (che tratteremo più avanti nell'elaborato) cioè un sistema per cui la commutazioni non avvengono per lo stesso valore di soglia ma per valori sufficientemente diversi per scongiurare il fenomeno del chattering. Sua rappresentazione circuitale è il trigger di Shmitt (si vedano le figure 2.2 e 2.3).
2.2 - Rappresentazione circuitale del Trigger di Shmitt [2]
14
2.3 - Rappresentazione del comportamento del Trigger di Shmitt [2] 2.3 Controllori PID I controllori PID sono i più usati nell'ambito industriale perché garantiscono buone prestazioni generali, grande capacità di adattabilità a molti tipi di processi, pervasività sul mercato, bassi costi e tool di sviluppo già disponibili e gratuiti. Sono teoricamente costituiti da 3 blocchi: Proporzionale, Integrale, Derivativo. I tre blocchi non sono,ovviamente, tutti necessari e si possono quindi ottenere controllori P, PI, PID. 2.3.1 Proporzionale P: Un regolatore di questo tipo è caratterizzato da una funzione di trasferimento C s=k p
con k p costante. Quindi si ha, semplicemente, una moltiplicazione del segnale errore. Questo controllore non riesce ad ottenere una reiezione completa dell'errore al gradino ma si limita a limitarlo e reg =lim t->∞ et ovvero in frequenza: e reg =lim s->0 s⋅E s
15
con
E s trasformata di Laplace di e(t).
Per un riferimento costante Y 0
l'errore a regime è:
e reg =lim s->0
〚
Y0 1C s⋅P s
〛
con P(s) funzione di trasferimento del processo. Se sostituiamo C(s) con k p otteniamo
e reg =lim s->0
da cui si evince che, in generale, anche per
〚
Y0 1k p⋅P s
〛
k p molto grandi non si ha un errore a regime nullo.
Condizione peraltro non riproducibile nella pratica perché si potrebbe avere una perdita contestuale della stabilità. Un valore di
k p molto elevato ha però effetti benefici sui tempi di risposta del
segnale (banda passante).
2.3.2 Proporzionale integrale PI: Il controllore PI aggiunge al Proporzionale anche un blocco integratore k 1 C s=k p i =k p 1 s sTi
con k i costante integrale. Funzione principale del blocco integrale è quella di annullare l'errore a regime al gradino. Infatti: e reg =lim s->0
〚
〛
s⋅Y 0 =0 1 k p⋅sk i⋅P s 16
Dinamicamente l'integratore peggiora la stabilità del sistema perché introduce un ritardo di fase di 90°. Inoltre la presenza di un integratore pone il sistema nella condizione di essere soggetto a fenomeni di “wind-up”, dovuti ad una possibile saturazione dell'azione integrale. 2.3.3 Proporzionale Integrale Derivativo PID: Ha funzione di trasferimento:
C s=k p
ki k d⋅s=k p⋅ 1 s
k 1 1 s d =k p⋅ 1 s⋅Td kp kp s⋅Ti s ki
La presenza di un fattore derivativo migliora la stabilità perché introduce un anticipo di 90° sulla fase. Ciò ha però un effetto deleterio sulla banda del segnale: aumentandola si aumenta anche il contributo in alta frequenza del rumore sia in forma sinusoidale che di rumore bianco; peggiorando il rapporto segnale\rumore. Nella realtà l'equazione caratteristica del PID non è quella indicata sopra perché non è fisicamente realizzabile un sistema che ha modulo crescente con la frequenza quindi l'azione derivativa reale è:
G s =
k p⋅s⋅Td s⋅Td 1 N
con N parametro compreso tra 10 e100 perché il polo introdotto per avere la fisica realizzabilità sia fuori dalla banda di segnale.
17
Capitolo 3: Metodi di sintesi dei controllori In questo capitolo introduciamo alcuni metodi per la sintesi dei regolatori PID introdotti precedentemente. In condizioni reali la funzione di trasferimento del sistema fisico non è nota in forma chiusa ma ne possiamo ricavare una rappresentazione abbastanza fedele mediante alcune tecniche di rilevazione (ad esempio la risposta al gradino, all'impulso e ad altri segnali particolari). La rappresentazione esatta del sistema fisico può, infatti, essere così gravosa dal punto di vista computazionale da richiedere tempi di elaborazione che superano la durata dello studio. La sintesi del controllore deve quindi procedere per metodi approssimati, tecniche che sono state sviluppate sin dagli anni 40. Infatti nel 1942 Ziegler e Nichols presentarono due metodi: “in anello chiuso” e “in anello aperto”. Successivamente sono stati sviluppati altri metodi, più specificatamente progettati per tipi particolari di controllori e, con l'avvento dell'elettronica e dell'informatica, di software e hardware in grado di effettuare la taratura automatica dei controllori partendo sia dal sistema fisico retroazionato che dal sistema con appositi controllori di test. Nel seguito si supporrà che il sistema sia asintoticamente stabile e a guadagno positivo.
3.1 Metodo Ziegler-Nichols in anello chiuso Il metodo Ziegler-Nichols in anello chiuso è di gran lunga il più usato nella sintesi. Si basa su alcuni semplici passaggi: 1° Metodo
●
Si pone k i =k d =0
●
Si aumenta il
k p fino a giungere nella condizione limite di oscillazione permanente di y
con periodo T. Tale guadagno è noto come guadagno critico k c . ●
Una volta determinati
k c e T i parametri dei controllori P,PI,PID sono quelli determinati
in tabella
18
\
Kp
Ti
P
0.5 Kc
PI
0.45 Kc
0.8T
PID
0.6 Kc
0.5T
Approfondendo lo studio si nota come
Td
0.125T
k c non sia altro che il margine di guadagno del sistema
retroazionato, quindi questo metodo è applicabile solo se tale margine è finito. Inoltre T =
2⋅ dove ˙ è la pulsazione corrispondente al margine di guadagno. ˙
2° Metodo
●
Si pone k i =k d =0
●
Si pone
k p pari ad un valore
k p0
che garantisca transistori lenti e nessuna
sovraelongazione. ●
Si misura la risposta al gradino identificando i parametri relazioni
k pl =2k r k p0 e
risposta temporale con tangente alla curva in
kr e
T m e applicando le
T l =4Tm . I due parametri vengono misurati dal grafico della k r pari alla distanza tra l'origine e l'intercetta tra l'asse y e la
k p0 . T m è la distanza tra l'intersezione della tangente con l'asse t
e il tempo del valore medio dell'escursione dell'uscita.
3.2 Metodo Ziegler-Nichols in anello aperto Ora analizziamo i metodi di taratura dei parametri dei regolatori PID, sviluppati per sistemi con ingresso al gradino non oscillante. Sono basati su un modello semplificato del sistema descritto dalla funzione di trasferimento:
Ga s=
e− s (3.1) 1Ts
in cui il parametro è detto ritardo equivalente, mentre T definita costante di tempo equivalente.
19
Per determinare il modello di cui sopra, vi sono due metodi approssimati che si basano sulla risposta al gradino
u0
del sistema ottenuta sperimentalmente: il metodo della tangente ed il
metodo delle aree. Consideriamo il primo metodo e la figura 3.1. Il modulo del guadagno può essere ricavato direttamente come rapporto tra l'uscita a regime
y o ed il valore u 0 del gradino in ingresso
=
y0 . u0
Il punto di massima pendenza della curva che, come vedremo ha una grande importanza, è identificato da
e la tangente nel punto interseca il valore asintotico di uscita nell'istante
T . Ottenere valori veritieri dei parametri può essere estremamente complicato in condizioni di forte rumore, soprattutto per quanto riguarda il punto di massima pendenza della curva e la sua tangente.
3.1 - Modello Ziegler-Nichols, metodo della tangente[7] Il secondo metodo, quello delle aree, può risolvere il problema perché è basato sul calcolo di integrali che eliminano parte del rumore. Consideriamo ancora la risposta al gradino di ampiezza della tangente il guadagno è determinato come =
20
y0 . u0
u 0 del sistema (3.1), come per il metodo
3.2 - Modello Ziegler-Nichols, metodo delle aree [7] S 1 è data da:
Facendo riferimento alla figura 3.2, inoltre l'area ∞
−t
S 1=⋅u 0⋅∫0 ⋅u 0⋅e dt=⋅u 0⋅T = y 0⋅T Dalla sua valutazione si ricava, quindi, il valore di
t . Considerando ora l'area S2 compresa tra
la curva, l'asse dei tempi e una retta verticale passante per il punto di ascissa t , si ha:
T
−t
S 2=∫0 ⋅u 0⋅1−e dt=
T=
⋅u 0⋅T y 0⋅T = e e
e⋅S 2 y0
Si noti che il metodo delle aree risulta più vantaggioso del metodo della tangente, in presenza di segnali rumorosi, in quanto il calcolo di un'area è meno sensibile del calcolo di una tangente. Dopo aver ricavato il modello approssimato del sistema il controllore PID può essere sintetizzato come in tabella:
21
\
Kp
Ti
P
T /
PI
0.9T/
3
PID
1.2T/
2
Td
0.5
3.3 Internal model control Un altro modo per effettuare la taratura dei PID e’ quello di ricorrere alla tecnica dell’Internal Model Control (IMC). Tale tecnica si basa sulla rappresentazione del sistema mostrata nello schema in figura
3.3 - Schema con Internal Model Control P s è una copia del processo
P s che si suppone asintoticamente stabile.
Si calcola l'errore e del sistema in Fig. 3.4, si ha e=r− y P w−u=r − P⋅u− P⋅w P⋅u che, sotto l'ipotesi
P=P diventa e=r− P⋅w .
In pratica la soluzione adottata, che consiste nel progettare un controllore che abbia al suo interno una copia del sistema, è equivalente al sistema:
3.4 - Schema con blocco di saturazione esterno
22
in cui il blocco non lineare di saturazione è stato portato fuori dall'anello di controllo. 3.4 Criterio di Bode E' un criterio dalla formulazione semplice, che può essere applicato se il sistema non ha poli a parte reale maggiore di 0. In un sistema L(s) senza poli a minima rotazione di fase, con il diagramma di Bode del modulo di L j che attraversa l'asse a 0 dB una sola volta, indicato con
il guadagno di L(s) e con
m il margine di fase, condizione necessaria e sufficiente perché il sistema retroazionato sia asintoticamente stabile è che risulti 0 e m 0 .
23
Capitolo 4 : Progettazione dei controllori e valutazione delle prestazioni La scelta del tipo di controllore da utilizzare avviene, come precedentemente esposto, in base a molti criteri ed, una volta scelta la classe dei controllori di interesse, si procede alla loro sintesi ed alla loro analisi. Per rendere più veloce e più efficiente la sintesi dei controllori si è fatto uso del software Matlab/Simulink con i moduli “Sisotool”, “Robust control toolbox” e ”Control system toolbox”. La scelta è caduta sui controllori PID che presentano notevoli vantaggi: essere disponibili sul mercato e quindi implementabili rapidamente e con problemi di ingegnerizzazione minimi; garantire reiezione completa dei disturbi (PI) e tempi di salita limitati (PID).
Lo schema di controllo a cui si farà riferimento in questo capitolo è riportato in figura 4.1:
4.1 - Modello Matlab generico per un sistema SISO in retroazione[5]
Se non altrimenti indicato le funzioni F e H sono definite F=H=1. Nei paragrafi seguenti verranno riportati i comportamenti dei vari sistemi, con la seguente legenda: ●
grafico blu: andamento dell'uscita Y in risposta ad un riferimento a gradino.
●
grafico verde: andamento dell'uscita U in risposta ad un riferimento a gradino.
●
grafico rosso: andamento dell'uscita Y in risposta al segnale di rumore du
●
grafico azzurro: andamento dell'uscita Y in risposta al segnale di rumore dy
●
Le zone in giallo rappresentano i vincoli prestazionali elencati in fase di definizione del
24
sistema (tempo di salita, sovraelongazione,...) Si è proceduto quindi, singolarmente, all'analisi della stabilità per ogni modello. 4.1 Il sistema scarico Come preventivato il sistema che garantisce una più ampia libertà nella scelta del controllore è il “Sistema scarico” questo perché probabilmente il comportamento del sistema si avvicina maggiormente ad un sistema anelastico. Il primo test viene effettuato con un controllore Proporzionale e la risposta al gradino risultante è riportata in figura 4.2: il sistema non tende al riferimento e la risposta è una funzione sinusoidale che oscilla attorno ad un valore di circa 0,1.
4.2 - Risposta del sistema scarico con controllore P Si è usato quindi un controllore PI che, oltre a garantire la stabilità, permette una certa libertà nella scelta dei parametri. Il controllore scelto è un PI che segue il metodo del modello interno del processo: 25
C 1 z =
z −1.7 9.3 z −1
Il controllore risulta non a minima rotazione di fase per la presenza di uno zero al di fuori del raggio di cerchio unitario. Analizzando il comportamento del sistema si nota come spostare lo zero positivo verso il raggio di cerchio unitario porti il sistema all'instabilità in maniera progressiva, spostarlo nell'altro senso porta il sistema a sovraelongare e a mantenere sostanzialmente inalterato il margine di fase.
4.3 - Risposta del sistema scarico con PID
26
Un controllore PID 1 z 20 C 1 z = 250⋅z z −1 1−
garantisce margini di modifica del sistema più ampi del PI appena sintetizzato, pur essendo sempre non a minima rotazione di fase, e tempi di salita più rapidi. Si è quindi adottato questo controllore nei test successivi. 4.2 Il sistema a medio carico La procedura che è stata usata per la sintesi del controllore per il medio carico è la stessa usata in precedenza per il sistema scarico e ha portato al primo tentativo, sfruttando la tecnica IMC, al controllore:
C 2 z =
1.568−z 12.51 z −1 z−0.2
4,4 – Luogo delle radici e diagramma di Bode per il sistema a medio carico con il controllore PID 27
4.5 - Risposta del sistema a medio carico con PID Con il primo controllore otteniamo un overshoot al 12% per i primi 2 picchi, 27.8° margine di fase, 4,82 db margine di guadagno. Si procede quindi portando il polo in alta frequenza ad una frequenza più bassa, ottenendo un overshoot circa del 2% con 6.29 dB di margine di ampiezza e 55.6° di margine di fase. Si rileva anche un aumento della sensibilità in ingresso. Dopo alcuni passi di ottimizzazione si arriva al controllore:
C 2 z =
1.31−z 40.42 z−1 z −0.865
che garantisce prestazioni ottime e stabilità. Rimane purtroppo il problema che non è un sistema a minima rotazione di fase. Quindi sarà questo nuovo sistema ad essere utilizzato successivamente.
28
4.6 - Risposta del sistema scarico col secondo PID Si è proceduto andando ad analizzare il diagramma di Bode del controllore
C 2 ed a spostare, sul
diagramma stesso, i poli per migliorare la risposta. Si è ottenuto quindi un secondo controllore: C 2=
z −1,649 28,06 z−1 z −0.6532
che ha uno zero all'esterno del cerchio di raggio unitario. Risulta comunque un margine di guadagno di 6.29 dB e 55.8° di margine di fase. Dato che garantisce prestazioni migliori, seppur in misura minima, si è utilizzato questo nei test sucessivi.
29
4.7 – Luogo delle radici e diagramma di Bode per il sistema a medio carico con il secondo controllore PID
4.3 Il sistema a pieno carico Come per il sistema a medio carico si sono trovati controllori stabilizzanti che rispettano i vincoli prestazionali ma non a minima rotazione di fase, il primo controllore trovato è:
C 3 z =
1.862−z 32.9 z −1 z−0.5
30
4.8 - Risposta del sistema a pieno carico con il primo controllore PID
31
4.9 - Luogo delle radici e diagramma di Bode per il sistema a pieno carico con il primo controllore PID che garantisce 4.98 dB di margine di guadagno e 47.5° di margine di fase. Modificando questo controllore si giunge al secondo sistema
C 3 z =
1.862−z 44.1 z−1 z−0.66
che garantisce 5.67 dB di margine di guadagno e 62° di margine di fase. La contropartita di questa migliore stabilità è che i vincoli prestazionali vengono soddisfatti senza lasciare praticamente nessun margine all'incertezza (si veda ad esempio il tempo di salita). Ciò non costituisce, ovviamente, un problema di stabilità ma di limitazione all'impiego pratico. Per questo motivo, sebbene il secondo controllore garantisca prestazioni migliori, si è utilizzato il primo controllore.
32
4.10 - Luogo delle radici e diagramma di Bode per il sistema a pieno carico con il secondo controllore PID
4.11 – Risposta del sistema a pieno carico col secondo PID
33
4.4 Test incrociati dei controllori Si è proceduto poi a verificare il comportamento dei tre controllori così ottenuti testando tutte le possibili combinazioni controllore-modello; combinando il controllore del sistema scarico con il sistema da medio carico si ottiene un sistema instabile.
4.12 – Controllore del sistema scarico con modello a medio carico Medesimo risultato si ottiene con il sistema a pieno carico, anche se con tempi leggermente più lunghi dovuta all'ampia massa che funge da volano.
4.13 – Controllore del sistema scarico con modello a pieno carico 34
Continuiamo con il controllore del sistema a medio carico: il sistema scarico è stabile ma non centra le specifiche di progetto in fatto di tempo di salita mentre soddisfa tutte le altre condizioni.
4.13 – Controllore del sistema a medio carico con modello scarico Usando il controllore del sistema medio sul sistema a pieno carico si ha un sistema che rispetta tutti i vincoli eccetto la sovraelongazione che raggiunge il valore del 19%.
35
4.14 – Controllore del sistema a medio carico con modello a pieno carico Infine testando il controllore per il pieno carico: con il sistema scarico si ottiene un comportamento tipico di un sistema del primo ordine con un avvicinamento lento e senza sovraelongazione; con il sistema a medio carico si ottiene un sistema che rispetta tutti i vincoli imposti al sistema.
36
4.15 – Controllore del sistema a pieno carico con modello scarico
37
Capitolo 5: Controllo adattativo 5.1 Premessa La sintesi dei controllori è un'attività relativamente semplice che consente di trovare funzioni di controllo in grado di stabilizzare e garantire prestazioni ottimali in condizioni di funzionamento prossime a quelle rappresentate in fase di progettazione. Nella pratica, tuttavia, si ha spesso la necessità di un sistema di controllo che fornisca prestazioni ottime in tutte le possibili condizioni di funzionamento, condizione che, come è facile intuire, risulta spesso impossibile da ottenere con un singolo controllore. Ad esempio non si può pretendere da un sistema che abbia tempi di reazione e salita ridotti e che contemporaneamente abbia un'ottima reiezione ai disturbi, concetti che sono palesemente in contrasto tra di loro essendo entrambi legati, in maniera opposta, alla derivata del segnale. Possiamo quindi intravedere una possibile soluzione al problema: disporre di più controllori da utilizzare al variare delle condizioni di funzionamento. Possiamo ipotizzare che il sistema integri un controllore per le condizioni ottimali di funzionamento (basso rumore, valori di ingresso nel range ottimale) completamente dedicato alle prestazioni. Ciò permette di “devolvere” la stabilità e la reiezione dei disturbi in condizioni non ottimali ad un controllore con vincoli prestazionali molto meno stringenti. Abbiamo visto come avere a disposizione molteplici controllori sia un ottimo modo per avere prestazioni eccellenti in gran parte delle possibili condizioni di funzionamento. Nel seguito del capitolo verrà presentata una particolare metodologia, il controllo adattativo a commutazione (in inglese Adaptive Switching Control, ASC), attraverso la quale si renderà possibile scegliere in linea, ad ogni istante temporale, quale tra gli N controllori candidati deve essere inscritto in retroazione con l'impianto. Tale scelta avverrà confrontando opportuni funzionali di costo. In particolare, l'attenzione verrà rivolta agli algoritmi basati sui riferimenti virtuali ottenendo così quelli che sono i cosiddetti sistemi VRASC (Virtual Reference Adaptive Switching Control). 5.2 Controllo a commutazione con isteresi Come detto, in questo capitolo ci occuperemo di introdurre e, successivamente, approfondire la teoria che sta alla base del controllo adattivo a commutazione.
38
5.1 - Schema del controllo adattativo a commutazione [8] In Fig. 5.1 possiamo vedere lo schema di funzionamento del controllo adattativo a commutazione: P C 1 ,..., C N , la scelta del controllore da
è il processo da controllare tramite uno dei controllori utilizzare viene presa dal blocco “supervisore” S.
Si può notare come il controllo adattativo a commutazione non sia altro che una specializzazione del classico schema retroazionato ad un grado di libertà. Il supervisore opera ricostruendo il funzionamento del blocco P, senza conoscerne la reale funzione di trasferimento, ma avendo come ingressi l'uscita del controllore u t
e l'uscita del processo
y t . All'interno del blocco supervisore è integrata una logica che, tramite funzionali N di costo, sceglie il controllore più appropriato per far convergere
y t al riferimento r t .
Tali funzionali di costo consentono di scegliere tra N controllori, quello che garantisce le prestazioni migliori ad ogni istante temporale. Supponiamo che, a causa dell'incertezza sia spaziale che temporale dei parametri, P appartenga ad un insieme di impianti
. Consideriamo anche un insieme
C 1 ,..., C N di controllori progettati
attorno a N punti di funzionamento nominale dell'impianto. Se indichiamo con
C t il controllore selezionato tra gli N dal supervisore all'istante corrente,
possiamo dire che il sistema descritto in precedenza può essere espresso formalmente:
{
y t =Put u t=C t y−r t
:={1,2 ,... , N } . dove t ∈ N 39
}
(1)
Quindi si usa per l'accoppiata
P ∈ e C t la notazione (P/ C t ).
Come anticipato, associamo a ciascun controllore C i un opportuno funzionale di costo V i t , calcolato, ad ogni istante temporale, sulla base dei dati in ingresso ed in uscita dall'impianto, ovvero sulla base di u(r), y(r), per
r ≤t . Tale funzionale r
costituisce una misura di prestazione per il
controllore C i . Più esso è piccola, maggiore è l'utilità presunta dell'uso dell'indice i. Per evitare che si abbiano frequenti commutazioni tra un controllore e l'altro a causa del rumore (fenomeno del “chattering” già trattato nel capitolo (2.2) si introduce un meccanismo d'isteresi nella logica di commutazione tra controllori. Si adotta quindi la seguente logica di commutazione con isteresi:
t =
dove
{
t−1:V t−1 t V th t:V t t≥V th
}
(2)
} ; 0 = 0 ∈ N (3) . Il valore reale positivo t :=arg mini {V i t ,i∈ N
h
è detto
costante di isteresi.
5.3 Funzionali di costo Come si può facilmente intuire, la scelta dei funzionali di costo riveste un ruolo fondamentale nel controllo a commutazione, di funzionale di costo. Essi ci permettono di fare le successive valutazioni e scelte in merito a quale controllore scegliere tra gli N a disposizione del supervisore. I funzionali di costo utilizzati in questa tesi sono così definiti: poniamo 0, c2 0 . Il funzionale di costo avrà come equazione: t
∑ ∥y k −r k ∥2∥u k ∥2
J i t = k =0
(4)
t
∑ ∥r k ∥ c 2
2
k=0
Dove il primo termine al numeratore rappresenta l'energia dell'errore di inseguimento (ottenuto come la differenza tra il valore dell'uscita ed il valore del riferimento nello stesso istante di campionamento. Il secondo termine indica l'energia del controllo, ovvero il costo di effettuare variazioni sul sistema. Il termine al denominatore rappresenta, ovviamente, l'energia del 40
riferimento. Il parametro permette di modificare il contributo al costo del controllo e il termine c 2 è inserito per evitare errori di divisione per zero. Naturalmente un funzionale di costo di questo tipo può essere adattato unicamente per valutare le prestazioni del controllore attualmente inserito in retroazione con l'impianto. Tuttavia, nel contesto del controllo adattativo a commutazione, occorre associare un funzionale di costo a ciascun controllore candidato. Per fare questo si introduce il concetto di riferimento virtuale. 5.4 Riferimento virtuale La definizione di riferimento virtuale risulta quindi fondamentale in quanto consente di calcolare funzionale di costo del tipo (4) per tutti i controllori candidati. Dato un controllore candidato C i , il riferimento virtuale v i ad esso associato è l'ipotetico riferimento che se inviato al sistema retroazionato con C i riprodurrebbe le stesse coppie ingresso-uscita (u,y) del sistema reale retroazionato con il controllore tempo-variante C t (si veda la figura 5.2).
5.2 - Anello di retroazione virtuale associato al controllore Ci Per quanto riguarda il calcolo del riferimento virtuale v i , supponendo che la funzione di trasferimento del controllore C i sia
−1
C i z =
v i può essere calcolato come
41
S i z−1 Ri z −1
v i t=C−1 i u t y t=
Ri z−1 S i z −1
ut y t
A questo punto, è possibile associare al controllore c i il funzionale di costo t
∑ ∥y k −v i k ∥2∥u k ∥2
J i t= k =0
t
∑ ∥v i k ∥2c 2 k=0
che consente di valutare la bontà di C i sulla base delle prestazioni dell'anello virtuale rappresentato in figura 5.2. Si noti che affinché v i sia ben definito il polinomio
S i z −1 deve essere stabile, ovvero il
controllore C i deve essere stabilmente invertibile e quindi a minima rotazione di fase. Nel caso questa condizione non sia soddisfatta, in luogo di v i si può usare il segnale w i ottenuto filtrando il riferimento virtuale secondo la formula w i t =S i z −1 v i t=Ri z−1 u tS i z−1 y t Il calcolo di w i può sempre essere eseguito in quanto non richiede nessuna inversione.
42
Capitolo 6: Risultati simulativi Scopo principale di questa tesi è portare la logica del controllo adattativo a commutazione con isteresi in una catena cinematica aperta, rappresentata dal sistema di trasmissione flessibile descritto nel capitolo 1, per poi valutarne le prestazioni. A questo scopo è stato sviluppato un modello Matlab\Simulink del processo fisico e del sistema di controllo adattativo considerato.
6.1 - Modello Matlab\Simulink
Come si evince dalla figura 6.1 il modello è costituito da un ingresso a gradino; dai tre controllori sintetizzati nei capitoli precedenti per i tre casi d'uso; dal modello fisico “Modello cinematico” del sistema rappresentato, per omogeneità con i controllori, con la rappresentazione nello spazio degli stati; da un blocco “Funzionale di costo” e da un blocco “Supervisore”. Si nota inoltre uno switch che seleziona il controllore in base ad un parametro di uscita del blocco “Supervisore” il quale fornisce anche il valore “r”(il valore del riferimento) al funzionale di costo per il calcolo del costo del controllo. La somma del valore costante “Carico” e della funzione periodica “Variazioni” viene presa come 43
variabile di ingresso del Modello cinematico come indice dello switch che comanda la scelta tra i tre modelli fisici del sistema. Si è scelta questa rappresentazione per le fluttuazioni del carico, in luogo di un valore totalmente casuale, perché si è supposto che, nel caso reale, la catena cinematica in esame sia parte di un processo produttivo che fornisce valori di carico con variazioni piuttosto regolari. Il blocco “Supervisore” include il nucleo della scelta del controllore più adatto a regolare l'impianto: riceve in ingresso due valori “u” e ”y” rispettivamente l'ingresso del modello cinematico e la sua uscita. Al suo interno (figura 6.2) vi sono tre funzioni per il calcolo del riferimento virtuale filtrato
wi ;
tre blocchi funzionali di costo identici a quello visto in precedenza, che forniscono tre costi alla funzione “selector” ed al blocco “min” che fornisce il valore minimo tra loro.
6.2 - Sottoblocco Supervisore La funzione “selector” costituisce il vero cuore decisionale in cui viene scelto quale controllore utilizzare per soddisfare nel modo migliore le specifiche. Riceve in ingresso i tre funzionali di costo ed il loro minimo per confrontarli; al suo interno è integrata una logica di isteresi per evitare commutazioni molto frequenti e relative a piccole variazioni. Per il codice in linguaggio Matlab e le relative spiegazioni si veda l'Appendice 2. Per la taratura del supervisore si è utilizzato, in un primo tempo, un sistema semplice ma efficace: si
44
è proceduto pilotando la funzione selector moltiplicando il risultato dei tre riferimenti virtuali filtrati per valori costanti opportunamente scelti. Si è visto infatti che la funzione selector non riesce a soddisfare tutti i vincoli di progetto semplicemente analizzando i funzionali di costo. Aggiungendo in uscita dai blocchi “Riferimento virtuale” un blocco guadagno si sono potuti modificare i funzionali di costo relativi ai tre sistemi in maniera totalmente trasparente agli altri blocchi del modello, si ha quindi una modifica facilmente adattabile ad ogni risposta desiderata senza dover re-ingegnerizzare l'intero modello. In figura 6.2 questi blocchi sono contraddistinti dai nomi “Gain”,”Gain1”,”Gain2” . Si è tentato in un primo momento di utilizzare vari risolutori numerici per determinare i valori ottimali per i tre guadagni ma i tentativi hanno dato risultati non soddisfacenti: i risolutori forniscono valori, se riescono a determinare soluzioni valide, che non garantiscono margini di incertezza accettabili per un sistema reale. Si è quindi proceduto cercando manualmente dei valori. I valori scelti sono (0,05;12;1) che rappresentano un insieme minimo delle soluzioni trovate ma che garantiscono prestazioni ampiamente soddisfatte ed una eccellente robustezza al cambiamento, sia della sequenza di variazioni che della frequenza con cui queste variazioni si succedono. Si ottengono infatti le seguenti prestazioni con il set di variazioni usato finora: •Tempo
di salita: 0,95 sec.
•Sovraelongazione:1,09 •Tempo
di assestamento: 3,5 sec.
Nello specifico di questi risultati non vi è quasi uso del controllore del sistema scarico: questo è da imputarsi al fatto che con la maggioranza delle sequenze (parametro “Variazioni” del sistema) di sistemi fisici testati ha fornito prestazioni molto simili a quelle del controllore a medio carico non garantendo al contempo la stabilità del sistema. Dopo il naturale tempo di assestamento del sistema si nota come venga correttamente inseguito il riferimento; si può notare come quando vi sia il passaggio tra i modelli si inneschi una variazione dell'uscita di ampiezza molto limitata. Nel caso che, al momento del passaggio, sia selezionato il controllore medio l'uscita varia in [0.985;1.015] e, nel caso degli altri controllori, in [0.97;1.01]. Sono quindi variazioni molto piccole che vengono eliminate in un tempo medio di 2 secondi quando si passa al modello scarico o quello a pieno carico e circa 1 secondo quando si passa al modello medio. Per una visione più precisa del fenomeno si rimanda alla Fig. 6.3.
45
6.3 – Andamento dell'uscita in corrispondenza del cambio di sistema Successivamente si è tentato un diverso approccio: invece di moltiplicare il valore del riferimento virtuale si è andati a modificare il valore del costo del controllo all'interno del funzionale di costo relativo ad ogni controllore. Questa tecnica consente di avere una sensibilità maggiore alle variazioni dei parametri e una complessità strutturale del supervisore minore. Inoltre non presenta le piccole variazioni al cambio di modello fisico viste poco fa e fa uso di tutti e tre i controllori, sebbene in maniera diversa a secondi dei parametri con cui si effettua la taratura. Una caratteristica che, però, si mette in evidenza con questa configurazione è l'ampiezza della curva subito dopo la salita (Fig.6.4): l'uscita scende ad un valore molto basso, nell'ordine di 0.58-0.62, per poi risalire correttamente verso il valore di riferimento.
6.4 – Andamento del segnale di commutazione e dell'uscita quando si applica il metodo del costo del controllo 46
Nella prima fase di test si è proceduto, come esposto precedentemente, a effettuare una moltiplicazione del valore del riferimento virtuale per pilotare la scelta del controllore da utilizzare; tecnica che ha ottenuto i risultati già esposti. Successivamente si è provata la strada di modificare il costo del controllo all'interno dei funzionali di costo; quindi il passo successivo è stato unire queste due tecniche. E' stato finalmente possibile trovare, tramite algoritmi di calcolo, valori che soddisfano tutti i vincoli di progetto e permettono anche una buona robustezza. Lo svantaggio è costituito dall'aumentato costo computazionale richiesto per il calcolo dei 6 parametri in luogo dei 3 dei casi precedenti (sulla macchina usata per i calcoli ha richiesto un tempo circa 10 volte superiore per eseguire le stesse 100 iterazioni). Sono stati eseguiti test con tutti gli algoritmi forniti da Matlab\Simulink (Pattern search, Gradient descent, Simplex search) e hanno fornito gli stessi valori: C 1 =2.5524 C 2 =0.4528 C 3 =12.1077 M 1 =0.8320 M 2 =0.9356 M 3 =2.4493 Utilizzando questi valori sono stati fatti dei confronti con un modello utilizzante gli stessi controllori sintetizzati nel capitolo 4 assegnati staticamente al modello fisico a cui si riferiscono. Il modello usato utilizza (Fig.6.5) gli stessi ingressi per il sistema VRASC e per il sistema statico, in modo tale da assicurare il sincronismo e l'uniformità degli ingressi.
6.5 - Il modello Simulink per i confronti Eseguendo test con la stessa sequenza di modelli fisici si nota come, per sistemi lentamente variabili, le uscite siano simili se non sovrapponibili (per commutazioni intervallate di 6 secondi o più). Dai risultati si possono considerare lentamente variabili tutti i sistemi con commutazioni 47
intervallate di più di 2 secondi. Nelle immagini seguenti in viola è visualizzata l'uscita del sistema statico ed in giallo quella del sistema commutato.
6.6 - Le uscite per t>2sec. : in viola il sistema statico Per un intervallo di 1 sec. la risposta è quella in Fig. 6.7: la risposta del sistema statico differisce notevolmente da quella del sistema VRASC e viola i vincoli progettuali.
6.7 - Le uscite per t=1sec. : in viola il sistema statico In particolare possiamo notare come il sistema dinamico risenta minimamente dei cambi tra modelli molto diversi, rimanendo ampiamente nei limiti di progetto, mentre il sistema statico necessita di 48
tempi molto superiori al secondo per convergere al valore di regime, con la conseguenza che l'uscita non potrà mai tendere al valore di regime. Inoltre la sua uscita è formata non tanto da curve ma da spezzate che impongono accelerazioni di valore molto elevati, questo provocherebbe nel sistema reale un grosso dispendio energetico nell'immediato e, sicuramente, come conseguenza nel mediolungo periodo, rotture e malfunzionamenti. Per intervalli di commutazione inferiori al secondo le uscite divergono ulteriormente: il sistema statico garantisce un tempo di salita molto rapido ma una sovraelongazione molto marcata ma, a parziale compensazione, una convergenza al valore di regime più veloce e con un percorso leggermente migliore. Un problema che affligge il sistema dinamico, per tempi [0.6;0.9] è che non viene più rispettata la condizione sul tempo di salita, che aumenta fino a 1.2 sec. Valori critici per l'intervallo di commutazione sono 0.5-0.6 sec. Per i quali neanche il sistema VRASC riesce a garantire i vincoli di progetto: si riscontrano sovraelongazione marcata (40%) e tempi di assestamento superiori ai 10 sec. Situazione che non varia molto se si cambia il set di modelli in esame. E' comunque rispettata la stabilità del sistema. Per valori inferiori [0.1,0.4] il sistema dinamico continua a comportarsi sensibilmente meglio del sistema statico per tempo di assestamento e “qualità” del percorso seguito, ma non riesce a raggiungere il 90% del valore finale entro il limite di 1 sec.
6.8 - Le uscite per t=[0,1-0,4]sec. : in viola il sistema statico Verificato che il sistema a commutazione garantisce prestazioni migliori di quelle di un sistema staticamente assegnato passiamo a valutare le prestazioni del sistema Vrasc nello specifico. 49
E' stato impostato, in fase di progetto, che il controllore di default sia il controllore per il pieno carico. Questo perché garantisce la stabilità e la reiezione dei disturbi qualunque sia l'ingresso; provando a cambiare il controllore di default si nota che per sistemi lentamente variabili (intervalli di commutazione >= 1 sec.) il controllore che garantisce prestazioni migliori è quello per il sistema scarico. Infatti vengono centrati i limiti di progetto ma solo nella condizione di partenza a massimo carico, nelle altre condizioni parte come un sistema del primo ordine, non centrando il vincolo del tempo di salita. Risulta comunque stabilizzabile fino ad un intervallo di commutazione di 0.8 sec. Oltre che questi test si sono eseguiti altri test, di robustezza, modificando il valore del riferimento una volta che il sistema aveva raggiunto il valore di regime. Si è visto come nonostante si introducano (Fig.6.9) modifiche nell'ordine del 40-60% il sistema riesca, in un tempo di 1,5 sec. a ritornare correttamente al valore di riferimento, soddisfacendo quindi anche le specifiche di progetto. Se andiamo a confrontare le prestazioni del sistema Vrasc e di quello statico le curve differiscono maggiormente, come atteso, al diminuire del tempo tra le modifiche. La Fig.6.10 mostra la differenza per un intervallo di 1 sec.
6.9 - L'uscita a seguito di modifiche del valore di regime
50
6.10 - Le uscite per t=1sec. : in viola il sistema statico Se si effettua un confronto tra il sistema commutato ed un sistema in cui sia fissato il controllore a pieno carico si può notare come le risposte siano coincidenti per sistemi lentamente variabili ed addirittura il sistema statico sia migliore per sistemi variabili con tempi minori di un secondo. Ma se si cambia il set di commutazioni e si usano in partenza modelli scarichi o a medio carico il sistema statico non riesce a raggiungere il tempo di assestamento desiderato. Dopo aver testato il modello Matlab\Simulink definito nello spazio degli stati abbiamo provato a sintetizzare lo stesso modello con la logica dello stato condiviso. Abbiamo quindi un solo controllore che, a seconda dei parametri di ingresso, assume i parametri relativi al sistema da modellizzare. In questo caso si è rappresentato lo stato condiviso come un blocco Embedded Matlab per la scelta del modello cinematico ed un altro blocco simile per la scelta del controllore. I blocchi contengono un codice Matlab che calcola l'uscita e l'aggiornamento dello stato, codice che è incluso e commentato nell'Appendice 3. Una soluzione che integri il tutto nello stesso blocco Embedded Matlab è stata scartata, sebbene sia stata oggetto di test, perché si è ritenuto più realistico avere due blocchi distinti, con le loro incertezze ed i loro errori di computazione, che un unico codice Matlab che idealizzi un intero processo fisico. Il primo problema rilevato riguarda l'impossibilità del Simulink di risolvere il modello così come 51
sopra descritto. Infatti al primo passo in cui viene eseguito il codice Matlab viene rilevato un errore: il risolutore non è in grado di determinare il valore della retroazione in ingresso perché tale valore dipende dall'uscita che si appresta a calcolare. Si arriverebbe quindi ad un assurdo computazionale. A tale errore si può ovviare inserendo un blocco di ritardo nella retroazione, soluzione che, però, porta il sistema a reagire con un passo di campionamento di ritardo rispetto all'ingresso. Tale blocco di ritardo deve essere inserito, per le medesime motivazioni, anche sul collegamento che porta l'uscita del controllore al supervisore. Questo porta il sistema a reagire con un ritardo di due tempi di campionamento sulle variazioni dell'uscita del modello cinematico. Cioè, nel caso in esame, un tempo di 0.1 sec. Si è proceduto a testare, per completezza, soluzioni ibride che utilizzano il blocco del modello cinematico a stato condiviso e i controllori definiti nello spazio degli stati, per testare le prestazioni dei due diversi sistemi. La risposta, sebbene stabile e con prestazioni non troppo distanti dai requisiti di progetto, risente molto degli errori di arrotondamento della funzione di aggiornamento dello stato. Da queste considerazioni ritengo che lo stato condiviso sia un tipo di implementazione che non porta vantaggi tangibili: si ha un blocco che deve eseguire operazioni complesse come il calcolo dell'inversa
e con una eccessiva sensibilità agli errori, inoltre nella fase di implementazione
hardware richiede un blocco programmabile.
52
Conclusioni In questa tesi è stato affrontato il problema del controllo di un sistema di trasmissione flessibile in presenza di variazioni di carico. L'approccio risolutivo proposto si è basato sul paradigma del controllo adattativo a commutazione. Sono stati quindi progettati tre controllori, ciascuno dei quali adattato ad una particolare situazione di carico. Si è visto come un modello di un processo fisico possa evolvere verso stati che porterebbero le componenti meccaniche in condizioni non ottimali o a subire danneggiamenti e che, pertanto, si debba ricorrere ad un meccanismo di controllo che piloti i cinematismi. La fase successiva è stata definire un blocco supervisore che permettesse di scegliere dinamicamente, in funzione dei valori dei riferimenti virtuali, il controllore più adatto a raggiungere l'obbiettivo prefissato . Poi si è proceduto a eseguire valutazioni prestazionali. L'esperienza ha dimostrato come la tecnica del riferimento virtuale consenta di trovare un controllore stabile che garantisce, al contempo, prestazioni decisamente migliori rispetto a quelle ottenibili con i controllori definiti staticamente: il sistema risponde con maggior velocità ad un riferimento a gradino, ha una sovraelongazione minore e reagisce più velocemente e più efficacemente ai cambiamenti di modello ed ai disturbi. Non si riscontrano differenze per sistemi che non variano o che variano lentamente, mentre per sistemi variabili rapidamente si nota un netto miglioramento in ogni analisi, sia nelle prestazioni che nella reiezione dei disturbi. Questo ci porta a consigliare senza riserve l'implementazione di una logica adattativa ad ogni processo fisico che lo necessiti. Infatti il costo computazionale necessario a determinare il modello del sistema e a sintetizzare successivamente i parametri dei controllori è modesto e, in fase di implementazione hardware, si può utilizzare componentistica standard reperibile sul mercato adattabile con un minimo sforzo. Sviluppi futuri potrebbero essere l'implementazione di una o più logiche fuzzy in vece di una logica basata sul costo all'interno del supervisore, questo per garantire comportamenti maggiormente diversificati. Ad esempio si potrebbero garantire tempi differenti a seconda del cambiamento di modello in atto per migliorare l'efficienza energetica del processo o per limitarne l'usura . Successivamente si potrebbe pensare di superare la limitazione di controllori determinati a priori per avere controllori in autosintonia (ovvero che variano in linea adattandosi alle variazioni del processo da controllare), anche se ciò necessita di una potenza di calcolo notevole.
53
Appendice 1: L'isteresi L'isteresi è la caratteristica di un sistema di reagire in ritardo alle sollecitazioni applicate e in dipendenza dello stato precedente. Se la risposta di un sistema con isteresi viene rappresentata in un grafico in funzione dello stimolo, si ottiene una caratteristica curva chiusa.
L'isteresi [4]
In un sistema privo di isteresi la curva costituisce una linea singola. In presenza di isteresi si ottiene invece uno sdoppiamento della curva: se percorsa da sinistra a destra si ha un cammino, se percorsa in senso inverso se ne ottiene un altro. In molti dei fenomeni fisici in cui si ha tale caratteristica si ottengono due tratti orizzontali: uno superiore ed uno inferiore. Questi rappresentano i limiti di saturazione. Per un sistema in esame, al variare di alcune condizioni, si può avere una famiglia di curve, spazianti dalla quasi singola ad un'area racchiusa pressoché quadrata. L'ampiezza della curva chiusa è indice dell'entità dell'isteresi. Le famiglie di curve possono essere disposte nella terza dimensione a delimitare una forma tridimensionale detta isteroide. L'isteresi può essere sfruttata per filtrare segnali indesiderati nei sistemi di controllo, tenendo conto della storia recente del segnale. Per esempio nei controlli termostatici un elemento riscaldatore (una caldaia) viene acceso quando la temperatura scende sotto un valore T1 ma non viene spento fino a che non avviene il superamento di una temperatura T2 maggiore della prima. Ciò previene commutazioni indesiderate dovute all'imprecisione e alle deboli fluttuazioni intorno ad un unico valore di soglia. Nei circuiti elettronici si usa il Trigger di Shmitt (già trattato nel capitolo 2.2) che genera un’isteresi di aspetto simile a quella generata nei materiali magnetici. Il circuito serve ad eliminare il rumore 54
presente sui segnali. Può essere realizzato mediante componenti discreti (amplificatori operazionali o transistor) ma è presente sugli ingressi di numerosi circuiti logici delle varie famiglie (TTL, CMOS, ecc.).
Appendice 2: Il supervisore Il blocco “supervisore” integra un codice Embedded Matlab che sceglie il controllore corrispondente al costo minore. function [controller,rext] = selector(min, j1, j2, j3, r1, r2, r3) % Questo blocco implementa il selettore che confronta tra i diversi funzionali di costo % associati. % Viene implementata anche una logica di isteresi. persistent c_pre costo_pre hyster count rext=1; if isempty(costo_pre) costo_pre=5; end if isempty(count) count=0; end if isempty(c_pre) c_pre=3; end hyster=0.2; controller=c_pre; if (min<=costo_pre && (costo_pre-min)>=hyster) %costo_pre=min; if min==j1 controller=1; c_pre=controller; rext=r1; end; if min==j2 controller=2; c_pre=controller; rext=r2; end; if min==j3 55
controller=3; c_pre=controller; rext=r3; end count=count+1; else controller=c_pre; count=count+1; end end le variabili c_pre, costo_pre, hyster sono definite con il parametro persistent che ha una funzione molto simile al parametro static del C\C++: le variabili in questione vengono definite alla prima iterazione della funzione selector e mantengono il loro valore in tutte le successive iterazioni. Se andiamo ad analizzare il codice vediamo che la definizione di hyster come variabile persistente non porta conseguenze sulla funzione dato che ha valore costante. Questa contraddizione è da mettersi in relazione con la possibilità, prevista nel codice, ma inattivata, di avere un valore di isteresi variabile con il costo del controllore, cioè un valore di isteresi definito come percentuale dello scarto tra costo del controllo usato ed il valore minimo del controllo.
Appendice 3: Il modello a stato condiviso Il blocco “supervisore” integra un codice Embedded Matlab che sceglie il controllore corrispondente al costo minore. function u = fcn(e, controllore) persistent Xn; persistent A B C D I=eye(2); if isempty(A) A= ones(2,2); B= ones(2,1); C= ones(1,2); D=1; end if isempty(Xn) Xn=ones(2,1); 56
end if (e~=0) %controllore vuoto if (controllore==1) A=[1 0;0 0]; B=[0.2094; 0]; C=[0.3694 0]; D=0.1103; end %controllore medio if (controllore==2) A=[0.6532 0.9979;0 1]; B=[0; 0.25]; C=[0.1422 -0.1425]; D=0; end %controllore pieno if (controllore==3) A=[0.6845 1.336;0 1]; B=[0; 0.125]; C=[0.1391 -0.1041]; D=0; end u=C*Xn+D*e; Xn=A*Xn+B*e; else u=1; end end
57
Questo lavoro è dedicato a: Tutti quelli che mi hanno amato, perché mi hanno accompagnato nel cammino. Tutti coloro che mi hanno odiato, perché hanno tracciato il cammino.
58
Le dediche extended edition: Voglio ringraziare tutti coloro che leggeranno questo testo, anche poche pagine, perché mi hanno dato fiducia in tutti questi anni, perché hanno condiviso con me anni e mesi e giorni passati sui libri a chiedersi chi ce lo aveva fatto fare. Voglio ringraziare Giacomo, Alberto, Filippo, Federico ed Emanuele per le interminabili nottate passate a uccidere mostri e sconfiggere eretici, cercando di non cadere nelle fameliche nebbie e per le serate con Raggard e Pelor. Che ogni Ts su tempra vi vada a buon fine. Voglio ringraziare Claudio, Donato, Alessio, oltre alle persone di cui sopra, per tutte le serate passate a sparare cazzate, per i computer fatti a pezzi, per i film visti e realizzati. Che ci sia sempre una pizza di Gigi ovunque voi andiate. Voglio ringraziare i miei colleghi della Fratellanza: Francesco, Gianni, Piero, Carlotta, Alex, Vanni, Aldo, Lucia, Claudio e tutti gli altri per tutti gli ubriachi raccattati, per tutti i servizi alle 3 del mattino, per le paste delle 5, per i servizi taxi, le sfuriate della Bestia, per quella volta che il medico ha vomitato, per l'asmatico di Grassina, per il cappuccino pagato da Aldo. Voglio ringraziare Bruce Dickinson, Yoko Kanno, Don Zauker, Alan Moore, George Orwell, William Gibson, Tolkien, i ragazzi del Progetto Prometeo, gli Hammerfall, i Manowar, i Blind Guardian, i Gemboy e i film di Carlettofx, Spike Spiegel, Jet Black e Faye Valentine e tutti gli altri. Loro sanno perché. Voglio ringraziare i miei genitori perché mi hanno fatto crescere e mi hanno permesso di studiare. La vita insegna che i giudizi si fanno alla fine. Per ultima ringrazio Carlotta, anche perché non ho parole a sufficienza per ringraziarti di tutto ciò che rappresenti per me. Spero, nei prossimi anni, ti trovare parole e gesti che ti sappiano ricompensare.
59
Riferimenti e bibliografia [1] Bolzern, Scattolini, Schiavoni:. Fondamenti di Controlli Automatici (terza edizione). McGrawHill,2008. [2] Masotti Leonardo: Dispense del corso di Elettronica 2; Università di Firenze. [3] Varie immagini reperite su Internet. [4] Wikipedia.it [5]Il sito internet di supporto per Matlab\Simulink: http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml [6] Tesi Alberto: Dispense del corso Controlli Automatici; Università di Firenze. [7] Niccolai Alessandro: Analisi e controllo di un processo termico; Tesi per l'Università di Firenze. [8] Piatti Marco: Integrazione di un controllore in auto sintonia nel controllo adattativo a commutazione; Tesi per l'Università di Firenze. [9] E. Mosca: Optimal, Predictive and Adaptive control; Prentice Hall, 1995. [10] Joao P. Hespanha, Daniel Liberzon, A. Stephen Morse: Overcoming the limitations of adaptive control by means of logic-based switching; Elsevier Science 2003. [11] I.D. Landau, D. Rey, A. Karini, A.Voda, A. Franco: A flexible transmission system a benchmark for Robust digital control; European Journal of Control, 1995. [12] Doyle, Francis, Tannenbaum: Feedback Control Theory; Maxwell McMillan, 1992. [13] Goodwin, Graebe, Salgado: Control System Design; Prentice-Hall, 2001. [14] Isidori. Sistemi di Controllo: seconda edizione, Vol. I. Siderea, Roma, 1993. [15] M.C. Campi , A. Lecchini, S.M. Savaresi: An application of the Virtual Reference Feedback Tuning (VRFT) method to a benchmark active suspension system; IEEE Transactions on Automatic Control, 2006.
60