Estratto del documento

Università della Calabria

Dipartimento di ing. meccanica, energetica e gestionale

Appunti del corso di controlli automatici

Piofrancesco Barone

Teoria: Prof. Giuseppe Franzè - Ingegneria Energetica

Esercitazioni: Ing. Gianfranco Gagliardi - A.A. 2020/2021

Ottobre - Pagina 15

Ottobre 2020 (esercitatore Gagliardi)

Contatti

Lunedì 5 ottobre 2020 08:30

Ing. Gianfranco Gagliardi

Studio: cubo 42/C momentaneamente al terzo piano

Email: g.gagliardi@dimes.unical.it

Richiami sui numeri complessi

Denotiamo l'unità immaginaria j: Possiamo definire di conseguenza l'insieme dei numeri immaginari:

Ovvero l'insieme dei numeri che si ottengono moltiplicando l'unità immaginaria j per qualsiasi numero reale v.

È possibile definire un generico numero complesso z come la somma di due componenti: una parte reale e una parte immaginaria.

Si utilizza inoltre una rappresentazione grafica dei numeri complessi su un piano cartesiano, dove l'asse delle ascisse rappresenta l'asse reale, mentre l'asse delle ordinate quello immaginario.

Con M indichiamo il modulo del numero complesso, con φ la sua fase.

Data la generica definizione di numero complesso, un numero reale non è altro che un numero complesso con parte immaginaria nulla:

Da ciò si deduce che: Dato un numero complesso z, è possibile definire il suo coniugato, che indicheremo con z':

Proposizione: Dato un numero immaginario , vale la seguente relazione:

Esponenziale immaginario

L'esponenziale del numero immaginario è un numero complesso che ha come parte reale il cosφ e come parte immaginaria il senφ. Di conseguenza, oltre alla rappresentazione cartesiana, possiamo denotare un qualsiasi numero complesso z attraverso la cosiddetta rappresentazione polare. Facendo dunque riferimento alla rappresentazione grafica precedente, si ha:

Il modulo indica l'ampiezza del vettore che rappresenta il numero complesso z. La fase indica l'angolo che il vettore che rappresenta il numero complesso z forma con l'asse reale. L'angolo è positivo se si misura in senso antiorario.

Noti M e φ, valgono le seguenti relazioni inverse:

In definitiva: Si definisce rappresentazione polare di un numero complesso l'espressione:

Per quanto riguarda il coniugato, avremo stesso modulo ma fase opposta:

Richiami sulle equazioni differenziali

In un'equazione differenziale compaiono la funzione incognita y(x) e le sue derivate. L'ordine massimo della derivata di y(x) individua l'ordine dell'equazione differenziale.

Esempi

Si utilizzerà la trasformata di Laplace per passare dal dominio del tempo al dominio delle frequenze per risolvere più facilmente tali equazioni.

Equazioni lineari differenziale del primo ordine

La soluzione generale sarà: Per tale motivo infinite soluzioni. Aggiungendo una condizione supplementare, chiamata condizione iniziale, riusciremo a definire un unico valore di c:

Introduzione a MATLAB

È un software che viene utilizzato sia in ambito accademico (per scopi didattici) ma soprattutto in ambito industriale per lo sviluppo di tecniche di controllo avanzate e di sistemi applicabili in campi molto complessi (automobilistico, aerospaziale, ecc.).

Viene utilizzato sia per svolgere "compiti matematici" complessi che per sviluppare algoritmi utilizzabili in contesti specifici, per acquisire dati reali registrati da sensori installati su sistemi oggetto di studio, per analizzare i dati acquisiti, per realizzare grafici sui dati elaborati, per realizzare interfacce grafiche, scenari simulativi, ecc.

Il programma si compone di due parti:

  • Ambiente di sviluppo, dove scriviamo i nostri programmi
  • Librerie, dove MATLAB mette a disposizione diversi strumenti per realizzare i nostri algoritmi. Le librerie sono raccolte nei toolbox del programma stesso.

Sul lato sinistro della schermata di MATLAB troviamo la directory di lavoro, la quale ci mostra tutte le cartelle presenti tra i documenti. All'interno della cartella di lavoro possiamo creare i nostri file di progetto o delle nuove sottocartelle.

Tasto destro -> new -> folder. La parte centrale della schermata è invece il command window, ovvero dove andiamo a inserire i comandi. Il risultato di un comando, se non è diversamente specificato, viene salvato dal software in una variabile chiamata ans.

Possiamo assegnare un valore ad una variabile, ad esempio: >> somma = 2+3. In tal modo non compare la scritta "ans", che è appunto un output di default che viene dato dal programma quando non viene assegnata alcuna variabile. Tutto ciò che viene scritto nella command window o nei file di progetto viene salvato nel workspace di MATLAB, facilmente visualizzabile sul lato destro della schermata principale.

Nel momento in cui dichiariamo una variabile che è una matrice, un vettore o una struttura dati, non visualizziamo un valore, ma solo l'etichetta (=il nome). Facendo doppio click sulla variabile, si aprirà una schermata dove verrà visualizzata una scheda con l'etichetta della variabile stessa e il suo valore.

Possiamo inoltre osservare tre schede sulla schermata principale:

  • Scheda home, al primo avvio di MATLAB, da qui si creano nuovi script (= nuovi fogli di lavoro)
  • Scheda plots
  • Scheda app, la quale dà accesso ai toolbox.

Alcuni comandi di base

>> dir (ci mostra il contenuto della cartella corrente in ordine alfabetico, è lo stesso comando utilizzato in Windows)

>> ls (come dir, ma è l'analogo utilizzato in Linux)

>> help (restituisce le informazioni relative all'ultimo comando digitato. Possiamo specificare subito dopo "help" il nome di una funzione che vogliamo utilizzare, magari se ne conosciamo il nome ma non il comando)

Esempio >> help sin. Sin Sine of argument in radians. Sin(x) is the sine of the elementi of x. Così facendo, capiremo quanti input dobbiamo dare alla funzione. MATLAB risponde di una command history.

Può capitare di riscrivere una serie di comandi e avere la necessità di utilizzarne uno già presente nel programma. Premendo la freccia su viene dato l'accesso a tutti i comandi precedenti.

>> clc (pulisce la command window)

>> clear (svuota il workspace)

>> clear variable (elimina la variabile desiderata)

>> pwd (indica il percorso del file di lavoro)

Environment -> set path -> add folder o add folder with sub folders. In questo modo potremo richiamare tutti i file e le funzioni presenti nelle cartelle (o sottocartelle) desiderate. MATLAB.

Alcuni comandi speciali >> realmax (restituisce il valore massimo rappresentabile dal programma)

>> realmin (restituisce il valore minimo rappresentabile dal programma)

>> inf (= infinito, es. 3/0)

>> NaN (= non-a-number, es. 0/0)

>> computer (restituisce il nome del computer con cui stiamo lavorando)

>> version (restituisce la versione del software con cui stiamo lavorando).

Tipi di dati supportati in MATLAB

MATLAB è (anche) un linguaggio di programmazione che si basa sulle matrici. Dichiarando ad esempio la variabile A=1, stiamo rappresentando una matrice di interi 1x1. Le matrici in MATLAB vengono chiamate array. All'interno di tali elementi possiamo salvare valori logici, caratteri numerici, strutture dati, celle, funzioni, ecc.

Per array numerici possiamo avere valori numerici a virgola fissa e valori numerici a virgola mobile: nei primi ricadono quei numeri rappresentabili come interi con segno e interi senza segno; nei secondi i numeri si definiscono di tipo single o di tipo double in base alla precisione richiesta per gli stessi (soprattutto in base all'hardware).

Esempio di programma

New script -> save (i file MATLAB hanno estensione .m, i fogli Simulink invece .slx). L'editor è una finestra dove poter scrivere il proprio programma per poi avviarlo con il comando run e visualizzare i risultati sulla command window.

Per scrivere un commento si usa %. I commenti sono evidenziati in verde.

%Esempio1
clear
clc
%%%%%%% %per suddividere il programma in più parti
a=2; %ogniqualvolta dichiariamo una variabile, è consigliabile utilizzare un punto e virgola, cosicché non compaia a video nella command window
b=2;
s=a+b %In tal modo si visualizza il risultato a video

Per dichiarare un vettore riga:
v1 = [1 2 3]; %vettore di tre elementi, matrice 1x3

Per dichiarare i vari elementi, si utilizza uno "spazio" oppure una virgola, come in questo modo: v1=[1,2,3];

Per dichiarare un vettore colonna invece:
v2=[1;2;3]; %vettore di 3 elementi, matrice 3x1

v2_1=[1 2 3]’ %trasposta del vettore

Per dichiarare un vettore si può altresì utilizzare questo operatore:
v3= 1:100 %in questo modo abbiamo dichiarato un vettore che va da 1 a 100; è un vettore riga

v3_1=(1:100)’ %vettore colonna con elementi che vanno da 1 a 100

v4= 0:5:100 %vettore riga con elementi da 0 a 100 a salti di 5

v5= linspace(0,100,10) %vettore con 10 elementi equispaziati che vanno da 0 a 100

v6=logspace(3,5,7) %vettore con 7 elementi equispaziati su scala logaritmica che vanno da 3 a 5

Ottobre Pagina 8

Libri di riferimento

  • "Fondamenti di controlli automatici" Bolzern, Scattolini, Schiavone.
  • "Automatic control systems" Kuo, Gol Naraghi.

Ricevimento: Cubo 42/C, 4 piano. Orario 11:30-13:30, Giovedì

Esame: La prova d'esame è una discussione orale. Nella discussione orale potrebbero esserci esercizi da fare (semplici).

Email: franze@dimes.unical.it

Introduzione ai controlli automatici

Per capire cosa tratteremo in questo corso, analizziamo la seguente situazione: ipotizziamo di dover utilizzare la nostra automobile per raggiungere una posizione desiderata, seguendo un certo tragitto da noi scelto. Questa operazione può essere astratta dalla realtà definendo un modello automobile-pilota, in cui l'obiettivo che ci si pone è partire da una posizione iniziale (ovvero dal punto in cui è parcheggiata la nostra macchina nell'istante di tempo iniziale t=0) per poi raggiungere una posizione finale. Nel fare questo, prima di salire sull'automobile, abbiamo scelto quale strada seguire. Abbiamo dunque ben chiaro il percorso da percorrere.

Il pilota, nella sua mente, immagina la strada da seguire, e, nell'istante t=0, fa una serie di azioni preparatorie alla partenza (premere freno e frizione, accedere il quadro, mettere la prima ecc.). Ipotizziamo ad esempio di spostarci dalla posizione 0 alla posizione 1, in un intervallo di tempo t=1. Per fare questo breve tragitto Δx, abbiamo fatto delle operazioni che ripetiamo continuamente, ma che per noi sono naturali. Arrivati a t=1, ripeteremo queste operazioni in modo continuo (cambiare marce, girare il volante in base alla curva da percorrere, ecc.), fino al raggiungimento dell'obiettivo a un certo istante t*.

Svolgiamo quindi delle operazioni di elaborazione, in base a ciò che vediamo con i nostri occhi. Il cervello le trasforma perciò in comandi da fornire al nostro corpo. Trasformiamo un'informazione in pixel (=fotografia fatta dagli occhi) in una forza da imprimere sul pedale dell'acceleratore o in un altro comando.

Noi cercheremo di far svolgere a un dispositivo qualsiasi questo genere di operazioni. L'automobile e il pilota, nel loro insieme, rappresentano infatti un sistema, un processo fisico. Se è un processo fisico, significa che noi possiamo definire un modello matematico che ne caratterizza il comportamento dinamico. Sia l'automobile che il pilota, quando vengono messi insieme e si muovono, mostrano un comportamento che varia al variare del tempo, in quanto può essere descritto da equazioni differenziali (in senso generale).

In questo corso ci occuperemo di processi fisici dinamici la cui evoluzione varia col tempo, che assumiamo essere continuo, cioè t appartiene ad R. Conseguentemente, abbiamo equazioni differenziali di tipo continuo. La curva di percorrenza della macchina rappresenta un segnale nel dominio del tempo, e tale segnale lo interpretiamo come il segnale di riferimento, denominato con r(t). È un segnale che già conosciamo: è l'obiettivo che vogliamo inseguire. Vorremmo che la nostra automobile seguisse l'andamento di r(t), che è un'applicazione da R in R. Ci troviamo nel dominio del tempo. Se volessimo imporre la temperatura all'interno di una stanza in maniera costante, ad esempio a 20°C, il segnale di riferimento sarebbe costante (quindi parallelo all'asse dei tempi).

Gli occhi rappresentano i sensori, che possono essere di varia natura. I sensori raccolgono le informazioni. I sensori effettuano dunque delle misure. Quindi y(t) è la misura, altrimenti chiamata uscita o variabile misurata. Non vi è alcuna possibilità di agire, tranne se non interveniamo sul sensore stesso. L'ipotetico controllore può solo usare questa informazione, non può agire in alcun modo su di essa.

Sulla base di questa variabile misurata, abbiamo manipolato y(t) (=fotografia fatta dagli occhi) in maniera tale che poi gli arti possano agire su freno, sterzo, ecc., ovvero svolgere dei comandi. Questi si chiamano variabili di controllo. Sono quelle azioni su cui il pilota può agire. Abbiamo in generale tre tipi di variabili per ogni processo fisico: obiettivo, misura e variabili di controllo.

Il cervello rappresenta il controllore, ovvero colui che sulla base di alcune informazioni (=modello matematico che ha a disposizione) elabora i dati e applica i comandi.

Vogliamo mettere insieme controllore, processo e comandi in un unico schema: Condizione di quiete: tutte le variabili coinvolte nel processo sono identicamente nulle e tali rimarrebbero se, in qualche istante di tempo, qualcuno non le modificasse esternamente (=perturbazione, ovvero una delle variabili di controllo cambia).

Il processo riceve in input la variabile di controllo u(t), che appunto serve per perturbare il processo. Dopo che il processo evolve, sappiamo che i sensori osservano cosa succede allo stesso. L'output del processo sono dunque le variabili misurate.

La variabile misurata va manipolata, ovvero va mandata al controllore. Le variabili che decidiamo di applicare al processo sono l'uscita del controllore. Quest'ultimo infatti deve essere posto prima del processo e del relativo modello matematico. I comandi devono essere compatibili con l'obiettivo. Prima di fornire la misura al controllore, quest'ultima deve essere confrontata con quello che vorremmo fare, ovvero la variabile di riferimento (=il nostro riferimento ideale).

Chiamiamo questo confronto e(t), cioè l'errore che stiamo commentando rispetto al riferimento ideale. Forniamo quindi al controllore lo scostamento tra la condizione ideale e quella reale. Sulla base di e(t), manipoliamo C e definiamo i sistemi di controllo. Il segnale di riferimento deve essere confrontato continuamente con le variabili di misura. Noi vorremmo che il nostro errore sia zero. Nella realtà ciò non succede perché i sistemi dinamici sono caratterizzati da un transitorio. I comandi istantanei non esistono nella realtà perché avremmo bisogno di ingressi impulsivi, ovvero di energia infinita.

Dato il processo fisico (=modello matematico) e dato il segnale di riferimento, lo scopo primario del corso sarà costruire un dispositivo di controllo C tale che l'errore che intercorre tra la condizione ideale e la realtà sia il più piccolo possibile per ogni t.

Il ciclo chiuso contiene però al suo interno un altro schema denominato ciclo aperto. Nei cicli aperti si parla di Evoluzione libera del processo fisico, ovvero non si tiene conto della presenza delle perturbazioni e quindi del relativo sistema di controllo. A ciclo aperto il sensore non ha alcun effetto, è come se non ci fosse.

Per modificare il comportamento di un sistema, abbiamo bisogno di un ciclo chiuso. Misuriamo prima il comportamento del processo e usiamo tale informazione per cambiare le azioni di controllo. Nel semplificare lo schema, abbiamo trascurato alcune informazioni. Dobbiamo infatti tenere conto del fatto che i processi fisici P sono tutti non lineari. Ciò significa che se la struttura che descrive il processo è fortemente non lineare, bisognerà cercare di utilizzare dei modelli matematici che descrivano bene il comportamento fisico del processo e che siano al contempo semplici.

Vogliamo allora che i modelli che descrivono il nostro processo fisico siano lineari. Se il nostro processo fisico è non lineare, si può linearizzare il problema caratterizzando un modello lineare a partire da un suo punto di lavoro. In pratica si sceglie un punto nell'evoluzione del tempo del nostro processo e si linearizza il modello matematico nell'intorno del suddetto punto. Utilizzeremo solo modelli lineari così da sfruttare la sovrapposizione degli effetti. I modelli lineari sono ammissibili per il comportamento non lineare di P, nel senso che ne rappresentano il comportamento dinamico in maniera abbastanza fedele.

Nei processi fisici ci sono almeno due sorgenti di problemi di costruzione:

  • Le variabili coinvolte potrebbero essere vincolate. Per tale motivo, non terremo conto della presenza di vincoli di saturazione sugli ingressi (=ad esempio la massima accelerazione dell'automobile).
Anteprima
Vedrai una selezione di 10 pagine su 188
Controlli automatici Pag. 1 Controlli automatici Pag. 2
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 6
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 11
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 16
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 21
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 26
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 31
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 36
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 41
1 su 188
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/04 Automatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher piobarone di informazioni apprese con la frequenza delle lezioni di Controlli automatici e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Franzè Giuseppe.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community