6-IL PROBLEMA DELLA SINTESI (O CONTROLLO)
6.1-UN QUADRO GENERALE
Nel problema del controllo abbiamo prima di tutto un sistema dinamico lineare invariante
() (),
in cui siamo in grado di dire chi è l’ingresso del sistema e chi è la sua uscita
() ()
dove e sono variabili reali concrete, cioè hanno un significato.
()
Ad esempio, se il sistema fosse un motore elettrico potrebbe essere la tensione che si
()
applica al motore e potrebbe essere la velocità angolare di quel motore, mentre se il
()
sistema fosse un sistema economico, potrebbe essere uno stimolo all’economia
()
(finanziamenti,…) e potrebbe essere l’incremento occupazionale che il sistema subisce.
Abbiamo poi un modello del sistema, che può essere una funzione di trasferimento,
un’equazione differenziale, una risposta impulsiva o un qualsiasi legame formale tra lo
stimolo che si applica e la reazione che si osserva.
Abbiamo poi un’uscita desiderata, che nel gergo della disciplina è nota come Riferimento
(), ed è in un certo senso l’obiettivo del controllo: si vuole trovare quel segnale in
() ().
ingresso che fa sì che l’uscita sia
Bisogna considerare poi un componente non favorevole ma sempre presente, e cioè i
Disturbi: si tratta di altri ingressi che non vengono applicati da colui che applica il giusto
ingresso e quasi mai sono favorevoli. I disturbi vanno compensati e nel contesto teorico
supporremo di conoscere i disturbi per contrastarli, ma nella realtà è più difficile
quantificare il disturbo per contrastarlo.
Ad esempio, nella progettazione di un pilota automatico di un Boeing, il disturbo potrebbe
essere un vuoto d’aria (zona in cui la densità dell’aria è bassa) a causa del quale l’aereo
scende molto di quota.
Un altro esempio potrebbe essere il fatto che il governo stimava per il 2022 una crescita del
PIL del 5% ma, a causa del disturbo della guerra in Ucraina, la crescita del PIL può
raggiungere massimo il 2%.
Noi calcoleremo l’ingresso basandoci sul modello ma dovremo poi applicarlo al sistema: se
si ha una descrizione del modello che non è sufficientemente fedele, la politica di controllo
non potrà avere l’effetto sperato.
6.2-LA POLITICA DI CONTROLLO: COME ADOTTARE QUELLA CORRETTA (SISTEMA DI
RETROAZIONE)
Si consideri il seguente sistema:
() ()
()
Modello
() ≔ =
() = ℒ[()]
()
() = ()()
Si potrebbe pensare di imporre che l’uscita sia proprio quella che si desidera:
() = ()
Se così fosse: () = ()()
−1 ()() (∗)
() = → è
Tutto ciò non va bene per tre motivi che sono la non fisica realizzabilità, la presenza di
disturbi e le discrepanze sistema/modello:
• Noi sappiamo che per la condizione di fisica realizzabilità:
()
() = >
()
Per come abbiamo scritto: ()
−1 ()
= ()
Dovremmo quindi costruire un oggetto che ha più zeri che poli, oggetto che non è
fisicamente realizzabile.
• Nella formula non sono considerati i disturbi, l’ingresso considerato non può in alcun
modo compensare il disturbo, per cui il sistema risponde al disturbo come se
l’ingresso non ci fosse e quindi, se il sistema è lineare, ci troveremo la somma
dell’uscita dovuta a questo ingresso (che in linea di principio dovrebbe essere proprio
l’uscita desiderata) e dell’uscita dovuta al disturbo :
() = () + ()
• ()
Noi sappiamo che è la funzione di trasferimento del modello e stiamo andando
ad applicare l’ingresso (calcolato sulla base della conoscenza del modello) al sistema
che non ha esattamente questa funzione di trasferimento ma può avere una funzione
di trasferimento un po' diversa oppure potrebbe avere delle non linearità per cui non
è definito proprio il concetto di funzione di trasferimento.
In realtà c’è un’ulteriore ragione di fondo per cui questo ragionamento proposto non può
funzionare. La illustreremo tramite un esempio.
Si consideri di essere su una pista di 3km di un aeroporto con la propria automobile: all’inizio
si è all’inizio della pista e alla fine della pista c’è un punto di riferimento e bisogna andare
dritti verso questo punto di riferimento.
Allora si accende il motore dell’auto, si allinea la macchina con la pista, si mette la marcia, si
parte e si immagini di chiudere gli occhi: si arriva alla fine della pista in corrispondenza del
punto di riferimento? Probabilmente no, dato che senza un contatto visivo non terremmo
ferme le mani sul volante, oppure le ruote non sono perfette e tirano da un lato, oppure
potremmo non aver allineato bene la macchina all’inizio,… .
Quello che è mancato è stato il fatto che non è stato possibile avere un riferimento visivo
(dati gli occhi chiusi) e quindi quando la macchina ha iniziato a deviare dalla traiettoria non
c’è stata possibilità di accorgersene e quindi di compensare il disturbo.
Quindi, in definitiva, quello che manca nella politica di cui abbiamo discusso in questo
() ().
paragrafo è un confronto istante per istante tra uscita vera e uscita desiderata
Dovremo quindi trovare una politica di controllo che non dipende solo dall’obiettivo da
raggiungere ma anche da come sta evolvendo il sistema.
Arricchiamo quindi lo schema che stiamo considerando e davanti al Sistema metteremo un
oggetto che chiameremo Controllore: quest’oggetto implementa l’inversa della e quindi
−1 ()().
()
ha come stimolo l’uscita desiderata e tira fuori come uscita il prodotto
Ci troviamo di fronte però ai problemi che abbiamo citato e quindi che il sistema non è
soggetto solo a questo stimolo, ma anche ai disturbi, e inoltre non ha una funzione di
(), ()
trasferimento ne avrà una più o meno simile ma non esattamente e di
() ():
conseguenza l’uscita non è l’uscita desiderata
La soluzione al problema è estremamente semplice (equivale a tenere gli occhi aperti
mentre si guida): l’oggetto che abbiamo definito Controllore e che alimenterà il sistema non
dovrà conoscere solo l’uscita desiderata, ma anche l’uscita attuale (l’uscita vera) e
confrontare le due uscite. Solo dal confronto tra l’obiettivo che si vuole raggiungere e lo
stato attuale del sistema si può determinare una politica di controllo efficace: questo
perché se ci fosse un disturbo, lo si vede, lo si confronta con l’uscita desiderata e si pongono
azioni correttive. () = ⋯
Da questo momento in poi l’obiettivo non sarà scrivere perché non funziona (lo
potremo fare alla fine), ma l’obiettivo sarà costruire un altro sistema, che è appunto il
() (),
Controllore (o Regolatore) che, dalla conoscenza di e dovrà generare l’ingresso
()
del sistema ())
Uno schema dell’idea (ancora fallace perché considereremo appena enunciata può
essere quello che verrà illustrato.
() ()
Avremo il sistema con e poi costruiamo il sistema Controllore che deve conoscere
() ():per ()
da una parte il Riferimento e dall’altra l’uscita vera individuare andremo
()
a misurarla alla fine del sistema e la riportiamo al primo sistema. L’uscita del
controllare sarà l’ingresso del sistema originario.
In questo modo abbiamo qualche possibilità in più che le cose funzionino e questo perché
se stiamo misurando l’uscita vera del sistema, allora il controllore si può accorgere del fatto
che l’uscita vera non è quella desiderata e può prendere delle azioni correttive (cosa che
prima il controllore non poteva fare dato che ragionava ad occhi chiusi: infatti considerava il
() () ()
Riferimento e dai calcoli che faceva portava al fatto che applicato alla dava
una certa uscita e poi finiva tutto lì). Ora il controllore conosce l’uscita del sistema vero e
quindi conosce anche l’effetto dei disturbi dato che quando si misura l’uscita si misura
un’uscita disturbata; il controllore conosce anche l’effetto degli errore del modello perché
quando si va a misurare l’uscita, si tratta dell’uscita del sistema vero e quindi non è più
basato sulla conoscenza del modello, ma anche sulla misurazione dell’uscita del sistema
reale.
Lo schema seguente viene indicato con Feedback o Retroazione (Feed: alimentazione, Back:
all’indietro): il sistema che genera il controllo è alimentato portando indietro rispetto al
verso delle frecce il valore dell’uscita. ()
MISURAZIONI
Il controllore può essere sottoposto a dei vincoli, nel senso che può dover obbedire.
Ad esempio, al fatto che non si può tirare fuori un ingresso troppo grande:
|()| ≤
Vediamo ora come costruire il Controllore e che tipo di sistema è.
Il Controllore deve essere un Sistema Lineare (presupponendo che il sistema da controllare
sia lineare)? In linea generale no, e a sostegno di tale risposta è possibile citare il fatto che il
controllore più comune al mondo, che è il classico termostato delle abitazioni, non è un
sistema lineare, ma è un sistema non lineare anche abbastanza complesso da studiare (ma
non è detto che la non linearità implichi una maggiore difficoltà nella sua costruzione).
Se volessimo un controllore lineare come termostato di casa si potrebbe fare, ma sarebbe
più costoso e sarebbe composto di più parti (e sarebbe quindi meno robusto).
Siccome gli strumenti matematici di cui si fa utilizzo per la materia sono abbastanza limitati,
come scelta convenzionale porremo il vincolo per il quale il controllore sia un sistema
lineare.
Lo schema a cui faremo riferimento è quello che segue, simile a quello già mostrato ma più
dettagliato. Abbiamo sempre il nostro sistema di cui conosciamo la funzione di
()
trasferimento (ricordando sempre che è un modello del sistema, con tutte le
imperfezioni che può avere). Anche il controllare sarà lineare e avrà una funzione di
().
trasferimento ();
L’uscita del sistema principale sarà la variabile che interessa controllare e cioè il
()
controllore guiderà/alimenterà il sistema generando l’ingresso del sistema sulla base di
un’informazione che abbiamo detto essere costituita dall’uscita vera e dall’uscita desiderata.
Lo schema che solitamente si adotta e funziona è quello che prevede un nodo sommatore
(dei nodi sommatori ne abbiamo parlato quando abbiamo considerato i sistemi in parallelo)
()
che da una parte riceve come ingresso l’uscita desiderata e d’altra parte riceve una
misurazione, resa possibile grazie a dei sensori: misuriamo l’uscita e la portiamo al nodo
sommatore con segno negativo. L’uscita dal nodo sommatore sarà la differenza tra l’uscita
desiderata del sistema e l’uscita reale del sistema (i sensori non cambiano la forma del
segnale): () ≔ = () − ()
() = 0 ∀
Il nostro obiettivo sarebbe idealmente che significherebbe che l’uscita del
sistema è proprio pari all’uscita desiderata, ma ciò da una parte può essere oneroso da
ottenere e d’altra parte non è detto che sia sempre la cosa più giusta. Ci accontenteremo
() ≅ 0
quindi di un obiettivo più realistico secondo cui e cioè l’uscita vera deve essere
circa pari all’uscita desiderata. ()
A questo punto conosciamo la funzione di trasferimento del sistema, la funzione di
trasferimento del controllore, la funzione di trasferimento dei sensori (i sensori devono fare
solamente una misura, non devono cambiare nulla e quindi l’uscita del sensore dovrà essere
pari all’ingresso del sensore (ciò che cambierà sarà la natura fisica del segnale, e quindi
solitamente la natura di questa funzione è pari ad 1).
Consideriamo però il caso più generale e indichiamo la funzione di trasferimento dei sensori
con: () ≔
Se chiudiamo tutto ciò che abbiamo considerato in una “scatola” avremo come ingresso di
() ().
questa scatola il riferimento e come uscita La funzione di trasferimento che
collega questi due parametri dobbiamo ricavarla, risolvendo quello che è lo schema di
retroazione.
Prima di risolvere lo schema di retroazione precisiamo che ancora lo schema non è
completo perché non prevede ancora i disturbi. Cominciamo dalla fine dello schema, che ci
dice che l’uscita del sistema in retroazione (quindi di quello che c’è nella grande scatola) è la
()
stessa uscita del sistema che ha come funzione di trasferimento quindi sarà
sicuramente possibile scrivere che: () = ()()
()
Poi vediamo che è l’uscita del controllore, che è anch’esso un sistema lineare
().
sottoposto ad un ingresso indicato con Allora:
() = ()() = ()()()
Guardando al nodo sommatore e considerando come uscita misurata, possiamo scrivere
che: (() ())
() = ()() = ()()() = ()() ∙ −
Sappiamo che l’uscita misurata è l’uscita dei sensori, che abbiamo detto hanno una funzione
()
di trasferimento e in tali sensori entra proprio l’uscita.
(() ()) (()
() = ()() ∙ − = ()() ∙ − ()())
().
A questo punto, l’unica cosa che non si conosce è l’uscita
Dobbiamo quindi risolvere l’espressione ricavata rispetto all’uscita:
() + ()()()() = ()()()
() ∙ + ()()()) = ()()()
(1 ()()
() = ()
1 + ()()()
()
La funzione di trasferimento in blu la indicheremo come e prende il nome di Sensitività
Complementare: ()()
() = ≔ à
1 + ()()()
Prende questo nome perché vedremo che ci sarà un’altra funzione di trasferimento, per
certe cose anche più importante, che si chiamerà Sensitività. A questo punto conosciamo il
legame che esiste tra l’uscita vera e l’uscita desiderata.
Dimostriamo che la funzione ricavata è una funzione razionale, sotto l’ipotesi semplificativa
() = 1.
(giusto per scrivere di meno) per cui Allora:
()
()
() ()
∙ ()
()
()
() () ()
() = = =
() () () () ()
+ () () () ()
+ ()
1+ ∙
() () ()
()
() ()
Qual è il grado di e cioè il grado del suo polinomio al denominatore? La funzione
avrà un polinomio numeratore di grado e un polinomio al denominatore di grado e
()
allo stesso modo avrà un polinomio numeratore di grado e un polinomio al
denominatore di grado . Abbiamo sempre portato avanti l’ipotesi secondo cui il grado del
numeratore è sempre minore del grado del denominatore (condizione di fisica realizzabilità)
e quindi: < <
In realtà, sul controllore si tollera (anche se non proprio corretto) che:
≤
E allora: () () () ()
è + ?
() ()
+
Il prodotto dei due polinomi avrà grado e al fine del calcolo del grado
() ()
del denominatore complessivo, il termine non avrà rilevanza dato che
quest’ultimo polinomio avrà grado sicuramente minore.
Abbiamo scritto prodotti e rapporti di polinomi e quindi la Funzione di Sensitività
(),
Complementare come tutte le altre funzioni di trasferimento, è un rapporto di
polinomi (funzione razionale). () ≠ 1
Si lascia dimostrare allo studente la stessa cosa non supponendo che e cioè che
sia una funzione razionale anch’essa (rapporto di un numeratore e denominatore):
()
() = ()
()
La funzione viene anche detta Funzione di Trasferimento a Ciclo Chiuso: questo
perché, osservando lo schema che abbiamo tracciato, si viene a creare un ciclo e infatti
entra il Riferimento, passa dal nodo sommatore, diventa il segnale di errore, diventa il
segnale di controllo, diventa l’uscita ma poi l’uscita viene ripresa e rimandata indietro.
()
Il prodotto di tutte le funzioni di trasferimento che ci sono sul ciclo viene chiamato
Guadagno di Anello o Loop Gain: () = ()()()
() = 1:
Se ()
() = 1 + ()
Vediamo ora quali altre funzioni di trasferimento è possibile individuare all’interno dello
schema che stiamo considerando: fino ad ora abbiamo parlato solamente della funzione di
(()).
trasferimento che lega il Riferimento con l’uscita Vediamo ora il legame tra il
() ().
Riferimento e l’errore
Scriveremo che: () = () − ()
()
Dato che è l’uscita del sistema principale, possiamo scriverla come il prodotto della
funzione di trasferimento per l’ingresso del sistema:
() = () − () = () − ()() = () − ()()()
Allora: [1
() ∙ + ()()] = ()
1
() = ()
1 + ()()
Individuiamo quest’altra funzione di trasferimento: il legame che c’è tra il Riferimento e
l’Errore di Inseguimento prende il nome di Funzione di Trasferimento Sensitività:
1
() = ≔ à
1 + ()()
()
Perché la abbiamo chiamata Sensitività Complementare?
Questo perché: 1 ()() 1 + ()()
() + () = + = =1
1 + ()() 1 + ()() 1 + ()()
Per questo motivo valgono le relazioni:
() = 1 − ()
() = 1 − ()
():
Facciamo ora ragionamenti sul grado di ()
1 1 ()
() = = =
() () () () ()
1 + ()() + ()
1+ ∙
() ()
Ma ricordiamo che: ()
()
() = () () ()
+ ()
Quindi Sensitività e Sensitività Complementare hanno lo stesso denominatore, il che
significa che ed hanno gli stessi poli.
Abbiamo già detto che a volte, in un problema di controllo, ci sono dei vincoli che vogliono
esprimere, ad esempio, che il segnale di controllo non sia troppo forte (perché, ad esempio,
generare un segnale troppo forte può costare tanto). Analizziamo ora il legame tra il
() ().
Riferimento ed il Segnale di Controllo
Allora: () = ()() = ()(() − ()) = ()(() − ()())
Quindi: () ∙ + ()()) = ()()
(1
()
() = () = ()()()
1 + ()()
Non si ha una lettera standard per indicare la funzione di trasferimento che prevede il
()
legame tra Riferimento e Segnale di Controllo; utilizzeremo la notazione e la funzione
prende il nome di Sensitività del Controllo:
()
() = = ()() ≔ à
1 + ()()
6.3-STABILITA’ DI UN SISTEMA IN FEEDBACK (O RETROAZIONE)
Abbiamo analizzato quindi le diverse funzioni di trasferimento e ora, nonostante sembri
naturale pensarlo, bisogna precisare che il controllore sia stabile e quindi la prima cosa che
il controllore deve garantire è che le funzioni di trasferimento ricavate siano stabili.
Mostriamo subito che non si tratta di un qualcosa scontato o banale; prendiamo un sistema
molto semplice: 1
() = &minu
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Controlli Automatici
-
Controlli Automatici - Appunti
-
Controlli automatici 2
-
Controlli automatici