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.
vuoi
o PayPal
tutte le volte che vuoi
PROCEDIAMO PER ISPEZIONE DIRETTA
Se facciamo i conti otteniamo La condizione su rango pieno si traduce in condizione sul determinante. Scegliamo ora l'osservatore di Luenberger e diamo la nostra dinamica di osservazione 115 Abbiamo che il nostro errore di osservazione sarà Il nostro obiettivo primario è invece Dobbiamo quindi determinare la L Ricavo che il nostro obiettivo è soddisfatto per Il secondo obiettivo che dovrà essere soddisfatto che ricordando che τ è 5s si ricava 2. La nostra specifica di transitorio ci dice che dobbiamo stare nella parte sinistra del piano e nel punto indicato sotto, ricavato considerando che τ = -1/λ con λ autovalore dominante. d d Non volendo oscillazioni potremmo prendere gli autovalori in questo modo Per il problema qualunque scelta sarebbe andata bene ma è sempre buona norma sceglierli reali. Di solito si lascia una decade di distanza per far sentire bene la dominanza. La caratteristica sul tempodiassestamento la si impone sul carattere dominante e si mette un parametro sub-dominante a distanza diuna decade. 116Vado a calcolare ora il polinomio caratteristico dell’osservatore e ricavoA questo punto dobbiamo scegliere L in modo che tale polinomio abbia autovalori proprio in -1 e -10Facciamo quindi il Tuning di L e consideriamo (A-LC)A questo punto vediamo il polinomio dell’osservatore, quello quindi non desiderato ed abbiamoSfruttiamo a questo punto il principio di identità dei polinomi per avere le stesse radici dobbiamo imporreche i coefficienti del polinomio desiderato debbano coincidere con quello dell’osservatore e quindi ricavo117ESEMPIOConsideriamo un sistema di questo tipoProgettiamo un osservatore, per ispezione diretta che abbia autovalori in -3 e -35.Il primo passo è l’osservabilità e quindi valutiamo la matrice di osservabilitàLa condizione sul rango è una condizione sul determinante.Valutiamo ora
l'osservatore
Scriviamo il polinomio caratteristico desiderato q e ricavo
Faccio il tuning e scelgo quindi L
Calcolo ora la matrice dinamica dell'errore 118
Calcoliamo ora il polinomio caratteristico dell'osservatore
Svolgendo i conti quello che ci troveremo sarà
Applichiamo il principio di identità dei polinomi e ricaviamo
Andiamo ora avanti e vediamo come usare il principio di Ackermann per la scelta di L, tale approccio come già detto vale solo per i sistemi SISO.
Dato un sistema LTI SISO
Dato questo sistema
L'osservatore garantisce che l'errore di stima definito come la distanza tra quello che ho e quello che stimo, diventa asintoticamente nullo, con specifiche di transitorio, come tempo di assestamento, sovra-elongazione percentuale (S%) ecc, determinate dalla matrice dinamica del sistema
dove dato il polinomio caratteristico desiderato di (A-LC) 119
con mentre è la matrice di osservabilità del sistema in forma canonica di osservabilità,
ciò significa che il nostro sistema si trova nella forma i = Au. Quindi il nostro A sarà del tipo A = [a11 a12; a21 a22], dove tutti gli a sono i coefficienti del polinomio caratteristico di A. Si può dimostrare che questa è una regola di Tuning ottimo, ma noi la dimostrazione non la faremo. Per capire meglio quanto spiegato, proviamo a fare un esercizio. ESEMPIO Consideriamo un sistema massa-molla-smorzatore caratterizzato da una massa unitaria e coefficienti elastici e di attrito pari rispettivamente a K = 2 e c = 3. Progettiamo un osservatore di stato che per noi è come se fosse un sensore virtuale in grado di stimare lo stato del sistema in meno di 10 secondi in assenza di oscillazioni. Come prima cosa ricaviamo un modello del processo, portiamolo in forma di stato considerando come variabili di stato la posizione e la velocità, ed ottengo: x' = Ax + Bu Il polinomio caratteristico, quando il sistema è in forma i-u, è proprio espresso sopra (tratto(giallo)ricavoCostruiamo ora la nostra matrice di osservabilità 121Il modello è osservabile e ricavoScegliamo gli autovaloriA prescindere da tutto gli autovalori devono sicuramente stare nel semipiano sinistro però le specifiche sultransitorio mi impongono che stiano a sinistra di -1/2. Il fatto che siano reali ci assicura che non abbiamosovraelongazione. Applichiamo ora la formula di Ackermann ed abbiamodove pesa la distanza tra i coefficienti del polinomio caratteristico che abbiamo e quello desiderato.Ricavo allora chee 122Viene questo perché il polinomio caratteristico di A eraotteniamoTroviamo oracalcoliamo il polinomio caratteristico dell’osservatoreRicavo quindiTroviamo ora LVerifichiamo ora che la stessa cosa si sarebbe ottenuto con la tecnica di ispezione direttaIn questo caso dovrò calcolare banalmente (A-LC) non passiamo più per la forma canonica di osservabilità123Il polinomio caratteristico sarà
inveceApplichiamo il principio di identità dei polinomi ed otteniamoRisolviamo il sistema ed otteniamo proprio quanto ottenuto prima.
N.B la matrice di osservabilità non cambia nel caso siamo tempo discreti.
La sintesi dell'osservatore può essere svolta in maniera simile anche nel caso di sistemi lineari Tempo-Discreti (TD). 124L'unica differenza sarà nella scelta degli autovalori di (A-LC) che adesso dovranno stare nel raggio del cerchio unitario, devono giacere nel cerchio di raggio unitario; questo perché va a confermare l'asintotica stabilità. Viene assicurato quindi cheLe specifiche ancora una volta possono essere tradotte attraverso la scelta degli autovalori nel cerchio di raggio unitario.
N.B Usare la formula di Ackermann è molto più semplice perché attraverso il comando acker in matlab i conti di L vengono eseguiti in modo del tutto automatico. 125LEZIONE 11CONTROLLO IN RETROAZIONE DI STATO TRAMITE
OSSERVATORE
Se lo stato non è disponibile cioè non ho misure in linea di tutte le variabili di stato, non riesco a misurare tutte le variabili in tempo reale ma il sistema è osservabile è possibile chiudere un ciclo di controllo SFC attraverso la stima dello stato fornita da un osservatore.
È evidente che il nostro schema di controllo diventa uno schema di controllo allargato e quindi accade che avrò un certo sistema di cui non conosco lo stato però ne posso misurare il vettore delle uscite e avrò conoscenza degli ingressi, su questo oggetto voglio chiudere la retroazione di stato e quindi non avendo informazioni chiuderò il ciclo su un algoritmo osservatore, questo significa che date le misure dello stato e delle uscite questo osservatore mi darà una stima dello stato che prende il nome di x̂ e sarà la quantità che verrà data in pasto al controllore. Nel caso avessi necessità di seguire un dato
In ingresso potrei avere anche il contributo di un sistema in feed-forward. In questo caso la mia legge di controllo potrà essere espressa come:
chiaramente affinché possa sintetizzare devo avere sia l'osservatore che il controllore affinché il sistema possa essere sia controllabile che osservabile. Vediamo come progettare un sistema di controllo con un interlacciamento tra osservatore e controllore. Viene sancito il principio di separazione che ci dice che:
Per i sistemi tempo varianti è possibile progettare controllore ed osservatore separatamente, questo significa che posso separare la scelta dei guadagni K ed L dei relativi sistemi; questo vale per i sistemi LTI.
Il controllo sarà sulla catena di ritorno, data questa andiamo a sostituire in primo luogo il controllo del sistema ed abbiamo:
andiamo a sostituire ed otteniamo:
mettiamo in evidenza tutto quanto dipende da x e da x ed otteniamo la nostra matrice di ciclo chiuso ~ alla quale andiamo ad aggiungere
l'equazione differenziale per x ed otteniamo per l'osservatore di Luenberger. Per rappresentare la dinamica del sistema in cui sono presenti sia controllore che osservatore andiamo ad allargare lo stato e definiamo un nuovo vettore di stato che conterrà tutti gli stati del sistema e la stima degli errori. Fatto questo possiamo riscrivere il sistema in forma matriciale. Scopriamo che questa è una matrice triangolare partizionata a blocchi e quindi gli autovalori della matrice saranno determinati dagli autovalori dei due blocchi. Quindi la dinamica del sistema a ciclo chiuso che è esteso, cioè che contiene al suo interno anche l'osservatore, è determinata dagli autovalori della matrice a blocchi A' che corrispondono all'unione degli autovalori del blocco (A-BK) che sono scelti assegnando K e quelli del blocco (A-LC) che sono scelti assegnando L. Dunque la scelta di K e di L può avvenire separatamente o indipendentemente, fermo.-20. Ad esempio, possiamo scegliere gli autovalori dell'osservatore come -3 e -30. In questo modo, garantiamo che gli autovalori dei due blocchi (A-BK) e (A-LC) siano separati e non ci siano coppie di autovalori coincidenti. Questo ci permette di considerare il controllore come se non ci fosse la parte di osservazione e viceversa. Un esempio pratico di questo concetto è quando abbiamo la necessità di assegnare gli autovalori di controllo in posizioni prefissate, come ad esempio -2 e -20. Questo ci permette di determinare il tempo di assestamento desiderato, che deve essere del tipo specificato. Supponendo questa specifica, possiamo mappare gli autovalori sul piano complesso. Scegliendo gli autovalori in modo appropriato, possiamo soddisfare le specifiche richieste. Per quanto riguarda la dinamica dell'osservatore, poiché è indipendente dal controllo, possiamo procedere in modo separato. Indipendentemente dagli autovalori del controllo, gli autovalori dell'osservatore devono essere reali e li possiamo prendere spostati a sinistra rispetto ai poli -2 e -20. Ad esempio, possiamo scegliere gli autovalori dell'osservatore come -3 e -30.-20 e quindi li possiamoscegliere così
Voglio lasciare che siano le dinamiche di controllo a dominare per garantire il tempo di assestamento. Le dinamiche del controllo vengono imposte più veloci rispetto all'osservatore per garantire una scelta giusta.
In generale ho quindi che
N.B Quando faccio crescere o sposto molto a sinistra gli autovalori dell'osservatore maggiore sarà lo sforzo del sistema; non potrò quindi mai avere autovalori proprio a -∞. In generale basta quindi spostare gli autovalori di max una decade a sinistra perché andando più a sinistra si potrebbe avere problemi di fisica realizzabilità.
Se scegliamo una coppia coincidente e ad esempio avessimo scelto -200 al posto di -20 avremmo ottenuto autovalori doppi e si sarebbero avuti problemi di sovraelongazione.
La progettazione del controllore e la progettazione dell'oss