facoltà di ingegneria · corso di studi in ingegneria informatica ... controllo a retroazione di...
TRANSCRIPT
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato finale in Controlli Automatici
Controllo a retroazione di stato per la robustezza di un sistema
Anno Accademico 2012/2013 Candidato: Cristiano Russo matr. N46000990
Alla mia famiglia, che ha sempre creduto in me
III
Indice
Introduzione 4
I.1 Struttura della tesi 6
Capitolo 1. Robustezza e controllo a retroazione 7
1.1 Descrizione generale di un SFC ed ambito d’utilizzo 7
1.2 Determinazione legge di controllo 8
1.2.1 Retroazione 8
1.2.2 Azione in avanti 9
1.2.3 Azione integrale 10
1.3 Robustezza 12
1.3.1 Funzioni di sensitività 12
Capitolo 2. Esempio di sintesi in frequenza 18
2.1 Ambiente MATLAB/SIMULINK 18
2.2 Descrizione del problema 19
2.2.1 Modello 19
2.2.2 Funzione di trasferimento 20
2.2.3 Specifiche richieste 21
2.2.4 Traduzione delle specifiche 22
2.2.5 Sintesi del controllore al MATLAB/SIMULINK 24
2.3 Simulazione 28
Conclusioni 32
Bibliografia 33
Controllo a retroazione di stato per la robustezza di un sistema
4
Introduzione
Dalla sua nascita fino ai giorni nostri, il controllo automatico si è affermato come disciplina il
cui scopo è quello di semplificare e rendere più agevole la sempre più complessa vita quotidiana
di noi esseri umani. In particolare con l’avvento della rivoluzione industriale si è resa
indispensabile la creazione di metodi e tecniche atte ad automatizzare e quindi velocizzare la
produzione in serie.
La disciplina del controllo ha subito una rapida evoluzione, espandendosi nei più svariati ambiti
(biologico, economico, sociale, informatico) tanto da essere considerata oggi una “hidden
technology”.
Figura 1 Passi per la sintesi di un controllore
Controllo a retroazione di stato per la robustezza di un sistema
5
Come si evince dalla Figura 1, controllare un sistema fisico significa ricavarne un modello
matematico quanto più fedele possibile alla realtà, analizzare il modello con le tecniche messe a
disposizione dalla disciplina, sintetizzare un controllore adatto alle esigenze del problema e
infine validare tale controllore ritornando alla realtà fisica. I vari passi possono essere ripetuti,
ad esempio, in caso di errori di modellazione o in generale nel momento in cui siano riscontrate
incongruenze con il sistema reale. Nella progettazione di un controllore è opportuno cercare di
centrare gli obiettivi fondamentali del controllo, che sono performance, stabilità e robustezza.
Figura 2 Controllo a retroazione di un processo
Il concetto cardine in questo senso è quello di retroazione o feedback, su cui il controllo, ma non
solo, si basa. Basti pensare a qualsiasi disciplina o teoria esistente per rendersi conto di quanto
tale concetto rivesta un’ importanza notevole per la validazione delle stesse. “Feedback is a
central feature of life” scrisse Hoagland in “The Way Life Works”.
L’obiettivo di un controllore a retroazione, di cui è fornito un esempio in Figura 2, è regolare
l’uscita di un sistema y in modo che essa segua l’ingresso di riferimento r in presenza di disturbi
e anche incertezza nella dinamica del processo. In assenza di disturbi, ci piacerebbe che il punto
di equilibrio del sistema sia asintoticamente stabile. Specifiche sulle performances più
complicate riguardano il tempo di salita, la sovraelongazione e il tempo di assestamento della
risposta al gradino.
In definitiva, abbiamo spesso a che fare con le proprietà di attenuazione dei disturbi del sistema,
ma fino a che punto possiamo avere esperienza di disturbi in ingresso e mantenere ancora
l’uscita y vicina al valore desiderato?[1].
Controllo a retroazione di stato per la robustezza di un sistema
6
L’obiettivo di quest’elaborato è evidenziare gli aspetti del controllo riguardanti la robustezza
mettendo in luce come, tramite un’azione di controllo a retroazione di stato, sia possibile
garantire ad un sistema o dispositivo fisico, di poter operare in modo autonomo, senza
l’intervento di un operatore umano, anche in presenza di disturbi provenienti dall’esterno e
quindi non manipolabili. E’ bene dunque fare chiarezza, enumerando brevemente i vari domini
nei quali è possibile eseguire la sintesi di un controllore:
ODE (Order Differential Equation) o sintesi nello spazio di stato
Laplace
Frequenza
CAD
I.1 Struttura della tesi
La trattazione che segue, sarà organizzata nel seguente modo:
Nel capitolo 1 verranno descritte le peculiarità di un controllore a retroazione dello stato, anche
conosciuto con il nome SFC (State Feedback Control), focalizzandosi sul concetto di robustezza
e su come un controllore a retroazione garantisca, a differenza di un controllo a ciclo aperto,
prestazioni robuste anche in presenza di disturbi in ingresso non manipolabili. Infine verranno
approfonditi gli aspetti relativi alla robustezza e al controllo in frequenza, particolarmente
adatto a questo tipo di problema.
Nel capitolo 2 si esaurirà la descrizione del problema, presentando un esempio rappresentativo
della tematica, con l’ausilio dell’ambiente MATLAB/SIMULINK attraverso il quale verranno
effettuate le simulazioni del caso corredate dai relativi grafici.
Controllo a retroazione di stato per la robustezza di un sistema
7
Capitolo 1
Robustezza e controllo a retroazione
Lo stato di un sistema dinamico è una collezione di variabili che permette la predizione dello
sviluppo futuro di un sistema.
Assumendo che il sistema in esame sia lineare e che ci sia un solo ingresso al sistema, l’idea che
si seguirà per lo sviluppo di una legge di controllo per la retroazione dello stato è unicamente il
“pole placement”, ovvero il posizionamento degli autovalori a ciclo chiuso nelle posizioni
desiderate.
1.1 Descrizione generale di un SFC ed ambito d’utilizzo
La retroazione dello stato di un sistema può essere usata per definire il comportamento locale di
un sistema. Il concetto di controllabilità è introdotto e usato per investigare come progettare le
dinamiche di un sistema attraverso l’assegnamento dei suoi autovalori.
Un sistema si dice controllabile se e solo se la sua matrice di controllabilità ha rango pieno.
In particolare, sarà mostrato che sotto certe condizioni è possibile assegnare autovalori al
sistema arbitrariamente tramite un’appropriata retroazione dello stato del sistema[1].
Va detto che tutti i metodi di sintesi di un controllore nello spazio di stato, compresa la tecnica
di assegnamento degli autovalori, hanno il vantaggio di essere facilmente adattabili a sistemi
multivariabili, di cui non ci occuperemo, ma non consentono con semplicità di gestire gli aspetti
Controllo a retroazione di stato per la robustezza di un sistema
8
e i requisiti legati alla robustezza e l’insensitività ai disturbi come avviene nell’analisi in
frequenza. A valle di tali considerazioni la tecnica del “pole placement” nel caso SISO, è
utilizzata principalmente per stabilizzare un sistema instabile. Infine è banale notare che è
possibile fare uno studio approfondito di un sistema nei vari domini applicativi, essendo le loro
rappresentazioni matematiche facilmente intercambiabili e ricavabili l’una dalle altre.[2]
Dato un sistema lineare tempo-invariante, rappresentato nello spazio di stato:
{
(1)
per ipotesi di semplicità controllabile, strettamente proprio ( ) e per instabile nel suo
punto di equilibrio, l’obiettivo è trovare una legge di controllo che renda il sistema stabile, in
altre parole bisogna far sì che tutti gli autovalori della matrice della dinamica A siano a parte
reale negativa. Ciò è possibile utilizzando la suddetta tecnica di assegnamento degli autovalori,
la quale, oltre a stabilizzare mediante retroazione il sistema instabile, mira a costruire un
regolatore capace di far sì che gli autovalori del sistema retroazionato abbiano valori
prestabiliti, scelti ad arbitrio. Grazie a tale operazione, detta di “tuning”, si riesce ad imporre
che il sistema abbia una dinamica assegnata e si comporti in maniera robusta quando sono
presenti nel ciclo rumore e disturbi.
1.2 Determinazione legge di controllo
Nei paragrafi seguenti sarà mostrata una legge di controllo valida per un regolatore nello spazio
di stato, utilizzando il sistema (1) che, come già detto, presenta un punto di equilibrio instabile
nell’origine.
1.2.1 Retroazione
Affinché la matrice A presenti autovalori a parte reale negativa, è possibile scegliere il seguente
Controllo a retroazione di stato per la robustezza di un sistema
9
ingresso di controllo:
(2)
Sostituendo, avremo che il nuovo sistema a ciclo chiuso è descritto da :
(3)
una scelta di K opportuna permette il raggiungimento dell’obiettivo di controllo preposto,
ovvero la stabilizzazione del sistema nel suo punto di equilibrio.
Di seguito si mostra lo schema di controllo appena descritto in cui il segnale v è da considerarsi
nullo:
Figura 3 Schema generale di controllo a retroazione dello stato
1.2.2 Azione in avanti
Il controllore appena descritto garantisce specifiche sul comportamento transitorio, ma non può
garantire nulla sul comportamento a regime del sistema. Sovente nella pratica si può volere che,
a transitorio esaurito, l’uscita del sistema non si annulli definitivamente ma segua un ingresso di
riferimento (“tracking of reference input”) r costante:
(4)
Controllo a retroazione di stato per la robustezza di un sistema
10
A tal proposito va prevista un’ulteriore azione di controllo aggiuntiva nella legge del regolatore,
denominata azione in avanti, o feedforward:
(5)
A ciclo chiuso si avrà:
(6)
Supponendo di aver scelto in modo che il sistema sia asintoticamente stabile, avremo a
regime :
Dato che vogliamo deve risultare:
⏟
Nel caso in cui il numero di uscite è pari al numero di ingressi ( ) si ha
Lo schema a blocchi arricchito dell’azione in avanti è il seguente:
Figura 4 Schema di un SFC con azione in avanti
1.2.3 Azione integrale
In generale, anche in presenza di azione in avanti, il controllore finora studiato non garantisce
alcuna specifica relativa alla precisione statica, ovvero non è possibile assicurare che l’errore a
regime, definito come la differenza tra l’uscita del sistema e l’ingresso di riferimento, sia nullo.
Controllo a retroazione di stato per la robustezza di un sistema
11
Affinché sia verificata tale proprietà, il sistema (1) deve essere modificato aggiungendo
un’azione integrale:
∫ (7)
Consideriamo il sistema esteso:
{
(8)
La nuova matrice della dinamica è:
(
) (9)
e lo stato del sistema è:
(
)
Quindi avremo che il sistema esteso sarà composto da n + 1 stati e, di conseguenza, aumenterà
l’ordine del sistema.
Progettando un controllore a retroazione di stato che renda tale sistema asintoticamente stabile,
l’evoluzione convergerà verso il punto di equilibrio tale che:
{
(11)
L’Equazione(11) conferma il raggiungimento dell’obiettivo preposto, a regime l’uscita seguirà
pedissequamente il riferimento r.
La legge di controllo comprensiva dell’azione integrale è la seguente:
(12)
Controllo a retroazione di stato per la robustezza di un sistema
12
1.3 Robustezza
Come già accennato, la robustezza è uno degli obiettivi fondamentali dei controlli automatici.
Oltre a rendere un sistema stabile in condizioni nominali infatti, è opportuno che esso resti tale
anche in presenza di variazioni e perturbazioni agenti sul sistema.
A tal proposito la robustezza di un sistema può essere valutata in base a molteplici fattori esterni
di varia natura. Ad esempio in presenza di perturbazioni della funzione d’anello o di dinamiche
non modellate, il criterio di Nyquist è uno strumento ottimo per valutare la robustezza di un
sistema, studiando “quanto” è stabile il nostro sistema tramite degli indicatori di robustezza,
detti margini di stabilità, particolarmente utili nella progettazione di un controllore. Essi sono il
margine vettoriale, il margine di guadagno e il margine di fase.
Nel caso in cui si voglia valutare la capacità di rigettare il rumore, la robustezza di un impianto è
caratterizzata rispetto a segnali di disturbo, i quali vengono classificati in disturbi in uscita come
ad esempio un errore di misurazione dei sensori, disturbi in ingresso (attuatori) e incertezze
rispetto a variazioni parametriche del modello, ad esempio la massa di un veicolo in movimento
si riduce con il passare del tempo a causa del consumo di carburante e del conseguente
svuotamento del serbatoio.
Nel seguito ci focalizzeremo sull’aspetto relativo alla robustezza di un sistema in presenza di
disturbi in ingresso e in uscita introducendo le cosiddette funzioni di sensitività.
1.3.1 Funzioni di sensitività
Idealmente vorremmo che l’effetto di disturbi in ingresso e in uscita fosse nullo in ogni istante
di tempo. In generale ciò non è possibile, quindi si cerca di richiedere che il loro effetto produca
variazioni minime dell’uscita.[2]
In questo caso l’attenuazione dei disturbi è realizzabile richiedendo il soddisfacimento di
determinate caratteristiche alle funzioni di trasferimento che legano i disturbi all’uscita.
Consideriamo il sistema di controllo raffigurato in Figura 5:
Controllo a retroazione di stato per la robustezza di un sistema
13
Figura 5 Schema di controllo a retroazione con disturbi in ingresso e in uscita
In esso sono presenti il disturbo in ingresso n(t) e quello in uscita d(t) oltre al riferimento r(t),
mentre in uscita abbiamo y(t) ed e(t). In totale quindi avremo 6 funzioni di trasferimento, dette
Gang of Six (Figura 6).
Figura 6 Gang of six
Dallo schema di Figura 5 si ricava che:
Quindi:
Con passaggi analoghi si avrà rispetto a y:
Controllo a retroazione di stato per la robustezza di un sistema
14
La funzione di trasferimento che lega si definisce funzione di sensitività
complementare:
mentre la funzione di trasferimento che lega si definisce funzione di
sensitività:
A volte si definisce anche la funzione di sensitività del controllo che lega il segnale u(t) in
ingresso al controllore con r(t), d(t), n(t).
Essa è definita come:
In generale un sistema di controllo ideale è caratterizzato da e . Ciò, oltre ad
essere irrealizzabile, dà luogo a specifiche contrastanti. Ad esempio, avere la funzione di
sensitività complementare circa pari ad 1 per avere r ed y uguali tra loro fa entrare
inevitabilmente il rumore in ingresso (n circa pari ad e).
Inoltre, dato che G(s) è una funzione strettamente propria e C(s) è al più propria, la funzione
d’anello L(s) è anch’essa strettamente propria. Si osserva, dunque, che F(s) è strettamente
propria, mentre S(s) è propria, quindi per si ha , mentre .
Per tutti questi motivi si cerca di raggiungere un trade-off tra le due funzioni di sensitività:
(16)
Si analizzano ora in dettaglio le due funzioni, partendo dalla funzione di sensitività
complementare.
Controllo a retroazione di stato per la robustezza di un sistema
15
Tipicamente, nella maggior parte dei casi pratici, i disturbi in ingresso presentano componenti
significative dello spettro solo alle alte frequenze, mentre il riferimento r è un segnale spesso
concentrato in bassa frequenza. Dunque, nel progetto di un sistema di controllo, è necessario
fare in modo che risulti:
{| | | |
Dall’Equazione 13 risulta evidente che le proprietà frequenziali di sono strettamente
legate a quelle di . Infatti, si nota che:
| | | |
| |
Ed inoltre:
| | {| |
dove rappresenta la pulsazione alla quale la funzione d’anello interseca l’asse a 0 dB.
Quindi:
| | {
| |
Figura 7 Confronto tra F(jw) e L(jw)[Bolzern]
Nel grafico in Figura 7 è mostrato il confronto tra la risposta frequenziale di ed . Si
Controllo a retroazione di stato per la robustezza di un sistema
16
nota che il comportamento delle due funzioni è molto simile, approssimabile ad un filtro passa-
basso, inoltre presentano quasi la stessa frequenza critica .
Oltre all’analisi in frequenza è possibile considerare l’analisi statica di che rappresenta la
f.d.t tra il riferimento e l’uscita. Utilizzando la generica rappresentazione per si ha:
∏ ∏ (
)
∏ ∏ (
)
e, ricordando l’Equazione (13), risulta:
quindi, a seconda del tipo di g, avremo:
{
Con procedimento analogo si studierà ora in dettaglio la funzione di sensitività S(s).
Un disturbo d in uscita è spesso caratterizzato dall’avere componenti significative dello spettro
alle basse frequenze come anche il segnale di riferimento r. Quindi sarebbe opportuno che la
risposta in frequenza della funzione di sensitività abbia un modulo sufficientemente piccolo in
tale intervallo di pulsazioni.
L’Equazione(14) mostra che la funzione di sensitività, presenta un legame con la funzione
d’anello:
In particolare, considerando l’Equazione(18) si ha:
| |
| | {
| |
(22)
Controllo a retroazione di stato per la robustezza di un sistema
17
Figura 8 Confronto tra S(jw) ed L(jw)[Bolzern]
A differenza del caso precedente si nota in Figura 8 che la funzione di sensitività si comporta
come un filtro passa-alto, ovvero rigetta le basse frequenze, che sono quelle dove sono
prevalentemente concentrati i disturbi in uscita.
Passiamo all’analisi statica, ricordando le Equazioni (13) e (19), si ha:
{
L’analisi statica è in questo caso molto utile per valutare l’errore a transitorio esaurito dovuto ad
un disturbo d, usando il teorema del valor finale[2]:
{
Controllo a retroazione di stato per la robustezza di un sistema
18
Capitolo 2
Esempio di sintesi in frequenza
In questo capitolo verrà affrontato un caso di studio in frequenza relativo ad un sistema
dinamico per analizzare come sia possibile progettare un controllore che sia in grado di rigettare
in modo robusto eventuali disturbi agenti in ingresso o in uscita al sistema.
2.1 Ambiente MATLAB/SIMULINK
MATLAB, abbreviazione di MATrix LABoratory, è un ambiente per il calcolo numerico e
l’analisi statistica, che comprende l’omonimo linguaggio di programmazione. Creato alla fine
degli anni ’70 da Cleve Moler, è divenuto ben presto l’ambiente più diffuso in ambito
industriale ed universitario e funziona su diversi sistemi operativi tra cui Windows, Mac/OS e
Linux.
MATLAB offre una miriade di funzionalità ed è un potentissimo strumento per l’analisi
numerica e la simulazione di sistemi dinamici anche con molti ingressi ed uscite.
Strettamente integrato con MATLAB è SIMULINK, un software per la modellazione,
simulazione e analisi di sistemi dinamici, sviluppato dalla stessa compagnia statunitense
MathWorks. [5]
Simulink è un ambiente grafico per la simulazione multidominio e il Model-Based Design.
Supporta la progettazione a livello di sistema, la simulazione, la generazione automatica del
Controllo a retroazione di stato per la robustezza di un sistema
19
codice, il testing e la verifica di sistemi embedded.
Simulink offre un editor grafico, librerie di blocchi personalizzabili e solutori per la
modellazione e la simulazione di sistemi dinamici. È integrato con MATLAB, consente di
incorporare gli algoritmi MATLAB nei modelli e di esportare i risultati delle simulazioni in
MATLAB per ulteriori analisi. [4]
2.2 Descrizione del problema
In questo paragrafo si analizzerà il sistema di lettura di un disco rigido, costituito
fondamentalmente da uno o più piatti, realizzati in alluminio o vetro, rivestiti di materiale
ferromagnetico, e da una testina, la quale durante il funzionamento si occupa della lettura e
scrittura dei dati, spostandosi velocemente da una traccia ad un’altra. La testina è tenuta
sollevata di pochi nanometri dall’aria mossa dalla velocità di rotazione del disco stesso. Gli
standard attuali arrivano fino a 15.000 giri al minuto.
Il funzionamento del sistema è molto semplice in quanto consiste di un motore a corrente
continua che si occupa di trasformare l’energia elettrica in energia meccanica di rotazione di un
braccio al quale è attaccata la testina, come si vede in Figura 9.
Figura 9 Sistema di azionamento del disco
Controllo a retroazione di stato per la robustezza di un sistema
20
2.2.1 Modello
Passiamo ora alla formalizzazione di un modello semplificato per il sistema in esame in cui si
trascurerà la parte di modello relativa alla corrente di eccitazione e di armatura. Tale
approssimazione risulta fattibile in quanto una modellazione più approfondita del sistema
aggiungerebbe costanti di tempo molto piccole, senza influire più di tanto sulla dinamica del
sistema.
Detta la posizione della testina e la sua velocità, dall’Equazione (25) sul bilanciamento
delle forze:
(25)
e scegliendo come variabili di stato e , si ricava il modello:
{
(26)
2.2.2 Funzione di trasferimento
Dal modello nello spazio di stato è possibile ottenere la funzione di trasferimento del sistema,
grazie alla formula riportata nell’Equazione (27):
(27)
Essendo nel nostro caso:
(
) (
)
Controllo a retroazione di stato per la robustezza di un sistema
21
si ha che la funzione di trasferimento risultante è:
I valori tipici dei parametri che compaiono nella funzione per l’azionamento di un lettore di
dischi sono descritti in Tabella 1:
Tabella 1 Parametri per lettura hard disk
sostituendo avremo :
2.2.3 Specifiche richieste
Per il sistema si vuole che siano soddisfatte le seguenti specifiche:
-errore della posizione nullo a regime a fronte di un riferimento a gradino .
-sovraelongazione percentuale:
-tempo di assestamento all’1% del valore di regime:
-attenuazione di 20db di un disturbo sinusoidale in uscita con
-attenuazione di 20db di un disturbo sinusoidale in ingresso con
Controllo a retroazione di stato per la robustezza di un sistema
22
2.2.4 Traduzione delle specifiche
Prima di procedere con la sintesi in frequenza è opportuno “convertire” alcune specifiche non
espresse esplicitamente in tale dominio. In particolare le specifiche sul transitorio relative alla
sovraelongazione percentuale ed al tempo di assestamento vanno modificate in termini di
margine di fase e di pulsazione critica
La specifica sull’errore a regime si traduce in una pendenza iniziale del grafico di | | pari
almeno a -20db/decade.
A tal proposito l’Equazione (23) ci permette di affermare che tale specifica è già soddisfatta, in
quanto è presente un polo nell’origine.
Per la specifica sulla sovraelongazione percentuale si consideri la seguente tabella:
Tabella 2 Andamento di S% al variare dello smorzamento
Come si può notare, una sovraelongazione inferiore al 5% richiede uno smorzamento ,
che si traduce in una specifica sul margine di fase tramite la relazione:
dunque avremo .
La specifica sul tempo di assestamento viene tradotta in frequenza tramite la relazione:
Controllo a retroazione di stato per la robustezza di un sistema
23
Nel nostro caso avremo ⁄ .
Infine per le specifiche sui disturbi:
| | | |
| | | |
Figura 10 Grafico decibel-frequenza in cui vengono mostrate le specifiche
Dall’analisi appena svolta sulle specifiche richieste al sistema è possibile tracciare il grafico
della regione ammissibile per il modulo della funzione d’anello. In pratica il grafico non dovrà
intersecare le regioni tratteggiate.
Controllo a retroazione di stato per la robustezza di un sistema
24
2.2.5 Sintesi del controllore al MATLAB/SIMULINK
Passiamo ora allo studio al MATLAB del sistema:
Figura 11 Comandi MATLAB per la creazione di un sistema dinamico
Nella Figura 11 sono riportati i comandi MATLAB usati per la creazione del sistema. In
particolare è stato creato un oggetto sistema(sys) a cui è stata assegnata la funzione di
trasferimento realizzata tramite il comando transfer function(tf).
L’obiettivo è quello di procedere con una sintesi per tentativi in frequenza al fine di trovare un
controllore che permetta al sistema di comportarsi nel modo desiderato, rispettando le specifiche
imposte nel Paragrafo 2.2.3.
Come primo tentativo proviamo con un controllore proporzionale unitario:
Figura 12 Definizione del controllore proporzionale unitario
La funzione d’anello in MATLAB sarà data dal semplice comando:
Figura 13 Definizione della funzione d'anello
dove si è assegnato il sistema sys alla variabile G.
A questo punto è possibile valutare se le specifiche sono rispettate con il comando margin di
MATLAB tramite il quale sono visualizzati i diagrammi di Bode del modulo e della fase della
funzione d’anello del sistema con i margini già calcolati:
Figura 14 Comando margin, visualizza i diagrammi di bode di L
Controllo a retroazione di stato per la robustezza di un sistema
25
Figura 15 Diagrammi di Bode di L(jw)
Come già detto la specifica sull’errore a regime è già verificata, la specifica sul margine di fase
anche, infatti abbiamo . Le specifiche sulla pulsazione critica e sul disturbo in uscita
alle basse frequenze non sono invece rispettate, mentre la specifica sul disturbo in ingresso alle
alte frequenze è soddisfatta. Ciò è facilmente verificabile confrontando i diagrammi di Figura 15
con la Figura 10.
Occorre un nuovo tentativo: in questo caso, dato che la specifica sul margine di fase è
soddisfatta, e dovendo alzare il diagramma del modulo della funzione d’anello, proviamo ad
utilizzare una rete correttrice di tipo lead con guadagno pari a 1500, uno zero alla pulsazione
e un polo alla pulsazione :
Figura 16 Ridefinizione del controllore
Rieseguendo i comandi MATLAB riportati in Figura 13 ed in Figura 14, otteniamo i seguenti
diagrammi di Bode per la funzione d’anello:
Controllo a retroazione di stato per la robustezza di un sistema
26
Figura 17 Diagrammi di Bode di L
Dalla Figura 17 si evince che, con l’aggiunta della rete correttrice, tutte le specifiche sono ora
rispettate ad eccezione della reiezione del disturbo in uscita alle basse frequenze, infatti il
diagramma di Bode del modulo di L è leggermente al di sotto della soglia dei 20 dB in
corrispondenza della pulsazione .
A questo punto, affinché sia soddisfatta anche la specifica sul disturbo senza influenzare le
altre specifiche, basta progettare un controllore molto simile a quello visto in precedenza,
ovvero usando una rete anticipatrice, cambiando il valore del guadagno e le posizioni dello zero
e del polo. A tal proposito, consideriamo nel terzo tentativo un guadagno per il regolatore pari a
2000, infine posizioniamo lo zero alla pulsazione ed il polo alla pulsazione :
Figura 18 Definizione del controllore che rispetta tutte le specifiche
Seguendo sempre la stessa procedura vista nei tentativi precedenti si hanno i seguenti
Controllo a retroazione di stato per la robustezza di un sistema
27
diagrammi di Bode per la funzione d’anello:
Figura 19 Diagrammi di Bode di L
In particolare, verifichiamo che la specifica sul disturbo in uscita sia soddisfatta, centrando il
diagramma intorno alle frequenze d’interesse, Figura 20:
Controllo a retroazione di stato per la robustezza di un sistema
28
Figura 20 Zoom dei diagrammi di Bode di L
2.3 Simulazione
Il passo finale è la validazione del controllore progettato attraverso una simulazione al
calcolatore.
Dalla console di MATLAB avviamo il software simulink digitando il comando simulink:
Figura 21 Comando per avviare simulink
Nella finestra che si apre, da File - New – Model, creiamo un nuovo modello utilizzando i
blocchi messi a disposizione da Simulink, Figura 22:
Controllo a retroazione di stato per la robustezza di un sistema
29
Figura 22 Modello simulink del sistema
In particolare si è scelto il blocco Step per il riferimento a gradino, due blocchi transfer function
per il controllore e il sistema, due onde sinusoidali, rispettivamente a frequenza e
per i disturbi in uscita e in ingresso:
Figura 23 Risultato simulazione
Dal grafico in Figura 23 è possibile osservare i risultati della simulazione:
in particolare i disturbi agenti sul sistema vengono fortemente attenuati non influenzando il
comportamento del sistema: per quanto riguarda l’ampiezza delle due onde sinusoidali relative
Controllo a retroazione di stato per la robustezza di un sistema
30
ai disturbi, essa è stata scelta pari a 0.1, siccome si vuole che il rumore sia attenuato di 20 dB sia
in ingresso sia in uscita, l’ampiezza dei disturbi verrà ulteriormente diminuita di un fattore 10.
E’ possibile osservare quest’ultimo aspetto nello zoom in Figura 24:
Figura 24 Zoom per osservare l'attenuazione del disturbo
In assenza di disturbi invece si ha, come atteso:
Controllo a retroazione di stato per la robustezza di un sistema
31
Figura 25 Risultato simulazione in assenza di disturbi
Dalla Figura 25 è facile verificare la validità del controllore anche per quel che riguarda le
restanti specifiche circa l’errore a regime, la sovraelongazione percentuale ed il tempo di
assestamento.
Controllo a retroazione di stato per la robustezza di un sistema
32
Conclusioni
In questa trattazione si è visto come sia importante retroazionare lo stato o l’uscita di un sistema
dinamico affinché esso si comporti in maniera desiderata e soprattutto robusta rispetto a rumore
e/o disturbi agenti sul ciclo di controllo.
La teoria dei controlli automatici permette di analizzare e sintetizzare un controllore in più
domini applicativi. In particolare si è visto come progettare un controllore a retroazione nello
spazio di stato e come esso sia robusto rispetto ad un controllore a ciclo aperto attenuando
eventuali disturbi δ.
Essendo tali disturbi molto più facilmente caratterizzabili in frequenza, uno studio in tale
dominio è più adatto per gli aspetti relativi alla robustezza ai disturbi esterni tramite le
cosiddette funzioni di sensitività, le quali rappresentano le funzioni di trasferimento che legano i
disturbi e l’uscita del sistema.
Infine si è analizzato un sistema fisico reale, il posizionamento della testina di un hard disk,
sintetizzando un regolatore in frequenza robusto a disturbi sia in ingresso sia in uscita al
sistema.
I risultati ottenuti sono stati poi verificati con l’ausilio del tool MATLAB/SIMULINK,
simulando un possibile schema di funzionamento comprensivo di disturbi.
Controllo a retroazione di stato per la robustezza di un sistema
33
Bibliografia
[1] Karl J. Åström and Richard M. Murray, 2011, “Feedback Systems: An introduction for
Scientists and Engineers”.
[2] Bolzern Paolo, Scattolini Riccardo, Schiavoni Nicola “Fondamenti di Controlli Automatici”,
McGraw-Hill 2004.
[3] “http://www.mathworks.it/products/matlab/”
[4] “http://www.mathworks.it/products/simulink/”
[5] “http://www.wikipedia.it/MATLAB”