Indice
- Lezione 1 introduzione (pagina 2)
- Lezione 2 (pagina 8)
- Lezione 3 (pagina 23)
- Lezione 4 (pagina 45)
- Lezione 5 (pagina 61)
- Lezione 6 (pagina 78)
- Lezione 7 (Lezione 1 Word CA-Matlab)
- Lezione 8 (pagina 92)
- Lezione 9 (Lezione 2 Word CA-Matlab)
- Lezione 10 (pagina 109)
- Lezione 11 (pagina 126)
- Lezione 12 (Lezione 3 Word CA-Matlab)
- Lezione 13 (pagina 145)
- Lezione 14 (pagina 163)
- Lezione 15 (Lezione 4 Word CA-Matlab)
- Lezione 16 (pagina 184)
- Lezione 17 (pagina 198)
- Lezione 18 (Lezione 5 Word CA-Matlab)
- Lezione 19 (pagina 216)
- Lezione 20 (pagina 230)
- Lezione 21 (Lezione 6 Word CA-Matlab)
- Lezione 22 (pagina 250)
- Lezione 23 (Lezione 7 Word CA-Matlab)
- Lezione 24 (Lezione 8 Word CA-Matlab)
Lezione 1
Rivedere i criteri di:
- Stabilità
- Funzioni e sintesi di trasferimento nel dominio di Laplace
- Risposta indiciale
L'obiettivo dei controlli automatici è quello di far funzionare un qualsiasi dispositivo o processo che sia di interesse in maniera desiderata e che ciò avvenga senza l'intervento di un essere umano. Possiamo immaginare i controlli automatici attraverso una hidden technology che doti il processo di una capacità che gli permetta di comportarsi in modo smart. C'è di norma uno strato di intelligenza che permette il comportamento smart dell'oggetto.
Quando pensiamo ad oggetti capaci di lavorare in modo autonomo, di norma si pensa a delle tecnologie di punta come robot e droni in cui il controllo è nel dispositivo stesso; il controllo non è però legato solo a queste tecnologie ma è più distribuito. C'è del controllo automatico anche, ad esempio, negli ascensori, nel forno; quando alziamo la temperatura e così via. Possono funzionare automaticamente sia i dispositivi che i processi, si può pensare ad esempio a una catena di produzione industriale o al controllo di una centrale nucleare dove si mantengono determinati parametri di controllo per il nucleo, ecc.
Sono presenti controlli automatici anche, ad esempio, nelle sonde inviate nello spazio ma anche nella vita quotidiana come negli elettrodomestici o nei mezzi di trasporto; ad esempio, in un aereo il pilota prenderà il controllo del volo soltanto in determinate condizioni o in determinate fasi del volo.
Il controllo, spesso concepito come una tecnologia di punta oppure un approccio puramente teorico, entra invece nel vivo della vita quotidiana. Un esempio di controllo automatico presente all'interno delle auto è l'ABS che permette l'antibloccaggio delle ruote. Il controllo deve essere in grado di regolare la frenata in un ambiente incerto, deve quindi essere robusto rispetto all'incertezza esterna; robusto rispetto al contesto.
I controlli rispetto alle IA si differenziano perché nelle IA viene usato un processo decisionale di alto livello data driven che si basa sulla capacità di elaborare una grande mole di dati, il controllo invece è guidato da modelli formali a bordo che sfugge dall'IA. Se si sta ad esempio chiudendo un sistema di controllo su una auto o un volo, la decisione deve essere basata su dati elaborati al millisecondo. Questo significa che anche dove sono presenti sistemi di IA c'è necessità di controllo di più basso livello come quello fornito dai controlli automatici; se in una auto non vengono catturati i dati della velocità al millisecondo, la frenata potrebbe risultare inefficiente e portare a un incidente.
Nelle tecniche di tipo machine learning può cambiare l'obiettivo che può andare dal classificare le informazioni al controllo. La base dei controlli è comunque model based in quanto i controlli hanno bisogno non solo di vedere che funzioni ma anche di dimostrare che sia possibile arrivare al goal e controllare il suo raggiungimento. Negli approcci IA la verifica dell'algoritmo può essere più complessa perché alcuni algoritmi si possono basare su approssimazioni euristiche. Il machine learning lavora in ottica totalmente data driven mentre il controllo può essere ibrido usando pezzi data driven come reti neurali ad esempio all'interno di una struttura model based ancora incentrata su funzioni.
Hidden technology
Per dominare la realtà, bisogna organizzare una zona di algoritmi o leggi che permettono di governare la realtà e che siano verificabili. Per poter governare la realtà bisogna creare un modello della realtà che si vuole governare, per fare ciò bisogna andare a individuare caratteristiche della realtà che si vuole rappresentare.
Un modello è riuscire a dare una rappresentazione semplificata della porzione di realtà che si vuole rappresentare. Nei controlli il concetto di modello è stay simple, cioè cogli solo le dinamiche che ti serve rappresentare. Se ad esempio volessi modellare il comportamento di una valvola, non mi interessa andare a modellare il movimento di ogni singola particella di acqua ma soltanto di una legge che mi permetta di poter rappresentare la dinamica del flusso nel suo insieme. Useremo sempre modelli ODE (Equazioni differenziali ordinarie).
Il controllo che intrinsecamente applichiamo di norma è però un controllo non lineare. L'analisi è fondamentale perché mi permette in prima battuta di capire se un controllore funziona o meno; se qualcosa non va bene, l'analisi mi permette di avere un feedback che mi permette di poter controllare il funzionamento. Il controllo del funzionamento del controllore è possibile farlo anche attraverso degli emulatori.
- Spazio di stato sfrutta equazioni differenziali ordinarie
- Potremmo lavorare nel dominio della frequenza jw, o nel dominio del tempo o ancora al calcolatore
Per quanto riguarda l'analisi arriveremo a fare un tipo di analisi qualitativa (approx), cioè a spanne; è necessario andare a capire quali sono le qualità del controllore ed imporgli un comportamento. Un altro tipo di analisi che andremo ad approfondire sarà un'analisi di tipo numerico con l'uso di tool come Matlab e Simulink o ancora un'analisi di tipo laboratoriale e teorica (analitica cioè il comportamento che voglio avere è dimostrabile attraverso un processo formale con ipotesi che si possono dimostrare).
Concetto di retroazione (feedback)
Consideriamo un veicolo come può essere una macchina, in questo caso ho che ad un input corrisponde un output (ad una causa corrisponde un effetto), nel caso di un progettista l'output che si vuole avere in uscita sarà un output prestabilito y a fronte di un input fissato u e ciò può essere fatto attraverso un sistema di controllo che nell'esempio considerato ci dice come dovrà essere manipolato il motore. Per capire se quanto progettato funzioni è necessario il feedback che permette di poter valutare ad esempio attraverso sensori il risultato ottenuto. In base al feedback il controllore prenderà una decisione e porterà la y di uscita in entrata (yd).
In generale il controllo lavora sempre in questo modo indifferentemente da ciò che si intende controllare che prenderà il nome di plant (sistema da controllare in generale). Il controllo viene sempre messo in retroazione; il controllo è inteso come un insieme di algoritmi capaci di governare il sistema al fine di fargli ottenere un risultato desiderato. Il comando viene esercitato dal controllo sul sistema attraverso degli input.
Il controllo funziona in tempo reale ma quando viene cablato sul dispositivo dovrà essere capace di leggere la misura e prendere una decisione. Il controllo si occupa di scegliere i sensori e le misure del sensore da una suite di sensori del quale il dispositivo si può comporre. Le performance ottenibili sono legate ai costi in quanto montare un sensore nella realtà costa, perché mettere un sensore a bordo di un dispositivo inciderà sul costo del sistema finale sia per l'applicazione del sensore, sia per la sua manutenzione o ancora della logica che si occuperà del funzionamento del sistema. Non è necessario sempre lavorare al top ma è importante scegliere la funzione ad hoc per esibire un comportamento corretto all'ambiente di lavoro. Ad esempio i sensori di cui sarà dotato un forno domestico o un alto forno industriale saranno diversi.
Sistema di retroazione a ciclo chiuso
Il controllo con sensori ed attuatori crea proprio un anello intorno al sistema; prendo l'uscita e la riporto in testa per generare il comando, sistema feedback (mi mangio la coda). La retroazione è il punto cardine dei controlli. L'attuazione dipende dall'ambiente da controllare, invece il controllo no, l'algoritmo da adoperare all'interno del controllore può essere scelto da delle famiglie di algoritmi atti a domare un dato modello di realtà. Anche le reti sociali come sono ad esempio i social network possono essere modellate da un controllore.
Esistono altri schemi di controllo oltre l'anello chiuso (feedback) come ad esempio è il controllo ad anello aperto (feed forward). L'idea alla base dell'anello aperto è quella di avere un sistema ed un controllo che comanda il sistema con un dato comportamento e non vi è retroazione. In un approccio teach learn, so che se voglio raggiungere un dato comportamento devo dare un dato comando; è un approccio molto semplice del tipo teach + learn che però non dà informazioni al sistema riguardo il raggiungimento di un dato target.
In questo caso l'azione di controllo si dice essere cieca. Il vantaggio di questo sistema è la semplicità che sta nel fatto che una data azione si basa su un set di regole. Il fatto di non sapere se l'uscita (y) ha raggiunto il goal, bound di uscita (yd), viene ad essere adoperato lì dove non ci sono delle prescrizioni sul controllo; questo approccio si configura naturale per alcune classi di sistemi che non necessitano di una regolazione precisa e del conoscere se in un dato istante è stato raggiunto precisamente il target. Un altro svantaggio di questo sistema è la non robustezza ai disturbi (non riesce a mantenere il risultato prestabilito a fronte di eventi esterni), non avendo informazioni su ciò che accade in questo sistema non si possono andare a controbilanciare vantaggi dovuti all'environment. Sistemi a ciclo aperto risultano essere economici e vengono adoperati quindi lì dove gli svantaggi non risultano essere limitanti rispetto all'ambiente di lavoro. Questa classe di controllori per quanto semplici non mi assicura un punto cardine dei controllori e cioè quello di garantire il funzionamento in ogni condizione di lavoro.
Passi fondamentali per progettare un controllore
- Creare un modello che mi dia idea di quali siano le variabili che voglio modellare e come il variare di una influisca sulle altre. Questo modello può essere strutturato con eq. oppure lineare o ancora black box (data driven).
- Analisi a ciclo aperto cioè faccio un'analisi del sistema come se il controllore non ci fosse. Una volta descritto il modello vado a vedere se funziona al variare del comando dato e ne evidenzio le proprietà.
- Sintesi, si sceglie una legge di controllo, la classe di algoritmi e i parametri al suo interno.
- Validazione che può essere numerica attraverso la simulazione o ancora sperimentale. In generale le analisi per la sintesi dei controllori sono fatte da tante simulazioni e pertanto potranno essere:
- SIL software in the loop -> scelgo un modello semplificato per il controllo in grado di darmi dettagli sulla realtà idonei alla rappresentazione. Una volta sintetizzato il controllore devo andare a vedere se mettendo l'oggetto reale il controllore funzioni ancora, questo perché è stato testato con un oggetto semplificato.
- HIL hardware in the loop -> ho una parte emulata ed una parte implementata; ho ad esempio un software sviluppato secondo i requisiti e lo vado a mettere sull'hardware dove girerà il controllo (hardware target) ed emulo tutto il processo del sistema. Possono essere elementi anche molto semplici come interruttori.
- MIL model in the loop -> posso utilizzare diverse classi di modello nel loop che mi permette di modellare il sistema.
- On the field -> prendo l'hardware e lo carico sull'oggetto da testare. Spesso si eseguono diverse prove a un livello differente ad esempio prima in laboratorio e poi in condizioni simili alla realtà fino ad arrivare alla realtà vera e propria.
Il controllo in ogni istante di tempo misura o recepisce la misura ma attua (comanda) e calcola. Questi passi devono essere sempre risolti in real time. Il controllo è fatto nella sua accezione classica per girare in tempo reale che dipende dalla scala di evoluzione del processo che possono essere processi safety critical come ad esempio il controllo di un drone in volo che ha scale di tempi molto piccoli al ms o processi ad esempio chimici che invece hanno scale di tempi più alti legati ai singoli processi.
In generale tra tutte le soluzioni possibili va scelta quella che in modo più semplice mi permette di risolvere il processo; stay simple introduce solo il livello di complessità che ti serve per la soluzione. Il controllo potrà essere reso più complesso dalle specifiche di controllo.
Specifiche di controllo
- Stabilità -> poter raggiungere la condizione desiderata; se sono stabile sono sicuro che prima o poi la mia uscita tenderà al mio desiderio. [y --> yd]
- Performance dinamiche (legate al concetto di transitorio) -> voglio raggiungere il mio target all'accensione se non è possibile nell'immediato il sistema deve poterci arrivare in un transitorio, y tenderà a yd in un certo tempo prescritto. Deve essere garantito un tempo di risposta prescritto (ts); questo significa bloccare il settle time (tempo di assestamento ts) ad un valore stabilito e garantire in generale delle proprietà della risposta come possono essere assenza o presenza di oscillazioni o ancora garantire che le sovraelongazioni percentuali non superino una certa quantità; tale concetto è molto importante rispetto all'hardware.
- Robustezza -> il controllo deve raggiungere gli obiettivi 1 e 2 anche in presenza di disturbi. I disturbi nei controlli rappresentano in genere tutti quegli ingressi non manipolabili, non comandabili; vanno ad esempio sotto il concetto di disturbo tutte le condizioni ambientali esterne come l'irraggiamento solare per un ambiente condizionato; altri disturbi possono essere considerati le dinamiche non modellate cioè quelle situazioni non considerate all'interno del modello semplificato fatto della realtà, quindi le dinamiche non modellate non devono alterare il corretto funzionamento del nostro sistema, il controllore non deve quindi sentirne il loro peso. Accanto alle dinamiche non modellate c'è l'errore che può essere caratterizzato in modo stocastico dandone un'idea quantitativa.
Lezione 2
Possiamo avere diversi sistemi da controllare nel caso si lavori in anello aperto la parte di controllore lavora in un'ottica di chain learn cioè dato un comportamento desiderato (u) y viene comandato al fine di ottenere y.
Un sistema più performante è quello che considera sempre il sistema in esame ma riporta l'uscita in ingresso al controllore. Se y non ha il comportamento che voglio ottenere questo viene portato nuovamente al controllore. Questo significa che il controllore ha un'idea, è capace di valutare istante per istante lo scostamento tra quanto si vuole ottenere ed invece si ottiene.
Il controllore è in tutti e due gli schemi posizionato a monte dell'impianto. L'unica differenza sta nell'azione di controllo che nell'anello aperto è cieca non è quindi in grado di capire istantaneamente l'effetto che ha sull'impianto il comando dato.
L'obiettivo dell'azione di controllo è fare in modo che l'uscita del sistema da controllare segua un riferimento desiderato a prescindere dai disturbi che agiscono dall'esterno e dalle variazioni dei parametri. Su un sistema l'ingresso (Segnale 1) è un ingresso manipolabile cioè un ingresso che il controllo può influenzare o scegliere (comandare) ma sull'impianto possono agire anche altre tipologie di ingressi non manipolabili nel senso che influiscono sul comportamento del sistema ma che non posso influenzare attraverso il controllo; prendono il nome di ingressi esogeni e possono essere considerati come un disturbo. Un esempio può essere considerato l'irraggiamento solare in un ambiente condizionato.
Dal punto di vista del controllo gli ingressi esogeni si iniettano nel processo e si vanno ad aggiungere o a sottrarre al processo e per questo prendono anche il nome di variabile additiva. In casi più complessi i disturbi possono interallacciarsi con un legame più intenso con il sistema e non possono essere risolti con una semplice addizione.
Ci sono degli aspetti dei quali bisogna preoccuparsi che rappresentano delle specifiche per il controllo e sono:
- Stabilità -> capacità di raggiungere l'obiettivo desiderato yd. Devo fare in modo che l'impianto sotto l'azione di controllo garantisca la possibilità che y vada proprio a diventare yd.
- Precisione dinamica (performance dinamica) -> intesa in termini di qualità del transitorio; non conta solo che venga raggiunto l'obiettivo ma che venga raggiunto a regime, cioè dopo aver acceso il dispositivo in un certo tempo y raggiunga yd e lo mantenga; voglio anche stabilire come venga raggiunto yd ad esempio definendo una specifica temporale (tempo di assestamento).
- Robustezza -> il sistema controllato deve possedere tutte le qualità richieste nonostante disturbi e variazioni dei parametri.
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 MATLAB (Parte Pratica)
-
Appunti Controlli automatici 1
-
Appunti Controlli Automatici
-
Appunti Controlli automatici 2