Tecniche di Controllo. Progetti d esame Ing. Marcello Bonfè Dipartimento di Ingegneria Università di Ferrara +39 53 974839 marcello.bonfe@unife.it)
Progetto 1 Levitatore magnetico 1.1 Modellazione matematica Si consideri il sistema a levitazione magnetica prototipale, schematizzato in Figura 1.1, costituito da una sfera di materiale ferromagnetico tenuta in sospensione tramite un elettromagnete. La posizione verticale della sfera può essere misurata con un sensore ottico lineare, accoppiato ad una sorgente luminosa laminare. Interponendosi fra sorgente e sensore, la sfera determina un interruzione della lama di luce rilevata dal sensore, che permette di determinare in modo precisamente la posizione verticale della sfera stessa. Si ipotizza misurabile anche la corrente elettrica che scorre nell elettromagnete. Magnet i + e - Ref p Ball Light source Light sensor Figura 1.1: Schema del levitatore magnetico considerato Il modello matematico del sistema può essere determinato ipotizzando che la forza di attrazione magnetica sia proporzionale al quadrato del rapporto fra corrente i e posizione verticale della sfera p se p = la sfera è a contatto con il magnete) e che l induttanza dell elettromagnete sia influenzata dalla posizione p secondo una relazione nonlineare. Applicando note leggi fisiche, si ottiene: Ri + dlp)i) dp = v ; mdv = e = mg C ) i 1.1) p 1-1
nella quale u è la tensione applicata all elettromagnete, R e Lp) sono resistenza e induttanza del circuito elettrico, v è la velocità di spostamento verticale della sfera, g è la nota costante di accelerazione gravitazionale e C è la costante della forza di attrazione magnetica. Ipotizzando che l induttanza sia determinata dalla seguente relazione: Lp) = + C p 1.) nella quale C è la medesima costante descritta in precedenza, si può ottenere con le scelte intuitive di variabili di stato, ingresso ed uscita x 1 = p, x = v, x 3 = i, y = x 1 e u = e il seguente modello nonlineare nello spazio degli stati, affine nel controllo e SISO: dx 1 dx dx 3 = x = g C m x3 x 1 = R x 3 + C ) 1.3) x x 3 x 1 ) + 1 u del tipo: ẋ = fx)+bx)u y = hx) con x =[x 1 x x 3 =[p v i e f = [x g C m x 3 x 1 ) ) R x 3 + C x x 3 x 1 b = [ 1 h = x 1 1. Analisi dell equilibrio Gli stati di equilibrio del sistema possono essere caratterizzati in funzione della posizione verticale della sfera, per la quale è generalmente di interesse definire una posizione desiderata set-point) x 1d. Si può infatti facilmente verificare che la famiglia di punti che soddisfa la condizione di equilibrio del sistema è del tipo: [ gm x e = x 1d x 1d C vale a dire che una volta fissata la posizione verticale desiderata, la corrente elettrica x 3 ) da mantenere nell elettromagnete è determinata di conseguenza. Inoltre, come si può verificare dall ultima riga della 1.3), in tali condizioni di equilibrio la tensione da applicare in ingresso al sistema è come ovvia conseguenza della legge di Ohm): gm u e = Rx 1d C In questa famiglia di punti di equilibrio, il calcolo della linearizzazione approssimata permette di ottenere le seguenti matrici con A dipendente solo da x 1d ): 1-
1 g A = x 1d C C gm x 1d C R B = 1 mx 1d gm C Si noti inoltre che qualora sia necessario calcolare l approssimazione lineare del sistema in una condizione di funzionamento non necessariamente di equilibrio es. x 3d x 1d gm/c), la matrice A più generica diventa: A = 1 Cx 3d mx 3 1d mentre la matrice B ovviamente non cambia. 1.3 Feedback Linearization Cx 3d mx 1d Cx 3d x 1d L1 R Si può dimostrare con alcuni passaggi che il sistema ha grado relativo pari a 3, purchè la corrente e quindi x 3 ) non si annulli, pertanto la feedback linearization ingresso-uscita porta anche ad una linearizzazione completa ingresso-stato. Ponendo come nuove variabili di stato z =[z 1 z z 3 =[x 1 x 1d x g C m che corrispondono alla differenza tra posizione verticale attuale e desiderata della sfera, la sua velocità elasuaaccelerazione, e come uscita y = z 1 il sistema è riconducibile ad una forma canonica la cui ultima riga è: nella quale: f 1 = Cx x 3 mx 1 3 ż 3 =... y = f 1 x)+b 1 x)u Cx 3 Cx x 3 x 1 mx 1 x3 x 1 ) Rx3 ) b 1 = Cx 3 1.4) m x 1 che può essere trasformata in... y = v tramite la legge di controllo u = b 1 1 v f 1), cioè: u = m x 1 Cx 3 o anche in forma più compatta: v Cx x 3 + mx 3 1 Cx 3 Cx x 3 x 1 mx 1 ) Rx3 1-3
u = vm x 1 Cx 3 + Rx 3 Cx x 3 x 1 + x x 3 x 1 Si noti che imporre una condizione di regime y =, che corrisponde anche a portare nell origine il vettore di stato z, equivale a portare il sistema originario nella condizione di equilibrio imposta dal set-point x 1d. 1.4 NOTA BENE: accortezze necessarie per la simulazione del sistema Come si può facilmente notare dall equazione dinamica, l annullarsi di x 1 non è ammissibile, soprattutto per una simulazione numerica durante la quale verrebbe richiesta una divisione per zero. È quindi necessario che tale variabile si mantenga sempre positiva, per evitare che la simulazione si interrompa per singolarità numeriche. Ovviamente, in fase di messa a punto di un regolatore, quest ultimo potrebbe non essere in grado di garantire la condizione x 1 > durante tutti i transitori. In questo caso, il sintomo evidente della inefficienza del regolatore sarà l arresto nella progressione del tempo di simulazione, la quale dovrà quindi essere interrotta manualmente e ripresa dopo aver modificato i parametri di controllo. 1.5 COMPITI DI PROGETTO 1. Controllo LQ: realizzare simulazioni in ambiente Matlab/Simulink del sistema considerato con controllo di tipo LQ, progettato per l approssimazione lineare definita da x 1d e con matrice di penalizzazione dello stato Q 3 3), scalare di penalizzazione dell ingresso R e matrice di penalizzazione stato-ingresso N 3 1) a piacere. Verificare inoltre l effetto di variazioni di tali matrici sulle prestazioni del controllore. N.B.: si ricordi che essendo u e nel punto di equilibrio, lo schema di controllo da implementare è quello della slide 6 nelle Note Applicative presentate a lezione.. Controllo con Feedback Linearization: implementare la legge di controllo linearizzante descritta alla sezione 1.3 e sfruttare l ingresso fittizio v per realizzare un ulteriore anello di controllo per la regolazione in y =, utilizzando un semplice controllore lineare oppure un controllore Sliding Mode. N.B.: si ricordi che... y = v, pertanto una superficie di sliding idonea può essere: S =ÿ +λẏ + λ y in base alla quale la legge di controllo per l ingresso fittizio v sarà del tipo: v =... y d ) λÿ λ ẏ Ksigns) 3. Controllo con Reti Neurali: una volta ottenute buone prestazioni per almeno uno dei due controllori richiesti ai punti precedenti, effettuare il training di una Rete Neurale con il metodo del Supervised Learning, acquisendo dati di training con uno dei due modelli ottentuti in precedenza al quale sia applicata una sollecitazione casuale sul set-point. Verificare l effetto di modifiche al numero di neuroni della rete o ai dati di training sulle prestazioni del controllore. N.B.: è suggeribile utilizzare come ingressi della rete sia i valori di set-point degli stati almeno x 1d e x 3d, ricordando sempre che quest ultimo è funzione del primo) che quelli attuali totale: almeno 5 input). 1-4
4. Controllo con Logica Fuzzy: una possibile strategia di progetto per un controllore Fuzzy, potrebbe essere quella del Fuzzy Gain Scheduling, che prevede di sfruttare tecniche di progetto per controllori lineari es. LQ) per ottenere i parametri di alcuni regolatori validi per rispettive approssimazioni lineari con diversi valori di x 1d e quindi x 3d ). Questi parametri possono essere combinati in un sistema Fuzzy di tipo Sugeno, con regole del tipo: IF x 1 is x 1d,i THEN u = K i x d x)+u d,i N.B.: si noti che nel Fuzzy Logic Toolbox di Matlab, i sistemi Sugeno hanno funzioni di output del tipo: out = a in1 + b in + + c Pertanto, per implementare i vari regolatori lineari, sarà necessario che il sistema Fuzzy abbia come ingressi tutti gli elementi di x d edix e che i parametri a,b... siano determinati correttamente in base agli elementi delle varie matrici K i. 5. ESPERIMENTI COMPARATIVI: verificare le prestazioni e la robustezza di tutti i sistemi di controllo progettati, rispetto a variazioni del 1 % sul set-point, applicando un onda quadra additiva al set-point originario con frequenza da fissare in funzione del tempo di assestamento tipico del sistema, in modo da permettere al sistema di riportarsi sempre sul set-point), e sui parametri del modello. 1.6 PARAMETRI NUMERICI DA UTILIZZARE Dato il numero di matricola dello studente con sei cifre m 1 m m 3 m 4 m 5 m 6, fissare i parametri del modello come segue oltre a g =9.8665 m/s ): Massa della sfera: m =.m 6 Kg se m 6 =, fissare m =.5 Kg) Resistenza elettrica: R = m 1 m Ωsem 1 e/o m sono =, sostituirla/e con la/e cifra/e immediatamente successiva/e) Induttanza nominale: =.m 5 Hsem 5 =, fissare =.4 H) Costante della forza elettromagnetica: C =.m 5 m 6 Nm A se m 5 e/o m 6 sono =, sostituirla/e con la/e cifra/e immediatamente precedente/i) Indipendentemente da questi parametri invece, fissare: Condizioni iniziali: x =[x 1 x x 3 =[.1.] Set-point: x d =[x 1d x d x 3d =[.5.5 gm C ] 1-5
Progetto Doppio serbatoio.1 Modellazione matematica Si consideri il sistema schematizzato in Figura.1 costituito da due serbatoi cilindrici, collegati in serie tramite una tubazione di sezione costante e disposti ad altezze differenti, in modo tale che il fluido possa scorrere per effetto della forza di gravità solamente dal primo verso il secondo serbatoio. Sempre per effetto della forza di gravità, il fluido viene fatto fuoriuscire in modo libero dal secondo serbatoio, mentre il fluido in ingresso al primo serbatoio è regolato tramite una valvola proporzionale. Pertanto, la portata di liquido immessa tramite tale valvola può essere considerata come l ingresso di controllo del sistema, mentre i livelli di riempimento dei due serbatoi costituiranno le variabili di stato, precisamente misurabili con comuni sensori specifici. Figura.1: Schema del sistema con doppio serbatoio in cascata Il modello matematico del sistema può essere determinato considerando l equilibrio delle masse o meglio, dei volumi, se si elimina la dipendenza dalla densità del fluido, ipotizzandola costante) entranti ed uscenti in ciascun serbatoio, la cui differenza costituisce la variazione di massa volume) contenuta nel serbatoio considerato. Se la forma del serbatoio è perfettamente cilindrica, allora la variazione di massa volume) corrisponde, a meno della costante definita dall area della sezione del cilindro, al livello del liquido. -1
d A dl = Q i1 Q o1/i = Q o1/i Q o.1) nella quale e A sono le sezioni orizzontali dei due serbatoi, e A i due livelli e Q i1, Q o1/i e Q o sono rispettivamente le portata volumetrica entrante nel primo serbatoio, quella uscente dal primo ed entrante nel secondo) e quella uscente dal secondo. Per quanto riguarda Q i1,è immediato imporla come ingresso u del sistema. Per definire l espressione matematica che caratterizza le altre due, invece, è possibile fare riferimento alla cosiddetta legge di Torricelli, applicabile ai fluidi in uscita per caduta libera da aperture in un serbatoio. Questa legge, caso particolare dell equazione elaborata da Evangelista Torricelli nel 1643 per calcolare la velocità finale di una massa in movimento, in questo caso sottoposta appunto all effetto della forza di gravità, afferma che velocità di un fluido in uscita da un foro di sezione molto piccola rispetto alle dimensioni del recipiente) è pari alla radice quadrata del doppio prodotto dell accelerazione di gravità e della distanza fra il pelo libero del fluido e il centro del foro che stato praticato. In altre parole, nell ipotesi che il foro di sezione a) sia sul fondo del recipiente e che il livello di liquido in tale recipiente sia L, la portata volumetrica in uscita dal foro è: Q o = a gl Applicando questa legge alle Q o1/i e Q o della.1) e sostituendo le scelte intuitive di variabili di stato, ingresso e uscita x 1 =, x = L, y = x e u = Q i1, si ottiene il seguente modello nonlineare nello spazio degli stati, affine nel controllo e SISO: del tipo: con x =[x 1 x =[ L e dx 1 dx = u a 1 gx1 = a 1 gx1 a gx.) A ẋ = fx)+bx)u y = hx) f = [ a1 gx1 a 1 gx1 a gx A b = [ 1 h = x. Analisi dell equilibrio Gli stati di equilibrio del sistema possono essere caratterizzati in funzione del livello desiderato per il secondo serbatoio, per il quale è generalmente di interesse definire un valore desiderato set-point) x d. Si può infatti facilmente verificare che la famiglia di punti che soddisfa la condizione di equilibrio del sistema è del tipo: x e = [ a x d a 1 A vale a dire che una volta fissato il livello desiderato del secondo serbatoio, il livello nel primo è determinato di conseguenza. Inoltre, è immediato verificare che in tale punto di equilibrio la portata volumetrica richiesta in ingresso è: x d -
u e = a gxd A In questa famiglia di punti di equilibrio, il calcolo della linearizzazione approssimata permette di ottenere le seguenti matrici dipendenti solo da x d ): A = ga 1 gx A d a 1 a 1 A ga 1 gx d a a 1 A 1 B = ga A gxd Si noti inoltre che qualora sia necessario calcolare l approssimazione lineare del sistema in una condizione di funzionamento non necessariamente di equilibrio la matrice A più generica diventa: ga1 A 1 gx1d A = mentre la matrice B ovviamente non cambia..3 Feedback Linearization ga 1 gx1d ga A gxd Si può dimostrare con alcuni passaggi che il sistema ha grado relativo pari a, pertanto la feedback linearization ingresso-uscita porta anche ad una linearizzazione completa ingresso-stato. Ponendo come nuove variabili di stato z =[z 1 z a 1 gx1 =[x x d a gx A1 A e come uscita y = z 1 il sistema è riconducibile ad una forma canonica la cui ultima riga è: nella quale: ż =ÿ = f 1 x)+b 1 x)u f 1 = ga 1 ga a1 gx1 A gx ) a gx A b 1 = ga 1 gx 1.3) che può essere trasformata in ÿ = v tramite la legge di controllo u = b 1 1 v f 1), cioè: u = ) gx 1 v + ga 1 ga a1 gx1 ga 1 A + a gx A 1 A gx o anche in forma più compatta: u = v gx 1 + a 1 gx1 a A 1 gx 1 ga + a x 1 gx 1 a 1 A A x -3
Si noti che imporre una condizione di regime y =, che corrisponde anche a portare nell origine il vettore di stato z, equivale a portare il sistema originario nella condizione di equilibrio imposta dal set-point x d..4 COMPITI DI PROGETTO 1. Controllo LQ: realizzare simulazioni in ambiente Matlab/Simulink del sistema considerato con controllo di tipo LQ, progettato per l approssimazione lineare definita da x d e con matrice di penalizzazione dello stato Q ), scalare di penalizzazione dell ingresso R e matrice di penalizzazione stato-ingresso N 1) a piacere. Verificare inoltre l effetto di variazioni di tali matrici sulle prestazioni del controllore. N.B.: si ricordi che essendo u e nel punto di equilibrio, lo schema di controllo da implementare è quello della slide 6 nelle Note Applicative presentate a lezione.. Controllo con Feedback Linearization: implementare la legge di controllo linearizzante descritta alla sezione.3 e sfruttare l ingresso fittizio v per realizzare un ulteriore anello di controllo per la regolazione in y =, utilizzando un semplice controllore lineare oppure un controllore Sliding Mode. N.B.: si ricordi che ÿ = v, pertanto una superficie di sliding idonea può essere: S =ẏ + λy in base alla quale la legge di controllo per l ingresso fittizio v sarà del tipo: v =ÿ d ) λẏ Ksigns) 3. Controllo con Reti Neurali: una volta ottenute buone prestazioni per almeno uno dei due controllori richiesti ai punti precedenti, effettuare il training di una Rete Neurale con il metodo del Supervised Learning, acquisendo dati di training con uno dei due modelli ottentuti in precedenza al quale sia applicata una sollecitazione casuale sul set-point. Verificare l effetto di modifiche al numero di neuroni della rete o ai dati di training sulle prestazioni del controllore. N.B.: è suggeribile utilizzare come ingressi della rete sia i valori di set-point degli stati x 1d e x d, ricordando sempre che quest ultimo determina il valore del primo) che quelli attuali totale: 4 input). 4. Controllo con Logica Fuzzy: una possibile strategia di progetto per un controllore Fuzzy, potrebbe essere quella del Fuzzy Gain Scheduling, che prevede di sfruttare tecniche di progetto per controllori lineari es. LQ) per ottenere i parametri di alcuni regolatori validi per rispettive approssimazioni lineari con diversi valori di x d e quindi x 1d ). Questi parametri possono essere combinati in un sistema Fuzzy di tipo Sugeno, con regole del tipo: IF x 1 is x 1d,i THEN u = K i x d x)+u d,i N.B.: si noti che nel Fuzzy Logic Toolbox di Matlab, i sistemi Sugeno hanno funzioni di output del tipo: out = a in1 + b in + + c Pertanto, per implementare i vari regolatori lineari, sarà necessario che il sistema Fuzzy abbia come ingressi tutti gli elementi di x d edix e che i parametri a,b... siano determinati correttamente in base agli elementi delle varie matrici K i. 5. ESPERIMENTI COMPARATIVI: verificare le prestazioni e la robustezza di tutti i sistemi di controllo progettati, rispetto a variazioni del 1 % sul set-point, applicando un onda quadra additiva al set-point originario con frequenza da fissare in funzione del tempo di assestamento tipico del sistema, in modo da permettere al sistema di riportarsi sempre sul set-point), e sui parametri del modello. -4
.5 PARAMETRI NUMERICI DA UTILIZZARE Dato il numero di matricola dello studente con sei cifre m 1 m m 3 m 4 m 5 m 6, fissare i parametri del modello come segue oltre a g =9.8665 m/s ): Sezione della tubazione di collegamento tra i due serbatoi: a 1 = m 6 m se m 6 =, fissare a 1 =3m ) Sezione orizzontale del primo serbatoio: = m 1 m m se m 1 e/o m sono =, sostituirla/e con la/e cifra/e immediatamente successiva/e) Sezione della tubazione di uscita: a = m 5 m se m 5 =, fissare a =m ) Sezione orizzontale del secondo serbatoio: A = m 5 m 6 m se m 5 e/o m 6 sono =, sostituirla/e con la/e cifra/e immediatamente precedente/i) Indipendentemente da questi parametri invece, fissare: Condizioni iniziali: x =[x 1 x =[.5.] Set-point: x d =[x 1d x d =[ a 1.5 a 1 A 1.5] -5